Skip to content

Releases: mycognosist/solar

v0.4.0-beta

11 Mar 07:41
Compare
Choose a tag to compare

Changelog

The major additions provided by this release are database indexes and EBT replication. Connection management has been improved and a JSON-RPC HTTP client library has been added to the workspace.

New Features / Updates

Full Changelog: v0.3.4-beta...v0.4.0-beta

Note: ARM binary has not been stripped (hence the larger file size).

v0.3.4-beta

05 Jun 09:44
98dc1c8
Compare
Choose a tag to compare

Changelog

Many of the updates in this release are developer-facing improvements.

Bug Fixes

  • None

New Features / Updates

  • Separates the secret handshake negotiation from the replication logic and splits much of the codebase into modules (#53)
  • Removes unused dependencies (procfs, slice-deque and snap) and moves tempdir into dev-dependencies (#56)
  • Splits solar into a library and CLI by making the repo into a workspace (#58)
  • Splits configuration into modules in order to make the solar node embeddable in other Rust projects (#61)
  • Renames the primary repository branch from master to main (#62)
  • Adds a basic connection scheduler to dial peers at intervals (#66)
  • Moves management of connected peer list into the connection manager (#68)
  • Fixs replication configuration parsing from the replication.toml file (#70)

Breaking Changes ⚠️

  • The fields in secret.toml have been renamed (id -> public_key and secret -> private_key)
  • The format of the peer address in replication.toml has changed to host:port (no tcp://)
    • See the README for an example if you are unsure

Note: ARM binary has not been stripped (hence the larger file size).

v0.3.3-beta

15 May 11:21
20502d9
Compare
Choose a tag to compare

Changelog

Bug Fixes

  • Returns full feed including last message (#46)
  • Fixes TCP connection bug by replacing JSON-RPC crate with an async equivalent (#52)

New Features / Updates

  • Introduces inbound peer connection filtering (#39)
  • Changes peer address to URL format and exposes node IP config via CLI (#41 & #40)
  • Introduces basic connection manager logging (#47)
  • Introduces other minor changes (#42, #43, #44)

Note: ARM binary has not been stripped (hence the larger file size).

v0.3.2-beta

23 Dec 12:50
Compare
Choose a tag to compare

Changelog

  • Refactors the application configuration
    • Moves the CLI generator into src/cli.rs
    • Moves all (most) remaining configuration from src/main.rs to src/config.rs
  • Reintroduces the local feed resync option via a CLI flag (defaults to false)
  • Exposes env vars for setting JSON-RPC server IP and port
  • Exposes env var for setting the network key to be used when attempting secret handshake with peer
    • This makes it possible to run solar nodes on an alt net
  • Adds CLI printout to README, plus link to RPi build instructions and a list of available env vars for configuration

v0.3.1-beta

16 Dec 14:36
Compare
Choose a tag to compare

Changelog

  • Splits the previous solar config file (solar.toml) into one file for the public-private keypair (secret.toml) and one for replication configuration (replication.toml)
  • Renames friends CLI option to replicate
  • Fixes replication bug which prevented solar-to-solar replication
  • Improves replication efficiency by only sending messages not known to the requesting peer
  • Removes automatic resync (replication request for local feed)
  • Adds several new JSON-RPC methods
    • peers : get a list of all public keys in the local database with latest sequence number for each
    • message : get a single message by reference
    • feed : get all messages by public key (ie. all messages from a single author)
  • Significantly increases coverage of code and doc comments
  • Adds tests to the key-value database module
  • Introduces other miscellaneous refactors for clarity and consistency

v0.3.0-beta

05 Dec 12:50
Compare
Choose a tag to compare

Changelog

  • Replaces anyhow and thiserror with a custom error implementation
  • Fixes replication by parsing received messages to KVTs instead of message values (the V in KVT)
  • Allows setting sled cache capacity via SLED_CACHE_CAPACITY env var
  • Friends are now saved to solar.toml when provided via the CLI
  • Adds a JSON-RPC server (HTTP) as an actor
    • Exposes ping, whoami and publish methods