v0.3.0: Forward, backward, sideward compatibility?
github-actions
released this
01 Apr 16:59
·
1008 commits
to master
since this release
Upgrading
fedimintd
- Stop all federation guardian
fedimintd
s - Make a backup of the whole data dir (contains a bunch of JSON files and a
database
directory) - Verify that all
fedimintd
s in the federation are off - Upgrade the
fedimintd
binary through the deployment method of your choice - Restart all
fedimintd
s - Verify in the admin UI or via
fedimint-cli
that all of them are online again and making progress producing sessions
Note that, when upgrading from 0.2, you will not get the new Meta module, which otherwise gets added automatically to new setups now. In 0.4 we will add functionality that will allow retroactively adding the module. For compatibility with old clients it is still advised to use the meta_override_url
field.
Clients
Just using the new version of the client library should do. There were some rust interface changes, especially around LN gateways, but nothing too major. Reach out on GitHub or Discord if anything is unclear.
Downgrading
Downgrading to previous versions is unsupported and will likely fail.
What's Changed
New Features:
- Dynamic meta fields through the Meta module
- Improved load-test-metrics for better performance insights.
- Capability to pass --auth flag to fedimint-cli dev api.
- Added recovery tool tests for enhanced reliability.
- Enhanced LN payments privacy for LND.
- CLI improvements and more configurable options.
- Added support to pay a lnurls.
- Implemented a special case descriptor for single-guardian instances for smaller on-chain transactions.
- Introduced versioned Gateway API for backward compatibility.
- Introduced a latency test for restore functions.
Fixes and Updates:
- Introduced a simplification for always proposing block height and feerate votes.
- Multiple fixes including singular naming in MintOperationMetaVariant, serialization of enums in snake case for API consistency and adjustment for HTLC processing.
- Addressing warnings and errors for more robust operations and deployment.
- Various fixes to ensure compatibility and optimization across different platforms, networking conditions and operational scenarios.
- Database migrations for consistency and performance.
- Client-side transaction size checks to prevent unexpected server-side rejections
Chore and Maintenance:
- Several chores to clean up code, improve build and testing processes, and update dependencies.
*Introduction of concurrency and latency optimizations. - Documentation improvements including more information on cargo packages and updating READMEs.
- Refactoring efforts for cleaner and more maintainable code design.
Security:
- Updated dependencies and code changes to address known vulnerabilities.
Detailed list of PRs:
- chore: move to self-published version of ldk-node by @elsirion in #3719
- chore: ensure prefix
fedimint
on all published crates by @elsirion in #3721 - feat: improved load-test-metrics by @douglaz in #3717
- Fixes I had to apply to 0.2 to be able to release Fedimint on crates.io by @elsirion in #3729
- chore: suppress tx already submitted error logs by @bradleystachurski in #3733
- feat: read git hash from .cargo_vcs_info.json if compiling release by @elsirion in #3735
- fix:
MintOperationMetaVariant
uses singular name by @elsirion in #3734 - fix(cln-extension): avoid holding the sender lock during HTLC processing by @douglaz in #3742
- fix: use 33 byte tweaks in recovery tool parser by @bradleystachurski in #3746
- chore: ignore uncommitted dbtx writes for endpoint audits by @bradleystachurski in #3756
- fedimint-client secret derivation path in fedimint-CLI by @shaurya947 in #3740
- fix(api): serialize enums in snake case by @elsirion in #3761
- fix: give gateway test more time to send/receive money by @elsirion in #3762
- chore(deps): bump cachix/install-nix-action from 23 to 24 by @dependabot in #3769
- chore(deps): bump cachix/cachix-action from 12 to 13 by @dependabot in #3770
- simplification: always propose block height and feerate votes by @joschisan in #3758
- fix: avoid warnings on recovery from mid session crash by @joschisan in #3775
- chore: add repo link to
Cargo.toml
of published crates by @elsirion in #3776 - fix: nix advisory db update by @douglaz in #3780
- Use IPV4 in tls-download-mutinynet.sh by @TonyGiorgio in #3783
- feat: can pass --auth flag to
fedimint-cli dev api
by @justinmoon in #3749 - feat: added recoverytool tests by @douglaz in #3777
- fix: dont require muc.xmpp as a traefik router by @otech47 in #3800
- fix 'withdraw all' feature by @justinmoon in #3755
- chore: lower cpu use when consensus is running locally in dev profile by @dpc in #3801
- fix: allow
mainnet
as a valid network by @douglaz in #3811 - fix: only send authentication to one peer by @elsirion in #3785
- feat: make FM_NUMBER_OF_ROUTE_HINTS default more explicit by @justinmoon in #3814
- chore: improve organization of ./devimint by @mayrf in #3798
- chore: log successful ln-gateway withdrawal by @mayrf in #3818
- chore: remove unneeded network_to_currency by @benthecarman in #3819
- fix(fedimint-cli): create data dir if doesn't exist by @dpc in #3825
- chore: make
just mprocs
parametric by @elsirion in #3827 - fix: make client less verbose by @elsirion in #3830
- Make LN payments more private by @elsirion in #3816
- fix(gateway): disconnect before changing the network by @douglaz in #3833
- refactor: consensus_encode_to_vec can't fail by @dpc in #3832
- fix: don't depend on std features from lightning-invoice by @elsirion in #3839
- chore: refactor invoice expiration check in client by @TonyGiorgio in #3845
- feat(wallet): special-case descriptor for single-guardian instances by @elsirion in #3821
- chore: bundle per-binary debs and rpms by @dpc in #3836
- chore: update nix flakes by @douglaz in #3850
- Update tls-download-mutinynet.sh to reflect snake case awaiting_password by @TonyGiorgio in #3851
- chore: change info endpoint http method to get by @mayrf in #3847
- feat(fedimint-cli): added support to pay a lnurl by @douglaz in #3848
- Get rid of needless nixpkgs by @dpc in #3823
- fix(gateway): allow setting configuration when disconnected by @douglaz in #3855
- chore: display message warning about docstring requirements by @dpc in #3824
- feat:
just backport-pr
by @dpc in #3861 - fix(cli): increase deposit timeout and make it configurable by @elsirion in #3864
- Increase BYTE_LIMIT to 50k by @shaurya947 in #3867
- feat: ability to customize version string when building custom bins by @dpc in #3858
- chore: change warning to a info by @douglaz in #3873
- test: verify recoverytool includes change outputs by @bradleystachurski in #3865
- CLI: split and combine e-cash by @elsirion in #3879
- chore: change some errors to warns/infos by @douglaz in #3885
- fix: wasm-bindgen 0.2.88 was yanked by @dpc in #3877
- fix(devimint): off-by-one error for mempool transactions by @bradleystachurski in #3893
- refactor(devimint): add get_block_count to bitcoind by @bradleystachurski in #3898
- fix: supply LN invoice features to LN gateway node by @elsirion in #3896
- refactor: amount improvements by @douglaz in #3889
- feat: GlobalClientConfig::federation_name() by @justinmoon in #3908
- chore: deprecate DatabaseSource::Reuse by @dpc in #3913
- fix: make OOB spend cancellation reliable by @elsirion in #3900
- Make CLI spend e-cash more configurable by @elsirion in #3902
- feat: add span for showing operation_id in state machine transition by @maan2003 in #3921
- fix: prevent multiple backport workflows per branch by @bradleystachurski in #3926
- feat(devimint):
devimint version-hash
by @dpc in #3928 - chore: use larger amounts in tests by @shaurya947 in #3872
- feat: better invoice expiration by @douglaz in #3927
- feat(ln-client): make LN gateway known upfront by @elsirion in #3882
- build(deps): bump
fedimint-core
andfedimint-load-test-tool
jsonrpsee to0.21.0
by @oleonardolima in #3934 - chore: refactor
Client
initialization by @dpc in #3918 - fix: more robust lightning receive by @douglaz in #3929
- fix(mint-client): invalidate all spent notes on recovery by @elsirion in #3942
- Make devimint tmp dir much smaller by @dpc in #3932
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #3948
- fix(client): missing expiry time by @douglaz in #3955
- chore: give build instructions to docs.rs by @elsirion in #3952
- fix: retry funding offer by @maan2003 in #3959
- fix(lightning): proper handle timeouts while receiving a payment by @douglaz in #3963
- test: latency of internal payments within fed by @okjodom in #3964
- chore: update zerocopy to fix vulnerability by @douglaz in #3972
- fix: client detects too big transactions and rejects them by @elsirion in #3953
- chore: fix
nix flake show .#
by @dpc in #3973 - chore: separate fedimint config info from gateway info endpoint by @mayrf in #3880
- feat: added comment/description for lnurl invoices by @douglaz in #3971
- feat: latency test for restore by @maan2003 in #3956
- fix: prevent spamming blockchain.info with requests by @dpc in #3969
- fix: wasm dev shell on macos by @dpc in #3986
- feat: more server metrics by @douglaz in #3975
- chore:
nix flake update
by @justinmoon in #4005 - feat: Return preimage when creating ln invoice by @benthecarman in #3997
- chore: fix some typos in the database structs by @m1sterc001guy in #4008
- chore: remove hbbft by @tvolk131 in #3993
- refactor: remove in-built client in devimint fed by @okjodom in #3698
- fix: add exponential backoff to autocommit with random delay by @maan2003 in #4015
- chore: add more logging to SM notifier by @elsirion in #4003
- fix: re-register gateway when routing fees are updated by @m1sterc001guy in #4020
- chore: add Readme.md links in each Cargo.toml by @15IITian in #4030
- feat: restart federation setup by @okjodom in #3669
- build(deps): bump cachix/cachix-action from 13 to 14 by @dependabot in #4032
- build(deps): bump cachix/install-nix-action from 24 to 25 by @dependabot in #4033
- fix: incorrect URL for Launch Lightning Gateway in Mutinynet setup guide by @wqxoxo in #4036
- chore(ci): upload release artifacts on tag builds by @dpc in #4023
- chore: upgrade tonic_lnd to 0.2.0 by @elsirion in #4031
- refactor: rename server db migrations by @m1sterc001guy in #4011
- fix: RUSTSEC-2024-0003 by @maan2003 in #4058
- chore(fedimintd): fix discription of Cargo.toml by @15IITian in #4069
- chore: add discription in Cargo.toml by @15IITian in #4071
- feat: reexport lightning_invoice and bitcoin by @benthecarman in #4065
- Cache session outcome count by @elsirion in #4072
- refactor: Only load federation clients when gateway boots by @m1sterc001guy in #4026
- chore(flake): expose fedimint-dbtool output by @dpc in #4075
- build(deps): bump actions/cache from 3 to 4 by @dependabot in #4053
- refactor: 0.2.1, and 0.1 docker scripts by @Kodylow in #4025
- chore: add Relative path of root README.md by @15IITian in #4038
- fix RUSTSEC-2024-0006 by @maan2003 in #4090
- fix: mark JsonRpcClientError:Call as retryable regardless of code by @shaurya947 in #4097
- test: Run Dummy Migration Tests by @m1sterc001guy in #4018
- refactor: Lightning Dir for Gateway by @Kodylow in #4081
- docs: readme updates remove 0.1 and clovyr broken links by @Kodylow in #4102
- chore: add module dkg message by @m1sterc001guy in #4055
- refactor: tbs by @joschisan in #4009
- refactor: client error handling by @dpc in #4064
- chore: client module recovery refactor by @dpc in #4035
- chore: better (hopefully) lock file handling by @dpc in #4106
- fix: use fedimint-aleph-bft by @maan2003 in #4116
- chore: store Lightning Gateway Registrations by gateway id by @m1sterc001guy in #4114
- chore: rm unused wasm tests cargo.lock by @maan2003 in #4118
- feat: versioned gateway api by @okjodom in #4000
- feat: stream blocks in new refactoring of mint module recovery by @dpc in #4042
- fix: downgrade alephbft by @maan2003 in #4135
- feat: expose pending accepted items in api for recovery and debugging. by @joschisan in #4133
- fix: make single guardian devimint cli test backwards-compatible by @bradleystachurski in #4104
- Add backwards-compatible test matrix by @bradleystachurski in #4010
- feat: await_block LRU cache (non-global) by @dpc in #4080
- chore(fedimint-cli): convert invalid JSON data to JSON string by @15IITian in #4088
- build(deps): bump cachix/cachix-action from 13 to 14 by @dependabot in #4142
- chore: disable discord alerts for backwards-compatibility by @bradleystachurski in #4139
- build(deps): bump cachix/install-nix-action from 24 to 25 by @dependabot in #4141
- fix: ignore TracingSetup error in migration tests by @m1sterc001guy in #4146
- chore: delete incorrect argument by @dpc in #4147
- fix: correct description of
fedimint-build
&fedimint-server
by @15IITian in #4074 - feat(dbtool): delete whole key ranges by @elsirion in #4140
- fix: handle write write conflicts in mem db by @maan2003 in #3989
- fix: make gateway api backwards-compatible by @bradleystachurski in #4136
- chore: specialize
Encodable
/Decodable
for bytes by @dpc in #4145 - fix: make devimint backup & restore test backwards-compatible by @bradleystachurski in #4166
- chore: Client Database Migrations (without state machine migrations) by @m1sterc001guy in #4103
- cleanup: remove redundant session counter from db by @joschisan in #4159
- refactor: remove unused error paths, use expect when possible by @joschisan in #4154
- Better gatewayd logs by @maan2003 in #4175
- fix: remove racy endpoint PENDING_ACCEPTED_ITEMS_ENDPOINT for SESSION_STATUS_ENDPOINT by @joschisan in #4150
- refactor: generic framework for from-history module recoveries by @dpc in #4137
- feat: refactor devimint into a library by @maan2003 in #4176
- fix: make set_active_gateway concurrency safe by @maan2003 in #4162
- chore: re-enable discord alerts for backwards-compatibility by @bradleystachurski in #4177
- fix(justfile): don't use
cargo -p
by @dpc in #4184 - fix: add bitcoind to 0.2.1 mutinynet docker compose by @Kodylow in #4164
- chore: during dkg generate peer-ids by peer name ordering by @dpc in #4178
- chore(ci): cancel previous CI build if new one was submitted by @dpc in #4199
- fix: calculate the batches per sessions correctly to achieve fault tolerance by @joschisan in #4188
- fix: remove non-fault tolerant query strategy by @joschisan in #4189
- fix: pre-commit modified manually by @dpc in #4219
- chore(flake):
nix flake update
by @dpc in #4200 - fix: bump retry count for test_gateway_configuration by @bradleystachurski in #4172
- fix: poll in reconnect test by @bradleystachurski in #4220
- fix: justfile uses import instead of !include by @elsirion in #4228
- chore: print more useful error message on enum decode errors by @elsirion in #4061
- fix: add fedimint-dbtool version-hash by @bradleystachurski in #4232
- chore(ln-client): improve logging when choosing gateway by @elsirion in #4229
- chore: remove Garbage Collection ;) by @dpc in #4227
- chore: clean up documentation for
ILnRpcClient
by @tvolk131 in #4233 - chore: update macos github runners to m1-based
macos-14
by @justinmoon in #4235 - feat(mint-client): include federation join info in
OOBNotes
by @elsirion in #4231 - chore: improve devimint api by @maan2003 in #4237
- fix: fail to upload debs/rpms bundle on master by @dpc in #4244
- chore: update flakebox to remove a workaround by @dpc in #4245
- cleanup: remove unused error paths and consistently retry all errors by @joschisan in #4221
- chore: Migrate
DatabaseVersion
to global namespace by @m1sterc001guy in #4192 - Document fedimintd/src/fedimintd.rs by @isaack-njama in #4113
- chore(ci): test dev shell building by @dpc in #4256
- chore: collect env variables in
envs.rs
modules by @dpc in #4248 - fix: raw bytes Debug formatting by @dpc in #4255
- chore: add backwards compatibility test as just command by @elsirion in #4263
- chore: make debug statement more informative by @15IITian in #4240
- fix: document consensus by @joschisan in #4270
- chore: document version an endpoint was introduced in ... by @dpc in #4267
- Add doc strings to gateway/ln-gateway/src/bin/gatewayd.rs by @okjodom in #4063
- refactor(nix): split workspaceCov into separate build and test steps by @dpc in #4277
- chore: check out if nix-fast-build would work for us by @dpc in #4258
- test gateway fees and revise docker defaults by @okjodom in #4108
- chore: remove unused constants by @m1sterc001guy in #4288
- feat: decoding of url-safe base64 encoding for oobnotes by @dpc in #4259
- feat: wasm test concurrency by @maan2003 in #4291
- chore(portalloc): increase port allocation time by @dpc in #4299
- fix: broken db backward compat (MintRestoreStateMachine) by @dpc in #4274
- cleanup: remove operation id argument from await_tx_accepted by @joschisan in #4296
- fix: remove random timeout from download of client config by @joschisan in #4261
- chore: anti-flakiness spring offensive by @dpc in #4278
- fix: possible panic on server shutdown by @dpc in #4298
- chore: ignore TracingSetup test in client db migration tests by @m1sterc001guy in #4311
- feat: wasm ecash tests by @maan2003 in #4304
- chore: give macos-14 runner some time to cross-compile everything by @dpc in #4316
- fix: switch back to
nix build
for release builds on master by @dpc in #4314 - fix(ci): typo, failing master branch build by @dpc in #4321
- chore: verify_gateway_rpc_success and verify_gateway_rpc_failure by @m1sterc001guy in #4310
- chore: try to re-enable test_can_change_routing_fees by @dpc in #4322
- chore: skip rust_unit_tests in backwards-compatibility tests by @bradleystachurski in #4323
- fix: build containers with normal
nix build
by @dpc in #4324 - fix(ci): don't use nix-fast-build for x-compiling on macos by @dpc in #4336
- fix(memdb): waaay too slow, at least use rwlock by @dpc in #4329
- chore: Notifier::notify improve logging by @dpc in #4330
- chore: add highest-level logs to sends_ecash_out_of_band by @dpc in #4333
- chore: no longer dead code by @dpc in #4334
- fix: recognise vetted gateways configured in base meta by @okjodom in #4138
- chore: improve autocommit error debug messages by @dpc in #4331
- chore: better consensus item formatting by @dpc in #4332
- fix(ci): androideabi -> android in exclude list by @dpc in #4337
- chore: poll longer in devimint by @dpc in #4344
- fix: stackoverflow link returns 403 in CI check by @dpc in #4345
- refactor(flake): export our overlays by @dpc in #4347
- refactor: improve client executor loop by @dpc in #4230
- fix: wait longer for lnd startup in reconnection test by @dpc in #4351
- chore: remove unneeded clippy exceptions by @tvolk131 in #4359
- feat(flake): use
sccache
in the dev shell by @dpc in #4360 - fix: remove use of system time in ln client by @benthecarman in #4356
- feat: simple release signing system by @dpc in #4339
- chore: re-enable sends_ecash_out_of_band_cancel by @dpc in #4320
- chore: remove unused
GatewayRequest
struct by @tvolk131 in #4358 - fix: gitignore mistake for
releases/bins
by @dpc in #4367 - feat: save invite code for each guardian by @kernelkind in #4318
- chore: migrate to miniscript v10 by @tvolk131 in #4086
- feat: Impl Eq & ParialEq for OOBNotes by @benthecarman in #4346
- fix: recovery waiting for the last session to close (mostly in tests) by @dpc in #4148
- chore(nix): export gateway-cln-extension binary by @dpc in #4373
- chore: more wasm tests by @maan2003 in #4328
- chore: add single peer request strategy by @m1sterc001guy in #4361
- fix: flaky latency test by @dpc in #4381
- chore: client state machine migrations by @m1sterc001guy in #4282
- feat: immutable data structure for memdb by @maan2003 in #4335
- refactor(nix): split-out overlays into own files by @dpc in #4375
- chore: include PR titles in failed backport issues by @bradleystachurski in #4382
- chore(nix): re-export bundlers we're using by @dpc in #4374
- chore: use sleep_in_test over sleep in tests by @kernelkind in #4376
- refactor: remove register_with_federation_inner by @m1sterc001guy in #4377
- test: gateway short channel id assignments by @okjodom in #4275
- chore: split latency test into 5 sub-tests to run in parallel by @dpc in #4390
- chore(backward-compat-test): test each version of every component once by @dpc in #4389
- chore(devimint): print out stderr of commands we're running by @dpc in #4391
- chore: switch to signing bundled binaries by @dpc in #4372
- fix: slow client recovery in tests by @dpc in #4392
- fix(mint-client): reissuing eternal notes doesn't block by @elsirion in #4384
- chore: ignore uncommitted transaction during db migrations by @m1sterc001guy in #4394
- feat: generate essential num guardians InviteCode by @kernelkind in #4371
- fix: run real fedimint-ln-gateway tests by @bradleystachurski in #4388
- chore(deps): bump codecov/codecov-action from 3 to 4 by @dependabot in #3189
- Gatewayd migrations by @m1sterc001guy in #4327
- chore: prevent hanging connnections failing builds by @dpc in #4401
- chore(ci): update install-nix-action nixpkgs channel by @dpc in #4402
- chore: switch exported bundlers to deterministic ones by @dpc in #4403
- Degraded federations for devimint and rust tests by @bradleystachurski in #4247
- Remove FederationInfo by @joschisan in #4297
- Add semgrep rule for
.elapsed()
by @bradleystachurski in #4369 - feat: replit support by @Kodylow in #4405
- chore: add basic .editorconfig file by @dpc in #4411
- refactor: run backwards-compatibility tests in parallel by @bradleystachurski in #4413
- chore(client): document joining a federation by @elsirion in #4409
- chore: add blank .semgrepignore & fix findings by @kernelkind in #4417
- Parallel backward compat. tests improvements by @dpc in #4418
- chore: cargo update by @maan2003 in #4408
- fix: Handle http errors in wasm test by @benthecarman in #4420
- feat:
unknown
module by @dpc in #4399 - chore: update rust toolchain by @dpc in #4422
- fix: check if in repl before running replit direnv check by @Kodylow in #4423
- chore: remove unneeded usage of
pub
throughout gateway code by @tvolk131 in #4357 - feat: allow multiple devimint clients with the same name by @maan2003 in #4193
- fix: wrong rust-analyzer version used by @dpc in #4428
- feat: remove gateway from federation by @m1sterc001guy in #4366
- chore: add full matrix option to back-compat by @bradleystachurski in #4425
- fix: flaky test_can_change_routing_fees by @m1sterc001guy in #4410
- chore(mint-client): test parallel spends and reissuances by @elsirion in #4407
- fix: make
String
s in meta backwards compatible by @elsirion in #4438 - chore: include binary name in test version string by @bradleystachurski in #4439
- chore: decrease sleep time when registration fails by @kernelkind in #4414
- chore: update setup docs by @Kodylow in #4441
- fix: persist xmpp message archives by @Kodylow in #4442
- Allow downloading guardian config by @elsirion in #4415
- chore: address comments from #4415 by @elsirion in #4451
- chore: allocate client db prefix range for external use by @dpc in #4445
- chore: allow download backup manually for recovery by @maan2003 in #4453
- chore: bump mio by @maan2003 in #4455
- fix: support fees for primary module inputs by @joschisan in #4437
- chore: cap maximum backup size at 128KiB, 32KiB per module by @dpc in #4343
- chore: bump nixpkgs by @maan2003 in #4454
- feat: helper for canceling a future on task group shutdown by @maan2003 in #4457
- chore: set FM_INVITE_CODE in devimint dev-fed by @maan2003 in #4461
- chore: add stalled-download-timeout nix config in CI by @bradleystachurski in #4468
- fix: Client::has_pending_recoveries by @maan2003 in #4462
- fix(ci): stop notifing about failing merge queue builds by @dpc in #4469
- chore: move dev shell target to
./target-nix
by @dpc in #4470 - feat(dev):
just bench-compilation
by @dpc in #4471 - chore(deps): bump async-channel from 1.9.0 to 2.2.0 by @dependabot in #4466
- chore(deps): bump http from 0.2.11 to 1.1.0 by @dependabot in #4464
- chore(deps): bump jsonrpsee-types from 0.21.0 to 0.22.2 by @dependabot in #4465
- fix: Gateway Enforce Routing Fees by @m1sterc001guy in #4412
- chore(ci): in PR and MQ, build ci version of containers by @dpc in #4472
- fix(ci): cargo doc rebuilding deps by @dpc in #4475
- chore: update log level for mprocs by @bradleystachurski in #4448
- chore: timeouts on version discovery by @dpc in #4476
- chore: increase cross compile timeout in CI by @bradleystachurski in #4487
- fix: wrong git version hash calculated if source dirty by @dpc in #4483
- fix: stick with done progress in recovery handling by @dpc in #4497
- chore: fix nightly clippy warnings by @dpc in #4499
- fix: wait_for_all_recoveries by @maan2003 in #4496
- fix: decrease api discovery timeouts in dev shell and tests by @dpc in #4503
- refactor(client): remove manual client arc counting by @dpc in #4484
- chore(deps): bump tempfile from 3.10.0 to 3.10.1 by @dependabot in #4479
- feat: fuzzing by @dpc in #4494
- chore: client shutdown on handle drop incorrect by @dpc in #4482
- chore(bench-compilation): improve output, bench check etc. by @dpc in #4500
- chore: add method to get recover progress by @maan2003 in #4509
- include wasm-test.sh in test-ci-all (almost) by @dpc in #4474
- fix: api discovery task not being cancellable by @dpc in #4505
- chore(client): on first start, get api version from half of clients by @dpc in #4504
- feat: Rename federation_id() to calculate_federation_id() by @benthecarman in #4506
- test: get denomination from mint server config by @bradleystachurski in #4515
- fix: modules with empty params are broken by @dpc in #4523
- chore: make
fedimnt-cli module <module>
be positional by @dpc in #4522 - chore(ci): cleanup output and print times in test-ci-all by @dpc in #4526
- refactor: remove ldk node in fedimint-testing by @m1sterc001guy in #4521
- chore(deps): bump rocksdb from 0.21.0 to 0.22.0 by @dpc in #4532
- chore(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #4530
- fix(bench-compilation): creating tmp file in wrong target by @dpc in #4534
- refactor: move LnFederationApi to fedimint-ln-client by @m1sterc001guy in #4537
- chore: make the test-ci-all work harder by @dpc in #4524
- feat: Remove active gateway by @m1sterc001guy in #4427
- chore(deps): bump http-body from 0.4.6 to 1.0.0 by @dependabot in #4540
- chore: workaround too long TMPDIR harder by @dpc in #4541
- chore: add defaults to
just test-compatibility
by @dpc in #4546 - cleanup: remove invite code from client db by @joschisan in #4326
- chore: add FM prefix to gateway ID env vars by @m1sterc001guy in #4547
- chore: update jsonrpsee to 0.22.1 by @dpc in #4549
- chore: add
fedimint-empty
module by @dpc in #4511 - chore(ci): print version prefixes in parallel task joblog as well by @dpc in #4552
- chore: cargo upgrade (backwards compatible) by @maan2003 in #4554
- chore(test-ci-all): lower number of parallel jobs on dev machines by @dpc in #4556
- chore(deps): bump cachix/install-nix-action from 25 to 26 by @dependabot in #4529
- chore: remove ignore for test_gateway_client_pay_unpayable_invoice by @m1sterc001guy in #4548
- chore(deps): bump hyper from 0.14.28 to 1.2.0 by @dependabot in #4551
- chore(dev-env):
just devimint-env
by @dpc in #4560 - Port replay protection test by @bradleystachurski in #4550
- chore: get rid of WsAdminClient by @dpc in #4520
- chore: backwards incompatible deps updates (1/n) by @maan2003 in #4557
- Add CONTRIBUTING.md and Contributing Section to README.md by @richarddushime in #4539
- fix: make clang available in fuzz shell by @elsirion in #4565
- Fix CI on master by @elsirion in #4490
- chore: add DoS protection against infinite reader on decoding by @dpc in #4501
- chore: remove repetitive words by @soonsouth in #4566
- chore(prometheus): prefix with fm_ and add lots of metrics by @dpc in #4544
- feat: manual shutdown of client by @maan2003 in #4492
- Followup - Fix CI on master by @bradleystachurski in #4570
- chore:
meta
module by @dpc in #4513 - chore(deps): bump rcgen from 0.10.0 to 0.12.1 by @dependabot in #4569
- chore: disable flaky ecash_oob_highly_parallel by @bradleystachurski in #4574
- feat: make user code put ClientHandle in Arc by @maan2003 in #4538
- chore(metrics): add peer networking metrics by @dpc in #4573
- refactor(metrics): combined and polish existing ln module metrics by @dpc in #4564
- fix(ci): test-ci-all running
parallel
with--eta
by @dpc in #4578 - chore(devimint-env): fixes & improvements by @dpc in #4577
- chore(metrics): monitor application start with version and ver-hash by @dpc in #4575
- fix(devimint-env):
set -euo pipefail
missing by @dpc in #4583 - chore(devimint): faster and cleaner start by @dpc in #4581
- chore(fedimint-cli): print locking message only if lock busy by @dpc in #4582
- chore(fedimint-cli): write json error to stdout by @bradleystachurski in #4563
- feat: federation_id guardian endpoint by @Kodylow in #4576
- chore(latency-tests): reissue more notes by @dpc in #4587
- chore: improve logging by @dpc in #4594
- refactor(consensus): rename
debug
todebug_fmt
by @dpc in #4593 - feat: allow access to FederationError by @maan2003 in #4604
- fix: add_target_dir_to_path using wrong dir by @dpc in #4598
- chore: silence compilation warnings by @dpc in #4592
- chore: disable deprecation warnings by @dpc in #4589
- chore(devimint): add assert_error function by @bradleystachurski in #4605
- chore: remove async from TaskGroup::spawn by @maan2003 in #4601
- chore(devimint): polling maybe a bit too aggressive by @dpc in #4596
- refactor: Move db.rs into server crates by @m1sterc001guy in #4567
- chore: improve error of download config by @maan2003 in #4603
- docs: add section on cachix to dev-env docs by @emilioziniades in #4588
- fix: new clippy lints by @dpc in #4614
- fix: find&replace mistake by @dpc in #4613
- fix: define nextest
dev
profile by @bradleystachurski in #4612 - chore(client): too chatty by @dpc in #4586
- feat: dev commands to decode and encode notes and invite_code to and from json by @Kodylow in #4473
- feat: Support description hashes for invoices by @benthecarman in #4615
- test: port ecash_backup_can_recover_metadata by @bradleystachurski in #4617
- fix: test_gateway_configuration by @m1sterc001guy in #4571
- feat: Support receiving LN for other users by @benthecarman in #3820
- fix(db): version field migration never completing by @dpc in #4585
- [Backport releases/v0.3] fix: remove Database::ensure_global calls by @fedimint-backports in #4632
- [Backport releases/v0.3] chore: expose the client task group by @fedimint-backports in #4640
- [Backport releases/v0.3] fix: bump devimint dkg timeout by @fedimint-backports in #4644
- [Backport releases/v0.3] chore: debug flaky sends_ecash_out_of_band_cancel test by @fedimint-backports in #4646
- [Backport releases/v0.3] feat: add gateway id in lightning operation meta by @fedimint-backports in #4654
- chore: update consensus version (0.3) by @maan2003 in #4639
- [Backport releases/v0.3] chore: helper TaskGroup::spawn_cancellable by @fedimint-backports in #4655
- chore: bump version to 0.3.0-rc.1 by @maan2003 in #4656
- chore: add version to metrics workspace dep by @elsirion in #4634
- [Backport releases/v0.3] feat: Make claim_funded_incoming_contract public by @fedimint-backports in #4683
- [Backport releases/v0.3] feat: add commands to check gatewayd and gateway-cli versions by @fedimint-backports in #4694
- [Backport releases/v0.3] chore(gatewayd): add clap --version by @fedimint-backports in #4706
- [Backport releases/v0.3] Add missing state machine migration by @fedimint-backports in #4709
- [Backport releases/v0.3] fix: database migrations not run by @fedimint-backports in #4708
- fix: autodetect nix pkgs versions from root Cargo.toml by @dpc in #4666
- [Backport releases/v0.3] feat: allow setting up federation via
fedimint-cli
by @fedimint-backports in #4713 - chore: v0.3.0 release candidate 2 by @elsirion in #4711
- backport: fix(fedimint-server): build module decoder registry from config by @maan2003 in #4726
- chore: v0.3.0-rc.3 by @maan2003 in #4728
New Contributors 🎉
- @TonyGiorgio made their first contribution in #3783
- @wqxoxo made their first contribution in #4036
- @kernelkind made their first contribution in #4318
- @richarddushime made their first contribution in #4539
- @soonsouth made their first contribution in #4566
- @emilioziniades made their first contribution in #4588
Full Changelog: v0.2.2...v0.3.0