Releases: stellar/rs-soroban-env
Releases · stellar/rs-soroban-env
21.0.0
Release notes
This is the first release of Soroban environment supporting protocol 21.
New features in protocol 21
- Secp256r1 support in Soroban host: https://github.com/stellar/stellar-protocol/blob/master/core/cap-0051.md
- Host function for extending TTL of contract instance and code separately: https://github.com/stellar/stellar-protocol/blob/master/core/cap-0053.md
- Use refined cost model for VM instantiation in order to reduce the VM instantiation metered costs: https://github.com/stellar/stellar-protocol/blob/master/core/cap-0054.md
- Intra-transaction VM module caching for the further Soroban cost reduction: https://github.com/stellar/stellar-protocol/blob/master/core/cap-0055.md, https://github.com/stellar/stellar-protocol/blob/master/core/cap-0056.md
What's Changed
- Bump XDR dependency for write fee in LCM by @dmkozh in #1366
- Bump XDR used by env by @dmkozh in #1367
- Decompose VM instantiation costs and add module cache by @graydon in #1359
- Proposal: Allow Extending Instance and Code TTL With Separate Values on the Host Environment For More Cost-Efficient Implementations by @heytdep in #1368
- Refactor extend {code, instance} TTL by @jayz22 in #1373
- Module cache followup by @graydon in #1375
- Add
secp256r1
host function for signature verification by @jayz22 in #1376 - Charge for BTreeSet by @jayz22 in #1381
- Module cache upload and run by @graydon in #1382
- Protocol-version-qualify test observations by @graydon in #1383
- Reuse hash method in
metered_hash_xdr
by @jayz22 in #1385 - Set dep versions to what is used in core by @sisuresh in #1387
- Observe xdr by @graydon in #1386
- Pass bucket list size to simulation as a side input. by @dmkozh in #1389
- Protocol 21 by @graydon in #1384
- Multi-protocol support for E2E host and simulation tests. by @dmkozh in #1377
- Package version 21 by @graydon in #1394
- Update dev xdr hash by @jayz22 in #1400
- Improvements for recording mode metering of module cache by @dmkozh in #1401
- Update xdr hash by @jayz22 in #1403
- Add e2e test for custom account authorization. by @dmkozh in #1404
- Extend cost params in simulation in order to match the hardcoded value. by @dmkozh in #1405
- Use the released 21.0.0 XDR. by @dmkozh in #1406
Full Changelog: v20.3.0...v21.0.0
20.3.0
What's Changed
- Host function protocol gating by @jayz22 in #1348
- fix rust-version compilation issue by @sisuresh in #1335
- Refactor soroban-simulation to use the e2e_invoke by @dmkozh in #1354
- Add a comment for supported protocol versions in
protocol_gated_dummy
by @jayz22 in #1356 - Cleanup Cargo.toml for
unstable-next-api
feature by @dmkozh in #1358 - Small fixes in soroban-simulation by @dmkozh in #1361
- Emulate account entry extensions in simulation. by @dmkozh in #1363
- Bump version to 20.3.0 by @github-actions in #1365
Full Changelog: v20.2.2...v20.3.0
20.2.2
What's Changed
- Allow small version-range wiggle room on curve25519-dalek to enable docs.rs nightly build by @graydon in #1346
- Bump version to 20.2.2 by @github-actions in #1347
Known protocol issues
https://github.com/orgs/stellar/projects/52
Full Changelog: v20.2.1...v20.2.2
20.2.1
What's Changed
- Enable publish of soroban-simulation crate by @leighmcculloch in #1344
- Bump version to 20.2.1 by @github-actions in #1345
Full Changelog: v20.2.0...v20.2.1
v20.2.0
What's Changed
- Add a function to invoke host function 'end-to-end' in recording mode. by @dmkozh in #1332
- Bug 1283 asset code rendering by @graydon in #1336
- Use strkeys for contract IDs and addresses in diagnostic events. by @graydon in #1302
- Turn off
wasm_reference_types
in Wasmi by @jayz22 in #1291 - Prng tests by @graydon in #1338
- Remove ConversionError from ScVal/Val conversions by @graydon in #1339
- Tightening up metering in auth by @jayz22 in #1340
- Bump XDR to 20.1 by @SirTyson in #1342
- Allow negative fee1 kb low by @sisuresh in #1341
- Bump version to 20.2.0 by @github-actions in #1343
Full Changelog: v20.1.1...v20.2.0
20.1.1
What's Changed
- Cover various Symbol conversion code paths with various valid/invalid cases by @dmkozh in #1320
- Run CI for the msrv and latest rust version by @leighmcculloch in #1319
- Add protocol version method to invoke_contract by @sisuresh in #1321
- Enable VM execution in a WASM environment by guarding time track behind
time
feature by @heytdep in #1315 - Add test for checking VM stack depth. by @dmkozh in #1322
- Migrate preflight computations from soroban-rpc by @2opremio in #1300
- soroban-simulate: Misc fixes by @2opremio in #1326
- Add CI job to run cargo-semver-checks by @leighmcculloch in #1323
- Tracing by @graydon in #1324
- Add some basic test coverage for
e2e_invoke
. by @dmkozh in #1328 - Add test vectors for ed25519 edge cases by @graydon in #1331
- Trace should not emit diagnostic errors by @graydon in #1330
- Bump wasmi to 0.31.1-soroban.20.0.1 by @graydon in #1333
- Bump version to 20.1.1 by @github-actions in #1334
New Contributors
Full Changelog: v20.1.0...v20.1.1
20.1.0
What's Changed
- Add test where allowance is only live for 1 ledger by @sisuresh in #1295
- Improve cost model fitting for better lower-range accuracy by @jayz22 in #1293
- Bad wasm tests by @jayz22 in #1298
- Update test-wasms to use release sdk/env and add contract that can transfer using the SAC by @sisuresh in #1299
- Fuzz improvements by @graydon in #1296
- Exclude observations by @sisuresh in #1301
- Add some byte literals to fuzz input args by @graydon in #1303
- Bump version to 20.0.1 by @github-actions in #1304
- Improve error for missing signatures. by @dmkozh in #1306
- Bump cackle-action to 0.7.0 to support debuginfo changes in rust 1.75 by @graydon in #1317
- 20.1.0 cleanup by @dmkozh in #1314
Full Changelog: v20.0.0...v20.1.0
20.0.2
What's Changed
Full Changelog: v20.0.1...v20.0.2
20.0.1
What's Changed
- Update stellar-xdr to v20.0.2 by @leighmcculloch in #1305
Full Changelog: v20.0.0...v20.0.1
20.0.0
What's Changed
- Make
RecordedAuthPayload
consistently returnNone
for invoker. by @dmkozh in #900 - Expiration-related fixes by @dmkozh in #899
- Turn dynamic borrow panics into HostErrors by @graydon in #925
- Use Ed25519 verify_strict function rather than just verify, fix #857 by @graydon in #927
- Misc int32 issues by @graydon in #926
- Enforce object handle integrity when inserting into containers, fix #569 by @graydon in #928
- Add testcase for out-of-order scmaps, fix #223. by @graydon in #929
- Add a function to compute the rent fee. by @dmkozh in #905
- Use host.err for auth error by @sisuresh in #931
- Add a smoke test for recording auth for create contract host fn. by @dmkozh in #932
- Stop treating storage errors as missing entries by @sisuresh in #934
- Refactor authorization manager to only maintain mutable borrow on minimal amount of fields by @dmkozh in #938
- Bump xdr by @sisuresh in #943
- Add rent bumps to the SAC by @sisuresh in #936
- Add is_admin function by @sisuresh in #933
- Bump xdr by @dmkozh in #944
- Add function to compute the write fee based on the ledger size. by @dmkozh in #941
- Prohibit using disjoint signatures to cover the auth tree. by @dmkozh in #942
- Enforce
DepthLimiter
in theHost
to avoid stack overflow by @jayz22 in #904 - Relative objects in wasm by @graydon in #947
- Adapt to ResourceLimiter, replacing mem_fuel metering by @jayz22 in #950
- Make
del_contract_data
no-op for removing non-existent instance storage key. by @dmkozh in #951 - Add "tracy" feature to enable Tracy profiler, with some basic annotat… by @graydon in #952
- Update host to account for the XDR changes. by @dmkozh in #954
- Update rust-version by @github-actions in #948
- Adapt to SCError change to be an enum, with ContractError(u32) by @graydon in #955
- Make some host errors non-recoverable in
try_call
. by @dmkozh in #945 - Fix panic-string-logging code path broken by recent dynamic-borrow fix. by @graydon in #960
- Add
soroban-bench-utils
, add benchmark tests to measure metering accuracy by @jayz22 in #956 - Bump env xdr and do the fee library changes corresponding to config changes by @dmkozh in #965
- Bump env xdr by @dmkozh in #966
- Remove event topic limits by @jayz22 in #959
- Bump env xdr by @dmkozh in #969
- Unify/fix expiration bump logic in host. by @dmkozh in #957
- Add new tests for error escalation from contract calls. by @graydon in #967
- Add a helper that invokes a host function 'end-to-end' by @dmkozh in #964
- Add helpers for container bulk init; applies to auth metering by @jayz22 in #975
- Switch some auth errors from
Internal
toInvalidInput
. by @dmkozh in #976 - Enable post-MVP WASM ops (sign-ext and mutable-globals), fix #968. by @graydon in #979
- More token tests by @sisuresh in #974
- Alloc example by @graydon in #972
- mop up some residual uses of format strings in errors (no longer supported) by @graydon in #961
- Add wasm for upgrade write-bytes contract by @sisuresh in #983
- Scale the linear cost model coefficient; improve model fitting by @jayz22 in #982
- Error if bumping past max_entry_expiration and and host function to retrieve max_entry_expiration by @sisuresh in #985
- Make
has
checks to properly populate the storage map in recording mode by @dmkozh in #986 - Clean up budget cost types by @jayz22 in #984
- Add debug events to storage error reporting. by @dmkozh in #987
- Switch to stable rust-analyzer in CI by @jayz22 in #988
- add some comments and tests to env-common/symbol.rs by @graydon in #990
- Upgrade dalek crates to new stable versions. by @graydon in #993
- Add an option to return an error when encountering non-root auth in recording mode. by @dmkozh in #991
- Reject env.json if there are duplicate export names, fix #189 by @graydon in #994
- Tighten signature of unchecked_visit_val_obj, fix #595 by @graydon in #997
- Tighten dependencies further by @graydon in #999
- Fix incorrect argument name by @dmkozh in #1000
- Bump env xdr by @dmkozh in #1003
- Tighten up
Map
andVector
and metering coverage by @jayz22 in #1001 - Store dummy instance for test contracts. by @dmkozh in #1005
- Update XDR to take change that removes SCSpecTypeSet by @graydon in #1009
- Fix comparison in Tag::is_object by @brson in #1012
- Fix calibration due to delak change by @jayz22 in #1004
- Charge write fees for expiration entry bumps. by @dmkozh in #1010
- Reduce the expiration entry write size. by @dmkozh in #1016
- Refactor host to support the new expiration ledger approach. by @dmkozh in #1015
- Add lifetime threshold by @sisuresh in #1014
- Enable build workflow for merge groups by @leighmcculloch in #1018
- Remove key size from rent change computation. by @dmkozh in #1019
- Take change from txSOROBAN_RESOURCE_LIMIT_EXCEEDED to txSOROBAN_INVALID by @graydon in #1022
- Add ExpirationEntry support by @sisuresh in #1023
- Add git rev dep check to ci by @leighmcculloch in #1025
- Fix encode contract events metering by @jayz22 in #1026
- trim deps by @graydon in #1031
- Reject vals with invalid tags, fix #1029 by @graydon in #1033
- host: fix EXPIRATION_ENTRY_SIZE constant by @2opremio in #1034
- Avoid iloop externalizing diagnostics for invalid references by @brson in #1028
- Add "coverage" Makefile target for lcov.info, add a test that extends coverage by @graydon in #1038
- Fix asset-code rendering in native contract. by @graydon in #1041
- Fix rent changes extraction bug by @jayz22 in #1043
- Graydon code review by @graydon in #1044
- Jay code review by @jayz22 in #1045
- Bump xdr and use curr instead of next by @sisuresh in #1048
- Trivial xdr bump by @sisuresh in #1050
- Tighten wasm interface version checks, and do on upload. Fix #1052. by @graydon in #1053
- Update wasmi to 0.31.0-soroban by @jayz22 in #1054
- Bump version to 20.0.0-rc1 by @github-actions in #1055
- Add "next" feature to crates using xdr directly or indirectly by @graydon in https://github.com/stellar/r...