
# v0.19.0
[](https://travis-ci.org/turtlecoin/turtlecoin) [](https://ci.appveyor.com/project/RocksteadyTC/turtlecoin)
## Special Notes
**Please note, the build [directions](https://github.com/turtlecoin/turtlecoin#how-to-compile) and project dependencies have changed**
**Upgrade to this release is required**
### Network Upgrade at block 2,000,000
This release contains a network consensus update at block 2,000,000 which will not permit an output of a transaction to exceed 1/4th of the total supply (250,000,000,000.00 TRTL). Due to the static mixin size requirement of `3` mixins and thus a ring size of `4`, it is impossible to have enough mixins available to spend an output larger than 250 billion TRTL.
### Full Node Resync May Be Required
This release contains `2` fixes to the way that data is serialized/deserialzed. The fixes are necessary for the proper operation of `TurtleCoind`; however, the fix may reveal data corruption in your local copy of the blockchain (both the database and underlying local cache). Unfortunately, the only way to resolve the data corruption is to completely resync your node. If you encounter issues starting `TurtleCoind` after upgrading, please use the `--resync` flag to initiate a full resync.
### TurtleCoind Default Settings Change
The default database write buffer size, read buffer size, maximum open files, and background threads have increased to help with daemon stability. The increases are as follows:
* Write Buffer Size: `1GB` -> `256MB`
* Read Buffer Size: `1GB` -> `128MB`
* Maximum Open Files: `500` -> `125`
* Background Threads: `10` -> `4`
These values may need adjusted based on your system resources, configured limits, etc. Please review the TurtleCoind `--help` for changing these values at runtime. We recommend that pool and other service operators run with higher values for the best performance.
### End of Life (EOL) Notice
The final release of *zedwallet* is scheduled for v0.20.0. Any releases of the core suite after v0.20.0 will replace the legacy *zedwallet* with *zedwallet++* and all legacy *zedwallet* code will be removed.
## Release Notes
### General Updates
* Removed unused code and other general code cleanup
* Removed some Boost dependencies throughout the codebase
* Resolved OSX compilation errors in some environments
* Resolved a bug when deserializing in some edge cases
* Added additional community seed nodes:
* **@HashVault**
* **@ExtraHash**
* **@LeoStehlik**
* Scheduled network upgrade at block 2,000,000 that will no longer permit transaction outputs in excess of 250,000,000,000.00 TRTL to mitigate creating unmixable outputs
* `250,000,000,000 * 4 (current ring size)` is equal to the total supply
* Wallets will refrain from creating outputs larger than 1,000,000,000.00 TRTL to mitigate the risk of creating unmixable outputs.
* This value is 1/1000th of the total supply
### TurtleCoind Updates
* Resolved [#889](https://github.com/turtlecoin/turtlecoin/issues/889): p2p-external-port out of range
* Moved a few warning messages to debug messages as part of normal network operations
* Changed RocksDB compression engine from LZ4 to ZSTD for better compression ratios
* Upgraded RocksDB to v6.4.0
* Removed support for SQLite local blockchain cache due to performance issues
* Removed support for RocksDB local blockchain cache due to storage issues
* Resolved an issue in returning RawBlocks via `/getblocks` endpoint
* Added optional `blockCount` parameter to `/getblocks` endpoint
* Improved the output of `print_pool_sh` in the daemon console
* Improved the output of `status` in the daemon console
* Improved the transaction validation routine to allow for faster transaction validation on adding to pool
* Improved the pool transaction validation routine when a new block is added to the chain
* The `/queryblocksdetailed` endpoint has been moved behind the `--enable-blockexplorer-detailed` configuration option
### zedwallet Updates
* N/A
### zedwallet++ (zedlwallet-beta) Updates
* Resolved [#894](https://github.com/turtlecoin/turtlecoin/issues/894): zedwallet-beta segfaults if you attempt to open a directory (**@ExtraHash**)
* Added user-agent string to requests made to a node
* Resolved issue when upgrading a wallet from legacy wallet structures
* Resolved issue whereby locked inputs may have been removed from a wallet erroneously
### turtle-service Updates
* N/A
### wallet-api Updates
* Added user-agent string to requests made to a node
* Resolved issue when upgrading a wallet from legacy wallet structures
* Resolved issue whereby locked inputs may have been removed from a wallet erroneously
### miner Updates
* N/A
### cryptotest Updates
* N/A
### wallet-upgrader (**NEW**)
* Created a simple tool designed to upgrade wallets to the latest wallet format used by `zedwallet++` and `wallet-api`
## Known Issues
* [#603](https://github.com/turtlecoin/turtlecoin/issues/603): Error in JSON serialization in multiple RPC methods regarding large uint64_t values
* [#893](https://github.com/turtlecoin/turtlecoin/issues/893): Incorrectly resetting instead of rewinding on subwallet import
## How To Sync Quickly
- Download the latest checkpoints archive from https://github.com/turtlecoin/checkpoints
- Unpack the archive and place checkpoints-all.csv in the same folder as your TurtleCoind daemon
- Run TurtleCoind with checkpoints added like this:
Linux, Apple `./TurtleCoind --load-checkpoints checkpoints-all.csv`
Windows `TurtleCoind.exe --load-checkpoints checkpoints-all.csv`
## How To Compile
Please see the [How To Compile](https://github.com/turtlecoin/turtlecoin#how-to-compile) section of the project [README](https://github.com/turtlecoin/turtlecoin/blob/master/README.md) for instructions on how to compile this release on your system.
## Changelog
See the [TurtleCoin Release](https://github.com/turtlecoin/turtlecoin/releases) page for the full change history.
## Thanks
Cryptonote Developers, Bytecoin Developers, Forknote Project, TurtleCoin Community