Releases: codex-storage/nim-codex
Releases · codex-storage/nim-codex
Release v0.2.5
What's Changed
Testnet
Marketplace address: 0x5378a4EA5dA2a548ce22630A3AE74b052000C62D
Codex
- Add support for slot reconstruction on unavailable slot detection by @cnanakos in #1235
- feat(docker): adjust entrypoint by @veaceslavdoina in #1271
- ci(docker): add stable tag for dist-tests images by @veaceslavdoina in #1273
- chore: increase gas limits by @2-towns in #1272
- chore: improve marketplace integration tests by @2-towns in #1268
- chore: updates codex-contracts-eth submodule by @benbierens in #1278
- chore: update testnet marketplace address by @veaceslavdoina in #1283
New Contributors
Full Changelog: v0.2.4...v0.2.5
Release v0.2.4
What's Changed
Testnet
Marketplace address: 0xd53a4181862f42641ccA02Fb4CED7D7f19C6920B
Codex
- fix(availabilities): use totalRemainingCollateral instead of totalCollateral for comparaison by @2-towns in #1229
- chore(marketplace): use canMarkProofAsMissing by @2-towns in #1188
- chore: fix custom error handling when simulating invalid proofs by @2-towns in #1217
- fix(sales): do not crash when retrieving request fails by @markspanbroek in #1248
- fix(purchasing): fix crash completing future more than once by @markspanbroek in #1249
- fix(tests): fetching past contract events test by @emizzle in #1255
- feat(marketplace) - add command line arg for maxPriorityFeePerGas by @2-towns in #1189
- feat(cirdl): auto-discovery of marketplace contract by @AuHau in #1259
- bumps codex-contracts-eth by @benbierens in #1261
- Improves logging in maintenance module and erasure. by @benbierens in #1264
- fix(sales): fix marketplace block expiry by @markspanbroek in #1258
- bumps to latest nim-json-rpc by @benbierens in #1267
- ci: docker stable tag by @AuHau in #1265
- feat(docker): add codex network support for docker-entrypoint by @veaceslavdoina in #1262
- chore: update testnet marketplace address by @veaceslavdoina in #1270
Full Changelog: v0.2.3...v0.2.4
Release v0.2.3
What's Changed
Testnet
Marketplace address: 0x7c7a749DE7156305E55775e7Ab3931abd6f7300E
Codex
- checked exceptions in stores by @marcinczenko in #1179
- chore(marketplace): switch to websocket by @2-towns in #1166
- Adds missing async-raises for prover.verify by @benbierens in #1237
- fix(integration): fix api validation test by @markspanbroek in #1201
- fix: Support for mapping multiple listener address by @munna0908 in #1236
- fix: sales cleanup cancellation by @2-towns in #1234
- chore: bump contracts by @2-towns in #1238
- ci: use macos arm runners by @veaceslavdoina in #1174
- chore: returns the collateral when a slot is reserved but not filled by @2-towns in #1216
- chore: bump Nim to 2.2.4 by @gmega in #1242
- chore: update testnet marketplace address by @veaceslavdoina in #1245
Full Changelog: v0.2.2...v0.2.3
Release v0.2.2
What's Changed
Network
- fix(slotqueue): simplify slot queue workers by @markspanbroek in #1224
API
- docs(openapi): add local data delete endpoint by @AuHau in #1214
- fix(api): availability creation validation by @AuHau in #1212
- docs(openapi): freeSize non-optional by @AuHau in #1211
Full Changelog: v0.2.1...v0.2.2
Release v0.2.1
What's Changed
Testnet
Marketplace address: 0xDB2908d724a15d05c0B6B8e8441a8b36E67476d3
Codex
- Missing nullability causes json-serialize failure by @benbierens in #1129
- feat(marketplace): indicate that slot is being repaired when trying to download by @2-towns in #1083
- fix(ci): handle coverage as a string to enable gcc 14 on linux by @2-towns in #1140
- Fixes Codex crashes on interrupted downloads by @gmega in #1151
- chore(restapi): add headers to support on progress when downloading by @2-towns in #1150
- chore(marketplace): notify sales when duration, minPricePerBytePerSecond or totalCollateral is updated by @2-towns in #1148
- chore: create new httpClient per request by @2-towns in #1136
- Fix/rework async exceptions by @dryajov in #1130
- chore: fix some typos by @tianzedavid in #1110
- fix: ethers no longer leaks AsyncLockError by @emizzle in #1146
- Trace to Info for DHT/announce record updates by @benbierens in #1156
- fix: optimise erasure encode/decode by @munna0908 in #1123
- feat(integration): use async client instead of standard Nim HTTP client by @gmega in #1159
- chore: add missing custom errors by @2-towns in #1134
- deps: upgrade libp2p & constantine by @munna0908 in #1167
- monitor background tasks on streaming dataset by @dryajov in #1164
- chore: add request validations by @2-towns in #1144
- chore(marketplace) - fix the http error codes when validating the availability requests by @2-towns in #1104
- chore(marketplace): define raises for async pragma by @2-towns in #1165
- feat(marketplace): persistent availabilities by @2-towns in #1099
- fix(marketplace): catch Marketplace_SlotIsFree and continue the cancelled process by @2-towns in #1139
- fixes RandomChunker not respecting padding by @marcinczenko in #1170
- make sure we do not call "get" on unverified Result while fetching in batches by @marcinczenko in #1169
- deps: use constantine sha256 for codex tree hashing by @munna0908 in #1168
- ci: switch out from ubuntu 20.04 by @veaceslavdoina in #1184
- chore(openapi): add required parameters by @2-towns in #1178
- chore(openapi): fix issues by @2-towns in #1187
- Increase gas estimates by @markspanbroek in #1192
- ci: add compatible contracts image for nim-codex docker image by @AuHau in #1186
- chore: add marketplace topic to reservations by @AuHau in #1193
- chore: bump contracts to master by @emizzle in #1197
- ci: add compatible contracts image for nim-codex dist-tests docker images by @veaceslavdoina in #1204
- Codex-contracts hash in version information. by @benbierens in #1207
- ci: trigger python generator upon release by @AuHau in #1208
- chore: update testnet marketplace address by @veaceslavdoina in #1209
Smart contracts
New Contributors
- @tianzedavid made their first contribution in #1110
Full Changelog: v0.2.0...v0.2.1
Release v0.2.0
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
Release v0.1.9
What's Changed
- nix-flake: Add shell definition by @markoburcul in #954
- change default proof period to 2 minutes by @markspanbroek in #989
- makefile: Use do not use -mssse3 instructions on arm by @veaceslavdoina in #990
- chore(openapi): update the openapi spec for the manifest object by @2-towns in #972
- ci: install rust 1.7.9 as required by packages by @veaceslavdoina in #996
- ci: split linux and macos tests by @veaceslavdoina in #997
- Fix concurrency issues by @markspanbroek in #993
- ci: use rust 1.7.9 for release workflow and dockerfile by @veaceslavdoina in #999
- Bumps leveldbstatic to v0.1.6 by @benbierens in #998
- chore: update testnet marketplace address by @veaceslavdoina in #1001
New Contributors
- @markoburcul made their first contribution in #954
Testnet
Marketplace address: 0xAB03b6a58C5262f530D54146DA2a552B1C0F7648
Full Changelog: v0.1.8...v0.1.9
Release v0.1.8
What's Changed
- fix(slot-reservations): Avoid slot filled cancellations by @emizzle in #963
- chore(openapi): add missing fields for debug info endpoint by @2-towns in #969
- Remove duplicate cors header for fetch manifest endpoint by @2-towns in #970
- feat: add metadata to the manifest by @2-towns in #960
- Build Postman Collection by @veaceslavdoina in #973
- chore(openapi): move the upload headers to the POST method by @2-towns in #978
- chore: update dependencies, especially nim-ethers to chronos v4 compatible version by @emizzle in #968
- fix: bumps ethers to fix missing nonce error by @benbierens in #980
- Add ETH_PRIVATE_KEY to Docker entrypoint by @veaceslavdoina in #982
- chore: update testnet marketplace address by @veaceslavdoina in #984
Full Changelog: v0.1.7...v0.1.8
Release v0.1.7
What's Changed
- feat(slot-reservations): support enforcement of slot reservations before filling slot by @emizzle in #934
- fix(restapi): Add cors headers when the request is returning errors by @2-towns in #942
- Handles LPStreamError in chunker by @benbierens in #947
- feat: partial rewards and withdraws by @AuHau in #880
- Adds log to CIRDL to show URL by @benbierens in #948
- ci: linux ci runs on ubuntu-20.04 by @AuHau in #953
- docs: openapi node fix by @AuHau in #950
- Download API upgrade by @benbierens in #955
- chore: new marketplace address for testnet by @veaceslavdoina in #961
Full Changelog: v0.1.6...v0.1.7
Release v0.1.6
What's Changed
- docs(openapi): provider better documentation for space endpoint parameters by @2-towns in #921
- Update Codex Testnet marketplace contract address by @veaceslavdoina in #944
Full Changelog: v0.1.5...v0.1.6