Skip to content

Releases: linera-io/linera-protocol

v0.11.0

12 May 20:45
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

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: use CARGO_MANIFEST_DIR instead of PWD 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: box aws-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 and Duration 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 with fs4 in order to support non-POSIX operating systems by @jvff in #1908
  • Receive wasmer::Engine by reference in InstanceBuilder 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 to ServiceSystemApi 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 to instantiate by @jvff in #1936
  • Bounded the exists quer...
Read more

v0.10.1

12 May 20:41
756bc35
Compare
Choose a tag to compare
v0.10.1 Pre-release
Pre-release

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: use CARGO_MANIFEST_DIR instead of PWD 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

12 May 20:41
206563f
Compare
Choose a tag to compare
v0.10.0 Pre-release
Pre-release

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

Read more

v0.9.0

20 Feb 15:44
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

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 #1634
  • scripts/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 and ScyllaDB. by @MathieuDutSik in #1654
  • Use the assert_matches crate: more helpful output. by @afck in #1663
  • Fix code generated for structs 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

06 Feb 16:20
Compare
Choose a tag to compare
v0.8.0 Pre-release
Pre-release

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: add get() 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 of cargo-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

31 Jan 00:35
Compare
Choose a tag to compare
v0.7.1 Pre-release
Pre-release

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 #1301
  • linera-views: Generalize API in map_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 enums 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: refactor try_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 prebuilt rocksdb 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 the Storage 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 to SuffixClosedSetIterator 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 and read_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 of once_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 in LocalKubernetesNet::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 #1406
  • linera-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...
Read more

v0.6.0-alpha

27 Nov 14:39
f2310b4
Compare
Choose a tag to compare
v0.6.0-alpha Pre-release
Pre-release

What's Changed

Read more

v0.5.0-alpha

28 Oct 06:47
Compare
Choose a tag to compare
v0.5.0-alpha Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.4.1...v0.5.0

v0.4.1-alpha

25 Sep 23:50
Compare
Choose a tag to compare
v0.4.1-alpha Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.4.1

v0.4.0-alpha

29 Aug 17:30
Compare
Choose a tag to compare
v0.4.0-alpha Pre-release
Pre-release

What's Changed

  • Renaming Rocksdb by @MathieuDutSik in #920
  • Implement ScyllaDb as a KeyValueStoreClient by @MathieuDutSik in #887
  • Fix internal alignment in frunk heterogeneous lists by @jvff in #929
  • Use heterogeneous lists in code generated by Witty derive macros by @jvff in #937
  • Make round number a u32. by @afck in #938
  • Ignore invalid notifications. by @afck in #939
  • Add support for WIT variants by @jvff in #921
  • Ensure votes are for the correct round in the updater by @afck in #942
  • Add wit_import attribute macro to import functions from Wasm modules by @jvff in #944
  • Add support for Wasmer in Witty by @jvff in #945
  • linera project publish-and-create now uses workspace by @christos-h in #930
  • Add support for Wasmtime in Witty by @jvff in #947
  • Add a parameter max_concurrent_queries for controlling the number of concurrent queries by @MathieuDutSik in #931
  • Fix graphql queries argument requirement by @maxtori in #949
  • Allow creating multi-owner chains. by @afck in #950
  • linera net up and client refactoring by @christos-h in #951
  • Fix types in client wrapper: PublicKey, not Owner by @afck in #952
  • Introduce more debugging techniques by @MathieuDutSik in #948
  • Add wit_export attribute macro to export host functions to Wasm modules by @jvff in #955
  • change the homepage of all crates to linera.dev by @ma2bd in #957
  • Fix detection of fallible functions in Witty by @jvff in #959
  • linera project new version derived from binary version by @christos-h in #956
  • Add reentrancy support to Witty by @jvff in #960
  • Make wallet and storage explicit in READMEs with multiple wallets. by @afck in #961
  • Introduction of the ScyllaDb CI. by @MathieuDutSik in #953
  • ScyllaDb follow-ups by @ma2bd in #964
  • Simplify generics for exporting reentrant functions with Witty by @jvff in #965
  • New round notification, leader timeout value by @afck in #962
  • Create data type(s) (Raw)OutgoingMessage by @ma2bd in #966
  • Code generate mutation root by @christos-h in #954
  • nit: quick follow up with #954 on mutation roots by @ma2bd in #970
  • Several cleanups of the Database support and tests. by @MathieuDutSik in #967
  • Kubernetes deployment for Validators by @andresilva91 in #973
  • Workaround deadlock in tests during calls to sychronous system APIs by @jvff in #972

Full Changelog: v0.3.0...v0.4.0