v0.13.0
Pre-release
Pre-release
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 #2581
- Use name in the code when generating new linera project by @deuszx in #2578
- Sync admin chain only when needed by @afck in #2538
- Some fixes on README's by @andresilva91 in #2583
- Disable
wat
feature fromwasmer
andwasmtime
by @jvff in #2586 - Update
wasmer
to version4.4.0-linera.5
by @jvff in #2591 - Make finalize-committee a separate command. by @afck in #2589
- Introduce the
new_test_store
and restructure the code. by @MathieuDutSik in #2574 - Follow new chains only if we own them. by @afck in #2598
- Allow creating a ChainClient if the chain is already in the map. by @afck in #2597
- Disable
ed25519-dalek
default features by @jvff in #2602 - Remove ChainClients map. by @afck in #2604
- Miscellaneous fixes in AMM README by @andresilva91 in #2606
- Docker compose metrics by @christos-h in #2575
- Check storage in get_blobs by @andresilva91 in #2609
- Introduce blob_bytes function by @andresilva91 in #2611
linera-execution
: disable multithreading inwasmer-compiler-singlepass
by @Twey in #2617- Remove random_shuffle in favor of SliceRandom's shuffle by @andresilva91 in #2618
- Fix unordered application registration messages by @jvff in #2621
- Move RemoteNode to its own module; move try_query_certificates_from there. by @afck in #2623
- Make the linera-net-tests run on
remote-net
instead ofstorage-service
. by @MathieuDutSik in #2566 - Fixed us typo in proxy. by @christos-h in #2632
- Make sure our test features depend on their dependencies test features by @andresilva91 in #2627
- Clean up left over Bytecode code + some related testing fixes by @andresilva91 in #2607
- Return multiple blobs not found at once by @andresilva91 in #2610
- Reduce the number of initial chains. by @afck in #2626
- Fix name of "long-faucet-chain-test" job in CI by @jvff in #2635
- Fix performance regression caused by disabling
ed25519-dalek
'sfast
feature by @jvff in #2636 - Run long faucet chain test in release mode by @jvff in #2639
- Remove add_blob from ExecutionRuntimeContext and fix dependencies by @andresilva91 in #2638
- Retry node service queries if they timeout by @jvff in #2640
- Revert "Sync admin chain only when needed". by @afck in #2642
- Refactor synchronized_received_certificates_from_validator by @deuszx in #2643
- Make TLS works for the proxy. by @MathieuDutSik in #2619
- Fungible app support send token to applications by @edwardluu in #2587
- Add download certificates endpoint by @deuszx in #2644
- Fix query target in
ContractRuntime::query_service
documentation by @jvff in #2656 - Return from sync_chain_state after a quorum has finished. by @afck in #2653
- Make all_messages_delivered_up_to take tracked_chains into account. by @afck in #2562
- Read certificates from storage in batches of 100 by @deuszx in #2663
- Serialize BTreeMap with keys as strings by @andresilva91 in #2668
- Use the
read_multi_values_bytes
for theread_certificates
by @MathieuDutSik in #2667 - Don't block on subscribe. by @afck in #2673
- Docker validator has 4 shards. by @christos-h in #2672
- (TESTING) Devnet 2024 10 21 by @ma2bd in #2691
- Backport some of the PRs from
main
by @deuszx in #2706 - Port long faucet chain test fixes to devnet by @jvff in #2724
- Add blob size limits. (#2705) by @afck in #2728
- Optimize
synchronize_received_certificates_from_validator
. by @afck in #2737 - Deliver messages to untracked publisher chains. by @afck in #2768
New Contributors
- @edwardluu made their first contribution in #2437
Full Changelog: v0.12.1...v0.13.0