Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 20 Jul 20:52
dbb2964

Release v0.0.4 - 2024-07-20

LibYML logo

LibYML (a fork of unsafe-libyaml)

GitHub Crates.io lib.rs Docs.rs Codecov Build Status

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.rs and decode.rs to decouple functionality from api.rs
    • Introduced memory.rs for memory management functions
    • Added internal.rs for internal helper functions
  • 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 return statements
    • 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.rs and yaml_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 📚

Full Changelog: 0.0.3...v0.0.4