forked from RoaringBitmap/RoaringBitmap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
287 lines (203 loc) · 9.58 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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
version 0.6.28
- Threshold for galloping over local set to 25
version 0.6.26
- issue with MappeableRunContainer.andCardinality(MappeableArrayContainer): the returned cardinality is wrong when the run container is empty
- issue with MappeableArrayContainer.numberOfRuns: the returned value is wrong when the array container is backed by a read-only buffer
version 0.6.25
- adding a new "add" function that can be used to more quicly add several values at once
version 0.6.24
- optimizing bitmapOf
version 0.6.23
- fix for #120 PeekableIntIterator.advanceIfNeeded does not work properly for certain numbers
version 0.6.22
- performance optimization when ORing many bitmaps
version 0.6.21
- fix for #116 More bugs in limit()
version 0.6.20
- fix for #113 Bug in RoaringBitmap.limit() produces incorrect result
version 0.6.18
- fix for #110 overflow in RoaringIntIterator:advanceIfNeeded
version 0.6.17
- faster lazy array-array unions (https://github.com/RoaringBitmap/RoaringBitmap/issues/107)
version 0.6.16
- performance enhancement in fast heap-based aggregations
- faster orCardinality function
version 0.6.15
- Fix for https://github.com/RoaringBitmap/RoaringBitmap/issues/79
- Fix for https://github.com/RoaringBitmap/RoaringBitmap/issues/80
version 0.6.14
- reoptimizing case where the entire bitmap is flipped
version 0.6.13
- more testing
- fixed a bug with "not" on BitmapContainer and MappeableBitmapContainer
version 0.6.12
- improve coverage for unit tests (>80% coverage now)
- fix for bug https://github.com/RoaringBitmap/RoaringBitmap/issues/101 (BufferUtil/unsignedLocalIntersect2by2Cardinality() method always return 0)
- fix reversed lightweight constructor with bitmaps: would not initialize properly and lead to null pointer exceptions.
version 0.6.11
- fix for ranged or/and/xor/andnot operations (@kishoreg), safer addRange
- better andCardinality implementation
version 0.6.10
- ranged or/and/xor/andnot operations (@kishoreg), see https://github.com/RoaringBitmap/RoaringBitmap/issues/78
version 0.6.9
- Added forEach methods, see https://github.com/RoaringBitmap/RoaringBitmap/issues/44
version 0.6.8
- Fix for ArrayOutOfBoundgException in PeekingShortIterator from BitmapContainer #94
version 0.6.7
- Making peekable iterators safer: https://github.com/RoaringBitmap/RoaringBitmap/issues/93
version 0.6.6
- Implemented https://github.com/RoaringBitmap/RoaringBitmap/issues/82
version 0.6.5
- improved bound in maximumSerializedSize
version 0.6.4
- improving code style
- avoiding small and inefficient run containers in some cases
- implemented maximumSerializedSize
version 0.6.3
- Fix for Issue #77 "Memory usage issues" https://github.com/RoaringBitmap/RoaringBitmap/issues/77
version 0.6.2
- added convenience methods as per https://github.com/RoaringBitmap/RoaringBitmap/issues/65
version 0.6.1
- functionality to transform BitSet to RoaringBitmap efficiently
version 0.6.0
- The 0.6 version will aim for JDK 7 compatibility, eventually dropping JDK 6 support. See https://github.com/RoaringBitmap/RoaringBitmap/issues/74
version 0.5.21
- Fix for Issue #77 "Memory usage issues" https://github.com/RoaringBitmap/RoaringBitmap/issues/77
version 0.5.20
- Fix for ClassCastException when cloning ImmutableRoaringBitmap
version 0.5.19
- ability to convert directly and efficiently from and to RoaringBitmap and MutableRoaringBitmap/ImmutableRoaringBitmap
- Fix for issue #71 fixed bug on hashCode() method. It entered an infinite loop
version 0.5.18
- Fix for issue #67 Range removal fails with specific bits, when runlength encoding was applied/removed
version 0.5.17
- Fix for issue #64 Unserialising empty ImmutableRoaringBitmaps results in a RuntimeException
version 0.5.16
- flip() of ImmutableRoaringBitmap skips last bit of bitmap
version 0.5.15
- Fix container sharing between bitmaps aggregated with xor
version 0.5.14
- Fix for issue #60: RoaringBitmap.or(RoaringBitmap) has side effect on argument
version 0.5.13
- Fix for issue #53 by Navis Ryu: ClassCastException on cloning ImmutableRoaringReverseIntI…
version 0.5.12
- Added orCardinality and andCardinality method (correct though probably suboptimal implementations)
version 0.5.11
- Fixing regression introduced by version 0.5.7 regarding in-place flips (issue #50)
- More efficient conversion from bitmap containers to run containers.
- More efficient conversion from array containers to run containers.
version 0.5.10
- Fast numberOfRuns for array containers.
- Diminished array and buffer accesses in some operations.
version 0.5.9
- Faster cardinality maintenance of unions between bitmap containers and array containers.
version 0.5.8
- Disabling the faster binary search for the buffer package (was introduced by mistake)
version 0.5.7
- fast in-place complement (not) for RunContainers and MappeableRunContainers (Owen Kaser)
- faster binary search (for org.roaringbitmap.RoaringBitmap)
version 0.5.6
- Implemented fast intersects function, to check whether two bitmap intersects
version 0.5.5
- RunContainers should implement hashCode : https://github.com/lemire/RoaringBitmap/issues/46
version 0.5.4
- Improvement to thread-safety
version 0.5.3
- Improving the performance of Priority-Queue OR aggregation
version 0.5.2
- Various performance enhancements regarding run containers
version 0.5.1
- Bug fix release (rarely occuring bug with "or" and totally wrong naive_and)
- Removed the default "wide and" with sort option as it will generally be counterproductive
version 0.5.0
- Introduced run containers and the runOptimize method
- Resolved performance issue #31 : Reduce memory usage by getting rid of the internal Element classes
version 0.4.11
- Fixing issue https://github.com/lemire/RoaringBitmap/issues/39
- Fixing a critical issue with in-place xor and or functions for mapped bitmaps
version 0.4.10
- faster intersections (and) in some cases thanks to @gssiyankai
- fast range add and remove
- improved select performance (Bob Potter)
- serialization and deserialization are faster (deserialization is about 30% less CPU intensive)
- checkedAdd and checkedRemove (Samy Chambi)
- improved the handling of large (or negative) integers
version 0.4.9
- Moved select method in the right interface
- Fixed possible bug due to arrayOffset
- Fixed potential issue with trim() on array container
- Added Flyweight iterators to minimize stress on garbage collector when iterating over many long bitmaps (Borislav Ivanov)
version 0.4.8
- Fixed poor hash functions
- Abstraction of common functions across packages
version 0.4.7
- Fixed silly bug in ImmutableRoaringBitmap.xor
version 0.4.6
- Optimized binary search for some common insertion cases
- Reverse iterators
version 0.4.5
- Fixed rare cast of iterator overflow (sethp-jive)
version 0.4.4
- Implemented Rank and Select functions
- Implemented limit
version 0.4.3 (October 25th, 2014)
- Fixed rarely occuring bugs having to do with serialization.
version 0.4.2 (October 24th, 2014)
- Removing unnecessary and buggy toImmutableRoaringBitmap method. Users of previous versions of the library should not use this method.
version 0.4.1 (October 20th, 2014)
- Semantics of the ImmutableRoaringBitmap modified: the input ByteBuffeer is sliced and thus unchanged
version 0.4.0 (September 23rd, 2014)
- Format change to reduce Java RAM memory usage
version 0.3.7 (August 12th, 2014)
- Roaring classes are no longer final
- Added a few convenience methods for fast aggregation using Iterator inputs
version 0.3.6 (June 13th, 2014)
- We can now serialize ImmutableRoaringBitmap.
- Memory usage of ImmutableRoaringBitmap was reduced.
version 0.3.5 (June 12th, 2014)
- Added clone method to iterators
version 0.3.4 (May 23rd, 2014)
- Fixed bug in horizontal_or
version 0.3.3 (May 23rd, 2014)
- Given ImmutableRoaringBitmap an isEmpty method.
- optimized horizontal_or
version 0.3.2 (May 21st, 2014)
- Enabled and fixed iterators.
version 0.3.1 (May 21st, 2014)
- Minor correction to JavaDocs
version 0.3.0 (May 20th, 2014)
- Significant redesign of the classes in the org.roaringbitmap.buffer to reduce heap memory usage
- Some classes were renamed: MappeableRoaringBitmap is now MutableRoaringBitmap
version 0.2.2 (May 14th, 2014)
- fixed typo in documentation
version 0.2.1 (May 13th, 2014)
- adding "isEmpty" methods
- improved AND aggregate between many bitmaps
- implemented horizontal (memory conscious) XOR and OR aggregates between many bitmaps
version 0.2.0 (May 7th, 2014)
- renamed classes in the buffer package to avoid clashes
- fixed a hashCode bug (Dave Hardcastle)
version 0.1.5 (May 1st, 2014)
- improved documentation
version 0.1.4 (April 28st, 2014)
- fixed serialization bug (Björn Sperber)
version 0.1.3 (April 21st, 2014)
- minor cleaning (Rory Graves)
version 0.1.2 (April 15th, 2014)
- serialization format should not be the same for both org.roaringbitmap.RoaringBitmap
and org.roaringbitmap.buffer.RoaringBitmap
- Performance of org.roaringbitmap.buffer.RoaringBitmap should not be on par with
org.roaringbitmap.RoaringBitmap when the buffer is backed by an array
version 0.1.1 (March 28th, 2014)
- made serialized format slightly more concise:
added the serialize/deserialize methods throughout
to bypass Java serialization overhead
- added the serializedSizeInBytes() method for users who
wish to query the memory usage
version 0.1.0 (March 21th, 2014)
- Another fix for serialization
- Introduction of the org.bitmap.buffer package for memory-mapped bitmaps
version 0.0.2 (March 12th, 2014)
- Serialization fix (Jon Alvarado)
version 0.0.1 (March 3rd, 2014)
- First public release