Skip to content

Releases: clucompany/cluFullTransmute

v1.4.2

24 Mar 15:23
e125f3e

Choose a tag to compare

  • fix: fix for issue 152336
  • fix: preparing for release 1.4.2
  • workspace: update dependencies

What's Changed

Full Changelog: v1.4.1...v1.4.2

v1.4.1

01 Aug 22:34
1ec5b68

Choose a tag to compare

  • feat: Improved error message to show that this check was triggered due to debug_assert being enabled and the enable require_debug_assert_transmute flag.
  • feat: enable additional debug checks by default on standard unsafe transmute
  • fix: fix build error that occurs with non-standard configuration
  • refactor: rename feature support_size_check_transmute to try_transmute
  • refactor: rename enable flag require_debug_assert_transmute to assert_transmute_mode
  • build: update library version to 1.4.1

What's Changed

Full Changelog: v1.4.0...v1.4.1

v1.4.0

30 Jul 16:57

Choose a tag to compare

1.4.0

  • doc: remove unnecessary information from the table of contents in the documentation
  • examples: remove duplicate example
  • examples: more classic examples, and some new library use cases added.
  • doc: improve the all documentation, make the example on the main page more clear.
  • project: rework keywords and description
  • fix: due to very large changes associated with major refactoring and loss of previous compatibility, raise the library version to 1.4.0

1.3.3

  • refactor: translate transmute function to try style of writing, try other stylistic improvements
  • refactor: refactor the error class, try a different writing style for better readability and usability
  • refactor: completely refactor Contract into TransmuteContract, split input and output instead of t/out
  • feat: contracts now automatically check input and output sizes at compile time
  • fix: fix build error in special situations
  • feat: improve the overall hierarchy of the project a little
  • fix: fix unuse use warning that occurs with certain features
  • fix: fix build issue error_details in no-details mode, make it compatible with details mode
  • feat: improve the error desc text, make it more clear and understandable
  • fix: prefer to use #[inline] instead of #[inline(always)] in favor of compiler decisions
  • feat: add a constant attribute to those functions where it was previously impossible
  • fix: refactor unchecked transmute, improve code style and writing
  • fix: remove unnecessary PhantomData<*ptr> in union since it doesn't make sense anyway due to union never being used outside of function
  • fix: rewrite support-stderr flag to stderr
  • feat: rework error generation, add the ability to enable or disable error details using an additional library, simplify some points
  • fix: fix no-default-features to default-features
  • fix: remove old constant error generation API, use cluConstData library
  • fix: update lib version to 1.3.3
  • fix: improve feature transmute-inline-always and transmute-inline to fix the ability to work with all-features
  • feat: add feature transmute-always-inline, similar to transmute-inline but only includes absolute
  • feat: remove inline functions, replace them with attr inline
  • fix: replace feature inline with transmute-inline

What's Changed

Full Changelog: v1.3.1...v1.4.0

v1.3.1

15 Apr 22:56

Choose a tag to compare

This release implements Rust 2024 support, improves error handling, improves testing.

Highlights:

• Rust edition updated to 2024.
• Library version updated to 1.3.1.
• Continuous integration (CI) improvements.
• Added error formatting in const mode.
• Added new feature require_debug_assert_transmute to force validation of the transmute (requires debug_assert to be enabled).
• Fixed an issue where cargo-miri was not installed for the toolchain.

Other:

• Added track_caller for improved error output.
• Added detailed descriptions of all functions to Cargo.toml.
• Added core::fmt::Display for default errors, regardless of the presence of the standard library.
• Minor fixes in code and tests.

1.3.0

12 May 22:44
2e97741

Choose a tag to compare

  1. Improved code examples.
  2. Improved documentation.
  3. Fixed minor bugs.
  4. Refactored code for improved stability.
  5. Removed Travis CI to use Github CI.
  6. Refactored tests for improved reliability.
  7. Added "inline" compilation flag for inlining functions.

1.2.0

15 Aug 07:54

Choose a tag to compare

  1. Changed version from 1.1.0 to version 1.2.0.
  2. Updated documentation.
  3. New functions added to cargo.toml (contract, compatible_stdapi, support_size_check_transmute).
  4. Updated examples.
  5. Completely changed the file hierarchy, broken compatibility with version 1.1.0 and younger.

1.1.0

02 Jun 19:19

Choose a tag to compare

  1. Updated examples, updated documentation, updated readme
  2. Library version changed to 1.1
  3. Added some const signs of functions
  4. Permanent removal of obsolete modules and functions

1.0.6

07 Apr 21:41

Choose a tag to compare

  1. Documentation updated.
  2. New examples added.
  3. MaybeTransmuteData API refactored to DataTransmutContract API
  4. full_transmute API converted to force_transmute, data size check API added.
  5. Many features have been redesigned due to the redesign.
  6. Minor fixes, preparation for release.

1.0.5

15 Nov 18:06

Choose a tag to compare

  1. The version of the library is raised (1.0.4->1.0.5)
  2. Eliminated all unstable functions of the night compiler
  3. Correction of some methods, transfer of some functions to deprecated
  4. The 2021 edition of the compiler is used.

Waiting for the Rust SafeMannualyDrop library to stabilize.

1.0.3

29 Mar 19:12
0b2743d

Choose a tag to compare

  1. Removed unnecessary night flag.
  2. Code refactoring.
  3. Refactoring localization.