Releases: attocash/node
v1.30
What's Changed
- Properly handle voter stability in the Election
- Exit vote when a consensus event is received out of order
- Bump kotlinVersion from 2.3.0-RC3 to 2.3.0 by @dependabot[bot] in #375
Full Changelog: v1.29...v1.30
v1.29
⚠️ Compatibility warning
This node release introduces new JSON fields. SDK versions 5.4.0 and older were not tolerant to unknown fields and may fail decoding.
- Update the SDK to
5.4.1(or newer). - If you run wallet-server, make sure you’re on
1.5-release(or newer) for the same reason.
What's Changed
- Improve license
- Out-of-order vote buffer during dependency discovery
- Remove custom converters in favor of Atto Commons Spring Boot starter
- Account Controller OpenAPI enhancements + bean naming fixes
- Deadlock fix in drop-vote processing
- Transaction timestamp migration
- Transaction prioritizer refactor for concurrency
- Add VoteWeightController
- Close HTTP/WebSocket clients on stop
- Workflow + Docker + native-image cleanups
- Bump ktorVersion from 3.3.0 to 3.3.1 by @dependabot[bot] in #346
- Bump org.graalvm.buildtools.native from 0.11.1 to 0.11.2 by @dependabot[bot] in #348
- Bump kotlinVersion from 2.2.20 to 2.2.21 by @dependabot[bot] in #349
- Bump org.springframework.boot from 3.5.6 to 3.5.7 by @dependabot[bot] in #350
- Bump net.logstash.logback:logstash-logback-encoder from 8.1 to 9.0 by @dependabot[bot] in #353
- Bump cucumberVersion from 7.30.0 to 7.31.0 by @dependabot[bot] in #354
- Bump net.logstash.logback:logstash-logback-encoder from 8.1 to 9.0 by @dependabot[bot] in #355
- Bump ktorVersion from 3.3.1 to 3.3.2 by @dependabot[bot] in #356
- Bump org.springdoc:springdoc-openapi-starter-webflux-ui from 2.8.13 to 2.8.14 by @dependabot[bot] in #357
- Bump org.graalvm.buildtools.native from 0.11.2 to 0.11.3 by @dependabot[bot] in #359
- Bump org.jlleitschuh.gradle.ktlint from 13.1.0 to 14.0.1 by @dependabot[bot] in #358
- Bump cucumberVersion from 7.31.0 to 7.32.0 by @dependabot[bot] in #361
- Bump org.jetbrains.kotlinx:kotlinx-io-core from 0.8.0 to 0.8.2 by @dependabot[bot] in #364
- Update GraalVM Java version to 25 in test workflow by @rotilho in #340
- Bump ktorVersion from 3.3.2 to 3.3.3 by @dependabot[bot] in #365
- Bump io.mockk:mockk from 1.14.5 to 1.14.6 by @dependabot[bot] in #342
- Bump io.mockk:mockk from 1.14.6 to 1.14.7 by @dependabot[bot] in #370
- Bump kotlinVersion from 2.3.0-RC2 to 2.3.0-RC3 by @dependabot[bot] in #372
Full Changelog: v1.28...v1.29
v1.28
Atto follows a continuous delivery approach: we ship features and fixes in small, frequent releases so it’s easy to pinpoint issues and roll forward safely. v1.28 is a rare exception: a thematic, larger-than-usual drop centered on the bootstrap process.
Bootstrap is one of the hardest parts of the node: it’s big, highly parallel, and non-deterministic. Problems typically don’t crash it; they slow it down. This release brings a broad sweep of improvements (across discovery, gap handling, unchecked transactions, streaming, metrics, and lifecycle cleanup) to make bootstrap faster, more reliable, and easier to observe.
What’s Changed
- Add OCI labels, run as non-root, and adjust entrypoint in Dockerfile.
- Replace custom Docker build with
docker/build-push-action@v6. - Upgrade Gradle wrapper to 9.1.0.
- Update GraalVM Java versions in workflows; re-enable
native-imagewhere needed. - Improved error handling for transaction streaming; lifecycle cleanup (
AutoCloseable,@PreDestroy), virtual-thread executors,@Scheduledmetrics refresh, cache support and cleanup across components. - Numerous fixes and logs around gap discovery/resolution and unchecked transaction queries.
- Introduce
UncheckedTransactionInserterto batch insert transactions by @rotilho in #339 - Bump ktorVersion from 3.2.3 to 3.3.0 by @dependabot[bot] in #333
- Bump commonsVersion from 5.2.0 to 5.2.2 by @dependabot[bot] in #330
- Bump cucumberVersion from 7.28.1 to 7.28.2 by @dependabot[bot] in #331
- Bump kotlinVersion from 2.2.10 to 2.2.20 by @dependabot[bot] in #332
- Bump org.springframework.boot from 3.5.5 to 3.5.6 by @dependabot[bot] in #335
- Bump commonsVersion from 5.2.2 to 5.3.0 by @dependabot[bot] in #334
- Bump cucumberVersion from 7.28.2 to 7.29.0 by @dependabot[bot] in #336
- Bump commonsVersion from 5.3.0 to 5.4.0 by @dependabot[bot] in #337
- Bump org.graalvm.buildtools.native from 0.11.0 to 0.11.1 by @dependabot[bot] in #338
- Bump cucumberVersion from 7.29.0 to 7.30.0 by @dependabot[bot] in #343
Full Changelog: v1.27...v1.28
v1.27
What's Changed
- Fix
POST accounts/stream - Bump cucumberVersion from 7.27.0 to 7.27.2 by @dependabot[bot] in #320
- Bump kotlinVersion from 2.2.0 to 2.2.10 by @dependabot[bot] in #319
- Bump org.jlleitschuh.gradle.ktlint from 13.0.0 to 13.1.0 by @dependabot[bot] in #325
- Bump cucumberVersion from 7.27.2 to 7.28.1 by @dependabot[bot] in #328
- Bump org.springframework.boot from 3.5.4 to 3.5.5 by @dependabot[bot] in #323
- Bump org.springdoc:springdoc-openapi-starter-webflux-ui from 2.8.10 to 2.8.13 by @dependabot[bot] in #329
Full Changelog: v1.26...v1.27
v1.26
What's Changed
- Refactor TransactionPrioritizer to validate active election threshold within queue mutex
- Introduce getMinimalToStaleWeight and use it to refine retry threshold in LastDiscoverer
- Fix hashComparator to compare distinct vote hashes
- Reduce ElectionProcessor.flush fixedRate to 1ms for improved responsiveness
- Refactor VotePrioritizer to optimize mutex handling and change duplicate detection logic to rely on vote hash
- Bump org.springdoc:springdoc-openapi-starter-webflux-ui from 2.8.9 to 2.8.10 by @dependabot[bot] in #322
- Bump io.github.oshai:kotlin-logging-jvm from 7.0.12 to 7.0.13 by @dependabot[bot] in #321
Full Changelog: v1.25...v1.26
v1.25
- Properly handle transaction idempotence
Full Changelog: v1.24...v1.25
v1.24
What's Changed
- Logging improvements
- Exit the VotePrioritizer scheduled job when mutex is locked
- Increase fixedRate for rebroadcast schedulers to 100 ms
- Exit the ElectionProcessor flush job when mutex is locked
- Reject RECEIVE transactions with a timestamp earlier than the receivable
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #318
- Bump io.github.oshai:kotlin-logging-jvm from 7.0.7 to 7.0.12 by @dependabot[bot] in #317
Full Changelog: v1.23...v1.24
v1.23
- Add indexes
- Add temporary top 100 accounts endpoint
- Make vote weight properties configurable with environment variables
Full Changelog: v1.22...v1.23
v1.22
- Fix DuplicateKeyException during bootstrap
Full Changelog: v1.21...v1.22
v1.21
What's Changed
- Initialize database atomically
- Defer cache updates until transaction commit
- Bump org.springframework.boot from 3.5.3 to 3.5.4 by @dependabot[bot] in #313
- Bump commonsVersion from 5.1.0 to 5.1.1 by @dependabot[bot] in #312
- Bump cucumberVersion from 7.25.0 to 7.26.0 by @dependabot[bot] in #309
- Bump org.graalvm.buildtools.native from 0.10.6 to 0.11.0 by @dependabot[bot] in #311
- Bump ktorVersion from 3.2.2 to 3.2.3 by @dependabot[bot] in #314
Full Changelog: v1.20...v1.21