Releases: penumbra-zone/penumbra
033-eirene
What's Changed
- #1491: Wrap up initial Storage V3 implementation by @zbuc in #1535
- chore: fix decaf377-ka build failure due to yanked zeroize-derive by @redshiftzero in #1538
- Allow
pcli
to be run offline by @mikayla-maki in #1526 - temp: specify jmt 0.2.0 to fix docs build by @redshiftzero in #1540
- test(integration): fix flaky undelegation by @redshiftzero in #1545
- Update pcli warning msg output stdout -> stderr by @conorsch in #1543
- release prep for 033-eirene by @redshiftzero in #1547
New Contributors
Full Changelog: 032-chaldene.1...033-eirene
Testnet 32: Chaldene
This is a minor release that contains a number of bug fixes and minor improvements. Additionally, deletion was implemented in the jellyfish merkle tree, which will support a better model of indexing which will make it possible to support more sophisticated client features, the AMM, and IBC timeouts.
What's Changed
- Swapping in one direction caused most of the input to be burned by @plaidfinch in #1502
- Storage stubs continued by @zbuc in #1504
- Refactor view_from_perspective to infallibly return an ActionView by @aubrika in #1505
- spec(fmd): threat model by @redshiftzero in #1508
- Added call to ensure that the opt.data_dir exists before pcli runs by @mikayla-maki in #1517
- test: note commitment bug regression by @redshiftzero in #1519
- Duplicate note commitment fix by @plaidfinch in #1520
- Initialize unfinished_proposals during init_chain to prevent TOFU crash by @zbuc in #1518
- Start implementing Snapshot by @zbuc in #1506
- Stop using
HashMap
across codebase, add clippy lint for it by @plaidfinch in #1524 - spec(fmd): describe how FMD maps to Penumbra by @redshiftzero in #1521
- Further implementation of storage2 by @zbuc in #1523
New Contributors
- @mikayla-maki made their first contribution in #1517
Full Changelog: 031-autonoe...032-chaldene.1
Testnet #31: Autonoe
This testnet includes our first pass at implementing a concept of TransactionViews
and TransactionPerspectives
, which together will allow users to pass along a partial "view" of the decrypted contents of a transaction's shielded actions in the form of a "perspective" consisting of a bundle of action-scoped payload keys corresponding to some or all of the actions in a specific transaction. This allows someone in possession of a full viewing key for an account to share some of their decryption ability without needing to provide their full viewing key.
This release also fixes the block time to be 5 seconds instead of 1 second, alongside various other feature enhancements and improvements:
What's Changed
- crypto: refactor transparent proof statements into gadgets by @redshiftzero in #1470
- test(integration): list created proposals by @redshiftzero in #1486
- Allow pcli querying of governance-controllable chain parameters by @zbuc in #1463
- update default config template with 0.34 by @avahowell in #1485
- Automated testnet - ingress for fullnodes by @agouin in #1464
- Create parallel
storage2
crate by @zbuc in #1493 - implement
TransactionView
by @redshiftzero in #1426 - Add stub impls for Storage2 crate by @zbuc in #1495
- Use pro-rata output in constructing SwapClaimProof by @zbuc in #1498
Full Changelog: 030-isonoe...031-autonoe
Testnet #30: Isonoe
This testnet lands our backport to Tendermint 0.34!
Previous versions of Penumbra used Tendermint 0.35, which suffered from stability and connectivity issues, and has now been officially deprecated by the Tendermint Council. These issues made it very difficult to understand whether problems with the network were related to our code, or an underlying Tendermint issue.
This release includes all necessary backporting to use Tendermint 0.34, which will hopefully bring much better stability, and sets us on track to target the upcoming Tendermint 0.37 release based off of the 0.34 code.
It also includes other changes:
- We restructured our protobuf structures, and now publish them to
buf.build
: https://buf.build/penumbra-zone/penumbra . This provides documentation, as well as auto-generatednpm
packages that provide web clients with Penumbra data structures. - We've added a canonical short form for Penumbra addresses, of the form
penumbrav2t1f5u3qn64s0muy84pgqdwd2ue…
. Our address encoding ensures that it is safe for users to compare only the short form: #1367 - We fixed various bugs in the initial swap functionality.
- We replaced all
u64
amounts with anAmount
type internally, preparing to migrate our shielded pool to record 128-bit values, so it can better handle shielding Ethereum assets. - We added a
Balance
type representing an action's change to a transaction's value balance, preparing for modular transaction view functionality. - We added a
--moniker
flag topd testnet join
that allows setting a moniker when joining the testnet.
As usual, instructions on how to join or use the testnet can be found at https://guide.penumbra.zone .
If you're planning to run a full node, do not use Tendermint 0.35
, which will no longer work with pd
.
The galileo
faucet bot will be down for a few days while we update it to new Protobuf APIs.
029-eukelade.2
Re-release of 029-eukelade.1
since that release was based on an out of date 029-eukelade
tag.
029-eukelade.1
029-eukelade
Summary
Major changes:
- Added support for shielded swaps via
pcli tx swap
- Added a placeholder constant-product marketmaker to provide liquidity for swaps
- Added commands for querying swap data:
pcli q dex cpmm-reserves
andpcli q dex batch-outputs
- Added
pcli view list-transactions
query for transaction hashes by block - Enabled GRPC-web for web wallet support
- Added governance chain parameter change proposals
Full Changelog
What's Changed
- Add pcli view query for transaction hashes by block by @aubrika in #1327
- Increase epoch duration and proposal voting block duration in future testnets by @zbuc in #1370
- Document swaps in the guide by @zbuc in #1365
- protocol: lift memos to transaction level by @redshiftzero in #1371
- pd: experimentally enable grpc-web by @hdevalence in #1379
- Swap/SwapClaim DEX implementation by @zbuc in #1359
- Rebuild go protos by @zbuc in #1381
- rename
pcli query proposals
to qpcli query governance`, add proposal status and title by @avahowell in #1380 - support dummy
Spend
s andOutput
s by @redshiftzero in #1383 - Add combined notes table to view service migrations by @aubrika in #1338
- Enable Swap/SwapClaim plans in transaction build by @zbuc in #1387
- Tweaks towards completing swap/swapclaim flow by @hdevalence in #1391
- test: regression for auth hash mismatch by @redshiftzero in #1388
- Add a stub CPMM (UniV2) AMM to back the DEX for testing purposes. by @hdevalence in #1397
- wallet: add memo in
plan::sweep
to dodge a panic by @hdevalence in #1395 - Implement chain parameter change execution by @zbuc in #1375
- Make asset ID formatting infallible in the case that a denom doesn't exist by @zbuc in #1404
- test(integration): add sweep test by @redshiftzero in #1402
- consensus rules: add rule for memos, re-enable clue checks by @redshiftzero in #1403
- Implement
pcli q dex
commands by @zbuc in #1408 - Chore: clear lints by @zbuc in #1409
- Print the user's swap outputs during swap transactions in pcli by @zbuc in #1410
- provide dummy memo key such that
Transaction::auth_hash
does not panic by @redshiftzero in #1401 - Move Swap & SwapClaim proof serializations to dex and format as base64 by @aubrika in #1413
- add
gm
andgn
to asset registry, parse genesis allocations withparse_unit
by @avahowell in #1414 - temporarily disable memo consensus rule by @redshiftzero in #1417
Full Changelog: 028-harpalyke...029-eukelade
028-harpalyke
Summary
Minor changes:
- Added support for receiving packets from counterparty chains
- Added protocol support for multi-asset fees
- Added clue keys into note commitments
What's Changed
- Reduce the Balance interface and add proptest to check all expressions by @plaidfinch in #1344
- crypto: add clue key into note commitments by @redshiftzero in #1339
- spec: fix inaccurate diversfier key derivation by @redshiftzero in #1349
- add ics20 transfer packet processing by @avahowell in #1299
- spec: introduce account and account ID terminology by @redshiftzero in #1350
- support multi-asset fees by @redshiftzero in #1328
- deps: pin tokio to known good version by @redshiftzero in #1358
- updates for 028-Harpalyke testnet by @redshiftzero in #1362
Full Changelog: 027-thyone...028-harpalyke
027-thyone
Summary
Major changes:
- Added a new Governance component to
pd
, with corresponding functionality inpcli
, that implements basic governance signaling proposal creation and voting.
Minor changes:
- Refactored the transaction planner
- Cleaned up various symmetric crypto functionality
- Small changes to the guide
- Added
Clue
s for fuzzy message detection to transactions
What's Changed
- crypto: add
OvkWrappedKey
andPayloadKey
-only decrypt method by @redshiftzero in #1284 - Support generating plans for Swap/SwapClaim in wallet by @zbuc in #1308
- team base allocations by @redshiftzero in #1309
- spec: transaction-level symmetric crypto by @redshiftzero in #1311
- feat: add full
Address
toNote
by @redshiftzero in #1282 - refactor(Address): encapsulate jumbled bytes (followup from #1282) by @redshiftzero in #1313
- add deterministic
Clue
generation andCluePlan
[FMD part 1] by @redshiftzero in #1296 - test: verifies that addresses are diversified by @redshiftzero in #1319
- Rebase swaps/swapclaims on current main branch changes, use address from notes, move NFT asset ID generation to SwapPlaintext by @zbuc in #1314
- build
Clue
s fromCluePlan
s [FMD part 2] by @redshiftzero in #1312 - Rename NoteRecord to SpendableNoteRecord by @aubrika in #1323
- use GCS for terraform remote state by @danbryan in #1294
- rename FVKHash to AccountID and derive using Poseidon by @redshiftzero in #1324
- add consensus rules to check
Clue
s [FMD part 3] by @redshiftzero in #1321 - Support awaiting detection of note commitments during pcli transaction submission by @zbuc in #1329
- Update guide docs by @pygmygoats in #1334
- Automatically submit SwapClaim after Swap completes by @zbuc in #1330
- ephemeral addresses: ensure that the random index is outside of u64 range by @avahowell in #1335
- Signaling and emergency proposals: submit and withdraw, validator voting by @plaidfinch in #1275
- Transaction plan builder by @plaidfinch in #1343
New Contributors
- @pygmygoats made their first contribution in #1334
Full Changelog: 026-hermippe...027-thyone
025-helike
Major changes:
- An abstraction around fuzzy message detection (FMD) parameters was added. This allows the FMD parameters to be auto-adjusted according to the empirical transaction rate on-chain.
- Work on ZSwap continues. This testnet includes initial support for
Swap
andSwapClaim
actions, however they are incomplete and will always be rejected.
What's Changed
- chore(clippy): clippy --fix -Z unstable-options by @mattsse in #1254
- update architecture overview in docs by @hdevalence in #1255
- spec: update asset ID description by @hdevalence in #1256
- spec(poseidon377): address audit feedback by @redshiftzero in #1257
- renamed ChainParams to ChainParameters by @borngraced in #1248
- feat: create initial
FmdParameters
support by @redshiftzero in #1258 - Testnet 25: Helike release prep by @zbuc in #1272
New Contributors
Full Changelog: 024-dia...025-helike