Eblob version update: 0.17.3
[eblob.git] / debian / changelog
blobc51c0a449743c8bf56a4e81d3beb05d3f6c33ffc
1 eblob (0.17.3) unstable; urgency=low
3   * Fixed range iterator and keys found in RAM for supposed-to-be-sorted blobs
4   * Added google groups link
5   * added missing eblob_iterate_existing prototype
6   * added lost libboost-system-dev build-dep
7   * Use autogenerated major/minor eblob versions.
8   * add debug to eblob_init for eblob_stat_init errors
9   * move features to separate file - features.h
10   * added -W option notes
11   * -W and -Wextra is the same thing
12   * added -fno-strict-aliasing notes
13   * blob: added eblob_pagecache_hint()
14   * added posix_fadvise test
15   * move definition of EBADFD to blob.h
16   * blob: sizeof(char) is 1
17   * Added timespamps to test
18   * Link eblob and eblob_static with Boost_SYSTEM_LIBRARIES
19   * Additional info for Boost on build
20   * also look for boost system
21   * replace fdopendir with opendir
22   * mac os x build fixes
23   * fixed misstype in merge.cpp
25  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 14 Nov 2012 19:51:18 +0400
27 eblob (0.17.2) unstable; urgency=low
29   * fxd depends generation
30   * Use small-lettered cmake functions
31   * Added python support
32   * Added rpath into binaries
33   * Spec update
34   * Move snappy into global build dep
35   * When linking eblob_regex_iter do not use all boost libs, but only needed
37  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 06 Sep 2012 18:05:09 +0400
39 eblob (0.17.1) unstable; urgency=low
41   * Fixed 1000-records defragmentation limit
42   * Use bulk read in iterator
44  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 20 Aug 2012 19:04:49 +0400
46 eblob (0.17.0) unstable; urgency=low
48   * Moved to log levels from log masks
50  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 19 Aug 2012 16:17:22 +0400
52 eblob (0.16.11) unstable; urgency=low
54   * Turn off timed defrag
55   * Get rid of stdint, it exists everywhere
56   * Moved to cmake from autoconf. Courtesy to Vsevolod Velichko <torkvema@gmail.com>
58  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 18 Aug 2012 17:07:25 +0400
60 eblob (0.16.10) unstable; urgency=low
62   * Added possibility to start defragmentation on demand
64  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 08 Aug 2012 12:05:03 +0400
66 eblob (0.16.9) unstable; urgency=low
68   * Only allow names which are in form of '-.' without suffixes
69   * Do not return header data in python eblob iterator
70   * Misc cleanup
71   * Do not compile example/iterate_send.cpp
72   * Speedup eblob start using bulk index read
74  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 03 Aug 2012 23:56:29 +0400
76 eblob (0.16.8) unstable; urgency=low
78   * Check if file is really opened in iterator.cpp
80  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 05 Jul 2012 17:31:21 +0400
82 eblob (0.16.7) unstable; urgency=low
84   * Fix removed flags in indexes
86  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 02 Jul 2012 20:03:06 +0400
88 eblob (0.16.6) unstable; urgency=low
90   * Use boost::iostreams::file_source instead of
91     boost::iostreams::mapped_file, since the latter leaks
92   * Added iterator program which sends data to elliptics
94  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 25 Jun 2012 20:13:13 +0400
96 eblob (0.16.5) unstable; urgency=low
98   * Dep builds update
100  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 25 Jun 2012 18:19:13 +0400
102 eblob (0.16.4) unstable; urgency=low
104   * Use libsnappy1 or snappy
106  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 18 Jun 2012 14:19:13 +0400
108 eblob (0.16.3) unstable; urgency=low
110   * Use libsnappy1 instead of snappy
112  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 18 Jun 2012 14:12:13 +0400
114 eblob (0.16.2) unstable; urgency=low
116   * Added flag which prevents free-space check during write
118  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 18 Jun 2012 11:56:13 +0400
120 eblob (0.16.1) unstable; urgency=low
122   * Enable defragmentation
124  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 9 Jun 2012 17:56:13 +0400
126 eblob (0.16.0) unstable; urgency=low
128   * Use ioremap::eblob namespace
130  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 7 Jun 2012 23:49:13 +0400
132 eblob (0.15.10) unstable; urgency=low
134   * Fixed build on Ubuntu 12.04 Presice
136  -- Anton Kortunov <toshic@yandex-team.ru>  Thu, 17 May 2012 15:11:04 +0400
138 eblob (0.15.9) unstable; urgency=low
140   * Write 'removed' record in ->prepare(), so it can not be read in parallel. commit() will set correct bit. eblob_write() will do it too.
142  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 28 Apr 2012 01:19:13 +0400
144 eblob (0.15.8) unstable; urgency=low
146   * Use correct F_SETFD/FD_CLOEXEC
148  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 27 Apr 2012 20:58:13 +0400
150 eblob (0.15.7) unstable; urgency=low
152   * added O_CLOEXEC flags
153   * Do not return -ENOSPACE when EBLOB_RESERVE_10_PERCENTS is set and size is less than blob-size, but more than 0.1 of total size
155  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 27 Apr 2012 00:30:13 +0400
157 eblob (0.15.6) unstable; urgency=low
159   * disable defrag for now
161  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 18 Apr 2012 00:18:13 +0400
163 eblob (0.15.5) unstable; urgency=low
165   * Index and data files should be 644 by default to allow others like nginx to read data
166   * Build deps update
168  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 17 Apr 2012 21:05:13 +0400
170 eblob (0.15.4) unstable; urgency=low
172   * Do not sync in separate thread if sync interfal is zero - we will sync on every write anyway
173   * Added no-footer blob flag
174   * Added overwrite-commits flags
175   * Removed posix_fallocate() call
176   * Added hole detection
177   * eblob_py_iterator cleanup
178   * Drop macroses which are not accessible in centos
179   * Do not include blob.h into namespace
181  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 6 Apr 2012 00:30:13 +0400
183 eblob (0.15.3) unstable; urgency=low
185   * Only reserve 10% of free space when EBLOB_RESERVE_10_PERCENTS blob-config-flag is set
186   * Added prepare/commit methods to cpp bindings
187   * Unify blob names - rename existing if found
188   * Generate bloom filter in case of generation sorted index during startup
189   * Use sleep_time-- instead of --sleep_time to honor 1 second timeouts
190   * Sync iteration must be protected by b->lock
192  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 23 Mar 2012 16:02:13 +0400
194 eblob (0.15.2) unstable; urgency=low
196   * Fixed read-modify-write column update
197   * Fixed missed column during type remove
198   * Use correct python path
199   * Added eblob::truncate()
200   * Protect bctl->sort update - fixed defragmentation race
201   * If user does not provide config->log then use stdout logger in cpp binding
202   * Added eblob.py setup.py extra dist files
204  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 19 Mar 2012 00:53:13 +0400
206 eblob (0.15.1) unstable; urgency=low
208   * Fixed leaks
209   * Rename defragmented blobs just after they are created
210   * Include cleanups
211   * Do not use openat()
213  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 11 Mar 2012 21:04:13 +0400
215 eblob (0.15.0) unstable; urgency=low
217   * Added 'automatic' test/check tool
218   * New automatic defragmentation implementation
219   * Added ::key() method
220   * Drop iolocks
222  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 29 Feb 2012 22:06:13 +0400
224 eblob (0.14.4) unstable; urgency=low
226   * Added raw python blob class
227   * eblob_remove_all(): when RAM lookup fails check disk
228   * Deleted eblob_gen_index.cpp
230  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 19 Feb 2012 00:11:13 +0400
232 eblob (0.14.3) unstable; urgency=low
234   * Added python eblob constructor that accepts eblob_config structure on input
236  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 16 Feb 2012 22:45:13 +0400
238 eblob (0.14.2) unstable; urgency=low
240   * Use allocate/read for checksum calculation when reading small objects
241   * Skip .tmp files when scanning base names
243  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 8 Feb 2012 22:54:13 +0400
245 eblob (0.14.1) unstable; urgency=low
247   * Added start/num parameters to iterate over selected number of blobs.
249  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 1 Feb 2012 00:55:13 +0400
251 eblob (0.13.13) unstable; urgency=low
253   * Use ssize_t instead of int in eblob_copy_data()
255  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 30 Jan 2012 18:33:13 +0400
257 eblob (0.13.12) unstable; urgency=low
259   * Use chunked splice/copy, since we may have really big objects written
261  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 29 Jan 2012 21:33:13 +0400
263 eblob (0.13.11) unstable; urgency=low
265   * Allow to rollback preallocation if prepare fails
267  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 29 Jan 2012 06:03:13 +0400
269 eblob (0.13.10) unstable; urgency=low
271   * Merge helpers and fixes
273  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 29 Jan 2012 03:00:13 +0400
275 eblob (0.13.9) unstable; urgency=low
277   * If we are doing prepare, and there is some old data - reserve 2 times as much as requested
279  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 20 Dec 2011 01:12:13 +0400
281 eblob (0.13.8) unstable; urgency=low
283   * Added free space check before trying to reserve space on disk
284   * Truncate stat file precisely to the number of bytes written
285   * Fixed cached keys removal
287  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 20 Dec 2011 01:12:13 +0400
289 eblob (0.13.7) unstable; urgency=low
291   * Added actual index size checks.
292   * Update index early in eblob_write_prepare_disk().
293   * eblob_write() does not need full eblob_write_commit_nolock(), only low-level on-disk part.
295  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 19 Dec 2011 04:36:13 +0400
297 eblob (0.13.6) unstable; urgency=low
299   * Fixed cache entry stall list head processing 
301  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 18 Dec 2011 16:53:13 +0400
303 eblob (0.13.5) unstable; urgency=low
305   * Fixed cache entry removal
307  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 18 Dec 2011 05:02:13 +0400
309 eblob (0.13.4) unstable; urgency=low
311   * If commit provides size, use it as object size. If prepare reuses existing region, do not change its sizes.
312   * Changed eblob_write_prepare() first to try to check existing region if it is big enough.
314  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 17 Dec 2011 23:54:13 +0400
316 eblob (0.13.3) unstable; urgency=low
318   * Initialize allocated memory for ecache to 0
320  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 17 Dec 2011 06:54:13 +0400
322 eblob (0.13.2) unstable; urgency=low
324   * Optimize prepare (for eblob_write_prepare() only) call to reuse existing prepared area if its size is big enough
326  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 17 Dec 2011 05:41:13 +0400
328 eblob (0.13.1) unstable; urgency=low
330   * Fixed cache balancing
332  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 15 Dec 2011 22:02:13 +0400
334 eblob (0.13.0) unstable; urgency=low
336   * Added configurable two-queue cache for read data by Anton Kortunov <toshic.toshic@gmail.com>
338  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 15 Dec 2011 22:00:13 +0400
340 eblob (0.12.23) unstable; urgency=low
342   * Added eblob_read_nocsum() - read data without csum check
344  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 2 Dec 2011 22:00:13 +0400
346 eblob (0.12.22) unstable; urgency=low
348   * Added eblob_csum_ok() - runtime csum read check
350  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 26 Nov 2011 15:59:13 +0400
352 eblob (0.12.21) unstable; urgency=low
354   * Skip malformed zero entries during iteration
355   * eblob_fill_write_control_from_ram() should not check whether aligned size is enough when doing read command
357  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 24 Nov 2011 23:05:43 +0400
359 eblob (0.12.20) unstable; urgency=low
361   * Initialize eblob_write_control to zeroes in eblob_plain_write()
363  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 23 Nov 2011 23:36:57 +0400
365 eblob (0.12.19) unstable; urgency=low
367   * Multiple prepare/commit fixes for POHMELFS. Better write debug.
369  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 19 Nov 2011 01:18:35 +0400
371 eblob (0.12.18) unstable; urgency=low
373   * Added array of IO locks to protect state update during IO
374   * Simplified eblob_write()
375   * Dropped openssl bits
377  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 14 Nov 2011 16:17:20 +0400
379 eblob (0.12.17) unstable; urgency=low
381   * Fill in-memory rbtree and bloom filter for online generated sorted index
382   * Do not update in-memory structures before pwrite
383   * Added eblob_get_types function
385  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 31 Oct 2011 22:02:21 +0400
387 eblob (0.12.16) unstable; urgency=low
389   * Don't compare flags in bsearch callback
391  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 25 Oct 2011 21:16:23 +0400
393 eblob (0.12.15) unstable; urgency=low
395   * Do not open index and data files again in eblob_iterate
396   * Update unsorted indexes of removed records with BLOB_DISK_CTL_REMOVE flag
397   * Use 50 millions of records in blob by default
398   * Added eblob_merge (instead of old eblob_defrag) which defragments and
399     merges (multiple) blobs into larger one
401  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 24 Oct 2011 18:31:03 +0400
403 eblob (0.12.14) unstable; urgency=low
405   * Added bsearch statistics and on-disk lookup debugs
406   * Use 40 indexes per range block. Use 128 bits per index for bloom.
408  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 19 Oct 2011 20:51:23 +0400
410 eblob (0.12.13) unstable; urgency=low
412   * Fixed sorted index bsearch range calculation
414  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 18 Oct 2011 18:41:25 +0400
416 eblob (0.12.12) unstable; urgency=low
418   * Added bloom filter in sorted index blocks
419   * Added tree for range index search
421  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 15 Oct 2011 05:36:21 +0400
423 eblob (0.12.11) unstable; urgency=low
425   * Only read mapped data blob if EBLOB_ITERATE_FLAGS_ALL flag is set
427  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 12 Oct 2011 00:51:56 +0400
429 eblob (0.12.10) unstable; urgency=low
431   * Returned offline defrag tool
432   * Drop libssl deps
433   * Check if record is removed in blob
435  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 11 Oct 2011 01:22:10 +0400
437 eblob (0.12.9) unstable; urgency=low
439   * spec update
440   * rename eblob.spec
441   * use bz2 archive
443  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 03 Oct 2011 20:48:53 +0400
445 eblob (0.12.8) unstable; urgency=low
447   * Use internal ctl iterator when truncating last record
448   * Added initial data offset shift into eblob gen
450  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 30 Sep 2011 19:31:15 +0400
452 eblob (0.12.7) unstable; urgency=low
454   * Fixed error checking in eblob_base_remove
455   * Call iteration callback for old blobs when EBLOB_ITERATE_FLAGS_ALL is set
457  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 28 Sep 2011 19:16:14 +0400
459 eblob (0.12.6) unstable; urgency=low
461   * If we have old entry, mark it removed always, not only when flag is set.
463  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 27 Sep 2011 15:51:14 +0400
465 eblob (0.12.5) unstable; urgency=low
467   * Added overwrite eblob flag
468   * Only copy/splice old data into new chunk when append/overwrite flag is set
470  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 27 Sep 2011 01:03:47 +0400
472 eblob (0.12.4) unstable; urgency=low
474   * Made eblob_gen_index embed-only
476  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 23 Sep 2011 18:07:21 +0400
478 eblob (0.12.3) unstable; urgency=low
480   * Close race between sort lookups and uncompleted sort setup in bctl
482  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 21 Sep 2011 19:36:33 +0400
484 eblob (0.12.2) unstable; urgency=low
486   * Added eblob_gen_index util to generate index files from data blobs
487   * Extended debug in eblob helpers
489  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 21 Sep 2011 15:03:37 +0400
491 eblob (0.12.1) unstable; urgency=low
493   * Use temporary offsets when iterating over blobs.
495  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 15 Sep 2011 03:15:09 +0400
497 eblob (0.12.0) unstable; urgency=low
499   * Implemented append write.
500   * Added iteration flags
502  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 13 Sep 2011 00:27:25 +0400
504 eblob (0.11.2) unstable; urgency=low
506   * Do not lock eblob_commit_ram()
508  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 09 Sep 2011 20:18:45 +0400
510 eblob (0.11.1) unstable; urgency=low
512   * Fixed bug with on-disk index lookup
513   * Added iterator in Python binding
515  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 06 Sep 2011 23:51:29 +0400
517 eblob (0.11.0) unstable; urgency=low
519   * Get rid of unused config fields
520   * Moved comparison function into include/eblob/blob.h
521   * Initial error value in eblob_read_range_on_disk() should be 0
522   * Added records_in_blob into cfg config which limits maximum number of
523     records before blob is closed
525  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 31 Aug 2011 00:23:46 +0400
527 eblob (0.10.13) unstable; urgency=low
529   * Use rb_prev() to iterate over tree in range request, since weRBtree is
530     sorted in descending order
531   * Set hash->rb_root to RB_ROOT prior its usage
533  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 30 Aug 2011 00:26:56 +0400
535 eblob (0.10.12) unstable; urgency=low
537   * Added rbtree.h into library/Makefile.am
538   * Revert "Always read eblob_disk_control from data_fd in
539     eblob_fill_write_control_from_ram()"
541  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 28 Aug 2011 05:27:09 +0400
543 eblob (0.10.11) unstable; urgency=low
545   * Always account for on-disk entries
546   * Switched from hash table to rbtree to store keys
548  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 26 Aug 2011 00:40:28 +0400
550 eblob (0.10.10) unstable; urgency=low
552   * Added EBLOB_TRY_OVERWRITE hash_flags flag. We try to overwrite data only
553     when it is set or for EBLOB_TYPE_META writes
554   * Always read eblob_disk_control from data_fd in
555     eblob_fill_write_control_from_ram()
556   * When updating index, put there wc->flags without BLOB_DISK_CTL_REMOVE set.
558  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 23 Aug 2011 04:59:39 +0400
560 eblob (0.10.9) unstable; urgency=low
562   * If sorted index size does not match unsorted, remove and regenerate sorted
563     index.
564   * Fixed write-control-back for compressed data.
566  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 23 Aug 2011 04:06:38 +0400
568 eblob (0.10.8) unstable; urgency=low
570   * Use eblob_iterate_control->thread_num to indicate threads exiting, for
571     example when file iteration completes
572   * Remove key from hash table, if it happend to point to removed entry
573   * Added NOTICE debug about eblob_read() result: data/index fd, offset, size
574     and so on
575   * Added paranoidal check into eblob_read(), which checks that index read
576     from disk is not marked as removed.
577   * Added id search into eblob_index_info structure
578   * Extended regex matched info
580  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 18 Aug 2011 18:56:23 +0400
582 eblob (0.10.7) unstable; urgency=low
584   * workaround for old indexes, which did not set dc.disk_size
586  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 12 Aug 2011 23:15:45 +0400
588 eblob (0.10.6) unstable; urgency=low
590   * Added extensive error debug for E2BIG error in
591     eblob_fill_write_control_from_ram()
593  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 12 Aug 2011 23:05:45 +0400
595 eblob (0.10.5) unstable; urgency=low
597   * If eblob_fill_write_control_from_ram() read disk control from index and
598     its data_size or disk_size are 0, reread it from data blob
600  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 12 Aug 2011 20:05:23 +0400
602 eblob (0.10.4) unstable; urgency=low
604   * Update data header in overwrite
605   * Read ctl from index when reading, since overwrite does not update data
606     header
608  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 11 Aug 2011 23:35:36 +0400
610 eblob (0.10.3) unstable; urgency=low
612   * Fixed nasty bug in alignment calculation, which may lead to unability to
613     read data. Also need to copy write_control even in overwrite case
615  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 11 Aug 2011 04:30:14 +0400
617 eblob (0.10.2) unstable; urgency=low
619   * Added BLOB_DISK_CTL_WRITE_RETURN flag, which specifies whether
620     eblob_write_control should be copied back into data
622  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 11 Aug 2011 02:35:49 +0400
624 eblob (0.10.1) unstable; urgency=low
626   * We should check key first, since second loop in eblob_find_on_disk()
627     starts with different key
628   * Propagate key into RAM if we read it from disk
629   * Added eblob_regex_iter into bin_PROGRAMS
630   * Added utility eblob_index_info
631   * Added python binding
633  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 10 Aug 2011 23:12:55 +0400
635 eblob (0.10.0) unstable; urgency=low
637   * Added stat support
639  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 10 Aug 2011 05:49:55 +0400
641 eblob (0.9.9) unstable; urgency=low
643   * Unified on-disk search for exact match and non-removed entries
644   * Generate sorted index for blobs which index is less than max index already
645     found
646   * Added index_size to stop iterator, if index grew under us
648  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 08 Aug 2011 23:34:32 +0400
650 eblob (0.9.8) unstable; urgency=low
652   * eblob_hash_data() should use high bits untouched
654  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 06 Aug 2011 01:35:52 +0400
656 eblob (0.9.7) unstable; urgency=low
658   * Get eblob_write_control from RAM only when all its fields are zeroes, so
659     it is plain eblob_commit_write() call
660   * Debug cleanups
662  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 05 Aug 2011 01:47:55 +0400
664 eblob (0.9.6) unstable; urgency=low
666   * Do not send range replies for removed data and multiple times for objects,
667     which are present on disk and in RAM
669  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 03 Aug 2011 21:11:53 +0400
671 eblob (0.9.5) unstable; urgency=low
673   * Fixed old eblob iteration
674   * Implemented on-disk range requests
676  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 02 Aug 2011 17:17:58 +0400
678 eblob (0.9.4) unstable; urgency=low
680   * Fixed range requests (it does not iterate over on-disk index yet)
681   * Mark existing index entry as removed in prepare hook
683  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 01 Aug 2011 21:58:11 +0400
685 eblob (0.9.3) unstable; urgency=low
687   * We must check what bsearch() return and return error if needed.
689  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 30 Jul 2011 01:20:56 +0400
691 eblob (0.9.2) unstable; urgency=low
693   * When adding new column and reallocating bases we should sort base_ctls
694   * Added local checksum calculation conde isntead of locked openssl
696  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 29 Jul 2011 23:56:49 +0400
698 eblob (0.9.1) unstable; urgency=low
700   * configure.in udpate
702  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 27 Jul 2011 21:06:23 +0400
704 eblob (0.9.0) unstable; urgency=low
706   * Export convenient prepare/commit helpers
707   * Added write offsets
708   * Do not remove old index
709   * Search in both directions frm bsearch()-found entry when looking up key in
710     on-disk sorted index
711   * Refactor sorted generation code
712   * Added paranoidal check about opening existing blobs for writing
714  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 27 Jul 2011 20:52:22 +0400
716 eblob (0.8.7) unstable; urgency=low
718   * Create sorted indexes on startup. Use them instead of plain indexes.
719   * Fixed eblob_realloc_base_type() invocation from eblob_add_new_base().
720   * Fixed int overflow during lock allocation.
721   * Initialize log_file_ only when we setup log_file string.
723  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 22 Jul 2011 01:46:58 +0400
725 eblob (0.8.6) unstable; urgency=low
727   * Log cleanups
728   * Added ability to overwrite data in place
729   * Fixed race between object removal and sorted index generation (not
730     completely yet)
732  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 19 Jul 2011 22:41:18 +0400
734 eblob (0.8.5) unstable; urgency=low
736   * Use /dev/stdout as default log file if NULL was provided in constructor
737   * Implemented on-disk index
738   * Added boost::regex check and compile regex iterator if it is present
740  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 19 Jul 2011 02:00:09 +0400
742 eblob (0.8.4) unstable; urgency=low
744   * Added thread num param to iterator_callbacks structure
746  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 15 Jul 2011 19:07:40 +0400
748 eblob (0.8.3) unstable; urgency=low
750   * Only run automatic defrag if enabled. Disabled by default.
751   * Force ascending index sorting at blob loading time
753  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 14 Jul 2011 02:04:47 +0400
755 eblob (0.8.2) unstable; urgency=low
757   * Use single defragmentation iterator
758   * More debug
760  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 13 Jul 2011 21:54:36 +0400
762 eblob (0.8.1) unstable; urgency=low
764   * If data was not compressed, but BLOB_DISK_CTL_COMPRESS flag was set,
765     return data as is and clear flag
766   * Do not mark the same entry as removed twice
768  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 13 Jul 2011 20:35:42 +0400
770 eblob (0.8.0) unstable; urgency=low
772   * Added more checks for malformed entries. Recover index if possible.
773   * Added eblob_remove_blobs(), which removes all blobs from disk. Root is
774     requred to get path through /ptoc/self/fd
775   * Allow eblob(struct eblob_config *cfg) constructor only, i.e. with logger
776     set by caller.
777   * Added automatic defragmentation
779  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 08 Jul 2011 03:05:26 +0400
781 eblob (0.7.0) unstable; urgency=low
783   * Get rid of mapped file as in-memory index
784   * Extended iterator interface
785   * Added C++ cleanup_blobs() empty method
787  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 05 Jul 2011 22:01:29 +0400
789 eblob (0.6.1) unstable; urgency=low
791   * Disable memory index in mmap file
793  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 03 Jul 2011 02:03:48 +0400
795 eblob (0.6.0) unstable; urgency=low
797   * Added snappy compression support.
799  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 29 Jun 2011 03:53:56 +0400
801 eblob (0.5.2) unstable; urgency=low
803   * Added start/max types into iterator. Exoport nice interface outside.
805  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 28 Jun 2011 01:32:38 +0400
807 eblob (0.5.1) unstable; urgency=low
809   * Create new files, if eblob dir is empty
811  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 25 Jun 2011 03:38:43 +0400
813 eblob (0.5.0) unstable; urgency=low
815   * Added multiple columns support
817  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 25 Jun 2011 03:05:16 +0400
819 eblob (0.4.4) unstable; urgency=low
821   * Added eblob_remove_hashed() and eblob::remove_hashed()
823  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 22 Jun 2011 20:27:12 +0400
825 eblob (0.4.3) unstable; urgency=low
827   * Return real data offset, do not force clients to mess with sizeof(struct
828     eblob_disk_control)
830  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 21 Jun 2011 02:45:45 +0400
832 eblob (0.4.2) unstable; urgency=low
834   * Added hashed keys
835   * Renames write methods
837  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 19 Jun 2011 01:52:10 +0400
839 eblob (0.4.1) unstable; urgency=low
841   * Switched to fixed-size eblob_key interface
843  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 18 Jun 2011 00:33:48 +0400
845 eblob (0.4.0) unstable; urgency=low
847   * Added examples
848   * Added namespace zbr
849   * Do not iterate if file size is zero
851  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 17 Jun 2011 21:16:06 +0400
853 eblob (0.3.14) unstable; urgency=low
855   * Added eblob range query
856   * Added remove() method
857   * Added c++ examples
859  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 16 Jun 2011 21:28:55 +0400
861 eblob (0.3.13) unstable; urgency=low
863   * Overwrite hash entry if we asked to replace it and sizes match
864   * Use (part of) provided key as hash table index
865   * Preallocate more space for hash entries in a bucket
866   * Save references to open data/index failes in iterator
867   * Initial implementation of startup defragmentation
868   * Extended eblob_iterator class to support index and data iterators
870  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 07 Jun 2011 12:03:49 +0400
872 eblob (0.3.12) unstable; urgency=low
874   * Use the same mmap file for subsequent starts by default
875   * Grow and start map file by 1 Gb
877  -- Evgeniy Polyakov <zbr@ioremap.net>  Fri, 03 Jun 2011 07:27:19 +0400
879 eblob (0.3.11) unstable; urgency=low
881   * Do not move entries around, since we are closing down whole mapping anyway
882   * Use posix_fallocate() to preallocate sufficiently large mmap files
883   * Added completion callback and matched callback counters into iterator
884   * Allocate/free mmap_file and use eblob file by default as a base path for
885     mmap file
886   * truncate map file to 0 at cleanup
888  -- Evgeniy Polyakov <zbr@ioremap.net>  Thu, 02 Jun 2011 07:24:06 +0400
890 eblob (0.3.10) unstable; urgency=low
892   * Remap new portions of backend allocation file at different locations.
894  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 10:52:25 +0400
896 eblob (0.3.9) unstable; urgency=low
898   * Do not unmap map_base prior new map
900  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 09:18:29 +0400
902 eblob (0.3.8) unstable; urgency=low
904   * Use mmap(MAP_FIXED)
906  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 09:03:39 +0400
908 eblob (0.3.7) unstable; urgency=low
910   * Use mremap(MREMAP_FIXED | MREMAP_MAYMOVE)
912  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 08:51:53 +0400
914 eblob (0.3.6) unstable; urgency=low
916   * Use munmap/mmap instead of mremap, sine the former may fail miserably
918  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 08:39:41 +0400
920 eblob (0.3.5) unstable; urgency=low
922   * Fixed ostringstream and its std::string dereference
924  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 08:26:21 +0400
926 eblob (0.3.4) unstable; urgency=low
928   * Added read methods
929   * Use ostringstream for mmap file name
931  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 07:21:55 +0400
933 eblob (0.3.3) unstable; urgency=low
935   * Added cpp bindings
937  -- Evgeniy Polyakov <zbr@ioremap.net>  Wed, 01 Jun 2011 06:31:19 +0400
939 eblob (0.3.2) unstable; urgency=low
941   * Added library version numbers
943  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 31 May 2011 13:29:03 +0400
945 eblob (0.3.1) unstable; urgency=low
947   * Fixed shlibs generation
949  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 31 May 2011 13:02:16 +0400
951 eblob (0.3.0) unstable; urgency=low
953   * Use mmapped file as a base for all hash entries allocations
954   * Added version into debian's dh_makeshlibs
955   * Moved from linked lists into arrays in eblob hash table
956   * Made eblob prepare/commit more thread friendly
958  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 31 May 2011 09:41:19 +0400
960 eblob (0.2.0) unstable; urgency=low
962   * Export eblob_read_file_index() which returns blob index as well as fd,
963     size and offset for given record.
965  -- Evgeniy Polyakov <zbr@ioremap.net>  Sat, 14 May 2011 00:38:31 +0400
967 eblob (0.1.7) unstable; urgency=low
969   * Log level cleanups
971  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 01 Mar 2011 00:03:53 +0300
973 eblob (0.1.6) unstable; urgency=low
975   * Correctly set index's disk_size to sizeof(struct eblob_disk_control)
977  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 28 Feb 2011 23:49:38 +0300
979 eblob (0.1.5) unstable; urgency=low
981   * Allocate a bit more space for filename to include .index suffix.
983  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 28 Feb 2011 23:09:19 +0300
985 eblob (0.1.4) unstable; urgency=low
987   * Implemented run-time index generation and fixed defragmented offsets.
989  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 15 Feb 2011 03:05:10 +0300
991 eblob (0.1.3) unstable; urgency=low
993   * Do not lock entries in eblob_hash_insert_raw() since they should be locked
994     via mlockall().
996  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 08 Feb 2011 02:38:28 +0300
998 eblob (0.1.2) unstable; urgency=low
1000   * Set memory locking limits to infinity if EBLOB_HASH_MLOCK is set in
1001     config.
1003  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 08 Feb 2011 02:31:33 +0300
1005 eblob (0.1.1) unstable; urgency=low
1007   * Use mlockall(MCL_CURRENT | MCL_FUTURE) to lock all current and future
1008     allocations when EBLOB_HASH_MLOCK is set.
1010  -- Evgeniy Polyakov <zbr@ioremap.net>  Tue, 08 Feb 2011 02:22:36 +0300
1012 eblob (0.1.0) unstable; urgency=low
1014   * Switched to sha512 and 64-byte IDs
1016  -- Evgeniy Polyakov <zbr@ioremap.net>  Mon, 29 Nov 2010 23:43:56 +0300
1018 eblob (0.0.1) unstable; urgency=low
1020   * libeblob is a low-level IO library which stores data in huge blob files appending records one after another.
1022  -- Evgeniy Polyakov <zbr@ioremap.net>  Sun, 28 Jul 2010 20:09:20 +0400