Skip to content

Releases: aeron-io/agrona

1.19.1

09 Aug 15:57
Compare
Choose a tag to compare
  • Fix NPE in SigInt.java (#283)
  • Upgrade to JMH 1.37.
  • Upgrade to Guava TestLib 32.1.2-jre.
  • Upgrade to JUnit 5.10.0.

1.19.0

18 Jul 22:13
Compare
Choose a tag to compare
  • Update BiInt2ObjectMap to support null values and add methods to get close to feature parity with Java 8 collections.
  • Restore the original behavior around the signal handling by not delegating to the previously registered handler.
  • Add MarkFile method to handle the creation of link files.
  • Upgrade Versions to 0.47.0
  • Upgrade Guava to 32.1.1-jre
  • Update ByteBuddy to 1.14.5

1.18.2

08 Jun 15:20
Compare
Choose a tag to compare
  • Fix IntHashSet#retainAll(IntHashSet) and IntHashSet#removeIfInt which were skipping removal of some elements if the chain compaction moved them to the beginning of the array.
  • JDK 21-ea warning fixes.
  • Upgrade to ByteBuddy 1.14.4.
  • Upgrade to JUnit 5.9.3.
  • Upgrade to ASM 9.5 for JDK 21-ea support.
  • Upgrade to Shadow 8.1.1.
  • Upgrade to Gradle 8.1.1.

1.17.2

08 Jun 15:16
Compare
Choose a tag to compare
  • Fix IntHashSet#retainAll(IntHashSet) and IntHashSet#removeIfInt which were skipping removal of some elements if the chain compaction moved them to the beginning of the array.

1.18.1

16 Apr 23:13
Compare
Choose a tag to compare
  • Fix AbstractMutableDirectBuffer#putStringAscii* methods when invoked with the null value (i.e. null reference) in which case they were overwriting the first four bytes of the buffer by writing the zero length at the wrong offset.
  • Remove address alignment of the underlying native ByteBuffer from the ExpandableDirectByteBuffer class as this might break the existing code that does not handle the wrapAdjustment() properly.
  • Avoid allocation when returning an empty String from the AbstractMutableDirectBuffer#getString* methods.

1.18.0

29 Mar 09:54
Compare
Choose a tag to compare
  • Add buffer alignment optimisations and checks (STRICT_ALIGNMENT_CHECKS). PR #267.
  • Add missing copy constructors on maps. PR #275.
  • Add implementation of DataInput interface that reads from DirectBuffer. PR #274.
  • Fix shut down signal barrier jvm signal not called. PR #271.
  • Add CodeQL workflow for GitHub code scanning. PR #268.
  • Allow ExpandableDirectByteBuffer to grow up to 2147483584 bytes, i.e. the last aligned value to which Alignment can be added without causing an overflow.
  • Add align methods for longs.
  • Make map/unmap by address work on JDK 20.
  • Rename SystemUtil.isX86Arch to isX64Arch.
  • Change algorithm for rehash so bounds check is done on loop level to help optimiser.
  • Eliminate int vs long comparison in IoUtil.mapNewFile.
  • Declare NumberFormatException on Strings.parseIntOrDefault.
  • Fix ExpandableArrayBuffer and UnsafeBuffer toString when using a raw array.
  • Add CountersManager.toString.
  • Fix HighResolutionTimer race conditions.
  • Exit early if the DistinctErrorLog buffer is full.
  • Invoke the EpochClock.time outside the synchronized block.
  • Fix ExpandableArrayBuffer.checkLimit regression, i.e. grow capacity if the limit exceeds current capacity.
  • Do not use 128 bytes as a minimum length when growing the buffer, i.e. allow smaller buffers to grow slower.
  • Upgrade to ByteBuddy 1.14.3.
  • Upgrade to JUnit 5.9.2
  • Upgrade to Mockito 4.11.0.
  • Upgrade to Gradle 7.6.
  • Upgrade JMH to 1.36.
  • Upgrade to versions plugin 0.46.0.
  • Upgrade to JCStress 0.16
  • Upgrade BND to 6.4.0
  • Add mockito-inline dependency.

1.17.1

14 Sep 17:55
Compare
Choose a tag to compare
  • Correct spelling of DynamicPackageOutputManager.

Binaries can be found here...

1.17.0

14 Sep 15:08
Compare
Choose a tag to compare
  • Add DynamicPackageOutputManager so code generation can target multiple Java packages. PR #266.
  • Eliminate boxing operations on collections by providing non-boxing alternatives. PR #265.
  • Add getOrDefault non-boxing implementations to collections. PR #264.
  • Add Javadoc note about freeing of aligned buffers which have been split. Issue #263.
  • Fix for Int2ObjectCache.get can return unmatched value when full. Issue #262.
  • Upgrade to ByteBuddy 1.12.16.
  • Upgrade to Mockito 4.8.0.
  • Upgrade to JUnit 5.9.0.
  • Upgrade to Gradle 7.5.1.

Binaries can be found here...

1.16.0

27 Jun 15:59
Compare
Choose a tag to compare
  • Add optimised versions of compute on maps. PR #259.
  • Add Object2IntCounterMap. PR #257.
  • Fix Int2ObjectCache/Int2ObjectHashMap.containsValue() to perform equality based on the value stored in the map.
  • Ensure that Object2*HashMaps and ObjectHashSet always check equality using the value in the map and not vice versa. PR #253.
  • Add primitive unboxed for-each methods to primitive maps. PR #254.
  • Fix race on MarkFile.close with unmapping files.
  • Upgrade to BND 6.3.1.
  • Upgrade to ByteBuddy 1.10.12.
  • Upgrade to Mockito 4.6.1.

Binaries can be found here...

1.15.2

16 May 18:15
Compare
Choose a tag to compare
  • Improved error messages for Counters.
  • Perform equality checks using the keys/values stored in the map, i.e. add support for the asymmetric keys which can match on multiple types. For an example see the CharSequenceKey from the test package.
  • Fix MapEntry.getValue to return current value after setValue was called.
  • Various fixes for EntrySet/MapEntry across different map implementations.

Binaries can be found here...