Skip to content

Releases: real-logic/agrona

0.9.7

21 Aug 17:02
Compare
Choose a tag to compare
  • Added ConcurrentCountersManager for threadsafe counters allocation and reclamation.
  • Restrict hash based collection to have a load factor in the range to 0.1 to 0.9.
  • Restrict the minimum capacity for Maps to be 8.
  • Ensure that get() complies with the Map contract of returning null if the element is missing, Issue #98.
  • Make the lifecycle consistent between AgentRunner and AgentInvoker.
  • Agent can now self terminate by throwing an AgentTerminationException.
  • Added MutableInt and MutableLong.
  • Ability to allocate a counter without string or lambda allocation.
  • Added Agent.onStart() hook for initialisation.
  • Added CachedEpochClock and CachedNanoClock.
  • Added DynamicCompositeAgent for runtime adding and removing of Agents into a composite.
  • Support other character sets than UTF-8 for the CountersManager.
  • Upgrade to ByteBuddy 1.6.14.
  • Upgrade to Mockito 2.8.47.
  • Upgrade to Checkstyle 8.1.
  • Upgrade to sevntu-checks:1.24.1.
  • Upgrade to Gradle 4.1.

Binaries can be found here...

0.9.6

14 May 08:05
Compare
Choose a tag to compare
  • Add ExpandableDirectByteBuffer.
  • Fix behaviour of Int2IntHashMap when being used via Map<Integer, Integer> interface.
  • Added SleepingMillisIdleStrategy.
  • Added AgentInvoker.
  • Provide a NoOpLock implementation to allow for the eliding of a ReentrantLock.
  • Improve performance when zeroing our a new or mapped file.
  • Reduce use of String.format().
  • Make AgentRunner.close() more robust.
  • Use platform specific new lines for error messages.
  • Clear missingValue when IntHashSet.clear() is called.
  • Upgrade to Checkstyle 7.7.

Binaries can be found here...

0.9.5

12 Apr 20:35
Compare
Choose a tag to compare
  • Grow ExpandableArrayBuffer by the golden ratio rather than 2.
  • Add the ability to drain queues to a limit rather than completely.
  • Use platform specific new line message output.
  • Make AgentRunner.close() a bit more robust to startup race conditions.
  • Ensure the missingValue is reset when IntHashSet.clear() is called.
  • Upgrade to Mockito 2.7.22.
  • Upgrade to Gradle 3.5.

Binaries can be found here...

0.9.4

06 Apr 16:20
Compare
Choose a tag to compare
  • Fixed and improved the efficiency of bulk operations on collections with particular focus on IntHashSet.
  • Improve efficiency (x2) of the iterators on hashed collections.
  • Improve efficiency of toString() methods on collections.
  • Add an efficient copy constructor to Int2ObjectHashMap.
  • Change Position and StatusIndicator from interfaces to abstract classes to benefit from CHA (Class Hierarchy Analysis).
  • Added ArrayListUtil.
  • Reduce default load factor in hash based collections from 0.67 to 0.55 to help avoid clustering resulting from linear probing.
  • Update hash functions to better spread out a monotonic sequence of keys in collections.
  • Increase AtomicCounter label length from 124 to 380 bytes to allow for longer more descriptive labels.
  • Add equals() and hashCode() methods to the collections.
  • Clarify Javadoc for RingBuffer.read(). Issue #95.
  • Fix missing 0xFF mask on DirectBufferInputStream.read(). PR #94.
  • Upgrade to Checkstyle 7.6.1.
  • Upgrade to sevntu-checks 1.23.1.
  • Upgrade to Mockito 2.7.21.
  • Upgrade to Byte Buddy 1.6.12.
  • Upgrade to Gradle 3.4.1.

Binaries can be found here...

0.9.3

23 Feb 09:41
Compare
Choose a tag to compare
  • Fixed project code style violations.
  • Reworked primitive hash sets so they don't expose the missing value concept and allow all possible values and fix bug relating to collections containing the missing value. Note: This has caused an API change to the IntHashSet and LongHashSet constructors, ensure you check your arguments here.
  • Java Agent for checking access alignment to direct buffers.
  • Upgrade to Checkstyle 7.5.1.
  • Upgrade to Byte Buddy 1.6.9.
  • Upgrade to Gradle 3.4.

Binaries can be found here...

0.9.2

23 Jan 17:21
Compare
Choose a tag to compare
  • Change artifact output from Agrona to agrona because some build systems have issues with case.
  • Improve performance of string methods on direct buffers.
  • Add primitive counter maps.
  • Bug fix primitive to primitive maps when the missingValue is used as a key.
  • Add ASCII codec methods to direct buffers.
  • Fix isEmpty() on multi-producer queues.
  • Remove explicit dependency of com.sun.media for those who do not use the HighResolutionTimer.
  • More efficient implementation of equals() and hashCode() on primitive array lists.
  • More lenient and correct implementation of equals() and hashCode() in hash sets.
  • Upgrade to Mockito 2.6.8.
  • Upgrade to Checkstyle 7.4.
  • Upgrade to sevntu-checks 1.23.0.
  • Upgrade to Gradle 3.3.

Binaries can be found here...

v0.9.1

20 Dec 18:40
Compare
Choose a tag to compare
  • Provide more efficient set based operations on Sets when used with the same type.
  • Notify Agent role name when timeout on awaiting shutdown to help debugging.
  • Added ShutdownSignalBarrier that response to SIGINT and SIGTERM.
  • Allow signal barriers to created on a different thread and be programmaticly signalled.
  • Better handle overflow when lists reach maximum size.
  • Grow primitive array lists based on golden ratio for better storage reclamation.
  • Upgrade to Checkstyle 7.3.
  • Upgrade to sevntu-checks 1.22.0.
  • Upgrade to Mockito 2.2.29.
  • Upgrade to Gradle 3.2.1.

Binaries can be found here...

v0.9.0

18 Nov 01:30
Compare
Choose a tag to compare
  • Only report errors in AgentRunner when it is running.
  • Added Gradle OSGi plugin.
  • Upgrade to sevntu-checks 1.21.1.
  • Upgrade to Mockito 2.2.16.
  • Upgrade to Gradle 3.2.

Binaries can be found here...

v0.5.6

04 Nov 12:58
Compare
Choose a tag to compare
  • Use primitive typed methods in CountersManager to avoid boxing.
  • Add popX() and pushX methods to IntArrayList and LongArrayList.
  • Upgrade to Mockito 2.2.9.
  • Upgrade to Checkstyle 7.2.

Binaries can be found here...

v0.5.5

15 Oct 10:24
Compare
Choose a tag to compare
  • HighResolutionTimer for for increasing resolution of sleep periods on Windows.
  • Make closing of AtomicCounters and Positions idempotent.
  • Bugfix for reading DistinctErrorLong with incorrect label offset.
  • Significant performance improvements on consume side of OneToOneRingBuffer.
  • ObjectHashSet for open addressing sets of object references.
  • Support remove() on hash set iterators.
  • Added computeIfAbsent() to primitive maps.
  • Array backed lists of long and int to avoid boxing.
  • Deprecate TimerWheel and migrated it to here...
  • Upgrade to Checkstyle 7.1.2.
  • Upgrade to Gradle 3.1.

Binaries can be found here...