Releases: linera-io/linera-protocol
v0.13.1
v0.13.0
Linera: v0.13.0 update
We're very excited to publish Linera v0.13.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to enable the fastest and most scalable Web3 applications.
Summary
This release features another set of SDK improvements, making it easier to write applications for Linera.
For a more in-depth breakdown see the 'What's Changed' section.
What's Changed
- Update outdated comments and identifiers by @afck in #2448
linera-client
: add IndexedDB persistence backend for the wallet by @Twey in #2420linera-client
: relax unnecessarySend
bound onP
by @Twey in #2450- Make service runtime short-lived by default by @ma2bd in #2453
- Browser time by @Twey in #2452
linera_core::join_set_ext
: replacespawn_local
withwasm_bindgen_futures::spawn_local
by @Twey in #2451- Test creating many microchains from a Faucet by @jvff in #2394
- Add a block size limit by @afck in #2454
flake.lock
: update for Rust 1.81.0 by @Twey in #2464- Upgrade to 1.81.0; fix a few allow attributes by @afck in #2463
- update crates to next release v0.13.0 by @ma2bd in #2461
- add missing documentation after #2337 by @ma2bd in #2460
- Update tonic: 0.11 → 0.12 by @Twey in #2466
- Reduce the size of output in case of failure. by @MathieuDutSik in #2462
- web-frontend for
Fungible app
with GraphQL types by @edwardluu in #2437 - Minor cleanups in linera-core. by @afck in #2468
- Simplify notification handling in client.rs by @afck in #2469
- Correction to prometheus measures. by @MathieuDutSik in #2470
- Make synchronize_received_certificates_from_validator a method. by @afck in #2472
- Compress and decompress bytecodes in blocking thread by @jvff in #2471
- Sync admin chain only when needed; fix bytecode blobs. by @afck in #2473
- Fix compression of bytecodes in tests by @jvff in #2474
- Revert admin chain sync optimization. by @afck in #2483
- Log to separate files by @jvff in #2484
- Test: message from non-creator chain also registers apps. by @afck in #2477
- In the node service, don't unnecessarily call prepare_chain. by @afck in #2479
- Add metrics for compression and decompression latency by @jvff in #2475
- Implement the
BucketQueueView
by @MathieuDutSik in #2449 - Workaround ANSI escape codes in log files by @jvff in #2487
- Correct compilation error by @MathieuDutSik in #2486
- Stabilize
SystemOperation::ReadBlob
by @ma2bd in #2493 - Add the
path
andstorage_config_namespace
to thenet up
. by @MathieuDutSik in #2478 - Reset timeout in chain listener if we don't own the chain. by @afck in #2501
- publish-data-blob should return the hash, not blob ID. by @afck in #2503
- Remove the test feature from linera-core in linera-sdk. by @afck in #2506
- create script to yank old crates by @ma2bd in #2498
- Clarify URLs in the AMM README. by @afck in #2505
- Add latency metrics for client functions. by @afck in #2508
- Use a new
StubInstance
to avoid requiring the "test" feature by @jvff in #2509 - fix rust-toolchain for examples by @ma2bd in #2511
- Add an end-to-end test that doubles as a latency benchmark. by @afck in #2513
- Add a fuel limit for blocks. by @afck in #2512
- Resend proposal if both messages and blobs are missing. by @afck in #2515
- Remove the RocksDb option in
Database
. by @MathieuDutSik in #2499 - Add struct NamedNode. by @afck in #2514
- Nightly web build by @Twey in #2516
- Remove the
store_timings
feature by @MathieuDutSik in #2520 - Remove LocalValidatorNode(Provider) and LocalNotificationStream by @ma2bd in #2522
- (nit) Rename NamedNode into RemoteNode by @ma2bd in #2521
- Faucet has a chain listener by @christos-h in #2410
- Wasm threading by @Twey in #2517
- Replace some
feature = "X"
entries and replace them bywith_X
. by @MathieuDutSik in #2519 - Update the github template by @ma2bd in #2525
- Allow combining different stores by @ma2bd in #2489
- Add warmup iterations and time-to-message-notification. by @afck in #2526
- Move ChainState to a submodule and make it guard its own invariant. by @afck in #2523
- Fix witty export of functions with 16 parameters second attempt by @jvff in #2530
- Misc minor fixes. by @afck in #2539
- Latency metrics for the
KeyValueStoreView
. by @MathieuDutSik in #2540 - Make BlobContent into enum by @andresilva91 in #2465
- Assert that the inboxes are not empty. by @afck in #2542
- iterate on the new github template by @ma2bd in #2545
- Receive bundles even if new_outbox_entries. by @afck in #2543
- fix fatal warning for tonic_build in CI by @ma2bd in #2546
- Add the LRU caching to the
storage-service
by @MathieuDutSik in #2531 - Include chain in client node name. by @afck in #2548
- Some correction of lowercase error. by @MathieuDutSik in #2558
- RM UserData from Transfer command and node service. by @deuszx in #2559
- Move long faucet chain test to different CI workflow by @jvff in #2533
- Improve the metrics for the storage by @MathieuDutSik in #2532
linera-execution
: remove unnecessaryArc
by @Twey in #2561- Improve the performance of the RocksDb. by @MathieuDutSik in #2550
- Use a shorter chain in the long faucet chain test by @jvff in #2564
- Retry all gRPC requests, not just notification streams. by @afck in #2565
- Eliminate the
DatabaseConsistencyError
. by @MathieuDutSik in #2557 - Update README instructions to include instructions to build linera storage service by @deuszx in #2556
- Lock mutex in more client methods. by @afck in #2567
- Minor
linera-service
tracing output improvements by @Twey in #2467 - Fix Nix flake build by @Twey in #2570
- Add the forgotten entry to the parsing code. by @MathieuDutSik in #2572
- Retry in ApplicationWrapper::raw_query. by @afck in #2576
README.md
: explainlinera-client
by @Twey in #2573- Don't keep the client mutex longer than necessary. by @afck in https://github.com/linera-io/linera-p...
v0.12.0
Linera: v0.12.0 update
We're very excited to publish Linera v0.12.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to enable the fastest and most scalable Web3 applications.
Summary
This release features another set of SDK improvements, making it easier to write applications for Linera.
For a more in-depth breakdown see the 'What's Changed' section.
What's Changed
- Forgotten correction. by @MathieuDutSik in #2001
- fix linera-witty for
cargo publish
by @ma2bd in #2004 - blob -> hashed_certificate_value by @andresilva91 in #2003
- Pin
async-graphql
version by @jvff in #2012 - Switch to alloy for Ethereum support by @MathieuDutSik in #2006
- Fix docker image eth by @christos-h in #2009
- Workspace metadata by @Twey in #2015
flake.nix
: use a Nix package to facilitate sharing by @Twey in #2016- Account -> FungibleAccount on UI by @andresilva91 in #2020
- fix async-graphql-derive for linera-version as well by @ma2bd in #2021
- Remove debug logs by @andresilva91 in #2022
- Use workspace metadata in linera-ethereum as well by @ma2bd in #2023
linera-execution
: enablefetch_url
on Wasm environments by @Twey in #1988- Make
linera-ethereum
compile under WASM by @MathieuDutSik in #2019 - Do not run docker workflow on examples and scripts directories by @christos-h in #2034
- Add hex-game example. by @afck in #2039
- Small optimization in check_no_missing_bytecode by @andresilva91 in #2038
- Adding error rate/latency metrics to dashboard by @andresilva91 in #2047
- FIX: Download certificates in batches, rather than all at once. by @ma2bd in #2046
- Make the
ethereum-tracker
example application work by @MathieuDutSik in #2036 - Create a
CertificateValueCache
by @jvff in #2010 - PublishBlob by @andresilva91 in #2014
- Promote reinserted values in cache by @jvff in #2049
- Docker CI workflow is more strict by @christos-h in #2041
- Disable 3 tests that frequently fail. by @MathieuDutSik in #2050
- Generalize CertificateValueCache by @andresilva91 in #2054
- Disabling Ethereum tests by @MathieuDutSik in #2058
- Address two synchronization errors. by @MathieuDutSik in #2056
- Reintroduce Ethereum in the CI by @MathieuDutSik in #2061
- Fix
linera-sdk
docs.rs build by @jvff in #2064 - Update the crates of the main workspace to v0.12.0 with workspace config by @ma2bd in #2063
- Add PublishBlob UnitTest by @andresilva91 in #2062
- Ethereum sync by @MathieuDutSik in #2052
- Readme tests ignore bash blocks ending with
ignore
by @christos-h in #2069 - GRPC entrypoint to download a blob by @andresilva91 in #2044
- Generative NFTs by @christos-h in #2005
- Allow making an app's operations mandatory in each block. by @afck in #2067
- Add the block to the non_executive_call. by @MathieuDutSik in #2075
- Extend open chain functions in CLI, node service and system API. by @afck in #2076
- Split off
ChainWorkerState
fromWorkerState
by @jvff in #2055 - Test publish by @ma2bd in #2065
- Refactor usage of
SocketAddr
by @jvff in #2088 - Listen for signals in the main task by @jvff in #2086
- Switch from
alloy
tolinera-alloy
. by @MathieuDutSik in #2092 - Update
Cargo.lock
by @jvff in #2094 - Clean-up simple server shutdown by @jvff in #2087
- Test publish ci by @ma2bd in #2080
- Parse only
IpAddr
instead of parsing a new string forSocketAddr
by @jvff in #2093 - Replace blob chain info query usage with blob download by @afck in #2098
- Refactor server spawning to be synchronous and infallible by @jvff in #2097
- Wasm on the Web by @Twey in #1990
- Use notification subscriptions in the pub-sub end-to-end test. by @afck in #2104
- Update examples Cargo.lock. by @afck in #2105
- Avoid allocating a
String
to parseSocketAddr
by @jvff in #2109 Cargo.lock
: update patched version ofwasmer
by @Twey in #2107linera-core
: simplify notification handling by @Twey in #2100- Run single validator with Docker Compose by @christos-h in #2102
wasmer
: use Linera forklinera-wasmer
for the time being by @Twey in #2110- Implement graceful shutdown of server and proxy by @jvff in #2108
- Add an assert_before oracle. by @afck in #2078
- Eliminate the spawning of the storage service in the
cargo test
by @MathieuDutSik in #2106 - Fix re-proposing another owner's proposal from an earlier round. by @afck in #2118
- Remove the Optionality to the
get_balance
. by @MathieuDutSik in #2117 - Improve the accuracy of the output by @MathieuDutSik in #2119
- Add metrics to the
storage_service
by @MathieuDutSik in #2114 - Fix the flaky test_re_propose_validated. by @afck in #2123
linera-core
: remove unnecessary&mut
fromlocal_node
by @Twey in #2121linera-core
: renameChainClientBuilder
toClient
by @Twey in #2122linera-service
: move wallet-only operations out ofClientContext
by @Twey in #2120linera-service
: giveClientContext
access to storage by @Twey in #2125- Refactor BlockProposal. by @afck in #2126
- Spawn tasks in
JoinSet
s by @jvff in #2116 - Enable Kubernetes CI to work in parallel by @MathieuDutSik in #2101
- Group outgoing messages by transaction. by @afck in #2060
- Allow client node to read
ChainStateView
outside theChainWorkerState
by @jvff in #2124 - Revert "Enable Kubernetes CI to work in parallel (#2101)" by @ma2bd in #2138
- Test clippy lint for large futures by @ma2bd in #2137
- Global local client by @Twey in #2128
- Use the message policy specified on the CLI. by @afck in #2141
- Upgrade to Rust 1.79.0 by @afck in #2132
- Create
ChainWorkerActor
by @jvff in #2135 - Docker compose works for MacOS by @christos-h in #2143
- Fix ensure_grpc_server_has_started by @ma2bd in #2145
- Create new chains from admin chain for integration tests by @jvff in #2134
- Endpoint to downlo...
v0.11.3
v0.11.0
Linera: v0.11.0 update
We're very excited to publish Linera v0.11.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to deliver truly scalable Web3 infrastructure.
Summary
This release features another set of SDK improvements, making it easier to write applications for Linera.
For a more in-depth breakdown see the 'What's Changed' section.
What's Changed
- Fix round notification handling for CLI commands. by @afck in #1826
- Add fn user back to Message by @andresilva91 in #1832
- Modify Native Fungible App's Message to be Notify only by @andresilva91 in #1833
- change protocol version to 0.11.0 on the main branch by @afck in #1835
linera-version
: useCARGO_MANIFEST_DIR
instead ofPWD
by @Twey in #1837- Move Fungible ABI to linera SDK by @andresilva91 in #1836
- Put proxy metrics behind with_metrics by @andresilva91 in #1819
- Make sure we have metrics enabled in our Docker images by @andresilva91 in #1820
- Stop using unwrap_or_default in e2e tests by @andresilva91 in #1847
- enhancement: remove node_modules and add node_modules to .gitignore by @fenghaojiang in #1852
- chore: add
.git-blame-ignore-revs
by @Colerar in #1853 package{,-lock}.json
: remove accidental files by @Twey in #1856- Use
tuple<>
for the unit type by @jvff in #1859 linera-views
: avoid generating duplicate GraphQL type names by @Twey in #1857- Fix
Credit
message tracking in Fungible Token by @jvff in #1861 - Add a configurable policy for incoming messages. by @afck in #1862
linera-views::dynamodb
: boxaws-sdk-dynamodb
futures by @Twey in #1860- Remove push_to_all_chains by @andresilva91 in #1848
- Test bouncing of tokens rejected by receiver by @jvff in #1863
linera-views
: add local variants of store traits by @Twey in #1843- Fix some typos and comments. by @afck in #1866
- Make clap non-optional in linera-core. by @afck in #1865
- IndexedDB views backend by @Twey in #1630
.github/workflows/documentation
: supersede in-progress publishes by @Twey in #1867- Implement Witty traits for
BTreeMap
andDuration
by @jvff in #1869 - Remove InitializationArgument/Parameters from ContractAbi/ServiceAbi by @andresilva91 in #1844
- Update to the
README.md
and corresponding changes. by @MathieuDutSik in #1868 - Return from add_event and remove_event whether it was new. by @afck in #1870
- Implement Witty traits for
log::Level
by @jvff in #1877 - Use
anyhow::Error
in end-to-end tests by @jvff in #1878 - linera wallet forget-keys command by @andresilva91 in #1871
- linera wallet forget-chain command by @andresilva91 in #1872
- Derive Witty traits for
linera-base
types by @jvff in #1881 - Use u64 microseconds as durations in the protocol. by @afck in #1884
- Increase the gRPC message size limit to 16 MiB. by @afck in #1883
- Remove newline incorrectly added between the test and its attributes by @jvff in #1892
- Simplify current_round computation; remove previous_round. by @afck in #1882
- Ensure WIT types are registered in a deterministic order by @jvff in #1893
- Service engine uses Cranelift instead of Singlepass by @christos-h in #1885
- Fix Linera Explorer by @andresilva91 in #1896
- Use test_case in worker_tests. by @afck in #1894
- Display error in WasmExecutionError::ExecuteModuleInWasmer by @christos-h in #1886
- Rename the aws feature to dynamodb. by @afck in #1901
- Fix the build without RocksDB. by @afck in #1900
- Wait for refund messages before final assertions in Matching Engine end-to-end test by @jvff in #1873
- Fix warnings when building with --no-default-features. by @afck in #1904
- Make linera_chain::manager public, so the docs get published. by @afck in #1903
- Create a
WitInterface
trait to allow creating of WIT interface snippets by @jvff in #1902 - Add fallback/public mode to the chain manager. by @afck in #1899
- Added a Service API to fetch a blob of bytes from a URL by @christos-h in #1887
- Use Witty to declare the application interfaces by @jvff in #1907
- Replace
file-lock
dependency withfs4
in order to support non-POSIX operating systems by @jvff in #1908 - Receive
wasmer::Engine
by reference inInstanceBuilder
constructor by @jvff in #1911 - Add WIT file contents generation to Witty by @jvff in #1910
- Adjusting NFT Webfrontend README by @andresilva91 in #1913
- Make Wallet public and usable in tests with ClientContext. by @afck in #1912
- Add some Wasmer specific getters to Witty by @jvff in #1914
- Generate WIT files using a custom binary by @jvff in #1916
- Add TestClock::sleep to make sleeps respect simulated time. by @afck in #1917
- Add
fetch_url
toServiceSystemApi
type exported by Witty by @jvff in #1919 - Migrate to Witty by @jvff in #1920
- Run check-all-features also without --all-targets. by @afck in #1923
- Restrict read/write access to wallet.json to the user on Unix. by @afck in #1925
- Handle timeouts returned by process_inbox_if_owned in ChainListener. by @afck in #1922
- Use Web-safe time primitives by @Twey in #1926
- Rename the
get_free_port
and introduce one for endpoint. by @MathieuDutSik in #1930 - [amm] Send tokens back to owner's chains by @andresilva91 in #1909
- Remove redundant operation mutation from AMM by @andresilva91 in #1928
- Llm example by @christos-h in #1915
- Adding CloseChain operation to AMM by @andresilva91 in #1929
- Fix incorrect delivery notifications for rejected blocks by @jvff in #1933
- Remove WIT files that are no longer used by @jvff in #1935
- Update Rust to version 1.77.0 by @jvff in #1937
- Insertion of the Ethereum support in Linera by @MathieuDutSik in #1918
- Wasmer v4 by @Twey in #1879
- Disallow grants for broadcast channels by @andresilva91 in #1941
- Update to Rust 1.77.2 by @jvff in #1943
- Clean up some leftover code by @MathieuDutSik in #1944
- Use BlockExecutionOutcome in ExecutedBlock. by @afck in #1940
- Rename contract's
initialize
entrypoint toinstantiate
by @jvff in #1936 - Bounded the
exists
quer...
v0.10.1
Linera: v0.10.1 update
We're very excited to publish Linera v0.10.1! 🚀
We've been working hard to improve the Linera protocol as part of our mission to deliver truly scalable Web3 infrastructure.
Summary
This release fixes an issue that prevented the documentation from appearing on docs.rs, and an issue with multi-owner chains.
What's Changed
linera-version
: useCARGO_MANIFEST_DIR
instead ofPWD
by @Twey in #1837- Fix round notification handling for CLI commands by @afck in #1826
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Linera: v0.10.0 update
We're very excited to publish Linera v0.10.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to deliver truly scalable Web3 infrastructure.
Summary
This release features an improved SDK, making it easier to write applications for Linera.
For a more in-depth breakdown see the 'What's Changed' section.
What's Changed
- Add TestSignable and CryptoHash::debug. by @afck in #1695
- revert two bogus changes in json files from #1697 by @ma2bd in #1701
- Add
linera-storage-service
to Dockerfile by @jvff in #1700 - Wasm compilation for crates by @Twey in #1659
- Improve support for generics in
linera-views-derive
by @jvff in #1467 flake.nix
: addjq
for testing by @Twey in #1703- Add redundant target exemption to config.toml. by @afck in #1699
- Fix linera-views-derive tests. by @afck in #1705
- Add OpenChainConfig. by @afck in #1696
- Chain applications by @afck in #1702
- Move ChainOwnership to linera-base. by @afck in #1706
- Rename chain_application to authorized_applications; allow multiple. by @afck in #1707
- Extract open_chain from execute_operation. by @afck in #1709
- Remove
wit-bindgen
standalone feature requirement by @jvff in #1710 - Fix import in
linera-sdk
macro and Wasm fuel test fixtures by @jvff in #1712 - update README file by @ma2bd in #1711
- Move SystemExecutionState to test_utils. by @afck in #1717
- Turn from_system_state into into_view. by @afck in #1719
- Native Fungible Token App by @andresilva91 in #1675
- Add open_chain and chain_ownership to the system API. by @afck in #1720
- Remove unused ChainManager::is_active. by @afck in #1723
- Added more configuration options to helmfile by @christos-h in #1724
- Add close_chain to the system API. by @afck in #1722
- Faucet URL for testing is configurable via an env var by @christos-h in #1727
- Make snap filenames Windows-compatible. by @afck in #1731
- Use the correct message index in open_chain. by @afck in #1732
- Fix Witty type size alignment by @jvff in #1716
- Fix parameter order in WIT proxy function by @jvff in #1715
- Make open_chain return a result. by @afck in #1730
.github
: continue on error in Rust lint workflow by @Twey in #1737- Support accounts query on native fungible as well by @andresilva91 in #1725
- Fix fungible README hashes by @andresilva91 in #1734
- Native fungible README by @andresilva91 in #1733
- Fix flaky leader timeout test. by @afck in #1741
- Implement
query_iter
for the queries by @MathieuDutSik in #1743 - Add Linera logo to README by @papadritta in #1740
- Add a ChangeApplicationPermissions operation. by @afck in #1744
- Address the hash invalidation problem in QueueView by @MathieuDutSik in #1745
- Add graphQL tests to fungible/native-fungible READMEs by @andresilva91 in #1739
- update logo and first sentences by @ma2bd in #1749
- Consistently spell ID. by @afck in #1747
linera-service
: export agrpc-web
–compatible endpoint by @Twey in #1735- Add missing close_chain function to system_api. by @afck in #1746
- Move app permissions types to linera-base. by @afck in #1754
- Add more context to Unknown Chain error by @andresilva91 in #1757
- Remove empty fungible accounts. by @afck in #1758
- Implement the storage service for the end-to-end tests by @MathieuDutSik in #1679
- Fix non-deterministic RegisterApplications messages. by @afck in #1760
- Remove deprecated NaiveDateTime::from_timestamp_opt. by @afck in #1765
- Send tokens back to owner chain when orders are filled or cancelled. by @afck in #1759
- Fail earlier in retrying CLI wrapper functions. by @afck in #1763
- Upgrade dependencies by @afck in #1767
- Improve invalid discriminant error by @jvff in #1718
- Use
AttributeParameters
to get metadata by @jvff in #1684 - Replace context types with runtime types in SDK by @jvff in #1748
- Generate WIT type declarations by @jvff in #1704
- Reduce usage of RocksDB in tests by @MathieuDutSik in #1768
linera-rpc
: refactor (simple network ↔ gRPC network, client ↔ server) by @Twey in #1736- Add a CloseChain operation to the Matching Engine. by @afck in #1770
- Update service-related packages to support native AFIT by @Twey in #1769
- RPC feature flags for server and simple network by @Twey in #1755
- Some refactor by @MathieuDutSik in #1773
- Clone query argument in mock
try_query_application
API by @jvff in #1776 linera-rpc
: replacegenerate-format
withinsta
by @Twey in #1775- Add a change-ownership command. by @afck in #1772
- Several adjustments to accelerate the CI. by @MathieuDutSik in #1784
- Non Fungible Token App by @andresilva91 in #1774
- Fix Wasmtime fuel consumption calculation by @jvff in #1786
- NFT Web Frontend by @andresilva91 in #1782
- NFT App README by @andresilva91 in #1783
- Change Component Library to Ant Design by @andresilva91 in #1789
- Add
Contract::finalize
entrypoint by @jvff in #1792 - Use images as NFT's payload by @andresilva91 in #1791
- Remove sessions by @jvff in #1780
- Use apply_client_command where appropriate. by @afck in #1797
- Add atomic swaps to Matching Engine README. by @afck in #1794
- Use the wrappable hash and simplifies the views by @MathieuDutSik in #1779
- Add an ArcChainClient wrapper by @afck in #1805
- Move non fungible e2e test by @andresilva91 in #1808
- Including native-fungible and non-fungible READMEs into the readme test by @andresilva91 in #1809
- Introduction of a single server for the test files by @MathieuDutSik in #1781
- Create separate contract and service types with the runtime instance by @jvff in #1778
- Adding minter to mint mutation for NFTs by @andresilva91 in #1806
- Make the
linera-storage-service
handle requests and replies that have size higher than 4M. by @MathieuDutSik in #1788 - `linera...
v0.9.0
Linera: v0.9.0 update
We're very excited to publish Linera v0.9.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to deliver truly scalable Web3 infrastructure.
Summary
This release we focused on internal improvements which won't be as visible to the end-user, with a focus on improving performance and system stability.
For a more in-depth breakdown see the 'What's Changed' section.
What's Changed
- Expand the size in the tombstone correction. by @MathieuDutSik in #1582
- Bump tombstone limit by @christos-h in #1627
- Moving AccountOwner to linera-base by @andresilva91 in #1624
- Reduce work in CI by @ma2bd in #1636
.github/workflows
: use upstream Rust actions by @Twey in #1634scripts/check_copyright_header
: give more useful feedback by @Twey in #1635- Fix a couple of bugs in
cargo-sort
by @Twey in #1631 - Make end-to-end tests work with non-zero fees, and with Devnet. by @afck in #1632
- Allow skipping fields in Witty by @jvff in #1642
- Add a
SharableView
trait by @jvff in #1641 - Get rid of
*_approx
in the end-to-end tests. by @afck in #1644 - nit: about empty log line when starting services by @ma2bd in #1639
- Update toolchain to 1.75 by @Twey in #1643
linera-execution
: Feature-gate Prometheus by @Twey in #1628- Moving system::Account to linera-base by @andresilva91 in #1645
- silence "unknown lints" warning in two files by @ma2bd in #1647
- Implement the shared storage for memory/rocksDb by @MathieuDutSik in #1525
- Creating pd-balanced StorageClass for GCP by @andresilva91 in #1646
- Default to charging fees from the chain account by @ma2bd in #1638
- Implement pagination for
DynamoDB
andScyllaDB
. by @MathieuDutSik in #1654 - Use the assert_matches crate: more helpful output. by @afck in #1663
- Fix code generated for
struct
s with named fields where only one field is skipped by @jvff in #1664 - Closed chains still reject messages. by @afck in #1661
- Introduction of the
AdminKeyValueStore
by @MathieuDutSik in #1640 - Implement a child process for the linera storage server by @MathieuDutSik in #1662
- Sender fees by @ma2bd in #1626
- Waive block fee on closed chains; disallow empty blocks. by @afck in #1670
- Allow rejecting protected messages on closed chains. by @afck in #1669
- Put both the received and the expected epoch in the InvalidEpoch error. by @afck in #1667
- Address the test of existence of child storage service server by @MathieuDutSik in #1673
- Make Error an associated type of AdminKeyValueStore. by @afck in #1665
- Improve InsufficientRound error message. by @afck in #1676
- The faucet must remember the pending block after a restart. by @afck in #1677
- Root chains are subscribed to admin chain from the start. by @afck in #1674
- Improve generics support for the
#[wit_export]
macro by @jvff in #1660 - Refactor Witty feature flags by @jvff in #1672
scripts/linera_net_helper.sh
: stop littering the current directory with temp files by @Twey in #1682- Upgrade to
rand
0.8 everywhere by @Twey in #1678 - Print weights in CommunicationError::Sample by @afck in #1689
- Use configured cross-chain message delivery in FinalizeBlock. by @afck in #1691
- Simplify ValidatorUpdater. by @afck in #1690
- Don't skip if locked block is from different round. by @afck in #1693
- Make linera-execution test utilities public. by @afck in #1694
- change protocol version to 0.9.0 on the main branch by @ma2bd in #1697
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Linera: v0.8.0 update
We're very excited to publish Linera v0.8.0! 🚀
We've been working hard to improve the Linera protocol as part of our mission to deliver truly scalable Web3 infrastructure.
Summary
This release we focused on internal improvements which won't be as visible to the end-user, with a focus on improving performance and system stability.
For a more in-depth breakdown see the 'What's Changed' section.
Upgrading
This update is backwards compatible so you can use your existing wallet from v0.7.1 to continue interacting with the Linera devnet.
You should however update your client by running: cargo install linera-service --bin linera
.
What's Changed
- improve version check by @ma2bd in #1580
- Print more information if request_leader_timeout test assert fails. by @afck in #1583
- Remove most of the meta-counter README. by @afck in #1584
- Add GIT_COMMIT override for version info by @Twey in #1586
- change protocol version to 0.8.0 on the main branch by @ma2bd in #1585
- nit: Rename system_balance in callbacks and chain info queries by @ma2bd in #1574
- improvements to the CLI by @ma2bd in #1577
- Measure the latency to load a chain by @jvff in #1592
VersionInfo
: addget()
method to dynamically get version info by @Twey in #1591- Add git_commit label to Dockerfile by @andresilva91 in #1590
- Improve dashboard tags by @andresilva91 in #1596
- Fix fuel consumption tracking by @jvff in #1599
- Expand the scope of the temporary directories in
RocksDb
by @MathieuDutSik in #1595 .github/workflows/rust.yml
: use fixed version ofcargo-sort
by @Twey in #1597- Removing uneeded Rc usages by @andresilva91 in #1618
- Deduplicate LineraNetConfig impls. by @afck in #1622
- Separate version logic into
linera-version
crate by @Twey in #1594 - Support prepared queries in the
ScyllaDb
code by @MathieuDutSik in #1598 - Add a metric for the number of times
OpenChain
is executed by @jvff in #1625
Full Changelog: v0.7.1...v0.8.0
v0.7.1
What's Changed
- Parallelize cluster initialization by @andresilva91 in #1286
- Wait for Scylladb initialization instead of failing by @andresilva91 in #1293
- Add
specialize
attribute to Witty by @jvff in #1294 linera-sdk
: surface GraphQL errors in failure output by @Twey in #1301linera-views
: Generalize API inmap_view
by @Twey in #1302- Improvement to the
stored_size
code. by @MathieuDutSik in #1298 - Implement the total stored size in storage fees by @MathieuDutSik in #1224
- Change the use statements for smart contracts by @MathieuDutSik in #1299
- CI: correctly deny doc warnings by @Twey in #1304
- Removal of the "delete" and "write_delete". by @MathieuDutSik in #1297
- Update AWS crates by @ma2bd in #1307
- update
linera project new
by @ma2bd in #1306 - Add proxy-internal service to Kubernetes by @andresilva91 in #1314
- Register
#[witty_specialize_with]
attribute by @jvff in #1318 - Fix k8s-local config hosts by @andresilva91 in #1315
- Address two bugs with the handling of prefixes by @MathieuDutSik in #1309
- Stop limiting docker image loading concurrency by @andresilva91 in #1313
- Support custom user data in host functions exported with Witty by @jvff in #1310
- Fix Witty specialization inside tuple types by @jvff in #1321
- Use more suitable tokio Command functions by @andresilva91 in #1319
- Enable --copy for mac users on build_and_redeploy by @andresilva91 in #1311
- Remove total from message limit warning. by @afck in #1324
- Fix support for nested
enum
s in Witty by @jvff in #1323 linera-views
: Add local guard newtypes by @Twey in #1300- Remove
GraphQLView
by @Twey in #1280 - Pass one e2e and one wasm e2e test with Kubernetes by @andresilva91 in #1317
- Box chain manager info fields by @afck in #1329
linera-views
: refactortry_load_entry{,_mut}
by @Twey in #1331- Kill build_and_redeploy by @andresilva91 in #1333
- Increased ingress connection timeouts by @christos-h in #1345
- Support directly testing the existence of keys without downloading the key. by @MathieuDutSik in #1325
- Retry immediately if gRPC client loses connection. by @afck in #1346
- Use runtime actor instead of &dyn trait for all types of contracts by @ma2bd in #1328
- Upgrade Rust to version 1.74.0 by @afck in #1353
- Add a ticker symbol to the fungible example. by @afck in #1349
- Manage the contract execution thread generically from the runtime by @ma2bd in #1351
fungible
: fix web frontend for new GraphQL API by @Twey in #1357- Create new runtime interface for the contract execution thread by @ma2bd in #1352
- Fix panic on user application errors by @jvff in #1350
- Update fungible UI README file. by @afck in #1358
- Clarify the wallet init warning. by @afck in #1360
- Nix update by @Twey in #1359
- Clap 4 by @Twey in #1348
- Moving build-image.yaml to linera-infra by @andresilva91 in #1368
flake.nix
: use a prebuiltrocksdb
to speed compilation by @Twey in #1369- Append environment arguments before the sub-command arguments by @jvff in #1376
- Validate application parameters inside
initialize
of every example by @jvff in #1373 - Fix MatchingEngineApp::get_account_info. by @afck in #1374
- Document CLI by @Twey in #1370
- Introduce
contains_hash
for theStorage
by @MathieuDutSik in #1385 - Add a faucet endpoint to return the current list of validators. by @afck in #1383
- Speed up
find_received_certificates
. by @afck in #1384 - Rename
GreatestLowerBoundIterator
toSuffixClosedSetIterator
by @MathieuDutSik in #1381 - Add linera_base::sync::Lazy by @ma2bd in #1375
- Fix ChainClient::identity if an owner is regular and super. by @afck in #1391
- Display fungible ticker symbol in the UI. by @afck in #1356
- Improvement to the SDK support of
contains_key
andread_multi_values_bytes
by @MathieuDutSik in #1354 - Make make_client async by @andresilva91 in #1377
- Add initial_balance parameter to open_and_assign by @andresilva91 in #1378
- Add initial_funding parameter to create_genesis_config by @andresilva91 in #1379
- Pass all Wasm e2e tests with Shared Kubernetes cluster by @andresilva91 in #1380
- Unify e2e tests and pass all with Shared Kubernetes cluster by @andresilva91 in #1388
- fix: use the
linera_base::sync::Lazy
instead ofonce_cell::sync::Lazy
by @duguorong009 in #1371 - Allow different system runtime implementations by @ma2bd in #1393
- Dynamic support for experimental runtimes by @ma2bd in #1395
- move the client call to stage_block_execution outside of the communication action by @ma2bd in #1402
- Box ChainInfo to prevent stack overflows. by @afck in #1403
- Simplify Wasm modules by @ma2bd in #1399
- feat: add 3 new fields to
ChainStateView::tip_state
(ChainTipState) by @duguorong009 in #1397 - Remove obsolete docker/local-tests. by @afck in #1404
- Introduce
PriceAsk/PriceBid
for the matching engine. by @MathieuDutSik in #1396 - Introduce pagination for Scylla by @MathieuDutSik in #1394
linera-service
: don't drop errors inLocalKubernetesNet::run
by @Twey in #1407- Allow mutable access to custom user data by @jvff in #1408
- Have client discard incoming messages that fail to execute by @ma2bd in #1410
flake.nix
: add kind and Kubernetes by @Twey in #1406linera-service
: remove some unnecessary allocations by @Twey in #1405- Implement integration test for the
matching_engine
smart contract by @MathieuDutSik in #1400 - Correct the authentication of the matching engine application. by @MathieuDutSik in #1411
- Adding option to net up --kubernetes to build within docker container by @andresilva91 in #1409
- Check copyright headers in examples by @jvff in #1415
- Enable the end-to-end test for the matching_engine. by @MathieuDutSik in #1414
- Add synchronous runtime and make it the default for Wasm system APIs by @ma2bd in #1398
- Fix infinite loop in `proces...