ejdb2 (2.73) UNRELEASED; urgency=medium * Updated EJDB2Swift submodule * Replaced old iowow regexp engine with new (iwre.h) based on https://github.com/jserv/cregex -- Anton Adamansky Fri, 25 Feb 2022 13:12:16 +0700 ejdb2 (2.72) testing; urgency=medium * Upgraded to the stable verion of iwnet lib. -- Anton Adamansky Wed, 23 Feb 2022 17:00:23 +0700 ejdb2 (2.71) testing; urgency=medium * Fixed wrong format of printf like function calls. * Query placeholders with the same name can be specified multiply times. * Query placeholders API is supported in projections. * Removed potential memory leaks in `jql_set_xx` query API (jql.h) * Added BearSSL include files as part of ejdb2 distribution -- Anton Adamansky Fri, 18 Feb 2022 21:57:08 +0700 ejdb2 (2.70) testing; urgency=medium * Network API is now powered by IWNET https://github.com/Softmotions/iwnet * Correct handling of `vsnprintf` return value. (jbl.c) * Moved `lwre` regexp library into `iowow` project. * Java: Added JSON.clone() method. * Java: Added JSON ObjectBuilder.move() method. -- Anton Adamansky Mon, 14 Feb 2022 18:18:10 +0700 ejdb2 (2.62) testing; urgency=medium * Fixed incorrect query results on array values (#331) * Fixed error in parsing FP JSON value (#333) * Java: com.softmotions.ejdb2.JSON.ValueType.getTypeOf set to be public * Flutter: Fixed #305 * Java: com.softmotions.ejdb2.JSON typo fixed * Java: com.softmotions.ejdb2.JSON added Comparable support * Java: com.softmotions.ejdb2.JSON added better JSON.equals() implementation -- Anton Adamansky Tue, 26 Oct 2021 19:34:01 +0700 ejdb2 (2.61) testing; urgency=medium * Fixed incorrect arguments check in `jbn_merge_patch` -- Anton Adamansky Tue, 22 Jun 2021 10:51:46 +0700 ejdb2 (2.0.60) testing; urgency=medium * Upgraded to iowow v1.4.11 * Fixed Macos build error (#313) * Added typescript generic to JBDOC in node binding (#311) * Removed -fvisibility=hidden compiler flag from facil.io lib -- Anton Adamansky Mon, 10 May 2021 16:50:12 +0700 ejdb2 (2.0.59) testing; urgency=medium * Fixed some uninitialized data issues with `jbl_clone()` * Added ejdb_put_new_jbn() (ejdb2.h) * jbs: Default database file name changed from db.jb to ejdb2.db * Added jbl_from_json_printf_va(), jbn_from_json_printf_va() (jbl.h) * Project code reformatted using uncrustify * Updated copyright headers * Removed dependency on some glibc specific features * Added jbl_object_copy_to() (ejdb2.h) * Added new convenient methods (ejdb2.h) - ejdb_patch_jbn() - ejdb_patch_jbl() - ejdb_merge_or_put_jbn() - ejdb_merge_or_put_jbl() -- Anton Adamansky Sun, 21 Mar 2021 22:17:40 +0700 ejdb2 (2.0.58) testing; urgency=medium * New versioning scheme is used for ejdb2 bindings. * Fixed pub publish issues with dart and flutter bindings. * Upgraded to iwkv v1.4.10 -- Anton Adamansky Tue, 22 Dec 2020 22:33:24 +0700 ejdb2 (2.0.57) testing; urgency=medium * Added new non standard JSON `swap` operation. * bugfix: Incorrect behavior of JSON patch `move` operation. * Added --trylock option to jbs * jbs server CLI should be able to load access token from file (#219) * bugfix: Updated to iowow v1.4.10 with fix https://github.com/Softmotions/iowow/issues/35 * enhancement: EJDB2 Java binding improvements. -- Anton Adamansky Thu, 17 Dec 2020 23:12:37 +0700 ejdb2 (2.0.56) testing; urgency=medium * EJDB2 Java binding improvements. * Added EJDB2 Maven example project and maven repository deployment. -- Anton Adamansky Thu, 10 Dec 2020 00:27:09 +0700 ejdb2 (2.0.55) testing; urgency=medium * EJDB2 Java binding now in Ubuntu ppa:adamansky/ejdb2 * Build scripts refactoring. * Reduced number of WS server threads to half of available CPU Cores. -- Anton Adamansky Sun, 06 Dec 2020 22:16:20 +0700 ejdb2 (2.0.54) testing; urgency=medium * CRITICAL: Fixed incorrect behavior of `_jbl_cmp_atomic_values` which leads to inconsitent number indexes processing. * Transfered `-DASAN` to `AddIOWOW` CMake module. -- Anton Adamansky Thu, 19 Nov 2020 23:33:44 +0700 ejdb2 (2.0.53) testing; urgency=medium * Upgraded to iowow v1.4.9 * Eliminate duplicated documents from non-inique index scanning * Add prefix matching operator ~ (#292) -- Anton Adamansky Wed, 18 Nov 2020 16:00:16 +0700 ejdb2 (2.0.52) testing; urgency=medium * Fixed serios bug concerning non-unique indexes, details: (#291) * Dart binding: support of the latest Dart pub * Added `jbn_add_item_null()` (jbl.h) * SIGSEGV, Segmentation fault (#287) * Upgraded to facil.io 0.7.5 * Code cleanup -- Anton Adamansky Sun, 08 Nov 2020 22:04:58 +0700 ejdb2 (2.0.51) testing; urgency=medium * Upgraded to iowow v1.4.7 * Added `jbl_from_json_printf()` and `jbn_from_json_printf()` (jbl.h) * Added JQL `upsert` operation * Typo fixed (jbl.c) * `jbl_get_str()` now returns `const char*` (jbl.h) * Added `jbl_set_user_data()` (jbl.h) * Removed disable int compression feature from binn implementation (binn.c) -- Anton Adamansky Mon, 21 Sep 2020 12:45:01 +0700 ejdb2 (2.0.50) testing; urgency=medium * Better floating point numbers comparison in `jbn_compare_nodes()` (jbl.h) * Fixed error in `jbn_copy_path()` if some source property doesn't exist (jbl.h) * Added `jbn_length()` (jbl.h) * Added `lwre.h` to set of public headers * Added `node_out` for every `jbn_add_item_X()` (jbl.h) * Fixed compilation error on clang-10 * Fixed ejdb2_jni to be java-8 compatible * Fixed ejdb2_jni to be headless JDK compatible -- Anton Adamansky Wed, 24 Jun 2020 20:42:46 +0700 ejdb2 (2.0.49) testing; urgency=medium * Added ability to specify array of primary key values in `/=:?` query clause. -- Anton Adamansky Sun, 17 May 2020 01:21:02 +0700 ejdb2 (2.0.48) testing; urgency=medium * Implemented collection JOINs (#280) -- Anton Adamansky Fri, 15 May 2020 14:22:08 +0700 ejdb2 (2.0.47) testing; urgency=medium * Added ability to specify constraints on internal primary key in query (#281) * Added `jbn_copy_paths` (jbl.h) -- Anton Adamansky Fri, 08 May 2020 23:23:53 +0700 ejdb2 (2.0.46) testing; urgency=medium * Upgraded to iowow v1.4.4 * Added `jbn_paths_compare()` (jbl.h) * Added `no_src_clone` parameter `jbn_copy_path` (jbl.h) -- Anton Adamansky Sat, 02 May 2020 19:43:36 +0700 ejdb2 (2.0.45) testing; urgency=medium * Fixed errors found by PVS studio * Added two variants of `jbn_detach` (jbl.h) * Added non standard JSON patch operation: `add_create` (jbl.h) * Added `jbl_from_node` (jbl.h) * Added `jbn_copy_path` (jbl.h) * Added `jbn_add_item_obj` (jbl.h) * Added `jbn_add_item_arr` (jbl.h) * Minor refactoring of jbl module * Added a set of jbn_add_x (jbl.h) -- Anton Adamansky Fri, 24 Apr 2020 02:20:32 +0700 ejdb2 (2.0.44) testing; urgency=medium * Fixed missing parent pointer link in `_jbl_add_item` (jbl_json.c). * Added `jbn_clone()` (jbl.h) * Added checks for max nesting level of JSON objects, 1000 by default. * Added `jbl_clone(JBL src, JBL *targetp)` (jbl.h) * Added `jbl_merge_patch_jbl(JBL jbl, JBL patch)` (jbl.h) * Added `jbl_set_string_printf()` (jbl.h) * Added `jbl_structure_size()` (jbl.h) * Better error handling of `kh_put()` * Added `jbl_clone_into_pool(JBL src, IWPOOL *pool, JBL *targetp)` (jbl.h) * Added jbn_path_compare, jbn_path_compare_str, jbn_path_compare_bool, jbn_path_compare_i64, jbn_path_compare_f64 (jbl.h) -- Anton Adamansky Mon, 20 Apr 2020 16:24:41 +0700 ejdb2 (2.0.43) testing; urgency=medium * Upgraded to iowow v1.4.1 -- Anton Adamansky Sat, 07 Mar 2020 23:39:40 +0700 ejdb2 (2.0.42) testing; urgency=medium * Upgraded to iowow v1.4.0 -- Anton Adamansky Sat, 07 Mar 2020 11:16:10 +0700 ejdb2 (2.0.41) testing; urgency=medium * Fixed race condition on database open on slow devices -- Anton Adamansky Tue, 18 Feb 2020 18:55:57 +0700 ejdb2 (2.0.40) testing; urgency=medium * Added `jbl_object_get_i64`, `jbl_object_get_f64`, `jbl_object_get_bool`, `jbl_object_get_str` * Minor fixes in index selection rules * Added `jbl_type_t jbl_object_get_type(JBL jbl, const char *key)` (jbl.h) * Upgraded to iowow 1.3.37 -- Anton Adamansky Mon, 17 Feb 2020 23:38:24 +0700 ejdb2 (2.0.39) testing; urgency=medium * Added iwrc jbn_at(JBL_NODE node, const char *path, JBL_NODE *res) * Added iwrc jbn_at2(JBL_NODE node, JBL_PTR jp, JBL_NODE *res) * Added `jbl_set_int64`, `jbl_set_f64`, `jbl_set_string`, `jbl_set_nested` (jbl.h) * Added `jbl_set_bool`, `jbl_set_null` (jbl.h) * Added `jbl_set_empty_array`, `jbl_set_empty_object` (jbl.h) * Safer `jql_destroy` (jql.h) * Added `jql_set_json_jbl` (jql.h) * Added `ejdb_count` (ejdb2.h) * Fixed `_jbl_create_patch` issues -- Anton Adamansky Wed, 22 Jan 2020 16:13:20 +0700 ejdb2 (2.0.38) testing; urgency=medium * FIXED: In the case of apply/projection `ejdb_list` returned old (not updated) documents * Added `iwrc ejdb_get_iwkv(EJDB db, IWKV *kvp)` (ejdb2.h) * Added non standart JSON patch extension: `increment` -- Anton Adamansky Fri, 17 Jan 2020 18:23:56 +0700 ejdb2 (2.0.37) testing; urgency=medium * Upgraded to iowow v1.3.35 * Fixed wal related durability issue -- Anton Adamansky Wed, 15 Jan 2020 13:19:06 +0700 ejdb2 (2.0.36) testing; urgency=medium * Implemented Swift language binding #267 * Ported to iOS * Upgraded to iowow 1.3.34 * Upgraded to facil.io 0.7.4 * Improved ejdb2.h documentation -- Anton Adamansky Mon, 06 Jan 2020 23:20:38 +0700 ejdb2 (2.0.35) testing; urgency=medium * FIXED: JQL apply ignores value set by placeholder (#269) -- Anton Adamansky Tue, 10 Dec 2019 21:12:43 +0700 ejdb2 (2.0.34) testing; urgency=medium * Reduced library size by 400K: stripped off unused utf8proc data -- Anton Adamansky Thu, 05 Dec 2019 12:01:59 +0700 ejdb2 (2.0.33) testing; urgency=medium * Added ejdb_merge_or_put atomic method #268 * Added getOrNull to node/react bindings -- Anton Adamansky Wed, 04 Dec 2019 17:34:01 +0700 ejdb2 (2.0.32) testing; urgency=medium * Upgraded to iowow v1.3.31 -- Anton Adamansky Wed, 04 Dec 2019 17:33:20 +0700 ejdb2 (2.0.31) testing; urgency=medium * Upgraded to iowow v1.3.30 -- Anton Adamansky Tue, 19 Nov 2019 20:40:29 +0700 ejdb2 (2.0.30) testing; urgency=medium * Upgraded to iowow v1.3.29 -- Anton Adamansky Fri, 15 Nov 2019 13:55:03 +0700 ejdb2 (2.0.29) testing; urgency=medium * Upgraded to iowow v1.3.27 * React Native binding implemented (Android) -- Anton Adamansky Mon, 04 Nov 2019 21:52:07 +0700 ejdb2 (2.0.28) testing; urgency=medium * Upgraded to facil.io v0.7.3 * JBS server functions removed from ejdb2 target libs -- Anton Adamansky Fri, 27 Sep 2019 18:26:57 +0700 ejdb2 (2.0.27) testing; urgency=medium * Upgraded to iowow v1.3.25 with critical fixes -- Anton Adamansky Thu, 29 Aug 2019 12:46:41 +0700 ejdb2 (2.0.26) testing; urgency=medium * Upgraded to iowow v1.3.24 -- Anton Adamansky Thu, 22 Aug 2019 02:16:50 +0700 ejdb2 (2.0.25) testing; urgency=medium * ejdb2_dart: Fixed memory leak in dart binding * Upgraded to iowow 1.3.23 -- Anton Adamansky Sat, 17 Aug 2019 21:27:29 +0700 ejdb2 (2.0.24) testing; urgency=medium * Strip shared libraries for release builds. -- Anton Adamansky Thu, 25 Jul 2019 21:09:00 +0700 ejdb2 (2.0.23) testing; urgency=medium * BUG: Fixed incorrect behavior of `jbi_ftoa` -- Anton Adamansky Fri, 19 Jul 2019 05:55:16 +0700 ejdb2 (2.0.22) testing; urgency=medium * Limited windows support without HTTP/Websocket network API (#237) * `static_assert` is set to `_Static_assert` if not defined * All uses of `iwftoa` replaced by `jbi_ftoa` -- Anton Adamansky Thu, 18 Jul 2019 19:27:26 +0700 ejdb2 (2.0.21) testing; urgency=medium * Added `ejdb_rename_collection` method (#254) -- Anton Adamansky Fri, 12 Jul 2019 12:39:32 +0700 ejdb2 (2.0.20) testing; urgency=medium * Node.js binding (#248) * Added git revision hash getter `ejdb_git_revision()` (ejdb2.h) * Better error reporting on failed memory allocations -- Anton Adamansky Wed, 03 Jul 2019 19:36:46 +0700 ejdb2 (2.0.19) testing; urgency=medium * Upgraded to iowow v1.3.20 with critical fixes -- Anton Adamansky Thu, 13 Jun 2019 22:04:27 +0700 ejdb2 (2.0.18) testing; urgency=medium * Limit one time file allocation step to 2G iowow v1.3.18 * Added Docker image (#249) * Better qsort_t detection, build ok with `musl` -- Anton Adamansky Wed, 12 Jun 2019 16:48:57 +0700 ejdb2 (2.0.17) testing; urgency=medium * Added `inverse` JQL query option. -- Anton Adamansky Wed, 05 Jun 2019 23:15:09 +0700 ejdb2 (2.0.16) testing; urgency=medium * Allowed dash and underscope chars in collection names specified in query: `[@collection_name]/query`. * Fixed minor typo in ejdb2_jni/src/CMakeLists.txt -- Anton Adamansky Wed, 05 Jun 2019 19:14:38 +0700 ejdb2 (2.0.15) testing; urgency=medium * Security: a heap-overflow vulnerability was fixed in the WebSocket parser of facil.io library -- Anton Adamansky Mon, 27 May 2019 13:33:03 +0700 ejdb2 (2.0.14) testing; urgency=medium * Android support * Test cases for Android JNI binding -- Anton Adamansky Fri, 17 May 2019 00:57:11 +0700 ejdb2 (2.0.13) testing; urgency=medium * Upgraded to iowow_1.3.17 with critical fixes -- Anton Adamansky Fri, 03 May 2019 18:27:10 +0700 ejdb2 (2.0.12) testing; urgency=medium * Upgraded to iowow_1.3.16 with critical fixes -- Anton Adamansky Fri, 03 May 2019 11:59:56 +0700 ejdb2 (2.0.11) testing; urgency=medium * Upgraded to iowow_1.3.15 with critical fixes -- Anton Adamansky Wed, 01 May 2019 23:34:20 +0700 ejdb2 (2.0.10) testing; urgency=medium * CRITICAL: Fixed unexpected database file truncation and data loss on close. * Upgraded to iowow 1.3.14 -- Anton Adamansky Sat, 27 Apr 2019 01:12:15 +0700 ejdb2 (2.0.9) testing; urgency=medium * Upgraded to iowow 1.3.13 * Building Native JNI binding on Android * ejdb2_dart: Added notFound,invalidQuery to EJDB2Error -- Anton Adamansky Thu, 25 Apr 2019 17:47:16 +0700 ejdb2 (2.0.8) testing; urgency=medium * Remove redundant memory coping in ejdb_put() -- Anton Adamansky Sun, 21 Apr 2019 14:38:08 +0700 ejdb2 (2.0.7) testing; urgency=medium * Fixed deadlock condition with OSX pthread rwlocks. * Phreads `PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP` is used by default -- Anton Adamansky Sun, 21 Apr 2019 12:20:27 +0700 ejdb2 (2.0.6) testing; urgency=medium * Java JNI binding implemented (#243) * Stability: `jql_create` takes own copy of `coll` argument * Documentation improvements -- Anton Adamansky Fri, 19 Apr 2019 17:30:12 +0700 ejdb2 (2.0.5) testing; urgency=medium * Library ported to OSX * Library ported to Android NDK (#244) -- Anton Adamansky Mon, 15 Apr 2019 11:28:30 +0700 ejdb2 (2.0.4) testing; urgency=medium * Landed DartVM binding https://pub.dartlang.org/packages/ejdb2_dart * Minors API enhancements -- Anton Adamansky Tue, 09 Apr 2019 01:55:42 +0700 ejdb2 (2.0.3) testing; urgency=medium * Fixed #238 Disable network access for PPA Lunchpad builds * Removed gcc `-fvisibility=hidden` from shared lib flag -- Anton Adamansky Wed, 03 Apr 2019 17:39:52 +0700 ejdb2 (2.0.1) testing; urgency=medium * Because we are static linked to iowow its header files included under `include/ejdb2/iowow` -- Anton Adamansky Tue, 02 Apr 2019 12:38:32 +0700 ejdb2 (2.0.0) testing; urgency=medium * Initial beta release -- Anton Adamansky Mon, 01 Apr 2019 20:21:27 +0700