What's Changed
Breaking ⚠️
--nat
option changed the syntax as a result of the NAT traversal implementation, please check NAT Configuration docs for more details./sales/availability
API changed
Testnet
Marketplace address: 0xfFaF679D5Cbfdd5Dbc9Be61C616ed115DFb597ed
Codex
- Fixes race in testsales by @benbierens in #995
- Fix race condition in testdiscoveryengine by @benbierens in #1002
- Enables stacktrace in docker images by @benbierens in #1013
- fixes incomplete async annotation by @marcinczenko in #1015
- feat: expose underlying nim-ethers errors to logs by @AuHau in #985
- Fixes race condition in initial-proving tests by @benbierens in #1007
- Run release tests for docker images by @veaceslavdoina in #1017
- Send pluralized wantBlock messages by @benbierens in #1016
- Fixes raceconditions in testadvertiser by @benbierens in #1008
- chore(tests): fix unneeded async by @emizzle in #1021
- nix: make derivation and update shell by @markoburcul in #1003
- chore: fix inconsistent metric naming by @vpavlin in #1027
- fix(trackedfutures): removes usage of
then
from tracked futures by @emizzle in #1032 - refactor: marketplace configuration is cached by @AuHau in #1029
- feat: repair is rewarded by @AuHau in #1022
- fix(asyncstatemachine): fixes not awaiting or asyncSpawning futures by @emizzle in #1033
- fix(slotqueue): asyncSpawns futures correctly by @emizzle in #1034
- Validator historical state restoration by @marcinczenko in #922
- fix(sales): replaces
then
withasyncSpawn
by @emizzle in #1036 - ci: split nim-matrix workflow by @veaceslavdoina in #1041
- fix(codexnode): ensure timer loop is asyncSpawned by @emizzle in #1038
- fix(blockexchange): ensures futures are asyncSpawned by @emizzle in #1037
- fix(nodeprocess): asyncspawn capture output by @emizzle in #1045
- refactor(then): removes then util by @emizzle in #1047
- Applies multinodessuite in twonodessuite by @benbierens in #1031
- refactor(trackedfutures): remove return of future from tracked futures api by @emizzle in #1046
- fix(tests/integration): fix bootstrap node spr by @emizzle in #1048
- fix: unhide log-format cli flag by @AuHau in #1049
- chore(openapi): add announceAddresses for debug by @2-towns in #994
- chore: remove old fixme by @2-towns in #1060
- chore: warning cleanup by @AuHau in #1055
- network: support for uPnP and PMP nat traversal by @munna0908 in #1050
- Fix sending of WantBlocks messages and tracking of peerWants by @benbierens in #1019
- Chore/update nim version by @2-towns in #1052
- Add nix service definition for codex by @markoburcul in #1062
- nix: update readme by @markoburcul in #1064
- refactor: marketplace custom errors handling by @AuHau in #1061
- feat(rest): add default content-disposition header for stream download by @2-towns in #981
- Remove duplicate cors header for download network endpoint by @2-towns in #971
- feat: switch to github arm runners by @veaceslavdoina in #1077
- chore(client): delete leftover code from old threaded erasure coding backend by @gmega in #1080
- chore(marketplace): use custom error message when reservation is not allowed by @2-towns in #1079
- ci: create jenkins pipeline and enable build of nim compiler by @markoburcul in #1076
- style: nph formatting by @AuHau in #1067
- chore: ignoring style formatting commit for git blame by @AuHau in #1085
- fix slotqueue worker starvation by @markspanbroek in #1081
- Feat: price per byte by @marcinczenko in #1078
- chore(marketplace): update contracts and add custom errors by @2-towns in #1088
- Minor improvements to download API by @gmega in #1092
- docker: add BOOTSTRAP_NODE_URL to the Docker entrypoint by @veaceslavdoina in #1098
- fix dataset and slot size calculations in integration tests by @marcinczenko in #1095
- add ccache and sccache to speed up CI by @cskiraly in #1074
- use a case-of instead of if for better readability by @dryajov in #1063
- fix(build): compilation on macos when including nim-nat-traversal by @emizzle in #1084
- fix linting in "codex/blockexchange/engine/engine.nim" by @marcinczenko in #1107
- upload OpenAPI artifacts and publish docs only when tagged by @marcinczenko in #1106
- Purging of local datasets by @gmega in #1103
- fix: use ubuntu-24.04 runners for docker workflows by @veaceslavdoina in #1102
- remove uploadedAt from manifest by @dryajov in #1091
- feat: multithreading support for erasure coding by @munna0908 in #1087
- Fix/repostore deletes for non-orphan blocks by @gmega in #1109
- chore(marketplace): add a cache for storage requests by @2-towns in #1090
- chore: Remove deprecated cid function by @2-towns in #1111
- chore(deps): bump ethers to propagate cancellations by @emizzle in #1116
- chore(marketplace): cid should be bytes by @2-towns in #1073
- chore: use results instead of stew/results by @2-towns in #1112
- feat: request duration limit by @AuHau in #1057
- fix(statemachine): do not raise from state.run by @emizzle in #1115
- chore(integration): simplify block expiration integration test by @emizzle in #1100
- perf: contract storage optimizations by @AuHau in #1094
- bump contracts to master by @emizzle in #1122
- Add basic retry functionality by @dryajov in #1119
- chore: update testnet marketplace address by @veaceslavdoina in #1127
Smart contracts
New Contributors
- @munna0908 made their first contribution in #1050
Full Changelog: v0.1.9...v0.2.0