serde_yml

A Rust library that simplifies YAML serialization and deserialization using Serde.

APACHE-2.0 License

Downloads
157.6K
Stars
18

Bot releases are visible (Hide)

serde_yml - Serde YML 🦀 v0.0.10 Latest Release

Published by github-actions[bot] 5 months ago

Release v0.0.10 - 2024-05-30

Serde YML (a fork of Serde YAML)

GitHub Crates.io Docs.rs Codecov Build Status

A Rust library for using the Serde serialization framework with data in YAML file format. This project, has been renamed to Serde YML to avoid confusion with the original Serde YAML crate which is now archived and no longer maintained.

Credits and Acknowledgements

This library is a continuation of the excellent work done by David Tolnay and the maintainers of the serde-yaml library.

While Serde YML started as a fork of serde-yaml, it has now evolved into a separate library with its own goals and direction in mind and does not intend to replace the original serde-yaml crate.

If you are currently using serde-yaml in your projects, we recommend carefully evaluating your requirements and considering the stability and maturity of the original library as well as looking at the features and improvements offered by other YAML libraries in the Rust ecosystem.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Changelog

What's Changed

Release Notes for v0.0.10

New Features

  • Unit Tests and Examples
    • Added comprehensive unit tests and examples for the following modules:
      • parser.rs
      • util.rs
      • path.rs
      • safe_cstr.rs
      • tag.rs
      • de.rs
      • index.rs
      • emitter.rs

Fixes

  • Bug Fixes
    • Destructuring in match Statements: Fixed an issue where match was used for destructuring a single pattern.

Documentation

  • Documentation Updates
    • Updated the documentation to reflect the latest changes.
    • Improved the clarity of existing documentation.
    • Prepared the documentation for the upcoming v0.0.10 release.

Refactoring

  • Code Refactoring
    • error.rs: Ongoing refactoring to improve the code structure and readability.
    • Examples and Tests: Made minor tweaks to existing examples and added new unit tests to ensure robustness and accuracy.
    • Library Dependencies: Updated dependencies for libyml to maintain compatibility and leverage the latest features.

What's Changed

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/v0.0.9...v0.0.10

serde_yml - v0.0.9

Published by github-actions[bot] 5 months ago

Serde YML (a fork of Serde YAML)

Release v0.0.9 - 2024-05-27

GitHub Crates.io Docs.rs Codecov Build Status

A Rust library for using the Serde serialization framework with data in YAML file format. This project, has been renamed to Serde YML to avoid confusion with the original Serde YAML crate which is now archived and no longer maintained.

Credits and Acknowledgements

This library is a continuation of the excellent work done by David Tolnay and the maintainers of the serde-yaml library.

While Serde YML started as a fork of serde-yaml, it has now evolved into a separate library with its own goals and direction in mind and does not intend to replace the original serde-yaml crate.

If you are currently using serde-yaml in your projects, we recommend carefully evaluating your requirements and considering the stability and maturity of the original library as well as looking at the features and improvements offered by other YAML libraries in the Rust ecosystem.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Changelog

Release Note - Version 0.0.9

General

  • Chore: Minor updates to dependencies were implemented.
  • Documentation: Added logo and made minor tweaks for enhanced visual appeal.
  • Fixed errors in lib.rs and safe_cstr.rs.

Features

  • Added unit tests and updated directory.rs.
  • Implemented sorting of unit tests for macros.

Fixes

  • Resolved the error related to the approximate value of f{32, 64}::consts::PI.
  • Fixed the error regarding the borrowed expression lacking required traits.
  • Removed redundant slicing of the whole range.

Refactoring

  • Improved backwards compatibility with old YAML boolean scalars.

Tests

  • Reorganized the structure of value tests.
  • Added unit tests for macro_partialeq_numeric.
  • Added missing unit tests for ser.rs.
  • Expanded test coverage for Tag and TagFormatError types.
  • Added tests for the Mapping struct in mapping.rs.
  • Included unit tests for macro_from_number.rs.
  • Implemented unit tests for macro_get_field.
  • Added unit tests for the macro_replace_placeholder.

What's Changed

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/0.0.8...v0.0.9

serde_yml - v0.0.8

Published by sebastienrousseau 5 months ago

Serde YML (a fork of Serde YAML)

GitHub Crates.io Docs.rs Codecov Build Status

A Rust library for using the Serde serialization framework with data in YAML file format. This project, has been renamed to Serde YML to avoid confusion with the original Serde YAML crate which is now archived and no longer maintained.

Credits and Acknowledgements

This library is a continuation of the excellent work done by David Tolnay and the maintainers of the serde-yaml library.

While Serde YML started as a fork of serde-yaml, it has now evolved into a separate library with its own goals and direction in mind and does not intend to replace the original serde-yaml crate.

If you are currently using serde-yaml in your projects, we recommend carefully evaluating your requirements and considering the stability and maturity of the original library as well as looking at the features and improvements offered by other YAML libraries in the Rust ecosystem.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Changelog

What's Changed

Enhancements

Forked Serde YAML

  • Hard reset: Hard reset to the latest @dtolnay latest release to keep traceability and retain commits history to the original Serde YAML codebase and credits to the maintainers.
  • Renaming: This project, has been renamed to Serde YML to avoid confusion with the original Serde YAML crate which is now archived and no longer maintained. While Serde YML started as a fork of serde-yaml, it has now evolved into a separate library with its own goals and direction in mind and does not intend to replace the original serde-yaml crate.

CI Improvements

  • ci(serde-yaml): Added a missing release workflow and made minor tweaks to the README for better clarity and documentation. This update ensures smoother and more reliable release processes.
    • Commit: ci(serde-yaml): :green_heart: add missing release workflow and minor tweaks in README
    • fix(serde_yml): 🐛 fix TEMPLATE and workflows by @sebastienrousseau in https://github.com/sebastienrousseau/serde_yml/pull/2
    • fix(serde_yml): 💚 fix wrong branch name

Testing Enhancements

  • test(serde-yaml): Enhanced test coverage by adding new unit tests for mapping.rs. These tests ensure the robustness and reliability of the Mapping struct and its associated methods.

    • Commit: test(serde-yaml): :white_check_mark: add new tests for mapping.rs``
  • test(serde-yaml): Expanded the test suite by adding comprehensive unit tests for the ser.rs module. The new tests cover various serialization scenarios, including scalar values, sequences, maps, nested structures, optional fields, and custom serializers.

    • Commit: test(serde-yaml): :white_check_mark: add unit tests for the ser.rs module
serde_yml - Serde YML 🦀 v0.0.5

Published by github-actions[bot] 6 months ago

Release v0.0.5 - 2024-05-02

Serde YML: Seamless YAML Serialization for Rust

Serde YML is a Rust library that simplifies YAML serialization and deserialization using Serde. Effortlessly convert Rust types to YAML and vice versa. Supports custom structs, enums, and error handling.

Banner of Serde YML

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview

Serde YML is a robust Rust library that simplifies the serialization and deserialization of Rust data structures to and from YAML format using the widely-used Serde framework. With Serde YML, you can effortlessly convert your Rust types into YAML strings and vice versa, streamlining the process of storing, transmitting, and manipulating structured data.providing style guides for your library.

Features

  • Serialize Rust data structures to YAML format
  • Deserialize YAML data into Rust types
  • Support for custom structs and enums using Serde's derive macros
  • Handling of YAML's !tag syntax for representing enum variants
  • Direct access to YAML values through the Value type and related types
  • Comprehensive error handling with Error, Location, and Result types
  • Well-documented with examples and explanations

Changelog 📚

This release introduces several new features, bug fixes, refactoring, documentation updates, and test improvements to the Serde YML library.

New Features

  • Added singleton_map_optional module to handle serialization and deserialization of optional enum fields using a YAML map with a single key-value pair.
  • Introduced singleton_map_with module, which allows combining the singleton_map behavior with other serialize_with attributes or custom serialization/deserialization logic.
  • Added new examples demonstrating the usage of the with module and its various submodules.

Bug Fixes

  • Resolved an issue related to file existence errors during the build process.
  • Fixed formatting issues and unnecessary code qualifications throughout the codebase.
  • Addressed doctest failures by updating the documentation examples.

Refactoring and Optimizations

  • Implemented the libyml Rust library, removing the dependency on external tasks and providing various updates to the codebase.
  • Optimized the YAML loader component for improved performance.
  • Refactored the main.rs file, fixing test cases and enhancing code structure.

Documentation

  • Updated the library's documentation, including examples, usage guidelines, and best practices.

Testing

  • Added unit tests for serialization and deserialization using the Serde YML library.
  • Added new unit tests for loader.rs
  • Introduced tests for YAML document loading, event counting, and ASCII art generation.
  • Implemented Clippy fixes to improve code quality and address linting issues.
  • Resolved an issue related to unnecessary reference dereferencing during testing.

CI

  • Removed the --locked flag from the cargo test command in the CI pipeline.
  • Added new CI jobs for formatting and linting checks.

This release aims to enhance the functionality, usability, and reliability of the Serde YML library by introducing new features, addressing bugs, refactoring the codebase, improving documentation, and strengthening the test suite.

What's Changed

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/v0.0.4...v0.0.5

serde_yml - Serde YML 🦀 v0.0.4

Published by github-actions[bot] 7 months ago

Release v0.0.4 - 2024-04-03

Serde YML: Seamless YAML Serialization for Rust

Serde YML is a Rust library that simplifies YAML serialization and deserialization using Serde. Effortlessly convert Rust types to YAML and vice versa. Supports custom structs, enums, and error handling.

Banner of Serde YML

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview

Serde YML is a robust Rust library that simplifies the serialization and deserialization of Rust data structures to and from YAML format using the widely-used Serde framework. With Serde YML, you can effortlessly convert your Rust types into YAML strings and vice versa, streamlining the process of storing, transmitting, and manipulating structured data.providing style guides for your library.

Features

  • Serialize Rust data structures to YAML format
  • Deserialize YAML data into Rust types
  • Support for custom structs and enums using Serde's derive macros
  • Handling of YAML's !tag syntax for representing enum variants
  • Direct access to YAML values through the Value type and related types
  • Comprehensive error handling with Error, Location, and Result types
  • Well-documented with examples and explanations

Changelog 📚

What's Changed

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/v0.0.3...v0.0.4

serde_yml - Serde YML 🦀 v0.0.3

Published by github-actions[bot] 7 months ago

Release v0.0.3 - 2024-04-01

Serde YML: Seamless YAML Serialization for Rust

Serde YML is a Rust library that simplifies YAML serialization and deserialization using Serde. Effortlessly convert Rust types to YAML and vice versa. Supports custom structs, enums, and error handling.

Banner of Serde YML

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview

Serde YML is a robust Rust library that simplifies the serialization and deserialization of Rust data structures to and from YAML format using the widely-used Serde framework. With Serde YML, you can effortlessly convert your Rust types into YAML strings and vice versa, streamlining the process of storing, transmitting, and manipulating structured data.providing style guides for your library.

Features

  • Serialize Rust data structures to YAML format
  • Deserialize YAML data into Rust types
  • Support for custom structs and enums using Serde's derive macros
  • Handling of YAML's !tag syntax for representing enum variants
  • Direct access to YAML values through the Value type and related types
  • Comprehensive error handling with Error, Location, and Result types
  • Well-documented with examples and explanations

Changelog 📚

  • Merge pull request #6 from sebastienrousseau/feat/serde_yml

What's Changed

New Contributors

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/v0.0.2...v0.0.3

serde_yml - Serde YML 🦀 v0.0.2

Published by github-actions[bot] 7 months ago

Release v0.0.2 - 2024-03-29

Serde YML: Seamless YAML Serialization for Rust

Serde YML is a Rust library that simplifies YAML serialization and deserialization using Serde. Effortlessly convert Rust types to YAML and vice versa. Supports custom structs, enums, and error handling.

Banner of Serde YML

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview

Serde YML is a robust Rust library that simplifies the serialization and deserialization of Rust data structures to and from YAML format using the widely-used Serde framework. With Serde YML, you can effortlessly convert your Rust types into YAML strings and vice versa, streamlining the process of storing, transmitting, and manipulating structured data.providing style guides for your library.

Features

  • Serialize Rust data structures to YAML format
  • Deserialize YAML data into Rust types
  • Support for custom structs and enums using Serde's derive macros
  • Handling of YAML's !tag syntax for representing enum variants
  • Direct access to YAML values through the Value type and related types
  • Comprehensive error handling with Error, Location, and Result types
  • Well-documented with examples and explanations

Changelog 📚

  • feat(serde_yml): ✨ add untagged de tests, quote YAML 1.1 bools during serialization, more string quoting, added documentation comments for the public functions from_str, from_reader, and from_slice

Full Changelog: https://github.com/sebastienrousseau/serde_yml/compare/v0.0.1...v0.0.2

serde_yml - Serde YML 🦀 v0.0.1

Published by github-actions[bot] 7 months ago

Release v0.0.1 - 2024-03-29

Serde YML: Seamless YAML Serialization for Rust

Serde YML is a Rust library that simplifies YAML serialization and deserialization using Serde. Effortlessly convert Rust types to YAML and vice versa. Supports custom structs, enums, and error handling.

Banner of Serde YML

Made With Rust Crates.io Lib.rs Docs.rs License Codecov

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

divider

Overview

Serde YML is a robust Rust library that simplifies the serialization and deserialization of Rust data structures to and from YAML format using the widely-used Serde framework. With Serde YML, you can effortlessly convert your Rust types into YAML strings and vice versa, streamlining the process of storing, transmitting, and manipulating structured data.providing style guides for your library.

Features

  • Serialize Rust data structures to YAML format
  • Deserialize YAML data into Rust types
  • Support for custom structs and enums using Serde's derive macros
  • Handling of YAML's !tag syntax for representing enum variants
  • Direct access to YAML values through the Value type and related types
  • Comprehensive error handling with Error, Location, and Result types
  • Well-documented with examples and explanations

Changelog 📚

ci(serde_yml): 🚑 release fixes

What's Changed

New Contributors

Full Changelog: https://github.com/sebastienrousseau/serde_yml/commits/v0.0.1

Package Rankings