Point the OWID submodule at the date range fix - #28
Merged
Conversation
owid-rust moves from bbdb7aa to 86181da2, the merged commit on main of the 51Degrees fork. That commit adds tests proving that the largest four byte minute count the wire format allows, 0xFFFFFFFF, which is 15 February 10186, is inside chrono's date range, so the Rust reader needs no guard where the .NET and Python readers now refuse a count past the end of the year 9999. The library source under fodid/src/owid is copied from the submodule by ci/copy-owid-source.ps1 and is not tracked, so the pin is the only library change here. Nothing else changed in the library since the previous pin. fodid_tests proves through FodId::from_base64 that a 51Did envelope with minute count 0xFFFFFFFF parses without error and that the date read is 04:15 on 15 February 10186.
The publish workflow runs on every push to main and skips versions that crates.io already holds, and both crates are 4.5.2 there, so the hardened reader and the match key rename would never publish without the version moving. These are the first versions that carry the OWID source inside the fodid crate rather than depending on an owid crate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The
owid-rustsubmodule moves from bbdb7aa to 86181da2, the merged commit on main of the 51Degrees fork. That commit (SWAN-community/owid-rust#5) adds tests proving that the largest four byte minute count the wire format allows, 0xFFFFFFFF, which is 15 February 10186, is inside chrono's date range, and tightens the comment inparse.rsthat says so. The Rust reader therefore needs no guard where the .NET and Python readers now refuse a count past the end of the year 9999 withImplementationCapacityExceeded. Nothing else changed in the library since the previous pin, which the hardening change (#27) set. The source underfodid/src/owidis copied from the submodule byci/copy-owid-source.ps1at build time and is not tracked, so the pin is the only library change in this repository.In this repository,
fodid/tests/fodid_tests.rsgains one test. A signed envelope whose minute count is 0xFFFFFFFF parses throughFodId::from_base64without error, the date read is 04:15 on 15 February 10186, and the match key is intact.Verification
All run with
CARGO_TARGET_DIRoutside the checkout afterci/copy-owid-source.ps1copied the source at 86181da2.cargo fmt --all -- --checkis clean.cargo clippy -p fodid -p fiftyone-fodid-cloud --all-targets --all-features -- -D warningsreports no warnings.cargo test -p fodid -p fiftyone-fodid-cloud --all-features: fodid 24 unit, 38 integration (one new) and 19 documentation tests passed, fiftyone-fodid-cloud 20 unit, 4 integration and 2 documentation tests passed, and the two live cloud tests are ignored as usual. No failures.cargo build -p fiftyone-fodid-cloud --no-default-features --target wasm32-wasip1succeeded.cargo package --list -p fodidlistsfodid/src/owid/*.rswith the copiedNOTICEandLICENSE, andcargo package -p fodid --allow-dirtypackaged 24 files (258.6 KiB, 65.9 KiB compressed) and built the packaged crate, which is what a push to main publishes.Publishing
Versions. Both crates move from 4.5.2 to 4.5.3 in this pull request. The publish workflow runs on every push to main and skips versions crates.io already holds, so merging this publishes fodid 4.5.3 and fiftyone-fodid-cloud 4.5.3, the first versions carrying the OWID source inside the fodid crate rather than depending on an owid crate.
cargo package --list -p fodidshows the vendoredsrc/owidfiles, NOTICE and LICENSE in the package.Produced with AI assistance under James Rosewell's direction and needs human review.