0.5.4: Fuzz testing + TPC parsing fix #410
ChristopherRabotin
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Announcement: ANISE 0.5.4 Released! 🎉
We're excited to announce the release of ANISE v0.5.4, our modern Rust implementation of NASA's SPICE toolkit with Python bindings!
This release brings significant under-the-hood improvements focused on robustness and reliability. The biggest highlight is the introduction of extensive fuzz testing. We've added dozens of fuzz targets that continuously bombard ANISE's core components – including file parsers (SPK, BPC, text kernels), data structures, and calculations – with random data to shake out bugs and edge cases before they reach you. Huge thank you to @jonathan-g-davis for these tests!
Key changes in v0.5.4 include:
reqwestHTTP client with the lighter-weightureqfor fetching remote data, potentially improving build times. Updated core dependencies liketabled,rstest, and GUI libraries (egui/eframe).aarch64Python wheels. We'll re-evaluate adding this back in the future. Other CI processes for artifact handling and testing have been refined.This release makes ANISE more reliable and maintainable, paving the way for future feature development.
As always, please report any issues you encounter. Thank you for using ANISE!
Detailed Changelog
This release focuses on improving robustness through fuzz testing, updating dependencies, refining build processes, and fixing specific issues.
✨ Features & Enhancements
anise/fuzz) targeting various components including file parsing (SPK, BPC, KPL), data structures, almanac operations, and mathematical functions (rotation, interpolation) to significantly improve code robustness and uncover edge cases.reqwestwithureqfor HTTP requests inmetaloadandembed_ephemfeatures.ureqis a smaller dependency, potentially reducing compile times and binary size.1.23D+05) correctly and trims whitespace before parsing floats.MAX_PLANETARY_DATAfrom 64 to 128).div_ceilfor potentially more robust integer division in Hermite interpolation and DAF file record calculations.parse_bytes,convert_tpc_items,convert_fk_items).🐛 Bug Fixes
test_convert_tpcto verify, thanks @translunar for the test case and for your patience!⚙️ Build & CI
aarch64) wheels due to potential build complexities with theureqswitch -- please open a bug report if this causes an issue for your use cases.secretstovarsfor accessing test data paths (e.g.,LAGRANGE_BSP) in CI, likely reflecting a change in sensitivity or access pattern. This allows external contributions' CI tests to run the Lagrange interpolation tests.tabled: 0.17 -> 0.19rstest: 0.24.0 -> 0.25.0eframe,egui,egui_extras: 0.30 -> 0.31 (GUI)egui_logger: 0.6.2 -> 0.6.3 (GUI)parquet,arrow: 54.0.0 -> 55.0.0 (Dev dependency)🧪 Testing
test_convert_tpcto verify TPC file conversion functionality.type9_lagrange_querytest after updating the underlying BSP in the test📊 Data
.bspfiles (DE421, DE430, DE440, DE440s, DE440 type3) from the repository, likely favoring download-on-demand viametaloador reducing repository size.gm_de440.tpcandgmat-lagrange.bspfiles in the repository.📚 Documentation
anise-gui/README.mdregarding the directory from which to run build commands.Pull request summary
New Contributors
Full Changelog: 0.5.3...0.5.4
This discussion was created from the release 0.5.4: Fuzz testing + TPC parsing fix.
Beta Was this translation helpful? Give feedback.
All reactions