-
Notifications
You must be signed in to change notification settings - Fork 14
/
ChangeLog
243 lines (165 loc) · 8.65 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
mtbl (1.6.1)
* Add ./configure --with-coverage option to build with code coverage
and make targets: clean-coverage to remove the coverage data and results
and report-coverage to generate report (after running the code such as
with "make check").
mtbl (1.6.0)
* Return mtbl_iter_init() to public API
* Further optimizations to mtbl_iter_seek() for mtbl_reader and mtbl_merger
* Streamline mtbl varint decoding
mtbl (1.5.1)
* Skip unnecessary seeks when seeking forward on a merger iterator.
* Fix inefficiency in heap implementation impacting merger iterator
performance.
mtbl (1.5.0)
* Add reader filter function option to mtbl_fileset.
* Use "galloping search" instead of full binary search for mtbl_iter_seek().
* Make index block verification optional for more efficient reader
initialization.
* Fix underflow errors triggered by short keys and empty mtbl files.
* mtbl_fileset_partition() use is deprecated in favor of
mtbl_fileset_dup() with the fname_filter_func option set.
mtbl (1.4.0)
* Add -l option to specify compression level for mtbl_merge.
* Add -x option to mtbl_dump to print data for the key and value each formatted
with the length (8 digit hexadecimal), a colon, and then hex digit pairs
separated by a dash.
* Minimum and maximum Zstd compression levels changed from hardcoded 1 and 22,
respectively, to values defined by Zstd.
* Add -k and -v options to mtbl_dump to print only entries for which the key or
value, respectively, matches the given prefix.
* Add -K and -V options to mbtl_dump to print only entries for which the length
of the key or value, respectively, is greater than or equal to the given
integer.
mtbl (1.3.0)
* Fix mtbl_reload_now() on filesets with open iterators.
* Add support for absolute pathnames in filesets
* Make merge function an optional parameter for mergers and filesets to
enable unmerged results.
* Add dupsort function to sort unmerged results based on data.
* Add filename filter option to filesets. This provides functionality similar
to mtbl_fileset_partition() but resilient against fileset reloads.
* Add mtbl_fileset_dup() to open an existing fileset with different options.
-- Farsight Security, Inc. <software@farsightsecurity.com> Fri, 29 Mar 2019 12:13:17 -0500
mtbl (1.2.1)
* Fix libtool version number.
-- Farsight Security, Inc. <software@farsightsecurity.com> Fri May 25 17:49:08 2018 -0500
mtbl (1.2.0)
* Prevent fileset reloading when the fileset has iterators open.
* Add and document facility to disable reloading of filesets.
* Defer initial load of fileset until the first operation on a fileset
source.
* Handle 32bit size_t overflows, failing with an assertion upon opening
an mtbl_reader with an oversized data block.
* Fix for systems with 32-bit size_t.
* Add several unit tests for various libmtbl functions.
-- Farsight Security, Inc. <software@farsightsecurity.com> Fri, 25 May 2018 11:55:07 -0400
mtbl (1.1.1)
* Fix iterator leak in mtbl_merger code.
-- Chris Mikkelson <cmikk@fsi.io> Wed, 2 Aug 2017 12:44:53 -0500
mtbl (1.1.0)
* Fix default zlib compression level.
* Add callback data (clos) parameter to mtbl_fileset_partition
function and its callback. Early users of mtbl_fileset_partition
will need to rewrite accordingly.
* Use 64-bit offsets in blocks with more than 4G of data.
* Fix undefined behavior when seeking past end of mtbl file.
mtbl (1.0.0)
* Backwards-incompatible file format change to enable block sizes >4G.
* Add support for zstd compression. This adds a new library dependency
on libzstd.
* Add mtbl_iter_seek function.
* Add mtbl_fileset_partition function.
* Breaks ABI for version 0.x.x.
mtbl (0.8.1)
[ Robert Edmonds ]
* Add portability for clock time.
* Simplify and improve portability related to byte order primitives.
[ Henry Stern ]
* Fix assertion failure. If there is a broken mtbl file in the fileset
then a NULL reader will be returned. This change checks for that
error condition in fs_reinit_merger() and does not pass the empty
reader onwards to mtbl_merger_add_source().
-- Jeremy C. Reed <reed@fsi.io> Wed, 23 Nov 2016 10:27:11 -0600
mtbl (0.8.0)
[ Alexey Spiridonov ]
* mtbl_reader(3): New reader getters, which expose the values stored
in the "metadata" (formerly "trailer") at the end of MTBL files. For
example: the number of bytes of source data in the keys & values is
available via mtbl_metadata_bytes_keys() & mtbl_metadata_bytes_values().
* mtbl_writer(3): Allow foreign data to be written to the beginning of a
file before its file descriptor is passed to mtbl_writer_init_fd().
[ Robert Edmonds ]
* Add mtbl_verify(1) utility which verifies the embedded data and index
block checksums in an MTBL file.
* Stop keeping dup()'d copies of the file descriptors passed to
mtbl_reader_init_fd(). POSIX does not require a process to keep an open
file descriptor corresponding to an mmap()'d file. This change allows a
process to open more MTBL files than the process file descriptor limit.
* mtbl_dump(1): Add silent ("-s") option which omits the actual dump output.
This is useful when benchmarking decompression performance.
* Add LZ4/LZ4HC compression support. This adds a new library dependency on
liblz4.
* mtbl_merge(1): Add block size ("-b") and compression algorithm ("-c")
options.
* mtbl_fileset(3): Add mtbl_fileset_reload_now() function that
instantaneously checks and, if necessary, reloads the fileset.
-- Robert Edmonds <edmonds@fsi.io> Fri, 28 Aug 2015 17:36:39 -0400
mtbl (0.7.0)
* mtbl_reader(3): New reader option 'madvise_random' which may drastically
improve performance on seek-heavy workloads. It can be enabled by the
library caller with the mtbl_reader_options_set_madvise_random() function.
It can also be globally force-enabled or force-disabled at runtime by
setting the environment variable MTBL_READER_MADVISE_RANDOM to "1" or "0".
-- Robert Edmonds <edmonds@fsi.io> Wed, 19 Nov 2014 12:43:12 -0500
mtbl (0.6.0)
* Fix assertion failures with highly compressed data caused by the use of a
fixed size decompression buffer (Issue #1).
* Fix small memory leak during initialization in the mtbl_merge utility.
* Fix leak-on-error-bugs in the reader, sorter, and fileset interfaces,
detected by static analysis.
* Drop "-Wl,--as-needed" from LDFLAGS.
* Begin versioning the library's symbols. (Based on ld-version-script.m4
from gnulib.)
-- Robert Edmonds <edmonds@fsi.io> Wed, 21 May 2014 16:24:17 -0400
mtbl (0.5)
* The COPYRIGHT, LICENSE, and README.md files are now distributed in the
tarball. These files were inadvertently not included in the previous
release.
* The build system now properly detects big endian architectures. The
previous release inadvertently omitted this check, causing a test suite
failure.
* Verify that the length of the MTBL input is long enough to read the MTBL
header block. This prevents invalid reads in mtbl_reader_init_fd(). See
Debian bug #716628 for details. (http://bugs.debian.org/716628).
* Make sure to install the manpages if they are available even if the
manpages are not being rebuilt.
-- Robert Edmonds <edmonds@fsi.io> Fri, 31 Jan 2014 18:01:13 -0500
mtbl (0.4)
* Update copyright and license statements as a result of the transition from
Internet Systems Consortium to Farsight Security.
* Replace the "librsf" submodule with the "libmy" subtree. This includes a
faster CRC32C implementation on supported x86-64 CPUs.
* mtbl_merge(1): rename the internal 'timespec_get' function, since this
function name is used by ISO C11 and causes build failures on glibc >= 2.17.
* mtbl_reader(3), mtbl_fileset(3): add missing assertions.
* Install the pkg-config .pc file into the correct location on certain
systems.
-- Robert Edmonds <edmonds@fsi.io> Tue, 21 Jan 2014 15:46:00 -0500
mtbl (0.3)
* mtbl_dump(1): print error messages instead of assertion failures.
* mtbl_merger(3): don't assert on NULL iterator.
* mtbl_merger(3): avoid incorrectly outputing empty entries.
* mtbl_merger(3): buffer concatenation optimization.
-- Robert Edmonds <edmonds@isc.org> Wed Dec 26 17:19:53 2012 -0500
mtbl (0.2)
* Add mtbl_fileset(3) interface.
* mtbl_merger(3): handle corner case where iterator is NULL after initial
entry fill.
* mtbl_merge(1): set MTBL block size of output via MTBL_MERGE_BLOCK_SIZE
environment variable.
* Refactor using common functions in librsf submodule.
-- Robert Edmonds <edmonds@isc.org> Wed, 23 May 2012 16:03:16 -0400
mtbl (0.1)
* Initial release.
-- Robert Edmonds <edmonds@isc.org> Fri, 24 Feb 2012 19:05:54 -0500