Skip to content

Releases: tari-project/tari

v0.2.5

22 May 11:22
v0.2.5
23a1685
Compare
Choose a tag to compare
v0.2.5 Pre-release
Pre-release

v0.2.5 focuses on node stability and network performance

Features

  • Added get-state-info command to display current base node state (#1880)
  • Message tracking for testnet troubleshooting (#1881)
  • Added OSX section to README.md (#1888)
  • Add the version command to base node CLI
  • Add get_cancelled_transaction_by_id to FFI & update cancel callback
  • Adding GetCalcTiming function to grpc service (#1872)

Performance improvements and bug fixes

  • Refactor the validators to ensure that each validation step only completes once (#1873).
  • Add local pub key to the source and dest fields for cancelled txs in FFI (#1893)
  • Switched the BlockEvent stream to Tokio broadcast (#1889). Reduce the memory footprint for block event broadcast
    channel by using a tokio broadcast channel.
  • Chain metadata service not updating metadata on reorgs (#1890)
  • Update sending of Tx Reply & Finalise msgs to send SAF if Direct fails (#1876)
  • Limit unnecessary storage of messages with duplicate content. (#1862)
  • Fixed block_forward sync to add blocks via local interface to ensure that events trigger correctly.
  • Fixed a typo in mobile build script (#1875)
  • Replace deprecated bigint with uint (#1874)

v0.2.4

15 May 11:10
v0.2.4
e537b37
Compare
Choose a tag to compare
v0.2.4 Pre-release
Pre-release

Improvements

Most improvements in this release are centred around removing redundant network traffic and improving peer-to-peer connectivity.

Some of the changes that have come in since the last release include:

  • Introduce temporary short term ban for peers that are providing chain metadata but do not respond to header and block requests.
  • The chain synchronisation mechanism is simpler and more robust. Previously it was possible that a node would unfairly ban a peer after an initial chain sync.
  • The check_db CLI command does more through checks, including block validation. Previously it was only checking the header chain.
  • Old store and forward messages are now removed from the DB after they have been queued to be sent to the destination node.
  • Connections are now closed earlier if a peer is banned.
  • Deprecated tables and code have been removed from wallet codebase.
  • The Store and Forward cache size now has a hard limit.
  • Add node version info to PingPong messages. This will help identify if network issues are related to peers running older software.
  • Introduce Hamming distance as distance metric. The XOR metric seems to cause clustering of nodes that are not able to communicate. Hamming distance seems to improve the clustering issue. The XOR metric is still the default, though will likely be replaced by the Hamming distance in an upcoming release following further testing.

The Transaction send logic in the wallet has been substantially streamlined:

  1. First a Direct send is attempted (previously the direct and SAF were both sent at the same time).
  2. A SAF message is only sent if a Discovery needs to be done or the Direct messages fails.
  3. A record is made in the DB if a direct send occurs because then we know the recipient DEFINITELY got the message and no repeat or SAF should be sent.
  4. If only a SAF message was sent then the Recipient is registered for monitoring by the Liveness service.
  5. If a PONG is received then only a Direct send is attempted as a repeat sending of the transaction (so SAF is sent on repeats).
  6. As soon as a Direct send is successful no further repeats will be sent.
  • Multiplex substream counts have been added - allows the connectivity manager to kill
    dormant connections.

Bug fixes

  • Temporarily removed randomx-rs (which was causing illegal instruction crashes on some chipsets).
  • Log rollovers were writing to the wrong directory in some cases.
  • Don't panic if the logger is initialized twice in the Wallet FFI (#1863)
  • A few flaky tests were fixed.

Stability release

11 May 09:18
v0.2.3
36b6540
Compare
Choose a tag to compare
Stability release Pre-release
Pre-release

This release focuses on network reliability and stability

  • Hamming distance calculation added to DHT (XOR metric is still used as
    of now)
  • Added helpful message if tor is not started
  • Don't require a network for --create-id and --init flags
  • Temporary banning of non-responsive nodes
  • Dedup cache optimisations
  • Cleaner shutdown (stops deluge of error messages we see sometimes)
  • Logging improvements

v0.2.0 - Rincewind testnet release

28 Apr 07:55
cfd8f34
Compare
Choose a tag to compare
Pre-release

This is a network-breaking change

Older nodes will not be able to communicate with nodes running this
version.

Changes from v0.1.0

  • Removed nonces from DHT messages to prevent a certain class of spam
    attack.

Testnet (Rincewind)

25 Apr 17:54
e2fbe96
Compare
Choose a tag to compare
Testnet (Rincewind) Pre-release
Pre-release

Deprecated

Do not use this release. Use 0.2.0 instead

Major Changes from 0.0.9

Store and forward

Peers will hold onto message for recipients that are not online and deliver the messages to them when they appear again.

OsX package installer

Many documentation improvements

Ephemeral keys for private messages

This is a big change that preserves privacy on the network but dramatically reduces the amount of traffic peers have to deal with.

Emoji Ids

Other changes

  • The target difficulty for a specified PoW algorithm is included in the block header. This allows the target difficulty
    of any block height to be calculated by only processing the last set of target difficulty samples up to that height.
  • Don't mark peers as offline if there are no existing connections (#1763)
  • Add UTXO selection strategy for large txs
  • Base node: Dynamically determine build version (#1760)
  • Include random peers for liveness ping (#1753)
  • RandomX - Version Update (#1754)
  • Add generic debug log function to FFI (#1752)
  • Lots of logging improvements
  • Added list-transactions and cancel-transaction commands (#1746)
  • ASCII table output for list-peers and list-connections (#1709)
  • Improve Difficulty adjustment manager
  • Modular configuration via ConfigLoader and ConfigPath traits
  • Fix chain monitoring bug in Transaction Service (#1739)
  • Empty Emoji String Bug Fix (#1736)
  • Coin-split base node cli command
  • Complete the basic OSX pkg build
  • Perform reorgs only on stronger tip accumulated difficulties
  • Use filesystem storage for dht.db on libwallet (#1735)
  • Fix duplicate message propagation (#1730)
  • Introduced accumulated difficulty validators to allow different rules for testing and running running a base node. -
  • Changes to peer offline handling (#1716)
  • Update Transaction cancellation to work for Inbound and Outbound Txs
  • Added oneshot reply to outbound messaging (#1703)
  • Add transaction stress test command to CLI
  • Implemented basic make-it-rain command
  • Fix MmrCache rewind issue
  • Use ephemeral key for private messages (e.g Discovery) (#1686)
  • Limit orphan pool size
  • Added a function to list UTXOs in the console (#1678)
  • Prevent adding yourself as a peer (#1665)
  • Update transaction weights (#1661)
  • Fix block period calculation
  • Validators will now check the weight of a block when doing validation (#1648)
  • Cleaned up duplicate code from the Blockchain db
  • The ban peer log will now supply n reason why the peer was banned (#1638)

v0.0.9 pre-testnet release

03 Mar 15:10
ff44267
Compare
Choose a tag to compare
Pre-release

alpha release 0.9

This is a testnet release candidate.

The major contributions of this release:

  • Testnet node release candidate
  • Wallet library
  • libWallet FFi bindings
  • Peer-to-peer communications using noise protocol, tokio, and ToR.
  • LMDB and memory-based blockchain database
  • Simple testnet miner

The tari_crypto, tari_utilities, oubsub crates have been moved into
their own repos

Build, Installation, Configuration and executing instructions will be made available with the testnet release 0.1.0

v0.0.5 Tari base layer pre-alpha update

02 Sep 07:46
78a3242
Compare
Choose a tag to compare
Pre-release

v0.0.5 Tari base layer pre-alpha update

This is a pre-alpha point release of the Tari base layer. The following summary only includes major updates since the
last release.

Note: This is the first point release since 0.0.2.

Blockchain updates

Most of the major pieces of the blockchain implementation are in place, though the wiring between the pieces is still
outstanding.

  • Blockchain database API. A backend-agnostic implementation of the Blockchain DB is included inchain_storage
  • Tari mempool implementation is included. See base_layer/core/mempoool
  • Bulletproof Range proofs
  • Benchmarks for bulletproofs
  • Basic wallet functionality, including key management and signature capabilities. See base_layer/wallet
  • Placeholder Blake2b-based proof-of-work algorithm included. Tari will be merge-mined with Monero, but for testing/
    testnet purposes we have a Blake2b-based PoW implementation.
  • A backend-agnostic Merkle Mountain Range implementation; including "mutable" MMRs and MMR checkpoints. The
    merklemountainrange crate has been deprecated.
  • A rewrite of the LMDB-backend in infrastructure/storage

Communications stack

Tari is built on a completely server-less, peer-to-peer communications network using distributed hash tables (DHT) and
public key infrastructure (PKI).

  • The Tari communication stack is in Alpha. We're currently working on performance and stabilisation improvements.
  • DHT service implemented for Tari node discovery and peer-to-peer communication
  • Migrating the comms stack to use futures-0.3 is underway.
  • A Ping-pong test application. See base_layer/p2p/examples/pingpong.rs.
  • CLI text messenger demo application. See applications/console_text_messenger.

Documentation

  • Several RFC documents have been put into draft stage. See https://rfc.tari.com.
  • Many RFC editing fixes

v0.0.2 Crypto crates point release

21 Jun 11:49
1830e8e
Compare
Choose a tag to compare
Pre-release

This point release updates the tari_crypto crate to v0.0.2.

Major changes

  • RFC content updated to latest as of 21/6/201
  • New benchmarks, using the criterion library
  • Commitments have been refactored to be more general and ergonomic
  • The Blake256 type has been added, providing a 256bit Blake2b Hash
  • Lots of code reorganisations - putting things where they belong
  • A Bulletproof Range Proof service has been added
  • Challenge has been deprecated in favour of using Digest directly
  • Keys and Signatures now implement the Serialize and Deserialize traits
  • Schnorr signatures implement Ord
  • General cipher trait and ChaCha20 added
  • General MessageFormat trait added, helpful for serialising to hex, json and binary
  • ExtendBytes trait added, helpful for serialising to binary

v0.0.1 Development release

30 Mar 13:57
1830e8e
Compare
Choose a tag to compare
Pre-release

v0.0.1

Notice

  • This is a development point release. It is made to help developers build towards Tari testnet release.
  • Crates for this release are tagged with version v0.0.1
  • The first "usable" release of the Tari blockchain will be the testnet release: v0.1.0

Notable features

Crypto crate

  • Secret and private key API for Ristretto
  • MuSig implementation
  • Schnorr Signatures

Datastructures

  • Preliminary MMR dtastructure

Persistence

  • LMDB API implementation

Base layer

  • Basic Mimblewimble transactions
  • Key management

Join us on IRC (Freenode) #tari-dev