We have released a new version of our blockchain, Long John Silver [MDL v0.26.0] ; check it out and download it:
https://github.com/MDLlife/MDL/releases/tag/v26.0### Added
- When sending coins in the UI, the user can choose to send in MDL, or the equivalent amount of MDL in USD
- Add the option for changing the language of the GUI.
- Add Spanish and Simplified Chinese language options
- Add genesis block hash in `INTR` message
- Add `bip32` package for preliminary HD wallet support
- Add CLI `checkDBDecoding` command to verify the `skyencoder`-generated binary decoders match the reflect-based decoder
- Add CLI `addresscount` command to return the count of addresses that currently have unspent outputs (coins) associated with them.
- Add `-max-inc-msg-len` and `-max-out-msg-len` options to control the size of incoming and outgoing wire messages
- Add `-disable-header-check` flag to disable Host/Origin/Referer header checks for the node APIs
- Add `header_check_enabled` parameter in the `/health` endpoint response
- Add `unsigned` option to `POST /api/v1/wallet/transaction` to create unsigned transactions from a wallet
- Add `unsigned` option to `POST /api/v2/transaction/verify` for verifying an unsigned transaction
- Add `POST /api/v2/wallet/transaction/sign` to sign an unsigned transaction with a wallet
- Add `POST /api/v2/transaction` to create an unsigned transaction from addresses or unspent outputs without a wallet
- Add `/api/v2/data` APIs for transaction notes and generic key-value storage.
- Update `/metrics` endpoint to add metrics from `/health`: `unspent_outputs`, `unconfirmed_txns`, `time_since_last_block_seconds`, `open_connections`, `outgoing_connections`, `incoming_connections`, `start_at`, `uptime_seconds`, `last_block_seq`.
### Fixed
- Return a v2-style error for disabled API endpoints
- #2172 Fix electron build failure for linux systems
- Don't send wire protocol messages that exceed the configured 256kB limit, which caused peers to disconnect from the sender
- #2348 Fix panic in `MDL-cli` `transaction` command if no (zero) arguments are passed. Exactly one argument is expected.
### Changed
- Duplicate wallets in the wallets folder will prevent the application from starting
- An empty wallet in the wallets folder will prevent the application from starting
- Use [`skyencoder`](https://github.com/MDLlife/skyencoder)-generated binary encoders/decoders for network and database data, instead of the reflect-based encoders/decoders in `cipher/encoder`.
- Add `/api/v1/resendUnconfirmedTxns` to the `WALLET` API set
- In `POST /api/v1/wallet/transaction`, moved `wallet` parameters to the top level of the object
- Incoming wire message size limit increased to 1024kB
- Clients restrict the maximum number of blocks they will send in a `GiveBlocksMessage` to 20
- `POST /api/v2/wallet/seed/verify` returns an error if the seed's checksum is invalid
- Increase the detail of error messages for invalid seeds sent to `POST /api/v2/wallet/seed/verify`
- Move package `github.com/MDLlife/MDL/src/cipher/go-bip39` to `github.com/MDLlife/MDL/src/cipher/bip39`
- The `Content-Security-Policy` header was modified to make it stricter
- Update `INTR` message verify logic to reject connection if blockchain pubkey not matched or provided
- Change the coinhour burn rate to 10%
### Removed
- `/api/v1/explorer/address` endpoint (use `GET /api/v1/transactions?verbose=1` instead). See https://github.com/MDLlife/MDL/blob/master/src/api/README.md#migrating-from--api-v1-explorer-address
- The unversioned REST API (the `-enable-unversioned-api` is removed, prefix your API requests with `/api/v1` if they don't have an `/api/vx` prefix already). See https://github.com/MDLlife/MDL/blob/master/src/api/README.md#migrating-from-the-unversioned-api
- JSON-RPC 2.0 interface (this is no longer used by the CLI tool, and the REST API supports everything the JSON-RPC 2.0 API does). See https://github.com/MDLlife/MDL/blob/master/src/api/README.md#migrating-from-the-jsonrpc-api
- `/api/v1/wallet/spend` endpoint (use `POST /api/v1/wallet/transaction` followed by `POST /api/v1/injectTransaction` instead). See https://github.com/MDLlife/MDL/blob/master/src/api/README.md#migrating-from--api-v1-spend
- Remove shell autocomplete files