Skip to content

Latest commit

 

History

History
283 lines (218 loc) · 11 KB

CHANGELOG.md

File metadata and controls

283 lines (218 loc) · 11 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

4.0.0 (v22 compatible)

Changed

  • Node#bootstrap_lazy now returns the v22 node response of a Hash of keys started and key_inserted with boolean values.
  • Node#bootstrap_any now optionally takes account argument.
  • Account#pending and WalletAccount#pending:
    • now optionally takes sorted argument.
    • now optionally takes allow_unconfirmed argument.
  • Account#balance and WalletAccount#balance now optionally takes allow_unconfirmed argument.
  • Account#info and WalletAccount#info now optionally takes allow_unconfirmed argument.
  • Block#pending? now optionally takes allow_unconfirmed argument.
  • Wallet#pending now optionally takes allow_unconfirmed argument.

3.1.0 (v21 compatible)

Added

  • Block#next.
  • Block#descendants aliases Block#successors

Changed

  • Block.chain and Block.successors no longer return the Block itself in the response.

3.0.1 (v21 compatible)

Fixed

  • Fix Block#type being nil when RPC doesn't return a subtype.

3.0.0 (v21 compatible)

Removed

  • Nanook::Block#block_count_by_type Removed, as the RPC no longer supports this command.
  • Nanook::Block#history Removed, as the RPC command is deprecated.
  • Nanook::Block#publish Removed, as the RPC command expects more data than what we instantiate within Nanook::Block.
  • Removed all RPC calls that are not recommended for production:
    • Nanook::Node#bootstrap_status.
    • Nanook::Node#confirmation_history.
    • Nanook::Node#confirmed_recently?.
  • Nanook::Key Replaced by Nanook::PrivateKey.
  • Nanook::Account#info No longer accepts detailed: argument.
  • Nanook::Node#synced? As this was deprecated for removal in v3.0.

Added

  • Added missing Nanook::WalletAccount#block_count delegate.
  • Added Nanook#network_telemetry.
  • Added Nanook::Rpc#test.
  • Added Nanook::WalletAccount#work.
  • Added Nanook::WalletAccount#set_work.
  • Added Nanook::Account#blocks.
  • Added Nanook::Account#delegators_count.
  • Added Nanook::Account#open_block.
  • Added Nanook::Node#change_receive_minimum.
  • Added Nanook::Node#confirmation_quorum.
  • Added Nanook::Node#keepalive.
  • Added Nanook::Node#receive_minimum.
  • Added Nanook::Node#search_pending.
  • Added Nanook::Wallet#history.
  • Added Nanook::Wallet#exists?.
  • Added Nanook::Wallet#ledger.
  • Added Nanook::Wallet#move_accounts.
  • Added Nanook::Wallet#remove_account.
  • Added Nanook::Wallet#republish_blocks.
  • Added Nanook::Wallet#search_pending.
  • Added Nanook::Wallet#work.
  • Added Nanook::Block#account.
  • Added Nanook::Block#amount.
  • Added Nanook::Block#balance.
  • Added Nanook::Block#change?.
  • Added Nanook::Block#confirmed?.
  • Added Nanook::Block#epoch?.
  • Added Nanook::Block#exists?.
  • Added Nanook::Block#height.
  • Added Nanook::Block#open?.
  • Added Nanook::Block#previous.
  • Added Nanook::Block#receive?.
  • Added Nanook::Block#representative.
  • Added Nanook::Block#send?.
  • Added Nanook::Block#signature.
  • Added Nanook::Block#timestamp.
  • Added Nanook::Block#type.
  • Added Nanook::Block#unconfirmed?.
  • Added Nanook::Block#work.
  • Added Nanook::PrivateKey with methods #create, #account and #public_key.
  • Added Nanook::PublicKey with method #account.
  • Added equality testing methods #==, #eql? and #hash for:
    • Nanook::Account
    • Nanook::Block
    • Nanook::PrivateKey
    • Nanook::PublicKey
    • Nanook::Wallet
    • Nanook::WalletAccount

Changed

  • New error classes: Nanook::ConnectionError, NanoUnitError, NodeRpcError and NodeRpcConfigurationError.
  • Nanook::Wallet#default_representative returns a Nanook::Account.
  • Nanook::Wallet#change_representative returns a Nanook::Account.
  • Nanook::Wallet#unlock can be passed no argument (password will be nil).
  • Nanook::Wallet#info returns data from wallet_info RPC.
  • Nanook::Block#is_valid_work? renamed to #valid_work?.
  • Nanook::Block#republish returns an Array of Nanook::Blocks.
  • Nanook::Block#chain returns an Array of Nanook::Blocks.
  • Nanook::Block#successors returns an Array of Nanook::Blocks.
  • Nanook::Block#info:
    • returns balances in nano, and can optionally be passed unit: :raw argument.
    • returns account values as Nanook::Account and block values as Nanook::Block.
  • Nanook::Node#peers returns details as a Hash keyed by Nanook::Account.
  • Nanook::Account#pending returns source as Nanook::Account and block as Nanook::Block when detailed: true.
  • Nanook::Account#representative returns a Nanook::Account.
  • Nanook::Account#delegators returns accounts as Nanook::Accounts.
  • Nanook::Account#history returns accounts as Nanook::Account and blocks as Nanook::Block.
  • Nanook::Account#ledger returns accounts as Nanook::Account and blocks as Nanook::Block.
  • Nanook::Account#public_key returns a Nanook::PublicKey.
  • Nanook::Account#weight accepts an optional unit: argment.
  • Nanook::Account#info:
    • returns the frontier, open_block, representative_block values as Nanook::Blocks.
    • returns the representative as a Nanook::Account.
    • modified_timestamp key renamed to last_modified_at and value is a Time in UTC.
  • Nanook::Key has become Nanook::PrivateKey, #generate has been renamed #create and returns a Nanook::PrivateKey.

Fixed

  • A number of errors when node is still bootstrapping and is missing accounts from the ledger.
  • Nanook::Node#representatives_online accessing representative list as a Hash after RPC change.

2.5.1

Fixed

  • undefined method 'new' for BigDecimal:Class (thank you @MihaiVoinea)

2.5.0

Added

  • New Nanook::Node#bootstrap_lazy method.
  • New Nanook::Node#bootstrap_status method.
  • New Nanook::Node#difficulty method.
  • New Nanook::Node#uptime method.
  • New Nanook::Wallet#lock method.

Changed

  • Nanook::Node#chain now takes optional offset argument.
  • Nanook::Node#successors now takes optional offset argument.
  • Nanook::Node#successors now aliased as Nanook::Node#ancestors
  • Updated docs to use nano_ prefixed addresses.

2.4.0

Added

  • New Nanook::Node#confirmation_history method.
  • New Nanook::Block#confirm method.
  • New Nanook::Block#confirmed_recently? method.

Changed

  • Nanook::Block#generate_work now can take optional use_peers argument.

2.3.0

Added

  • New Nanook::Wallet#default_representative method.
  • New Nanook::Wallet#change_default_representative method.
  • New Nanook::Wallet#info method.

2.2.0

Added

  • New Nanook::Account#block_count method returns number of blocks in ledger for an account.
  • Nanook::Node#block_count_type is now an alias to the preferred #block_count_by_type method.
  • new Nanook::Node#representatives_online method.
  • Nanook::Node#synchronizing_blocks aliased by #unchecked, for people familiar with what the RPC calls it.
  • Nanook::Node#version now an aliased by #info method.
  • Nanook::WalletAccount#exists? now aliased by #open?

Removed

  • Nanook::WalletAccount#account_id Removed, as there was already an id method that returned this.
  • Nanook::WalletAccount#wallet_id Removed, as the WalletAccount object should be considered a kind of Account.

Changed

  • Nanook::Account#delegators now takes unit argument.
  • Nanook::Account#ledger now takes unit and modified_since arguments.
  • Nanook::Node#representatives now takes unit argument.
  • Nanook::Node#synced? is deprecated with a warn. Nodes never seem to reach 100% synchronized, so this method is useless.
  • Nanook::Rpc::DEFAULT_TIMEOUT reduced from 500 to 60.

2.1.0

Changed

  • Payment methods no longer check that recipient account has an open block, as this prevents funds being sent to accounts about to be opened.
  • Payment methods now check the account id of the recipient is valid, raises ArgumentError if not.
  • Payment methods now return a Nanook::Error if the RPC returns an error when trying to pay, instead of a String.

2.0.0

Added

  • User can define Nanook::UNIT = :raw to set the default unit to :raw instead of :nano.
  • Nanook::Wallet#restore to create a wallet, change its seed and create x number of accounts.
  • Nanook::WalletAccount#create takes an optional argument to signal how many accounts to create.
  • New Nanook::WalletAccount#change_representative method to change an account's representative.
  • New Nanook::Node#account_count method to return number of known accounts in ledger.
  • New Nanook::Node#synchronizing_blocks method to return information about "unchecked" synchronizing blocks.
  • New Nanook::Account#last_modified_at method.
  • Added ruby version requirement >= 2.0 to gemspec.

Changed

  • Nanook::Rpc#inspect displays full hostname with scheme and port.
  • Nanook::Account#new account param is now required.
  • Nanook::Account#info now also returns the id of the account.
  • Nanook::Account#history now returns amount in NANO by default, takes unit: :raw argument to return in raw.
  • Nanook::Account#info now returns balance and pending in NANO by default, takes unit: :raw argument to return in raw.
  • Nanook::Account#exists? now checks for open block.
  • Nanook::Account#pending now takes additional arguments detailed: and unit:.
  • Nanook::Block#account now returns a Nanook::Account instance.
  • Nanook::Block#info now also returns the id of the block.
  • Nanook::Wallet#accounts now returns Nanook::WalletAccount instances.
  • Nanook::Wallet#create now returns a Nanook::Wallet instance.
  • Nanook::Wallet#pending now takes additional arguments detailed: and unit:.
  • Nanook::Wallet#seed alias method of #id.
  • Nanook::WalletAccount#create now returns Nanook::WalletAccount instances.
  • Changed documentation generating tool from rdoc to yard.

Fixed

  • Missing Nanook#rpc accessor.
  • Nanook::Block#publish can return false when publish fails.
  • Nanook::Block#info correctly handles allow_unchecked: true errors.

1.0.1

Fixed

  • Nanook::Wallet#balance(account_break_down: true) always returning 0 pending balance.

Changed

  • Use block.publish in README.md and not the alias block.process.

1.0.0

Added

  • Added this CHANGELOG.md
  • All classes have an inspect method
  • New id method for Nanook::Account, Nanook::Block, Nanook::Key and Nanook::Wallet classes
  • Nanook::WalletAccount class has an account_id and wallet_id method

Changed

  • Balance checking methods will now return the balance in NANO by default. They take an argument unit: which can be set to :raw to have the balance return in raw units.
  • All pay methods continue to take NANO as the default unit, but can now also take an argument unit: which can be set to :raw to have the amount argument be treated as being in raw instead of NANO.