Releases: mycognosist/solar
Releases · mycognosist/solar
v0.4.0-beta
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
- Add
add_peer
andremove_peer
methods to connection scheduler by @mycognosist in #73 - Extract dialer from scheduler by @mycognosist in #75
- Add basic message content indexes by @mycognosist in #78
- Expose database indexes via JSON-RPC by @mycognosist in #79
- Replace generic broker message type with enum by @mycognosist in #80
- Event driven connections with message passing by @mycognosist in #81
- Improve event driven connection manager and implement EBT replication by @mycognosist in #83
- Request blobs from EBT msgs by @mycognosist in #84
- Send partial vector clock when local KV store is updated by @mycognosist in #85
- Load and persist peer vector clocks by @mycognosist in #86
- Match on vector clock response and use negative request numbers by @mycognosist in #88
- Improved EBT session tracking by @mycognosist in #91
- Introduce live message sending for EBT sessions by @mycognosist in #92
- Send end-of-stream request to all active sessions before solar terminates by @mycognosist in #93
- Fix JSON-RPC server params by @mycognosist in #95
- Fix JSON-RPC server params again -_- by @mycognosist in #96
- Add a JSON-RPC client library by @mycognosist in #94
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
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
andsnap
) and movestempdir
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
tomain
(#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
andsecret
->private_key
) - The format of the peer address in
replication.toml
has changed tohost:port
(notcp://
)- See the
README
for an example if you are unsure
- See the
Note: ARM binary has not been stripped (hence the larger file size).
v0.3.3-beta
Changelog
Bug Fixes
- Returns full feed including last message (#46)
- Thanks @black-puppydog !
- 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
Changelog
- Refactors the application configuration
- Moves the CLI generator into
src/cli.rs
- Moves all (most) remaining configuration from
src/main.rs
tosrc/config.rs
- Moves the CLI generator into
- 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
- This makes it possible to run
- Adds CLI printout to
README
, plus link to RPi build instructions and a list of available env vars for configuration
v0.3.1-beta
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 toreplicate
- 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 eachmessage
: get a single message by referencefeed
: 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
Changelog
- Replaces
anyhow
andthiserror
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 viaSLED_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
andpublish
methods
- Exposes