Skip to content

Releases

1.0.0

Choose a tag to compare

@mirzakaracic mirzakaracic released this 07 Oct 17:12
0449cd4

Release Date: October 07, 2026

New Features

  • Support HyperLogLog (HLL) bins and operations. [CLIENT-4724]
  • Support GeoJSON. [CLIENT-4726]
  • Support path expressions and set indexes. [CLIENT-4813]
  • Support server-side AEL. [CLIENT-4734]
  • Support AEL for modify operations. [CLIENT-4816]
  • Enable server-side AEL for server versions 8.2.0 and later. [CLIENT-5162]
  • Replace client-side AEL parsing with server-side parsing. [CLIENT-5163]
  • Support query ops projection. [CLIENT-4005]
  • Support string operations and expressions, including write flags on regexReplace() and the new toStringExp(). [CLIENT-4828]
  • Support string append/prepend operations and expressions. Exp.regexCompare() is replaced by StringExp.regexCompare(). [CLIENT-4951]
  • Expose CREATE_ONLY and UPDATE_ONLY string write flags. [CLIENT-5363]
  • Add string operation wrappers to the CDT builders. stringConcat() is renamed to concat(). [CLIENT-5444]
  • Add StringOperation and StringExp modify methods that take a StringWriteOptions argument. [CLIENT-5504]
  • Add the 1-argument snip(start) overload on the operate and expression paths. [CLIENT-5443]
  • Expose string_list_join as ListOperation.join() and ListExp.join(). [CLIENT-5336]
  • Support object mapping. [CLIENT-4861] [CLIENT-4653]
  • Add a fluent bit-operation API for BLOB bins. [CLIENT-5037]
  • Support base64 encode in bit operations. [CLIENT-5345]
  • Implement missing CDT methods. [CLIENT-5401]
  • Support server-side index selection. [CLIENT-4800]
  • Support server enhanced error messages, including extended error detail in batch commands. [CLIENT-4789]
  • Support detailed errors in secondary index queries. [CLIENT-5254]
  • Add a Session createIndex() overload that takes an AEL string to create an expression-based index. [CLIENT-5220]
  • Extend the ability to block scans to behaviors as well as hints. [CLIENT-5206]
  • Implement the last part of the enhanced expression API of server 8.1.2. [CLIENT-5563]
  • Support attaching an index Filter to a query. [CLIENT-5571]
  • Support explicit index filters on background tasks. [CLIENT-5578]
  • Support client metrics. [CLIENT-5035]

Bug Fixes

  • Reset the transaction before retrying it. [CLIENT-4773]
  • Fix dynamic config to allow overrides. [CLIENT-4991]
  • Reject negative selectByPath() / modifyByPath() flags instead of masking them into a valid operation. [CLIENT-5197]
  • Do not include the subCode in the server-returned message, since AerospikeException.getMessage() already includes it. [CLIENT-5328]
  • Stop drain() from recovering a connection on authentication failure. [CLIENT-5370]
  • Fix error handling with multiple chunks in dataset queries. [CLIENT-5352]
  • Report a failed query instead of ending its stream. [CLIENT-5406]
  • Fix a startup race where connect() returned before the partition map was populated. [CLIENT-5373]
  • Handle abort after a failed commit. Add TxnState.COMMIT_FAILED and merge CommitStatus and AbortStatus into TxnStatus. [CLIENT-5480]
  • Retain the HLL type when a nested HLL in a list is read from or written to the server, instead of converting it to a byte array. [CLIENT-5496]
  • Fix processing in onMapRankRange(). [CLIENT-5516]
  • Fix MapIndexRange with a count of 0. [CLIENT-5525]
  • Fix getFirst() throwing when records are filtered out and includeMissingKeys is true. [CLIENT-5487]
  • Fix explainWhereFlags() to check for non-existent query hints. [CLIENT-5483]
  • Fix the docs for conversion operations and expressions to specify the correct error codes when a conversion fails. [CLIENT-5417]

Improvements

  • AerospikeMap changes: create maps by MapOrder instead of map Type, default to TreeMap for ordered maps, and preserve order on put() and putAll(). [CLIENT-4769]
  • For builder methods that take a Consumer, add an overload that takes X directly. [CLIENT-4837]
  • Replace the old Log with an slf4j implementation. [CLIENT-5006]
  • Change AEL query parameters from $1, $2, ... to ?0, ?1, .... [CLIENT-5048]
  • Use a passive CompletableFuture drain for async record streams. [CLIENT-5010]
  • Add debug logs for query plan output. [CLIENT-5066]
  • Support a multibyte flag prefix in index selection. [CLIENT-5165]
  • Update the string CTX wire shape for SERVER-1483. [CLIENT-5311]
  • Log a warning when an indexed query runs inside a transaction. [CLIENT-5404]
  • Surface commit status to the user. [CLIENT-5412]
  • Add toString() methods to customer-facing container types. [CLIENT-5374]
  • Add convenience methods for mapping functions. [CLIENT-5396]
  • Remove BinsValueBuilder from the API. [CLIENT-5389]
  • Change the server version reference from 8.1.3 to 8.2.0. [CLIENT-5451]
  • Make DefaultRecordMappingFactory mutable and thread-safe. [CLIENT-5500]
  • Rename the dynamic config environment variable to AEROSPIKE_SDK_CONFIG_URL. [CLIENT-5531]
  • Allow transactions that have no database reads or writes. [CLIENT-5526]
  • Default abandonCallAfter (totalTimeout) to zero for index queries. [CLIENT-5522]
  • IndexQueryBuilderImpl.executeAsync() now runs the query planner asynchronously. [CLIENT-5523]
  • Consistent error handling. [CLIENT-5521]
  • Improve transaction retry logic. [CLIENT-5588]
  • Restore getAsMap() and getAsOrderedMap(), which now return an AerospikeMap instance. [CLIENT-5517]
  • Add an example code execution model. [CLIENT-5050]
  • Add SDK examples for UDFs, transactions, exceptions and indexes. [CLIENT-5278]
  • Update the documentation to match the latest code. [CLIENT-5279]
  • Upgrade bcprov-jdk18on to 1.85.

Full Changelog: v0.9.0-alpha.2...v1.0.0

0.9.0-alpha.2

0.9.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@mirzakaracic mirzakaracic released this 05 May 17:02
35ed5d3

Release Date: May 05, 2026

Improvements

  • Update AEL documentation. [CLIENT-4563]
  • Update client to use shared-workflows setup-aerospike-server action for testing. [CLIENT-4715]
  • AEL Support unknown and error keywords. [CLIENT-4654]
  • AEL Implement exists() function. [CLIENT-4655]
  • AEL Correct name identifiers. [CLIENT-4493]
  • Upgrade bcprov-jdk18on to 1.84. Upgrade snakeyaml to 2.6. Upgrde commons-cli to 1.11.0.

Full Changelog: v0.9.0-alpha.1...v0.9.0-alpha.2

0.9.0-alpha.1

0.9.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@mirzakaracic mirzakaracic released this 30 Apr 04:59
00d73a8

Release Date: April 29, 2026

Highlights

Initial preview release of the Developer SDK for Java.

New features

  • Fluent API: Chainable, language-native methods for all operations.

  • Aerospike Expression Language (AEL) Queries: Natural language-style filter expressions.

  • Behavior Configuration: Pre-built operational profiles (DEFAULT, READ_FAST, STRICTLY_CONSISTENT) with support for custom derived behaviors.

  • Intelligent Error Handling: Actionable errors with recovery suggestions.

  • Decoupled Configuration: Separate connection from operational behavior.

Supported operations

  • Single-record: insert, get, update, delete, exists.

  • Batch: batch read, batch write, batch delete.

  • Query: Aerospike Expression Language (AEL)-based filtering, secondary index queries.

  • Async: Full async support via CompletableFuture.

Unsupported operations

  • HyperLogLog

  • Geospatial queries

  • Bitwise operation

  • String library calls

  • Standardized logging

  • Enhanced metrics

Full Changelog: https://github.com/aerospike/aerospike-client-java-sdk/commits/v0.9.0-alpha.1