1iowow (1.4.10) testing; urgency=medium 2 * Fixed behavior of iwp_tmpdir() accourding to #47 3 * Tuned iwkv file resizing policy 4 * Fixed misuse of `IWKV_OPTS.file_lock_fail_fast` (#35) 5 * Correct handling of EINTR, EAGAIN in read/write functions (unix.c) 6 7 -- Anton Adamansky <adamansky@gmail.com> Tue, 22 Dec 2020 23:55:36 +0700 8 9iowow (1.4.9) testing; urgency=medium 10 11 * Code review of iwkv cache keys comparison, related issue: https://github.com/Softmotions/ejdb/issues/291 12 * Added `bool iwu_uuid_valid(const char *uuid)` (iwuuid.h) 13 14 -- Anton Adamansky <adamansky@gmail.com> Wed, 18 Nov 2020 15:04:03 +0700 15 16iowow (1.4.8) testing; urgency=medium 17 18 * Fixed serios bug concerning non-unique ejdb2 indexes, details: https://github.com/Softmotions/ejdb/issues/291 19 * Fixed potencial memory leak in `iwlist_create()` (iwarr.h) 20 * Fixed wrong `iwulist_clear()` behaviour (iwarr.h) 21 * Code cleanup 22 * Added `iwulist_at2()` (iwarr.h) 23 * Removed not needed assertion (iwstree.c) 24 25 -- Anton Adamansky <adamansky@gmail.com> Sun, 08 Nov 2020 21:51:49 +0700 26 27iowow (1.4.7) testing; urgency=medium 28 29 * Correct handling of EINTR, EAGAIN in read/write functions (unix.c) 30 * Minor fixes on iwhmap 31 32 -- Anton Adamansky <adamansky@gmail.com> Mon, 21 Sep 2020 12:14:06 +0700 33 34iowow (1.4.6) testing; urgency=medium 35 36 * Added `iwpool_user_data_detach()` (iwpool.h) 37 * Added `iwpool_create_empty()` (iwpool.h) 38 * Added simple hashmap implementation (iwhmap.h) 39 * `IWPOOL` is able to store associated user data (iwpool.h) 40 * `pthread_barrierattr` shim for android API < 24 41 * Added `iwsha256()` SHA-256 hash implementation (iwsha2.h) 42 * Added single thread worker (iwstw.h) 43 * Added `iwstree_clear()` (iwstree.h) 44 45 -- Anton Adamansky <adamansky@gmail.com> Wed, 24 Jun 2020 18:32:24 +0700 46 47iowow (1.4.5) testing; urgency=medium 48 49 * Added `iwulist_clear` (iwarr.h) 50 * Added `RCIF` (basedefs.h) 51 * Fix assertion error in `iwstree_remove()` (iwstree.h) 52 * Allows zero key/value placeholders in `iwstree_iter_next()` (iwstree.h) 53 * Added `iwstree_put_overwrite` (iwstree.h) 54 * Added iwstree iteration API (iwstree.h) 55 * Added `iwpool_used_size` (iwpool.h) 56 * Added `iwstree_int64_cmp` (iwstree.h) 57 * Added `IW_DEPRECATED` (basedefs.h) 58 59 -- Anton Adamansky <adamansky@gmail.com> Thu, 18 Jun 2020 14:19:32 +0700 60 61iowow (1.4.4) testing; urgency=medium 62 63 * Fixed incorrect copying of cursor key data in `IWDB_COMPOUND_KEYS` mode (iwkv.c) 64 * Adde compound key example code (compoundkeys1.c) 65 * Added `iwstree_visit` (iwstree.h) 66 67 -- Anton Adamansky <adamansky@gmail.com> Sat, 02 May 2020 19:38:31 +0700 68 69iowow (1.4.3) testing; urgency=medium 70 71 * Fixed errors found by PVS studio 72 73 -- Anton Adamansky <adamansky@gmail.com> Fri, 24 Apr 2020 00:16:42 +0700 74 75iowow (1.4.2) testing; urgency=medium 76 77 * Added IWULIST, IWLIST implementation (iwarr.h) 78 * Added iwpool_split_string (iwpool.h) 79 * Added iwpool_printf (iwpool.h) 80 * Added iwpool_printf_split (iwpool.h) 81 * Added iwxstr_shift (iwxstr.h) 82 * Added `#define RCHECK` (basedefs.h) 83 * Better error handling of `kh_put` 84 85 -- Anton Adamansky <adamansky@gmail.com> Mon, 20 Apr 2020 16:23:50 +0700 86 87iowow (1.4.1) testing; urgency=medium 88 89 * Fixed possible data corruption in `_fsm_blk_allocate_aligned_lw` (iwfsmfile.c) 90 * Better new SBLK blocks locality (performance) 91 92 -- Anton Adamansky <adamansky@gmail.com> Sat, 07 Mar 2020 23:23:13 +0700 93 94iowow (1.4.0) testing; urgency=medium 95 96 * Implemented new compact and performant data storage format v2 97 * Added WiredTiger v3.2.1 benchmarks 98 * Added BerkeleyDB v5.3.28 benchmarks 99 * Added TokyoCabinet v1.4.48 benchmarks 100 101 -- Anton Adamansky <adamansky@gmail.com> Fri, 06 Mar 2020 23:23:16 +0700 102 103iowow (1.3.37) testing; urgency=medium 104 105 * Added iwrc iwp_mkdirs(const char *path) (iwp.h) 106 * Added uint32_t iwu_x31_u32_hash(const char *s) (iwutils.h) 107 * Added iwu_replace() (iwutils.h) 108 * Added RCA( macro definition 109 * Removed IW_EXPORT iwrc iwkv_db_last_access_time(IWDB db, uint64_t *ts) 110 for performance and simplicity reasons 111 * Added `IW_ERROR_INVALID_VALUE` 112 * Added iwstree - splay tree imlementation (iwstree.h) 113 * Pointers allocated by iwpool are now 8-byte aligned 114 115 -- Anton Adamansky <adamansky@gmail.com> Mon, 17 Feb 2020 23:16:31 +0700 116 117iowow (1.3.36) testing; urgency=medium 118 119 * Safer iowow initialization bootstrap process. 120 121 -- Anton Adamansky <adamansky@gmail.com> Thu, 16 Jan 2020 12:44:31 +0700 122 123iowow (1.3.35) testing; urgency=medium 124 125 * Added specific checks for TARGET_OS_IPHONE 126 * Ported to iOS 127 * Added wal locking interceptor to WAL opts 128 129 -- Anton Adamansky <adamansky@gmail.com> Wed, 15 Jan 2020 13:10:51 +0700 130 131iowow (1.3.32) testing; urgency=medium 132 133 * Improved WAL durability 134 135 -- Anton Adamansky <adamansky@gmail.com> Thu, 19 Dec 2019 10:49:08 +0700 136 137iowow (1.3.31) testing; urgency=medium 138 139 * Keys comparison refactoring 140 141 -- Anton Adamansky <adamansky@gmail.com> Wed, 20 Nov 2019 00:41:15 +0700 142 143iowow (1.3.30) testing; urgency=medium 144 145 * Added check if __unused is already defined in `iwth.c` 146 * CRITICAL Comparsions keys fix #30 147 148 -- Anton Adamansky <adamansky@gmail.com> Tue, 19 Nov 2019 20:23:41 +0700 149 150iowow (1.3.29) testing; urgency=medium 151 152 * FIXED iwkv_open assertion fail on opening garbage file #29 153 154 -- Anton Adamansky <adamansky@gmail.com> Wed, 13 Nov 2019 23:55:35 +0700 155 156iowow (1.3.28) testing; urgency=medium 157 158 * iwlog now supports ANDROID NDK logging (iwlog.h) 159 160 -- Anton Adamansky <adamansky@gmail.com> Thu, 07 Nov 2019 14:44:59 +0700 161 162iowow (1.3.27) testing; urgency=medium 163 164 * CRITICAL WAL durability fixes 165 * Support of online backups #24 166 * Windows platform functions fixes 167 * CLion project files added 168 * WAL recovering fixes 169 170 -- Anton Adamansky <adamansky@gmail.com> Mon, 28 Oct 2019 19:08:59 +0700 171 172iowow (1.3.25) testing; urgency=medium 173 174 * CRITICAL Fixed heap corruption due incorrect usage of khash API in `_db_destroy_lw` (iwkv.c) 175 176 -- Anton Adamansky <adamansky@gmail.com> Thu, 29 Aug 2019 12:20:25 +0700 177 178iowow (1.3.24) testing; urgency=medium 179 180 * CRITICAL Fixed race condition in WAL rollforward 181 182 -- Anton Adamansky <adamansky@gmail.com> Thu, 22 Aug 2019 02:04:08 +0700 183 184iowow (1.3.23) testing; urgency=medium 185 186 * WAL refactoring, better stability 187 188 -- Anton Adamansky <adamansky@gmail.com> Sat, 17 Aug 2019 21:17:05 +0700 189 190iowow (1.3.22) testing; urgency=medium 191 192 * Small optimizations in `iwfsmfile.c` 193 * Added `iwp_clock_get_time` as portable version of `clock_gettime` 194 * `static_assert` is set to `_Static_assert` if not defined 195 * Added `__USE_MINGW_ANSI_STDIO` for MinGW build 196 197 -- Anton Adamansky <adamansky@gmail.com> Thu, 18 Jul 2019 17:50:14 +0700 198 199iowow (1.3.20) testing; urgency=medium 200 201 * CRITICAL Fixed incorrect keys allocation in IWDB_COMPOUND_KEYS mode 202 203 -- Anton Adamansky <adamansky@gmail.com> Thu, 13 Jun 2019 21:43:47 +0700 204 205iowow (1.3.19) testing; urgency=medium 206 207 * CRITICAL: Fixed assertion fail in iwkv records cache 208 209 -- Anton Adamansky <adamansky@gmail.com> Thu, 13 Jun 2019 19:08:48 +0700 210 211iowow (1.3.18) testing; urgency=medium 212 213 * Limit one time file allocation step to 2G 214 215 -- Anton Adamansky <adamansky@gmail.com> Wed, 12 Jun 2019 16:42:47 +0700 216 217iowow (1.3.17) testing; urgency=medium 218 219 * CRITICAL: State of previously deleted database may have influence on newly created dbs 220 * BUG: Fixed database metadata blocks leak (db->meta_blk) on database destroy 221 222 -- Anton Adamansky <adamansky@gmail.com> Fri, 03 May 2019 18:20:39 +0700 223 224iowow (1.3.16) testing; urgency=medium 225 226 * CRITICAL: Fixed deadlock on database removal 227 228 -- Anton Adamansky <adamansky@gmail.com> Fri, 03 May 2019 11:56:29 +0700 229 230iowow (1.3.15) testing; urgency=medium 231 232 * CRITICAL: Fixed database file corruption during sequential records deletion with `iwkv_cursor_del` (iwkv.c) 233 234 -- Anton Adamansky <adamansky@gmail.com> Wed, 01 May 2019 23:29:18 +0700 235 236iowow (1.3.14) testing; urgency=medium 237 238 * CRITICAL: Fixed unexpected database file truncation and data loss on close. 239 * Adjusted default WAL options for Android 240 241 -- Anton Adamansky <adamansky@gmail.com> Sat, 27 Apr 2019 01:04:28 +0700 242 243iowow (1.3.13) testing; urgency=medium 244 245 * Performance impovements in Write Ahead Logging (iwal.c) 246 * BUG: WAL file was not truncated after `wal->checkpoint_timeout_sec` timeout (iwal.c) 247 248 -- Anton Adamansky <adamansky@gmail.com> Thu, 25 Apr 2019 17:43:06 +0700 249 250iowow (1.3.12) testing; urgency=medium 251 252 * Android NDK support (#23) 253 * Pthreads `PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP` is used by default 254 255 -- Anton Adamansky <adamansky@gmail.com> Sun, 21 Apr 2019 12:18:16 +0700 256 257iowow (1.3.11) testing; urgency=medium 258 259 * Added size_t iwpool_allocated_size(IWPOOL *pool) (iwpool.h) 260 * Added `file_lock_fail_fast` iwkv open option. 261 If `true` - do not wait and raise error if database is locked by another process 262 * Fixed meaningful PVP studio errors: 263 - kv/iwkv.c:593:1: error: V774 264 - kv/iwkv.c:1375:1: warning: V649 265 - kv/iwkv.c:3357:1: warning: V581 266 - utils/iwxstr.c:59:1: warning: V701 267 268 -- Anton Adamansky <adamansky@gmail.com> Mon, 08 Apr 2019 11:47:59 +0700 269 270iowow (1.3.10) testing; urgency=medium 271 272 * Added cmake `OWNER_PROJECT_NAME` option used to install header files in `CMAKE_INSTALL_INCLUDEDIR}/OWNER_PROJECT_NAME/PROJECT_NAME` 273 * Removed `-fvisibility=hidden` C flag when building shared library 274 275 -- Anton Adamansky <adamansky@gmail.com> Fri, 05 Apr 2019 11:53:34 +0700 276 277iowow (1.3.9) testing; urgency=medium 278 279 * BUG `IW_HAVE_PTHREAD_CONDATTR_SETCLOCK` was not properly set for `iwal.c` hence high CPU usage when `wal` mode is on. 280 281 -- Anton Adamansky <adamansky@gmail.com> Fri, 29 Mar 2019 23:56:25 +0700 282 283iowow (1.3.8) testing; urgency=medium 284 285 * BUG Fixed incorrect call of `_kvblk_kv_get` in `iwkv_cursor_seth`. 286 See https://github.com/Softmotions/ejdb/issues/231 287 288 -- Anton Adamansky <adamansky@gmail.com> Wed, 27 Mar 2019 12:34:10 +0700 289 290iowow (1.3.7) testing; urgency=medium 291 292 * Added `iwkv_cursor_del()` (#22) 293 * Fixed memory corruption during simultaneous cursor iteration and value updating 294 295 -- Anton Adamansky <adamansky@gmail.com> Tue, 26 Mar 2019 18:24:35 +0700 296 297iowow (1.3.6) testing; urgency=medium 298 299 * BUG: Memory leak in `iwkv_cursor_open` on error (#21) 300 * BUG: `iwxstr_new2()` with zero size argument causes illegal memory write (#20) 301 * Added `iwkv_cursor_seth()` record update handle supported by `iwkv_cursor_set` 302 * Avoided deadlocks with `iwkv_del()` - now this function does't escalate exclusive lock on storage 303 * More consistent error reporting using cursor functions 304 305 -- Anton Adamansky <adamansky@gmail.com> Fri, 22 Mar 2019 16:29:32 +0700 306 307iowow (1.3.5) testing; urgency=medium 308 309 * BUG: Data from deleted database can interfere with newly created db (#19) 310 311 -- Anton Adamansky <adamansky@gmail.com> Wed, 20 Mar 2019 20:26:22 +0700 312 313iowow (1.3.4) testing; urgency=medium 314 315 * Code documentation improvements 316 317 -- Anton Adamansky <adamansky@gmail.com> Mon, 11 Mar 2019 22:42:51 +0700 318 319iowow (1.3.3) testing; urgency=medium 320 321 * BUG: `iwkv_puth` called with incorrect previous value (iwkv.h) 322 * _kvblk_getvalue renamed to _kvblk_value_get (iwkv.c) 323 * _kvblk_peek_val renamed to _kvblk_value_peek (iwkv.c) 324 * _kvblk_getkey renamed to _kvblk_key_get (iwkv.c) 325 * _kvblk_getkv renamed to _kvblk_kv_get (iwkv.c) 326 327 -- Anton Adamansky <adamansky@gmail.com> Fri, 08 Mar 2019 17:02:46 +0700 328 329iowow (1.3.2) testing; urgency=medium 330 331 * Added `iwkv_cursor_is_matched_key` (iwkv.h) 332 * `iwkv_cursor_copy_key` now aware of `IWDB_COMPOUND_KEYS` mode (iwkv.h) 333 * `iwkv_cursor_copy_key` can accept zero kbuf,kbufsz only compound part will returned in this case (iwkv.h) 334 335 -- Anton Adamansky <adamansky@gmail.com> Mon, 04 Mar 2019 20:50:03 +0700 336 337iowow (1.3.1) testing; urgency=medium 338 339 * Eliminate adaptive `IWDB_VNUM64_KEYS` key sizing in `_unpack_effective_key` for the sake of API simplicity (iwkv.c) 340 * BUG: incorrect key handling in `iwkv_del` - key was not unpacked before. (iwkv.h) 341 342 -- Anton Adamansky <adamansky@gmail.com> Thu, 28 Feb 2019 10:40:11 +0700 343 344iowow (1.3.0) testing; urgency=medium 345 346 * `IWKV_PUT_HANDLER` called for insert operations (not only for updates) 347 * Added `IWFS_OUNLINK` flag. Unlink(delete) file on close (iwfile.h) 348 * Added `IWFS_OTMP` flag. Create tmp file (iwfile.h) 349 * Added UUID v4 generation function (iwuuid.h) 350 * Added iwp_tmpdir() (iwp.h) 351 * Added iwp_allocate_tmpfile_path() (iwp.h) 352 * Added iwxstr_printf() (iwxstr.h) 353 * Added iwxstr_cat2() (iwxstr.h) 354 * Added `IWKV_VAL_INCREMENT` mode for `iwkv_put()` and test case (iwkv.h) 355 * Added support of variable-length encoded integer keys `IWDB_VNUM64_KEYS` (iwkv.h) 356 * Added support of compound keys (`IWDB_COMPOUND_KEYS`) (#18) 357 * Removed `dup` integer value routines 358 * Code cleanup and refactoring 359 360 -- Anton Adamansky <adamansky@gmail.com> Wed, 27 Feb 2019 12:11:48 +0700 361 362iowow (1.2.14) testing; urgency=medium 363 364 * BUG: Fix WAL checkpoint workflow to avoid deadlocks with cursor threads 365 * BUG: Clang6 fatal error: variable 'cur' is used uninitialized (#15) 366 * Implemented new multithreaded stress test (iwkv_test6.c) used OMP stack 367 * Added iwkv_new_db(IWKV iwkv, iwdb_flags_t dbflg, uint32_t *odbid, IWDB *dbp) (iwkv.h) 368 * Removed unused `IWKV_NOLOCKS` option. 369 * Added `IW_EXPORT` to `iowow_version_*` API functions (iowow.h) 370 * Added iwrc iwkv_state(IWKV iwkv, IWFS_FSM_STATE *out) (iwkv.h) 371 * Do not check `IWKV_NO_OVERWRITE` for databases in `IWDB_DUP_UINTXX_VALS` mode 372 * Added iwkv_puth() with provided old value interceptor: `IWKV_PUT_HANDLER` (iwkv.h) 373 * Added `IWKV_RC_DUP_ARRAY_EMPTY` flag and `IWKV_DUP_REPORT_EMPTY` opflag for `iwkv_put()` (iwkv.h) 374 375 -- Anton Adamansky <adamansky@gmail.com> Tue, 06 Nov 2018 23:14:39 +0700 376 377iowow (1.2.13) testing; urgency=medium 378 379 * BUG: Correct cursors adjustments during db update operations (#13) 380 * BUG: Fixed WAL integration for updates in IWDB_DUP_UINT32_VALS|IWDB_DUP_UINT64_VALS mode 381 * Store arbitrary data blocks associated with iwkv internal databases (#12) 382 * Checking of max key/value size (IWKV_MAX_KVSZ) for updates in IWDB_DUP_UINT32_VALS|IWDB_DUP_UINT64_VALS mode 383 * Minor allocation performance optimizations in _kvblk_addkv() 384 385 -- Anton Adamansky <adamansky@gmail.com> Thu, 02 Aug 2018 20:29:08 +0700 386 387iowow (1.2.12) testing; urgency=medium 388 389 * Set terminating '\0' in iwitoa() (iwconv.h) 390 * Added MAP_NORESERVE option for PRIVATE mmaping on Linux (#11) 391 * Added iwu_file_read_as_buf() (iwutils.h) 392 * Optimized cmake config files generation 393 394 -- Anton Adamansky <adamansky@gmail.com> Sat, 21 Jul 2018 01:59:40 +0700 395 396iowow (1.2.11) testing; urgency=medium 397 * iwpool refactoring fixed pool memory corruption (iwpool.h) 398 * Fixed set terminating `\0` in iwpool_strdup() (iwpool.h) 399 * Fixed wrong `if` in iwpool_calloc() (iwpool.h) 400 401 -- Anton Adamansky <adamansky@gmail.com> Fri, 15 Jun 2018 17:58:20 +0700 402 403iowow (1.2.10) testing; urgency=medium 404 405 * Added iwpool_calloc() (iwpool.h) 406 * Added iwpool_strdup(), iwpool_strndup() (iwpool.h) 407 * Fixed memory leak in iwpool_destroy() (iwpool.h) 408 * Renamed platform/linux/linux.c to platform/unix/unix.c (#9) 409 * Added iwu_replace_char() (iwutils.h) 410 411 -- Anton Adamansky <adamansky@gmail.com> Mon, 11 Jun 2018 23:00:21 +0700 412 413iowow (1.2.9) testing; urgency=medium 414 415 * Rewrite of iwftoa() (iwconv.h) 416 * Fixed typo: iwtoa renamed to iwitoa (iwconv.h) 417 * Added iwu_cmp_files (iwutils.h) 418 * Return type of iwxstr_ptr() changed to char* (iwxstr.h) 419 420 -- Anton Adamansky <adamansky@gmail.com> Tue, 29 May 2018 01:01:56 +0700 421 422iowow (1.2.8) testing; urgency=medium 423 424 * IOWOW Ported to MIPS32 (big-endian) tested on Debian GNU/Linux 9.4 425 426 -- Anton Adamansky <adamansky@gmail.com> Sat, 19 May 2018 21:09:04 +0700 427 428iowow (1.2.7) testing; urgency=medium 429 430 * Fixed incorrect exclusive locking in iwkv_del()" 431 432 -- Anton Adamansky <adamansky@gmail.com> Thu, 17 May 2018 11:27:58 +0700 433 434iowow (1.2.6) testing; urgency=medium 435 436 * Fixed: database file is not created automatically if no open modes specified in opts 437 438 -- Anton Adamansky <adamansky@gmail.com> Wed, 16 May 2018 19:57:35 +0700 439 440iowow (1.2.5) testing; urgency=medium 441 442 * Added iwkv_opflags opflags into iwkv_del 443 444 -- Anton Adamansky <adamansky@gmail.com> Wed, 16 May 2018 19:33:16 +0700 445 446iowow (1.2.4) testing; urgency=medium 447 448 * Fixed race conditions in iwkv_cursor_to() 449 450 -- Anton Adamansky <adamansky@gmail.com> Mon, 14 May 2018 09:28:13 +0700 451 452iowow (1.2.3) testing; urgency=medium 453 454 * Fixed race conditions in iwkv_cursor_set() 455 456 -- Anton Adamansky <adamansky@gmail.com> Fri, 11 May 2018 23:17:13 +0700 457 458iowow (1.2.2) testing; urgency=medium 459 460 * Added static iowow_s libraries to the default CMake exports. 461 462 -- Anton Adamansky <adamansky@gmail.com> Tue, 08 May 2018 22:58:41 +0700 463 464iowow (1.2.1) testing; urgency=medium 465 466 * Removed unistd.h from src/fs/iwdlsnr.h since it is not portable. 467 * C++ friendly header files 468 469 -- Anton Adamansky <adamansky@gmail.com> Mon, 07 May 2018 12:47:46 +0700 470 471iowow (1.2.0) testing; urgency=medium 472 473 * IOWOW ported to Windows x86-64 platform #1 474 475 -- Anton Adamansky <adamansky@gmail.com> Sun, 06 May 2018 20:35:14 +0700 476 477iowow (1.1.0) testing; urgency=medium 478 479 * Write Ahead Log (WAL) implemented #2 480 * Changed database block size to 128 bytes so max db size 512Gb 481 WARNING: Database format of version 1.1.x is incompatible with previous versions. 482 * Better basename/basename_r detection in iwlog.c #4 483 484 -- Anton Adamansky <adamansky@gmail.com> Wed, 02 May 2018 17:28:14 +0700 485 486iowow (1.0.6) testing; urgency=medium 487 488 * src/CMakeLists.txt cleanups #3 489 * x86-specific code in src/platform/iwp.c is not guarded #7 490 * Database size limited to 2GB on 32 bit CPUs #5 491 * Database block size changed: 64 to 128 bytes #8 492 493 -- Anton Adamansky <adamansky@gmail.com> Mon, 16 Apr 2018 10:21:00 +0700 494 495iowow (1.0.5) testing; urgency=medium 496 497 * iwextfile: do msync before munmap on file resizing 498 499 -- Anton Adamansky <adamansky@gmail.com> Thu, 12 Apr 2018 20:48:26 +0700 500 501iowow (1.0.4) testing; urgency=medium 502 503 * Added IWFSM_SYNC_BMAP option to iwfs_fsm_aflags 504 * Removed IWFS_NO_MMASYNC since it does noop on many platforms 505 * Set exclusive iwkv write lock in iwkv_sync() 506 507 -- Anton Adamansky <adamansky@gmail.com> Thu, 12 Apr 2018 12:33:53 +0700 508 509iowow (1.0.3) testing; urgency=medium 510 511 * Added basic iowow.3 man page to distribution archive 512 * Use posix_fallocate() to extend iwkv file instead of ftruncate() on Linux/FreeBSD 513 514 -- Anton Adamansky <adamansky@gmail.com> Tue, 10 Apr 2018 18:56:11 +0700 515 516iowow (1.0.2) testing; urgency=medium 517 518 * Removed unneeded -D_LARGE_FILE_SOURCE from iowow.h 519 520 -- Anton Adamansky <adamansky@gmail.com> Mon, 09 Apr 2018 13:56:53 +0700 521 522iowow (1.0.1) testing; urgency=medium 523 524 * Fix export flags iwlog2 method 525 526 -- Anton Adamansky <adamansky@gmail.com> Mon, 09 Apr 2018 12:44:23 +0700 527 528iowow (1.0.0) testing; urgency=medium 529 530 * Initial release. 531 532 -- Anton Adamansky <adamansky@gmail.com> Sun, 08 Apr 2018 14:21:43 +0700 533