0.3.1 (2026-04-28)
Miscellaneous Chores
- fix release version (004b847)
0.3.0 (2026-04-28)
⚠ BREAKING CHANGES
- collapse node-pinned scan and query APIs
- tier 2 cluster correctness
- NodeTransport.command/2 is now command/3 with a deadline_ms argument. All implementers (Transport.Tcp, Transport.Fake) and call sites (Aerospike.Get) updated.
Features
- add advanced operate and geo breadth (f98ae5c)
- add AeroMarketLive example (8d15f99)
- add Aerospike.Repo facade (568ad45)
- add broader batch APIs (bdc0be1)
- add cluster streaming and routing support (21f2e29)
- add demo parity record features (efc85b3)
- add executable demo examples (d9b961a)
- add expression-backed server features (143eebb)
- add node-targeted info facade (1b71724)
- add raw payload and admin edge parity (8576aaf)
- add remaining API gap matrix surfaces (e871d7d)
- api: add missing public surface helpers (0d934e0)
- auth: user/password session login with per-node token cache (b2f7024)
- bench: add benchmark harness for the spike repo (7f69749)
- cluster: improve seed recovery and stream scans (103e036)
- demo: add policy and CDT expression examples (73e8611)
- document public API helpers (a65957e)
- expand expression and policy support (800db3b)
- expressions: add expression filter foundation (ad1c123)
- foundational spike + Tier 1 supervision and pool (1d6f3b5)
- get: wire cluster-level :use_compression through node_handle (d5bc5b9)
- harden spike operator and query surface (93540b7)
- namespace: remap internal modules behind cluster boundaries (def1637)
- normalize policy integer APIs (24c8fb1)
- plumb idle-timeout and TCP tuning opts end-to-end (5e1de56)
- promote spike as the new aerospike_driver (8601f8c)
- protocol: support direct list and map write values (efc85b3)
- query: add finalized aggregate reduction (6b4a480)
- reads: support named-bin unary and batch reads (efc85b3)
- runtime: converge unary and batch execution paths (24f04ad)
- scan-query: add streaming substrate (b4329ae)
- scan: expose public scan pagination (efc85b3)
- telemetry: add :telemetry dep and lock event-name taxonomy (efda72d)
- telemetry: emit node lifecycle transition events (1271fc9)
- telemetry: emit pool checkout, command, info, and retry events (71bd9fd)
- tender: add :use_services_alternate toggle for peer discovery (7ce3567)
- tender: capture per-node features on bootstrap (5a73a3d)
- tender: per-node tend-cycle histogram and telemetry spans (72926cf)
- tier 1.5 pool hardening (aa2b135)
- tier 2 cluster correctness (a813086)
- transport: add stream transport support (40d0aab)
- transport: opt-in compressed AS_MSG send above 128-byte threshold (a57f707)
- transport: TLS variant with standard, mTLS, and PKI modes (70cb39e)
- transport: validate proto headers and inflate compressed replies (972e3b0)
- write: add record-exists and durable-delete policies (efc85b3)
Bug Fixes
- batch: avoid sorting already ordered results (f1f7fbb)
- centralize spike retry classification (1c48464)
- docs: avoid hidden policy integer type references in public docs (24c8fb1)
- keep driver repo self-contained (a37f539)
- keep validation checks passing (5fef606)
- metrics: reset runtime counters reliably (8df9c10)
- operate: align mixed write/read proofs with live server replies (93540b7)
- policy: randomize foreground/background task ids\nfix(txn): generate signed 64-bit transaction ids from strong randomness\ntest(transport): broaden unit and integration coverage for transport, protocol, admin, and scan paths (103e036)
- policy: unify command policy handling (65bd7dd)
- protocol: avoid reversing decoded AS_MSG parts (54d0852)
- protocol: optimize batch response parsing (db71e1b)
- protocol: optimize record response parsing (ea2ce01)
- protocol: reduce codec hot path overhead (8519f3c)
- query: return background query execute task handles (d9b961a)
- repo: stop generated repos from exposing deprecated scan aliases (8d15f99)
- run cluster-only integration tests on cluster profile (cc92cbe)
- runtime: align spike contracts with execution ownership (949920a)
- stabilize cluster integration tests (1f517ba)
- stabilize UDF lifecycle cleanup (aa8c058)
- startup: make hosts the public seed option (b7435ca)
- telemetry: normalize telemetry emission points (21f2e29)
- test: add local cluster setup and quiet teardown noise (ef379b2)
- test: avoid stopped cluster cleanup in put payload integration tests (d9b961a)
- test: harden flaky async cleanup and telemetry assertions (8030917)
- test: select integration suites by tag (6cf8e0b)
- test: stabilize router ets cleanup (9b1b76f)
- test: stabilize set truncate integration coverage (3babf0b)
- txn: normalize task helper contracts exposed by deterministic coverage (93540b7)
Performance Improvements
- batch: optimize batch request routing (a48cabb)
- metrics: reduce runtime metrics overhead (dbc6326)
- optimize batch result conversion (9e1b105)
- router: optimize sequence replica selection (2a2514f)
- scan: optimize scan response operation parsing (f639768)
Miscellaneous Chores
- fix release version (17b44ce)
Code Refactoring
- collapse node-pinned scan and query APIs (8e2ace2)
[Unreleased]
0.3.0 (2026-04-27)
Changed
- Replace the previous library implementation with the OTP-native driver that was developed in
aerospike_driver. - Raise the supported Elixir baseline to
~> 1.18. - Keep the package name, application name, GitHub URL, and HexDocs URL on the existing
aerospike_driverline so consumers can upgrade without changing dependency names.
Features
- Add a supervised cluster runtime with partition-aware routing, node tending, pool warmup, runtime stats, telemetry, and retry-aware command execution.
- Add TCP, TLS, mTLS, PKI authentication, user/password authentication, and per-node session token handling.
- Add record commands for get, get-header, put, exists, touch, delete, add, append, prepend, and single-record operation lists.
- Add batch reads, writes, deletes, operation lists, and record UDF calls through
Aerospike.Batch. - Add scans, secondary-index queries, pagination, streaming, query counts, background query execution, and query aggregates.
- Add secondary-index lifecycle helpers, including scalar, collection-element, geospatial, and expression-backed index support.
- Add server-side expression builders, command filters, expression operations, XDR filters, and expression-backed server features.
- Add CDT operation builders for list, map, bit, HLL, nested contexts, and geospatial values.
- Add UDF registration/removal/listing, record UDF execution, and Lua aggregate support.
- Add Enterprise security administration helpers for users, PKI users, roles, privileges, whitelists, and quotas.
- Add Enterprise multi-record transaction support, including commit, abort, and transaction roll helpers.
- Add raw info/admin helpers, truncate, per-node info, node listing, runtime metrics controls, and raw payload write support for advanced tooling.
- Add user guides covering startup, record operations, batch, operate/CDT/geo, scans and queries, expressions, UDFs, security, transactions, and telemetry.
Bug Fixes
- Centralize retry classification and align command execution ownership across unary, batch, scan, and query paths.
- Stabilize runtime counter reset, UDF lifecycle cleanup, cluster seed recovery, router table cleanup, async test cleanup, and telemetry assertions.
- Optimize record, batch, and AS_MSG response parsing while preserving ordered batch results.
Performance Improvements
- Optimize batch routing, batch result conversion, scan response operation parsing, sequence replica selection, and runtime metrics overhead.
- Defer tender debug log message construction to avoid work when debug logging is disabled.
0.2.0 (2026-04-09)
Features
- bench: add multi-node stream concurrency benchmark suite (d1e7367)
- bench: simplify benchmark workflow and developer docs (cb79e66)
- circuit-breaker: add policy-driven failure gating across operations (53a1288)
- geo: add typed geospatial API and docs updates (87bf2fb)
- stream: enable concurrent multi-node stream fan-out (20d1ca9)
Bug Fixes
- crud: remove unreachable overload error match (caf7232)
- protocol: reduce batch response parse allocations with size-based skipping (8408997)
- protocol: switch asm message encode pipeline to iodata (258d8e6)
- repo: remove constant conn warning and stabilize concurrent stream test (418843d)
Performance Improvements
- batch-encoder: use iodata accumulation instead of binary concat (74d6c1d)
0.1.1 (2026-04-08)
Features
- add Aerospike.Ctx for nested CDT paths (51ccf7c)
- add Aerospike.Op primitive operate builders (919926b)
- add Aerospike.Op.Bit bitwise CDT operations (d7b09e9)
- add Aerospike.Op.HLL HyperLogLog operations (ad9622c)
- add Aerospike.Op.List CDT operations (67acac8)
- add Aerospike.Op.Map CDT operations (1c553f3)
- add batch operations, add/append/prepend commands, and streaming support (b1d4271)
- add enterprise TLS/mTLS demo stack and fix QueryAggregate SC-mode failure (7637155)
- add minimal MessagePack codec for CDT payloads (54c818a)
- add operate/4 with policy and wire flag handling (6101730)
- add Protocol.Exp expression wire encoder (Phase 9, Task 1) (c355dd2)
- add release please (4a373d7)
- fix test infrastructure for full suite (cluster + enterprise) (6ccb5a8)
- Phase 10 - GeoJSON encoding, SC-query streaming, transaction fixes, guides (f74d8c3)
- Phase 10 - transactions, admin, UDF, secondary indexes (Tasks 1-13) (e175fa4)
- Phase 8 - Scan, Query, streaming, and pagination (789e7ad)
- Phase 9 - Expressions (Aerospike.Exp, Op.Exp, CRUD filter) (2abb38c)
- protocol: add shared CDT MessagePack operation encoder (b39260d)
- protocol: decode map/list bins and particle-wrap nested MessagePack (03e6435)
- repo: add Aerospike.Repo and migrate demo to repo-first APIs (f2f6342)
- support tuple key inputs across public APIs (ba78c3c)
Bug Fixes
- ci: increase truncate test timeout for slow CI runners (1a3bc09)
- ci: resolve enterprise roster race condition on slow CI runners (a53978a)
- protocol: encode CDT {:bytes} as particle BLOB in MessagePack (2cd3f4c)
- resolve three pending issues and expand test coverage (68dfe13)
- scan: paginate all/2 correctly with cursor iteration and max_records cap (1477349)
Miscellaneous Chores
- initial release (1481512)