Skip to content

Releases: attocash/node

v1.30

29 Dec 13:55
41731da

Choose a tag to compare

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

15 Dec 21:49
0a67722

Choose a tag to compare

⚠️ 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

05 Oct 09:56
2f70266

Choose a tag to compare

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-image where needed.
  • Improved error handling for transaction streaming; lifecycle cleanup (AutoCloseable, @PreDestroy), virtual-thread executors, @Scheduled metrics refresh, cache support and cleanup across components.
  • Numerous fixes and logs around gap discovery/resolution and unchecked transaction queries.
  • Introduce UncheckedTransactionInserter to 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

08 Sep 16:37
bbf8deb

Choose a tag to compare

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

27 Aug 08:24
bbd5cc9

Choose a tag to compare

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

19 Aug 13:01
b204ce0

Choose a tag to compare

  • Properly handle transaction idempotence

Full Changelog: v1.24...v1.25

v1.24

16 Aug 11:15
6f43712

Choose a tag to compare

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

07 Aug 12:22
1ec34c1

Choose a tag to compare

  • Add indexes
  • Add temporary top 100 accounts endpoint
  • Make vote weight properties configurable with environment variables

Full Changelog: v1.22...v1.23

v1.22

03 Aug 17:40
35add77

Choose a tag to compare

  • Fix DuplicateKeyException during bootstrap

Full Changelog: v1.21...v1.22

v1.21

30 Jul 08:22
8721912

Choose a tag to compare

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