Skip to content

Latest commit

 

History

History
351 lines (249 loc) · 21.7 KB

CHANGELOG.md

File metadata and controls

351 lines (249 loc) · 21.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Features

  • #1262 Add a forceprune command to the binaries, that prunes golevelDB data better.
  • #1244 Refactor x/gamm's ExitSwapExternAmountOut.
  • #1107 Update to wasmvm v0.24.0, re-enabling building on M1 macs!
  • #1292 CLI account-locked-duration

Minor improvements & Bug Fixes

  • #1363 Switch e2e test setup to create genesis and configs via Dockertest
  • #1335 Add utility for deriving total orderings from partial orderings.
  • #1308 Make panics inside of epochs no longer chain halt by default.
  • #1286 Fix release build scripts.
  • #1203 cleanup Makefile and ci workflows
  • #1177 upgrade to go 1.18
  • #1193 Setup e2e tests on a single chain; add balances query test
  • #1095 Fix authz being unable to use lockup & superfluid types.
  • #1105 Add GitHub Actions to automatically push the osmosis Docker image
  • #1114 Improve CI: remove duplicate runs of test worflow
  • #1127 Stricter Linting: bump golangci-lint version and enable additional linters.
  • #1184 Fix endtime event output on BeginUnlocking

Minor improvements & Bug Fixes

  • #1052 Eugen/cherry pick superfluid test scaffolding updates
  • #1070 Test improvisation for Superfluid
  • #1084 Superfluid Misc: Improve grpc_query
  • #1081 Genesis upgrade and add invariant cherry pick
  • #1088 Genesis import export check for superfluid
  • #1101 Minor PR adding some code comments
  • #1154 Database stability improvements

SDK fork updates

  • sdk-#136 add after validator slash hook
  • sdk-#137 backport feat: Modify grpc gateway to be concurrent
  • sdk-#146 extra logs during commit
  • sdk-#151 fix logs related to store keys and commit hash
  • sdk-#140 refactor: snapshot and pruning functionality
  • sdk-#156 feat: implement querying for commit hash and proofs
  • sdk-#155 fix: commit info data race
  • sdk-#158 Fixes the go race tests
  • sdk-#160 increase setupBaseAppWithSnapshots timeout to 90 seconds
  • sdk-#161 upgrade iavl to v0.17.3-osmo-v7 with lowered fast node cache size

IAVL fork updates

  • iavl-35 avoid clearing fast node cache during pruning
  • iavl-36 fix data race related to VersionExists
  • iavl-37 hardcode fast node cache size to 100k

Minor improvements & Bug Fixes

  • #1061 upgrade iavl to v0.17.3-osmo-v5 with concurrent map write fix
  • #1071 improve Dockerfile

SDK fork updates

  • sdk-#135 upgrade iavl to v0.17.3-osmo-v5 with concurrent map write fix

IAVL fork updates

  • iavl-34 fix concurrent map panic when querying and committing

Minor improvements & Bug Fixes

  • #1022 upgrade iavl to v0.17.3-osmo-v4 - fix state export at an old height
  • #988 Make SuperfluidUndelegationsByDelegator query also return synthetic locks
  • #984 Add wasm support to Dockerfile

This release fixes an instance of undefined behaviour present in v7.0.0. Parts of the code use a function called ApplyFuncIfNoErr whose purpose is to catch errors, and if found undo state updates during its execution. It is intended to also catch panics and undo the problematic code's execution. Right now a panic in this code block would halt the node, as it would not know how to proceed. (But no state change would be committed)

The Osmosis Carbon Release! The changes are primarily

The large features include:

  • Superfluid Staking - Allowing LP shares be staked to help secure the network
  • Adding permissioned cosmwasm to the chain
  • IAVL speedups, greatly improving epoch and query performance
  • Local mempool filters to charge higher gas for arbitrage txs
  • Allow partial unlocking of non-superfluid'd locks

Upgrade instructions for node operators can be found here

The v7 release introduces Superfluid Staking! This allows governance-approved LP shares to be staked to help secure the network.

Features

  • {Across many PRs} Add superfluid staking
  • #893 Allow (non-superfluid'd) locks to be partially unlocked.
  • #828 Move docs to their own repository, https://github.com/osmosis-labs/docs
  • #804 Make the Osmosis repo use proper golang module versioning in self-package imports. (Enables other go projects to easily import Osmosis tags)
  • #782 Upgrade to cosmos SDK v0.45.0
  • #777 Add framework for mempool filters for charging different gas rates, add mempool filter for higher gas txs.
  • #772 Fix SDK bug where incorrect sequence number txs wouldn't get removed from blocks.
  • #769 Add governance permissioned cosmwasm module
  • #680,#697 Change app.go file structure to mitigate risk of keeper reference vs keeper struct bugs. (What caused Osmosis v5 -> v6)

Minor improvements & Bug Fixes

  • #924 Fix long standing problems with total supply query over-reporting the number of osmo.
  • #872 Add a helper for BeginBlock/EndBlock code to have code segments that atomically revert state if any part errors.
  • #869 Update Dockerfile to use distroless base image.
  • #855 Ensure gauges can only be created for assets that exist on chain.
  • #766 Consolidate code between InitGenesis and CreateGauge
  • #763 Add rocksDB options to Makefile.
  • #740 Simplify AMM swap math / file structure.
  • #731 Add UpdateFeeToken proposal handler to app.go
  • #686 Add silence usage to cli to surpress unnecessary help logs
  • #652 Add logic for deleting a pool
  • #541 Start generalizing the AMM infrastructure

SDK fork updates

  • sdk-#119 Add bank supply offsets to let applications have some minted tokens not count in total supply.
  • sdk-#117 Add an instant undelegate method to staking, for use in superfluid.
  • sdk-#116 Fix the slashing hooks to be correct.
  • sdk-#108 upgrade to IAVL fast storage on v0.45.0x-osmo-v7-fast

Wasmd fork updates

Minor improvements & Bug Fixes

-#907 Upgrade IAVL and SDK with RAM improvements and bug fixes for v6.4.0

SDK fork updates

  • sdk-#114 upgrading iavl with ram optimizations during migration, and extra logs and fixes for "version X was already saved to a different hash" and "insufficient funds" bugs

IAVL fork updates

  • iavl-19 force GC, no cache during migration, auto heap profile
  • #859 CLI, update default durations to be in better units.

  • #Unknown Switch to SDK branch with vesting by duration

Minor improvements & Bug Fixes

  • #795 Annotate app.go
  • #791 Change to dependabot config to only upgrade patch version of tendermint
  • #766 Consolidate code between InitGenesis and CreateGauge

Features

  • #845 Upgrade iavl and sdk with fast storage
  • #724 Make an ante-handler filter for recognizing High gas txs, and having a min gas price for them.

Minor improvements & Bug Fixes

  • #795 Annotate app.go
  • #791 Change to dependabot config to only upgrade patch version of tendermint
  • #766 Consolidate code between InitGenesis and CreateGauge

SDK fork updates

  • sdk-#100 Upgrade iavl with fast storage

IAVL fork updates

  • iavl-5 Fast storage optimization for queries and iterations

SDK fork updates

  • sdk-#58 Fix a bug where recheck would not remove txs with invalid sequence numbers

Minor improvements & Bug Fixes

  • #765 Fix a bug in Makefile regarding the location of localtestnet docker image.

Features

  • Update to Tendermint v0.34.15
  • Increase p2p timeouts to alleviate p2p network breaking at epoch
  • #741 Allow node operators to set a second min gas price for arbitrage txs.
  • #623 Use gosec for staticly linting for common non-determinism issues in SDK applications.

Minor improvements & Bug Fixes

  • #722 reuse code for parsing integer slices from string
  • #704 fix rocksdb
  • #666 Fix the --log-level and --log-format commands on osmosisd start
  • #655 Make the default genesis for pool-incentives work by default
  • 97ac2a8 Fix InitGenesis bug for gauges

SDK fork updates

  • sdk-#52 Fix inconsistencies in default pruning config, and change defaults. Fix pruning=everything defaults.
    • previously default was actually keeping 3 weeks of state, and every 100th state. (Not that far off from archive nodes)
    • pruning=default now changed to 1 week of state (100k blocks), and keep-every=0. (So a constant number of states stored)
    • pruning=everything now stores the last 10 states, to avoid db corruption errors plaguing everyone who used it. This isn't a significant change, because the pruning interval was anyways 10 blocks, so your node had to store 10 blocks of state anyway.
  • sdk-#51 Add hooks for superfluid staking
  • sdk-#50 Make it possible to better permission the bank keeper's minting ability

This upgrade fixes a bug in the v5.0.0 upgrade's app.go, which prevents new IBC channels from being created. This binary is compatible with v5.0.0 until block height 2464000, estimated to be at 4PM UTC Monday December 20th.

  • Patch - Revert back to passing in the correct staking keeper into the IBC keeper constructor.
  • Height gating change - Height gate the change in IBC, to make the v6.0.0 binary compatible until upgrade height.

v5.0.0 - Boron upgrade

The Osmosis Boron release is made!

Notable features include:

  • Upgrading from SDK v0.42 to SDK v0.44, bringing efficiency improvements, integrations and Rosetta support.
  • Bringing in the new modules Bech32IBC, Authz, TxFees
  • Upgrading to IBC v2, allowing for improved Ethereum Bridge and CosmWasm support
  • Implementing Osmosis chain governance's Proposal 32
  • Large suite of gas bugs fixed. (Including several that we have not seen on chain)
  • More queries exposed to aid node operators.
  • Blocking the OFAC banned Ethereum addresses.
  • Several (linear factor) epoch time improvements. (Most were present in v4.2.0)

Upgrade instructions for node operators can be found here

Features

  • #637 Add Bech32IBC
  • #610 Upgrade to Cosmos SDK v0.44.x
  • #610 Upgrade to IBC-v2
  • #560 Implements Osmosis prop32 -- clawing back the final 20% of unclaimed osmo and ion airdrop.
  • #394 Allow whitelisted tx fee tokens based on conversion rate to OSMO
  • Commit db450f0 Add blocking of OFAC banned Ethereum addresses

Minor improvements & Bug Fixes

  • {In the Osmosis-labs SDK fork}
    • Increase default IAVL cache size to be in the hundred megabyte range
    • Significantly improve CacheKVStore speed problems, reduced IBC upgrade time from 2hrs to 5min
    • Add debug info to make it clear whats happening during upgrade
  • (From a series of commits) Fixes to the claims module to only do the reclaim logic once, not every block.
  • (From a series of commits) More logging to the claims module.
  • #563 Allow zero-weight pool-incentive distribution records
  • #562 Store block height in epochs module for easier debugging
  • #544 Update total liquidity tracking to be denom basis, lowering create pool and join pool gas.
  • #540 Fix git lfs links
  • #517 Linear time improvement for epoch time
  • #515 Add debug command for converting secp pubkeys
  • #510 Performance improvement for gauge distribution
  • #505 Fix bug in incentives epoch distribution events, used to use raw address, now uses bech32 addr
  • #464 Increase maximum outbound peers for validator nodes
  • #444 Add script for state sync
  • #409 Reduce epoch time growth rate for re-locking assets

[v4.0.0]

  • Significantly speedup epoch times
  • Fix bug in the lockup module code that caused it to take a linear amount of gas.
  • Make unbonding tokens from the lockup module get automatically claimed when unbonding is done.
  • Add events for all tx types in the gamm module.
  • Add events for adding LP rewards.
  • Make queries to bank total chain balance account for developer vesting correctly.
  • Add ability for nodes to query the total amount locked for each denomination.
  • Embedded seeds in init.go
  • Added changelog and info about changelog format.
  • Fix accumulation store only counting bonded tokens, not unbonding tokens, that prevented the front-end from using more correct APY estimates. (Previously, the front-end could only underestimate rewards)

v3.2.0 - 2021-06-28

  • Update the cosmos-sdk version we modify to v0.42.9
  • Fix a bug in the min commission rate code that allows validators to be created with commission rates less than the minimum.
  • Automatically upgrade any validator with less than the minimum comission rate to the minimum at upgrade time.
  • Unbrick on-chain governance, by fixing the deposit parameter to use uosmo instead of osmo.

v1.0.2 - 2021-06-18

This release improves the CLI UX of creating and querying gauges.

v1.0.1 - 2021-06-17

This release fixes a bug in osmosisd version always displaying 0.0.1.

v1.0.0 - 2021-06-16

Initial Release!