Skip to content

Commit

Permalink
Prepare for release v0.7.0-alpha3
Browse files Browse the repository at this point in the history
  • Loading branch information
msgilligan committed Oct 6, 2023
1 parent 8f61bb0 commit dbe8daf
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 10 deletions.
30 changes: 28 additions & 2 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,39 @@

A high-level view of the changes in each ConsensusJ binary release.

== v0.7.0-SNAPSHOT
== v0.7.0-alpha3

Released: Under development
Released: 2023-10-05

This release includes significant updates the JSON-RPC client(s) and contains what should be relatively minor breaking changes.

=== JSON-RPC clients

* Upgraded to use `java.net.http` asynchronous client by default
* Async operation is now the default at the transport layer
* Asynchronous connection and "wait for server" logic
* Migrate "wait for server" logic from `BitcionCient` to `DefaultRpcClient`
* `DefaultRpcClient` replaces `AbstractRpcClient` and takes a configurable `JsonRpcTransport`
* Partial decoupling from Jackson JSON processor (see type parameter `T` in `JsonRpcClient<T>`)
* Remove deprecated methods that use `SSLSocketFactory` (In favor of `SSLContext`)
* Remove deprecated methods that use/return `NetworkParameters`.

=== consensusj-jsonrpc-cli

* Is now built using Java and GraalVM 21.
* `--log=n` option to set log-level.

=== Reactive (Rx) Components

* Migrate from `Flowable` to `Publisher` where possible (breaking changes but easy to work around)
* Migrate from `Single`/`Maybe` to `CompletableFuture` in some (mostly internal) places
* `ChainTipPublisher` class help solves issues with erasure in generics and allow DI component constructors
to take a `ChainTipPublisher` rather than `ChainTipClient`.

=== Reproducible/Deterministic build

* See https://github.com/ConsensusJ/consensusj/issues/17[Issue 17] and `release-process.adoc`.
* CI builds generate `SHA256SUMS` file for verification.

=== Dependency Updates

Expand All @@ -23,6 +48,7 @@ Released: Under development

* Gradle 8.4
* Create GitHub Actions GraalVM CE Matrix: Java 17, **21**
* GitLab CI build uses Debian "Trixie" and OpenJDK 21

== v0.7.0-alpha2

Expand Down
6 changes: 3 additions & 3 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
= ConsensusJ
Sean Gilligan <https://github.com/msgilligan>
v0.7.0-alpha2
v0.7.0-alpha3
:description: ConsensusJ README document.
:consensusj-version: 0.7.0-alpha2
:bitcoinj-version: 0.17-alpha1
:consensusj-version: 0.7.0-alpha3
:bitcoinj-version: 0.17-alpha2
:bitcoinj-apidoc: https://bitcoinj.org/javadoc/{bitcoinj-version}/
:cj-apidoc: https://consensusj.github.io/consensusj/apidoc
:tip-caption: :bulb:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
moduleName=ConsensusJ Groovy extensions for bitcoinj
moduleVersion=0.7.0-SNAPSHOT
moduleVersion=0.7.0-alpha3
extensionClasses=org.consensusj.bitcoinj.dsl.groovy.categories.CoinCategory,org.consensusj.bitcoinj.dsl.groovy.categories.NumberCategory
staticExtensionClasses=org.consensusj.bitcoinj.dsl.groovy.categories.StaticECKeyExtension
6 changes: 3 additions & 3 deletions doc/release-process.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

== Main Release Process

. Use Java 17 for official builds
.. `sdk use 17.0.8-tem`
.. `sdk use 17.0.8-graalce` (for GraalVM build)
. Use Java 21 for official builds
.. `sdk use 21-tem` (not available yet!)
.. `sdk use 17.0.8-graalce` (for GraalVM build, used for 0.7.0-alpha3 official build)
. Update `CHANGELOG.adoc`
. Set versions
.. `gradle.properties`
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
consensusjVersion = 0.7.0-SNAPSHOT
consensusjVersion = 0.7.0-alpha3

bitcoinjVersion = 0.17-alpha2
rxJavaVersion = 3.1.7
Expand Down

0 comments on commit dbe8daf

Please sign in to comment.