v0.0.4
Release v0.0.4 - 2024-07-20
LibYML (a fork of unsafe-libyaml)
This library is a fork of unsafe-libyaml, a version of libyaml translated from C to unsafe Rust with the assistance of c2rust.
This project, has been renamed to LibYML for simplicity and to avoid confusion with the original unsafe-libyaml crate which is now archived and no longer maintained.
New Features
-
Code Decoupling: Major refactoring to improve modularity:
- Created
document.rsanddecode.rsto decouple functionality fromapi.rs - Introduced
memory.rsfor memory management functions - Added
internal.rsfor internal helper functions
- Created
-
Enhanced Memory Management: Implemented dedicated functions for memory allocation, reallocation, and freeing in
memory.rs -
Default Trait Implementation: Added Default trait implementation for YAML types
Improvements
-
Error Handling: Implemented consistent error handling throughout the codebase
-
Code Formatting: Resolved various formatting issues and addressed Clippy warnings
-
Documentation: Minor tweaks and versioning updates in the documentation
Bug Fixes
- Fixed a critical segmentation fault issue
- Resolved several compiler warnings and errors:
- Removed unnecessary qualifications
- Fixed unneeded
returnstatements - Corrected misuse of
assert_eq!with boolean literals
Testing
- Expanded Test Suite:
- Added numerous new unit tests across different modules
- Enhanced and reorganized the YAML parser test suite
- Implemented specific tests for
yaml.rsandyaml_malloc
Other Changes
- Updated CodeCov token for improved coverage reporting
- Minor changes to library management
Installation
[dependencies]
libyml = "0.0.4"Release notes are available under GitHub releases.
Rust Version Compatibility
This library is compatible with Rust 1.60 and above.
License
MIT license, same as libyaml.
Changelog 📚
- 0.0.4 by @sebastienrousseau in #3
Full Changelog: 0.0.3...v0.0.4