tendermint / tm-db

Common database interface for various database backends for Tendermint Core and Cosmos SDK
Apache License 2.0
89 stars 136 forks source link

Prepare a new compatibility release v0.6.6. #203

Closed creachadair closed 2 years ago

creachadair commented 2 years ago

This PR prepares the changelog and commit history for a v0.6.6 release.

The API changes in tag v0.6.5 have been preserved in the new package-reorg branch, so that any existing dependents will continue to work. This change reverts the breaking API and package structure changes on master, and prepares to tag a new release compatible with the previous v0.6.4 so that normal upgrades with go get will function correctly.

Other changes since v0.6.4, including config file changes and CI updates, are preserved.

Note that if we do want to tag a new release with the breaking API changes, it will need to use a different import path to avoid colliding with the semver namespace of the main branch. This PR does not address that, but keeps the work around so we can handle that separately. A submodule would be one option, if we don't want to split the repository.

codecov[bot] commented 2 years ago

Codecov Report

Merging #203 (27b1ef7) into master (8f92601) will increase coverage by 57.07%. The diff coverage is 95.21%.

:exclamation: Current head 27b1ef7 differs from pull request most recent head 36e6d83. Consider uploading reports for the commit 36e6d83 to get more accurate results Impacted file tree graph

@@             Coverage Diff             @@
##           master     #203       +/-   ##
===========================================
+ Coverage   11.75%   68.82%   +57.07%     
===========================================
  Files          31       27        -4     
  Lines        1914     2111      +197     
===========================================
+ Hits          225     1453     +1228     
+ Misses       1656      583     -1073     
- Partials       33       75       +42     
Impacted Files Coverage Δ
boltdb_iterator.go 92.10% <ø> (ø)
goleveldb_iterator.go 77.10% <ø> (ø)
memdb_iterator.go 93.02% <ø> (ø)
remotedb/batch.go 61.70% <0.00%> (ø)
remotedb/grpcdb/server.go 0.00% <0.00%> (ø)
rocksdb_iterator.go 93.02% <ø> (ø)
remotedb/iterator.go 30.00% <50.00%> (ø)
remotedb/remotedb.go 39.39% <83.33%> (ø)
boltdb.go 57.25% <88.88%> (ø)
badger_db.go 87.77% <100.00%> (ø)
... and 33 more
Impacted Files Coverage Δ
boltdb_iterator.go 92.10% <ø> (ø)
goleveldb_iterator.go 77.10% <ø> (ø)
memdb_iterator.go 93.02% <ø> (ø)
remotedb/batch.go 61.70% <0.00%> (ø)
remotedb/grpcdb/server.go 0.00% <0.00%> (ø)
rocksdb_iterator.go 93.02% <ø> (ø)
remotedb/iterator.go 30.00% <50.00%> (ø)
remotedb/remotedb.go 39.39% <83.33%> (ø)
boltdb.go 57.25% <88.88%> (ø)
badger_db.go 87.77% <100.00%> (ø)
... and 33 more
creachadair commented 2 years ago

please work off of https://github.com/tendermint/tm-db/tree/release/0.6.x for a 0.6.x release. Not sure theres a need to make this more complicated

I have done the rebase, but we can't eliminate the revert, since the API changes are already on the branch history. Well, we could rebase them away, but then the history would diverge not only from the 0.6.5 release but also master. If you prefer that we can do it, though.

creachadair commented 2 years ago

I have done the rebase, but we can't eliminate the revert, since the API changes are already on the branch history. Well, we could rebase them away, but then the history would diverge not only from the 0.6.5 release but also master. If you prefer that we can do it, though.

Actually, it's worse than I realized: The 0.6.x release branch was already allowed to diverge from the tagged history of master at v0.6.4 (i.e., the tag precedes the branch and master does not follow it). It looks like maybe this was not set up as a proper backport branch, so the histories are already divergent even before we started.

tac0turtle commented 2 years ago

do you think we could get https://github.com/tendermint/tm-db/pull/205 before doing 0.6.6?

creachadair commented 2 years ago

sorry for delay. I meant to remove my change request since we will be deprecating this library anyways

I merged it into this PR from the side-spur of the release branch. I think it probably does make sense to include it in v0.6.6, and I updated the changelog on that basis.