Skip to content

Releases: HenryOwenz/polycrypt-rs

v0.4.5-beta.1

01 Jan 00:13

Choose a tag to compare

Release v0.4.5-beta.1

NOTES:

This beta release focuses on enhancing cross-platform support and introducing cross-compilation capabilities, particularly for Linux environments. It builds upon the previous FFI improvements and adds robust platform-specific build configurations.

FEATURES:

  • Added cross-compilation support for Linux using musl
  • Introduced platform-specific build targets
  • Added combined build target for multi-platform releases

ENHANCEMENTS:

  • Improved Makefile with platform-specific configurations
  • Added musl target support for better Linux compatibility
  • Enhanced build system to support cross-compilation
  • Improved cleanup process for cross-compiled artifacts
  • Added platform-specific library naming conventions

DOCUMENTATION:

  • Updated build instructions for cross-compilation
  • Added platform-specific configuration notes
  • Enhanced Makefile documentation

SYSTEM REQUIREMENTS:

  • For Linux builds: musl-tools
  • For cross-compilation from Mac: x86_64-linux-musl-gcc

BREAKING CHANGES:

  • Build process now requires additional tools for cross-compilation
  • Platform-specific configurations may need updates

KNOWN ISSUES:

  • This is a beta release and may contain bugs or incomplete features
  • Cross-compilation requires specific toolchain setup

NEXT STEPS:

  • Test cross-compiled binaries in various environments
  • Gather feedback on cross-platform compatibility
  • Optimize build process for different platforms
  • Prepare for stable 0.4.x release

Upgrading:

To upgrade to this version, update your Cargo.toml:

[dependencies]
polycrypt-rs = "0.4.5-beta.1"

For the next version iteration, considering the current changes and roadmap, I would suggest targeting v0.4.6-beta.1 for further platform-specific optimizations and potentially v0.5.0 for the stable release once cross-platform support is fully validated.

v0.4.4-beta.1

23 Oct 04:47

Choose a tag to compare

Release v0.4.4-beta.1

NOTES:

This beta release focuses on refactoring the Rust FFI layer, updating the Go and Python wrappers, and introducing benchmarking capabilities. It marks a significant step towards stabilizing the library and preparing for production use case evaluation.

FEATURES:

  • Introduced benchmarking capabilities using the criterion crate

ENHANCEMENTS:

  • Refactored Rust FFI layer for improved error handling and memory management
  • Updated Go wrapper (polycrypt-go) to use new FFI structure
  • Updated Python wrapper (polycrypt-py) to use new FFI structure
  • Improved consistency between Go and Python wrappers
  • Simplified error handling in both wrappers
  • Updated FFI benchmarks to use new FFIResult structure
  • Removed obsolete bench_ffi_allocate_free_buffer benchmark

DOCUMENTATION:

  • Updated README with new project description and usage instructions
  • Added documentation for batch operations

BUG FIXES:

  • Fixed issues related to key validation in FFI layer
  • Resolved memory leaks in FFI functions

BREAKING CHANGES:

  • The FFI interface has been significantly refactored. Projects directly using the FFI layer may need to be updated.
  • The free_byte_array and free_c_char functions have been replaced with free_ffi_result

KNOWN ISSUES:

  • This is a beta release and may contain bugs or incomplete features. Please report any issues on our GitHub issue tracker.

NEXT STEPS:

  • Conduct thorough performance analysis using the new benchmarking tools
  • Optimize performance for real-world use cases
  • Gather feedback from beta testers on the refactored wrappers
  • Prepare for stable 0.4.x release

We encourage users to try out this beta release and provide feedback, particularly on the performance and usability of the refactored FFI layer and language wrappers. Your input will be crucial in shaping the upcoming stable release.

Upgrading:

To upgrade to this version, update your Cargo.toml:

v0.3.0-beta.2

22 Oct 16:50

Choose a tag to compare

v0.3.0-beta.2 Pre-release
Pre-release

Release v0.3.0-beta.2

NOTES:

This beta release focuses on improving the build process and distribution of the polycrypt-rs library, particularly for the Go and Python wrappers. It streamlines the integration of the Rust FFI library with the native language packages, making it easier for developers to build, distribute, and use polycrypt-rs in their projects.

FEATURES:

  • No new features in this release.

ENHANCEMENTS:

  • build: Automate copying of Rust FFI library to Go and Python package directories
  • build: Update Makefile with new commands for distributing and cleaning FFI libraries
  • go: Simplify FFI library path in Go wrapper
  • python: Simplify FFI library path in Python wrapper

DOCUMENTATION:

  • Update .gitignore to exclude Rust FFI library files in various formats

BUG FIXES:

  • No specific bug fixes in this release.

BREAKING CHANGES:

  • The location of the Rust FFI library file has changed for both Go and Python wrappers. Users who have custom build processes may need to update their scripts.

KNOWN ISSUES:

  • This is a beta release and may contain bugs or incomplete features. Please report any issues on our GitHub issue tracker.

NEXT STEPS:

  • Continue gathering feedback from beta testers
  • Further refine the build and distribution process
  • Conduct thorough testing across different platforms and environments
  • Prepare for stable 0.3.0 release

We encourage users to try out this beta release and provide feedback to help us improve the library before the stable 0.3.0 release. Special attention to the build process and library distribution on different platforms would be appreciated.

v0.3.0-beta.1

22 Oct 03:09

Choose a tag to compare

v0.3.0-beta.1 Pre-release
Pre-release

Release v0.3.0-beta.1

NOTES:

  • This beta release marks a significant milestone in the development of polycrypt-rs, introducing native language wrappers for Go and Python. These wrappers provide a more idiomatic and user-friendly interface to the underlying Rust library, making it easier for developers to integrate polycrypt-rs into their projects.

FEATURES:

  • New Feature: Native language wrappers for Go and Python
  • New Feature: Improved project structure with separate packages for Go and Python implementations

ENHANCEMENTS:

  • go: Implement PolyCrypt struct with methods for all cryptographic operations
  • python: Create PolyCrypt class with methods for all cryptographic operations
  • examples: Reorganize and update Go and Python examples to use new wrappers
  • tests: Refactor and expand tests for Go and Python to cover new wrapper implementations
  • build: Update Makefile with new file paths and improved test running commands

DOCUMENTATION:

  • Update README with new project structure and usage instructions for Go and Python wrappers
  • Add inline documentation for Go and Python wrapper implementations

BUG FIXES:

  • Fix potential memory leaks in Go and Python FFI implementations by properly freeing allocated memory

BREAKING CHANGES:

  • The Go and Python interfaces have changed significantly. Users will need to update their code to use the new PolyCrypt struct/class instead of directly calling FFI functions.

KNOWN ISSUES:

  • This is a beta release and may contain bugs or incomplete features. Please report any issues on our GitHub issue tracker.

NEXT STEPS:

  • Gather feedback from beta testers
  • Improve error handling and edge case coverage
  • Conduct thorough performance benchmarking
  • Prepare for stable 0.3.0 release

We encourage users to try out this beta release and provide feedback to help us improve the library before the stable 0.3.0 release.

v0.2.0

21 Oct 10:21

Choose a tag to compare

Release v0.2.0

NOTES:

  • This update significantly enhances the library's capabilities, allowing for more efficient processing of multiple records in a single operation. Users can now perform batch encryption and decryption across all supported languages (Rust, Go, and Python).

FEATURES:

  • New Feature: Batch encryption and decryption functionality
  • New Feature: FFI bindings for batch operations in Go and Python

ENHANCEMENTS:

  • core: Implement decrypt_fields_in_batch and encrypt_fields_in_batch functions in Rust core (src/crypto/encryption.rs)
  • go: Add decryptFieldsInBatch and encryptFieldsInBatch functions to Go bindings
  • python: Add decrypt_fields_in_batch and encrypt_fields_in_batch functions to Python bindings
  • examples: Update Go and Python examples to demonstrate batch operations
  • tests: Add tests for batch operations in Rust, Go, and Python

DOCUMENTATION:

  • Update README with new project description and usage instructions for batch operations

BUG FIXES:

  • No bug fixes in this release