diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a1e723cb8..123a71a3eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,32 +6,75 @@ * [#1377](https://github.com/crypto-org-chain/cronos/pull/1377) Upgrade sdk to 0.50, and integrate block-stm parallel tx execution. * [#1394](https://github.com/crypto-org-chain/cronos/pull/1394) Add icahost wirings but disable in parameters. -* [#1407](https://github.com/crypto-org-chain/cronos/pull/1407) Add end-to-end encryption module. * [#1414](https://github.com/crypto-org-chain/cronos/pull/1414) Integrate new evm tx format. * [#1458](https://github.com/crypto-org-chain/cronos/pull/1458) Adjust require gas for recvPacket when ReceiverChainIsSource. ### Improvements -* (test) [#1380](https://github.com/crypto-org-chain/cronos/pull/1380) Upgrade cosmovisor to 1.5.0 in integration test. -* (versiondb) [#1379](https://github.com/crypto-org-chain/cronos/pull/1379) Flush versiondb when graceful shutdown, make rocksdb upgrade smooth. * (store) [#1378](https://github.com/crypto-org-chain/cronos/pull/1378) Upgrade rocksdb to `v8.11.3`. * (versiondb) [#1387](https://github.com/crypto-org-chain/cronos/pull/1387) Add dedicated config section for versiondb, prepare for sdk 0.50 integration. -* (e2ee)[#1413](https://github.com/crypto-org-chain/cronos/pull/1413) Add custom keyring implementation for e2ee module. -* (e2ee)[#1415](https://github.com/crypto-org-chain/cronos/pull/1415) Add batch keys query for e2ee module. -* (e2ee)[#1421](https://github.com/crypto-org-chain/cronos/pull/1421) Validate e2ee key when register. * (store) [#1448](https://github.com/crypto-org-chain/cronos/pull/1448) Upgrade rocksdb to `v9.1.1`. * [#1431](https://github.com/crypto-org-chain/cronos/pull/1431) Integrate testground to run benchmark on cluster. * [#1464](https://github.com/crypto-org-chain/cronos/pull/1464) Update cosmos-sdk to `v0.50.7`. -* (rpc) [#1467](https://github.com/crypto-org-chain/cronos/pull/1467) Avoid unnecessary tx decode in tx listener. * [#1484](https://github.com/crypto-org-chain/cronos/pull/1484), [#1487](https://github.com/crypto-org-chain/cronos/pull/1487) Respect gas that is wanted to be returned by the ante handler. * [#1488](https://github.com/crypto-org-chain/cronos/pull/1488) Enable optimistic execution. * [#1490](https://github.com/crypto-org-chain/cronos/pull/1490) Update cometbft to v0.38.8. -* [#1491](https://github.com/crypto-org-chain/cronos/pull/1491) Free slice data in HasAtVersion. +* (versiondb) [#1491](https://github.com/crypto-org-chain/cronos/pull/1491) Free slice data in HasAtVersion. +* (versiondb) [#1498](https://github.com/crypto-org-chain/cronos/pull/1498) Reduce scope of copying slice data in iterator. + + +*Jun 18, 2024* + +## v1.3.0-rc2 + +### Improvements + +* (rpc) [#1467](https://github.com/crypto-org-chain/cronos/pull/1467) Avoid unnecessary tx decode in tx listener. + +### Bug Fixes + +* [#1466](https://github.com/crypto-org-chain/cronos/pull/1466) Fix handling of pending transactions related APIs. + +*May 21, 2024* + +## v1.3.0-rc1 + +### State Machine Breaking + +* [#1407](https://github.com/crypto-org-chain/cronos/pull/1407) Add end-to-end encryption module. + +### Improvements + +* [#1413](https://github.com/crypto-org-chain/cronos/pull/1413) Add custom keyring implementation for e2ee module. +* (e2ee)[#1415](https://github.com/crypto-org-chain/cronos/pull/1415) Add batch keys query for e2ee module. +* (e2ee)[#1421](https://github.com/crypto-org-chain/cronos/pull/1421) Validate e2ee key when register. +* [#1437](https://github.com/crypto-org-chain/cronos/pull/1437) Update cometbft and cosmos-sdk dependencies. + +### Bug Fixes + +* (rpc) [#1444](https://github.com/crypto-org-chain/cronos/pull/1444) Avoid nil pointer error when query blocks before feemarket module gets enabled. +* [#1439](https://github.com/crypto-org-chain/cronos/pull/1439) Add back default prepare proposal logic. + +*May 3, 2024* + +## v1.2.2 + +### Bug Fixes + +* (rpc) [#1416](https://github.com/crypto-org-chain/cronos/pull/1416) Fix parsed logs from old events. + +*April 22, 2024* + +## v1.2.1 + +### Improvements + +* (test) [#1380](https://github.com/crypto-org-chain/cronos/pull/1380) Upgrade cosmovisor to 1.5.0 in integration test. +* (versiondb) [#1379](https://github.com/crypto-org-chain/cronos/pull/1379) Flush versiondb when graceful shutdown, make rocksdb upgrade smooth. ### Bug Fixes * (rpc) [#1397](https://github.com/crypto-org-chain/cronos/pull/1397) Avoid panic on invalid elasticity_multiplier. -* (rpc) [#1466](https://github.com/crypto-org-chain/cronos/pull/1466) Fix handling of pending transactions related APIs. ### Features @@ -40,6 +83,7 @@ *April 8, 2024* +## v1.2.0 ## v1.2.0-rc1 ### Bug Fixes diff --git a/versiondb/tsrocksdb/iterator.go b/versiondb/tsrocksdb/iterator.go index 6a2ac7d588..02065a9980 100644 --- a/versiondb/tsrocksdb/iterator.go +++ b/versiondb/tsrocksdb/iterator.go @@ -23,8 +23,9 @@ func newRocksDBIterator(source *grocksdb.Iterator, prefix, start, end []byte, is } else { source.Seek(end) if source.Valid() { - eoakey := moveSliceToBytes(source.Key()) // end or after key - if bytes.Compare(end, eoakey) <= 0 { + eoakey := source.Key() // end or after key + defer eoakey.Free() + if bytes.Compare(end, eoakey.Data()) <= 0 { source.Prev() } } else { @@ -75,14 +76,15 @@ func (itr *rocksDBIterator) Valid() bool { // If key is end or past it, invalid. start := itr.start end := itr.end - key := moveSliceToBytes(itr.source.Key()) + key := itr.source.Key() + defer key.Free() if itr.isReverse { - if start != nil && bytes.Compare(key, start) < 0 { + if start != nil && bytes.Compare(key.Data(), start) < 0 { itr.isInvalid = true return false } } else { - if end != nil && bytes.Compare(end, key) <= 0 { + if end != nil && bytes.Compare(end, key.Data()) <= 0 { itr.isInvalid = true return false }