@jcmincke jcmincke released this Dec 20, 2018

Assets 2

Cardano SL 2.0.0

Features

Fixes

  • Make productionReporter more robust

    Add exception handling code in reporting exception handler, to prevent IOExceptions from killing
    the main thread. This was noticed when the network connection was interrupted, and the reporter
    died when it tried to report over the down network. (CDEC-470, #3365)

  • Improve type safety (and as a consequence, API documentation) of account indexes (CBR-306, #3086)

  • The Swagger specification had names with illegal characters. These names
    where changed to be URL friendly. PR #3595

  • The creation of mnemonic doesn't throw anymore when provided words outside of the BIP39 English dictionnary.
    Instead, it returns an error value gracefully (CO-325)

  • Response from JSONValidationError are now also encoded inline (instead of a pretty-encoding with newlines) (DDW-318, #3619)

  • [API BREAKING CHANGE] The behavior of /api/v1/addresses/{address} has been adjusted to reflect more accurately
    the meaning of ownership regarding addresses.
    The previous version of this endpoint failed with an HTTP error when the given address was unknown to the wallet.
    This was misleading since an address that is unknown to the wallet may still belong to the wallet. To reflect this,
    the V1 endpoint does not fail anymore as it used to when an address is not recognised and returns instead a new field
    'is-ours' which indicates either that an address is ours, or that it is 'not-recognised'. (CBR-401, #3646)

  • [API BREAKING CHANGE] A DELETE request to /api/v1/wallets/{wallet} now correctly fails with 404 if the wallet doesn't exist. Previously it incorrectly responded with 204.

  • Fix commitAndReleaseBuffer: invalid argument (invalid character) error in Docker image (DEVOPS-877, #3173)

  • Fix deadlock triggered by update/shutdown (CBR-424 #3731)

  • Fix space leak during network syncing (CBR-454 #3679)

  • Fix benchmark on OSX (CSL-2517 #3348)

  • Fix logger implementation, enabling pure logger to be used without side-effects (CO-409, #3697)

  • Crash host node when the underlying wallet dies (CBR-263, #3584)

  • Ensure correct file permissions are set when generate x509 certificates (CBR-470, #3773)

  • Fix checksum verification in BIP-39 implementation (CO-298, #3013)

  • Fix wallet starting bug introduced by CDEC-509 (CBR-400: #3486)

  • Fix Haddock errors (CDEC-585: #3614)

  • Fix restoration ignoring new accounts in legacy data layer (DEVOPS-1153: #3911)

  • Tweaks to Cardano Explorer for Testnet (DEVOPS-1094, #3817, DEVOPS-1121, #3831, RCD-48, #3883)

  • Fix bug in Windows launcher where upgrading to 2.0.0 would terminate any other Daedalus wallets that were running (RCD-52, #3926)

Improvements

  • Friendly error mistakes from deserializing invalid addresses instead of brutal 500 (CBR-283)

  • [API BREAKING CHANGE] Add walletId to WalletAlreadyExists WalletLayerError (CBR-254)

  • Small refactor of wallet Errors implementation to be more maintainable (CBR-26, #3429)

  • Content-Type parser is now more lenient and accepts application/json, application/json;charset=utf-8 and no Content-Type at all (defaulting to application/json) (CO-369, #3596)

  • The codebase now relies on the package cryptonite (instead of ed25519) for Ed25519 implementation (CO-325)

  • [API BREAKING CHANGE] Improve diagnostic for NotEnoughMoney error (CBR-461, #3702)

  • When Content-Type's main MIME-type cannot fall back to 'application/json' then UnsupportedMimeTypeError is returned (CO-416, #3727)

  • Add cardano-node --no-tls option to wallet (DEVOPS-879, #3074)

  • Improve error reporting when a worker thread in cardano dies (DEVOPS-1063, #3664)

  • Add failure injection options to wallet for Daedalus testing (DEVOPS-1086, #3787)

  • Benchmarking support (PB-20 PB-95 #3670)

  • Reorganize and clean up core packages

  • Improve readability and execution of various integration tests

  • Add integration tests to test redemption of certificates (CBR-398, #3525)

  • Review implementation of the BIP39 (Mnemonic Words) implementation

  • Add a test which checks if the configuration can be correctly parsed

Documentation

Continuous Integration (CI)