Skip to content

Tags: Softmotions/iowow

Tags

v1.4.18

Toggle v1.4.18's commit message
.

  * Added iwp_random_fill() (iwp.h)
  * Added convenient numeric conversion functions (iwconv.h)
  * Chore: iwp_{lock,unlock} fcnt replaced by more convenient and reliable flock()
  * Added iwxstr_printf_alloc() (iwxstr.h)
  * Copyright updated
  * Added new iwjsreg.h module - simple JSON key-value file store with atomic
  updates.
  * Allowed to construct JBL_NODE without IWPOOL ini this case node data will
  be allocated by malloc and should be freed by visitor.

v1.4.17

Toggle v1.4.17's commit message
.

  * Added void iwulist_reset(IWULIST *list) (iwarr.h)
  * Added experimental jbn_from_js() (iwjson.h)
  * Fixed C++ compilation errors https://github.com/Softmotions/ejdb/issues/381
  * Fixed Correct UCS-16 surrogate pair start code point. #51
  * Added iwchars.h replacing some ctype.h functions.
  * Added simple refcounting container iwrefs.h
  * Fixed incorrect parsing of empty JSON keys.
  * Added jbn_as_xml() (iwjson.h)
  * Added jbn_get() (iwjson.h)
  * Added IW_ERROR_OPERATION_TIMEOUT common error code.
  * Removed support of legacy iwkv v1 data file format.
  * Fixed incorrect read of memory bytes (reported by valgrind)
  * Fixed windows build
  * Added ref counting feature to iwpool (iwpool.h)

v1.4.16

Toggle v1.4.16's commit message
.

  * Fixed behavior of iwp_tmpdir() accourding to #47
  * Fixed  Incorrect serialization of INT64_MIN by iwitoa() #48 (iwconv.h)
  * Added iwxstr_insert() (iwxstr.h)
  * ~8% IO performance improvements due to use of MADV_RANDOM
  * Fixed Github Vulnerability Report GHSL-2022-066
  * Added additional IW_ERROR_XX codes (iwlog.h)
  * Added VERBOSE log level (iwlog.h)
  * Added iwhmap_put_str() (iwhmap.h)
  * Added iwulist_remove_first_by(), iwulist_find_first() (iwarr.h)
  * Added iwxstr_new_printf() (iwxstr.h)
  * Reduced iwkv code complexity. Removed in-memory db cache since benchmarks shows only minor perf imprivements with cache.
  * Fixed many of UB errors (eg: misaligned access)
  * Removed dependency on kbtree.h replaced with iwavl.h
  * Added json module (migrated from ejdb) (iwjson.h, iwbinn.h)
  * Added platform neutral iwp_basename() and iwp_dirname() (iwp.h)
  * Added iwu_file_read_as_buf_len() (iwutils.h)
  * Added IW_NORET (basedefs.h)
  * iwxstr_destroy_keep_ptr() now returns pointer to underlying buffer
  * IWHMAP can operate in LRU cache mode (iwhmap.h)
  * Added .ini file parsing utility module (iwini.h)
  * Added iw_cond_timed_wait_ms() (iwth.h)
  * Added iwstw_set_on_task_discard(), iwstw_schedule_only() (iwstw.h)
  * Fixed iwp_exec_path() on FreeBSD sinceprocfs(5) is not mounted by default in FreeBSD.
  * iwp_exec_path() implemented for FreeBSD & Macos
  * Added `int64_t iwatoi2(const char *str, size_t len)` (iwconv.h)
  * iwpool_split_xx() now returns const pointer (iwpool.h)
  * Fixed iwre() regexp compilation error.
  * Added new regexp API implementation (iwre.h) based on https://github.com/jserv/cregex/
  * Removed iwsha256() from sources. Use iwnet/beassl for hashing instead.

v1.4.15

Toggle v1.4.15's commit message
 * Added format checking __attribute__ to all printf like functions.

v1.4.14

Toggle v1.4.14's commit message
* Minors

v1.4.13

Toggle v1.4.13's commit message
 * Fixed SEGV in iwkv_cursor_open with zero-length key and IWDB_VNUM6…

…4_KEYS (#42)

  * Fixed Heap UAF in iwkv_close after invoking iwkv_db_set_meta on a database (#41)
  * Added `iwxstr_wrap()` (iwxstr.h)
  * Added `RCT()` checker for pthread routines (basedefs.h)
  * Added iwbin2hex() (iwconv.h)
  * iwxstr_clear() sets value of intgernal string buffer to zero (iwxstr.h)
  * Added user data store capability to iwxstr (iwxstr.h)
  * Added iwpool_strdup2(), iwpool_strndup2() (iwpool.h)
  * Added iwp_set_current_thread_name() (iwp.h)
  * Added RCENO define (basedefs.h)
  * Thread poll, single thread worker fixes
  * Added IW_MIN, IW_MAX, IW_XSTR defines

v1.4.12

Toggle v1.4.12's commit message
 * Added IW_ERROR_UNSUPPORTED error code

  * Added  IW_ALLOC __attribute__((malloc)) optimization
  * Added ring buffer implementation (iwrb.h)
  * Added `queue_blocking` argument `iwstw_start()` (iwstw.h)
  * Minor changes in iwlog.h api
  * `memcpy` replaced by `memmove` for overlaping cases (iwarr.c)

v1.4.11

Toggle v1.4.11's commit message
 * Fixed typo (qsort_r => sort_r) (iwarr.c)

  * Added simple threads pool implementation (iwtp.h)
  * Added IW_ERROR_NOT_ALLOWED error code (iwlog.h)
  * Added RCR() error checking macro (basedefs.h)
  * Added iwlist_sort(), iwulist_sort() (iwarr.h)
  * Added iwstw_schedule_empty_only() (iwstw.h)
  * Added iwstw_queue_size() (iwstw.h)
  * Set O_CLOEXEC flag on all file open() calls
  * Added IW_ERROR_UNEXPECTED_RESPONSE error code (iwlog.h)
  * Added iwxstr_set_size(), iwxstr_destroy_keep_ptr() (iwxstr.h)
  * Added iwlist_at2() (iwarr.h)
  * Added handy ZRET definition (basedefs.h)
  * Added handy ZGO definition (basedefs.h)
  * Project code reformatted using uncrustify
  * Updated copyright headers
  * Fixed build errors on macOS
  * Removed dependency on glibc specific features
  * Added new iwxstr_pop() (iwxstr.h)

v1.4.10

Toggle v1.4.10's commit message
 * Tuned iwkv file resizing policy

  * Fixed misuse of `IWKV_OPTS.file_lock_fail_fast` (#35)
  * Correct handling of EINTR, EAGAIN in read/write functions (unix.c)

v1.4.9

Toggle v1.4.9's commit message
 * Code review of iwkv cache keys comparison, related issue: https://…

…github.com/Softmotions/ejdb/issues/291

  * Added `bool iwu_uuid_valid(const char *uuid)` (iwuuid.h)