Skip to content

Releases: Taiizor/tauri-plugin-cache

Tauri Plugin Cache v0.1.6: Native iOS Compression & Bun Support

09 Dec 04:25

Choose a tag to compare

🚀 Tauri Plugin Cache v0.1.6

This release migrates iOS compression to Apple's native Compression framework, adds Bun package manager support, and introduces improved error handling with API enhancements.

✨ New Features

  • Native iOS Compression: Apple's Compression framework integration for better performance
  • Bun Package Manager Support: Faster builds with Bun support across the project
  • Enhanced Error Handling: New CachePluginError enum for better error management
  • Flexible JSON Values: set method now supports arbitrary JSON values
  • Optional Value Responses: New OptionalValueResponse for nullable cache entries
  • Default Compression Method: CompressionMethod enum now has default value support

🔍 Technical Details

  • iOS Compression Rewrite: Migrated from PLzmaSDK to Apple's native Compression framework
  • Tauri SDK Updates: Updated to Tauri 2.9.4 and tauri-plugin 2.5.2
  • Improved Mobile Init: Refactored iOS plugin initialization in mobile.rs
  • Android Error Import: Fixed Error import for Android target compilation
  • CI/CD Enhancements: New multi-platform build workflow with JS API integration
  • Dependency Cleanup: Removed lock files from repository for cleaner dependency management

🧰 Features

  • Type Safety: Full TypeScript typings
  • Cache Statistics: Monitor cache usage
  • Optional TTL: Set expiration times for cache items
  • Disk-based Cache: Persistent data storage and retrieval
  • Data Compression: Enable compression for large data items
  • Cross-Platform: Works on desktop and mobile (Android and iOS)
  • Memory Caching: In-memory caching layer for improved performance
  • Performance Optimized: Buffered I/O and chunked processing for large datasets
  • Multiple Compression Methods: Choose between Zlib (fast) and LZMA2 (high ratio) on all platforms

🚀 Getting Started

# Rust
cargo add tauri-plugin-cache@0.1.6

# JavaScript/TypeScript
bun add tauri-plugin-cache-api@0.1.6
# or
npm install tauri-plugin-cache-api@0.1.6

For documentation and examples, please refer to the README.md file.

What's Changed

  • Migrated iOS compression to Apple's native Compression framework
  • Added Bun package manager support with updated build scripts
  • Introduced CachePluginError enum for improved error handling
  • Refactored set method to support arbitrary JSON values
  • Added OptionalValueResponse for optional cache value returns
  • Fixed iOS plugin initialization in mobile.rs
  • Added Error import for Android target in mobile.rs
  • Updated to Tauri 2.9.4 and tauri-plugin 2.5.2
  • Added comprehensive multi-platform CI build workflow
  • Updated dependencies: flate2, rollup, typescript, and @tauri-apps/api
  • Cleaned up lock files and updated .gitignore

📦 Dependency Updates

Package Previous Current
tauri 2.5.1 2.9.4
tauri-plugin 2.2.0 2.5.2
@tauri-apps/api ^2.5.0 ^2.9.1
flate2 1.1.1 1.1.2
rollup ^4.34.8 ^4.53.3
typescript ^5.7.3 ^5.9.3

Full Changelog: v0.1.5...v0.1.6

Tauri Plugin Cache v0.1.5: Mobile Platform Support for Multiple Compression Methods

05 Jun 17:54

Choose a tag to compare

🚀 Tauri Plugin Cache v0.1.5

This release extends the multiple compression methods support to mobile platforms, with optimized implementations for both Android and iOS.

✨ New Features

  • Platform-Specific Optimizations: Native implementations tailored for each platform
  • Mobile LZMA2 Compression: Optimized LZMA2 compression for mobile environments
  • Automatic Fallback Mechanisms: Graceful degradation when memory limits are reached
  • Full Mobile Support: Complete implementation of cache functionality for Android and iOS
  • Memory-Efficient Processing: Smart memory management for resource-constrained devices

🔍 Technical Details

  • Android Implementation: Native Kotlin implementation with LZMA2 support
  • iOS Implementation: Complete Swift implementation with PLzmaSDK integration
  • Memory Safeguards: Automatic size limits for LZMA2 compression on mobile devices
  • Efficient Buffer Management: Optimized buffer sizes and streaming for large data sets
  • Cross-Platform Consistency: Same compression methods and identifiers across all platforms

🧰 Features

  • Type Safety: Full TypeScript typings
  • Cache Statistics: Monitor cache usage
  • Optional TTL: Set expiration times for cache items
  • Disk-based Cache: Persistent data storage and retrieval
  • Data Compression: Enable compression for large data items
  • Cross-Platform: Works on desktop and mobile (Android and iOS)
  • Memory Caching: In-memory caching layer for improved performance
  • Performance Optimized: Buffered I/O and chunked processing for large datasets
  • Multiple Compression Methods: Choose between Zlib (fast) and LZMA2 (high ratio) on all platforms

🚀 Getting Started

# Rust
cargo add tauri-plugin-cache@0.1.5

# JavaScript/TypeScript
pnpm install tauri-plugin-cache-api@0.1.5

For documentation and examples, please refer to the README.md file.

What's Changed

  • Fixed platform-specific compilation issues
  • Optimized memory usage for mobile environments
  • Created new iOS implementation with PLzmaSDK integration
  • Added complete Android implementation with LZMA2 support
  • Added memory-efficient buffer processing for mobile platforms
  • Ensured consistent behavior across desktop and mobile platforms
  • Implemented automatic compression method fallback for large data sets

Full Changelog: v0.1.4...v0.1.5

Tauri Plugin Cache v0.1.4: Multiple Compression Methods & Enhanced JavaScript API

23 May 22:28

Choose a tag to compare

🚀 Tauri Plugin Cache v0.1.4

This release introduces multiple compression methods, allowing developers to choose between speed and compression ratio based on their specific needs.

✨ New Features

  • Per-Item Compression Method: Select compression method for individual cache items
  • Improved Configuration: Configure default compression method in plugin initialization
  • Visual Testing Tools: Added compression method comparison tools to the example app
  • Enhanced JavaScript API: Added CompressionMethod enum to the JavaScript/TypeScript API
  • Multiple Compression Methods: Choose between Zlib (fast) and LZMA2 (high compression ratio)

🔍 Technical Details

  • Safe Implementation: Removed unsafe code patterns for better memory safety
  • Zlib Compression: Default method, provides balanced speed and compression ratio
  • LZMA2 Compression: Better compression ratio (especially for base64 encoded data), but slower
  • Compression Method Identifiers: Each compressed data includes a method identifier (1 for Zlib, 2 for LZMA2)

🧰 Features

  • Type Safety: Full TypeScript typings
  • Cache Statistics: Monitor cache usage
  • Cross-Platform: Works on desktop and mobile
  • Optional TTL: Set expiration times for cache items
  • Disk-based Cache: Persistent data storage and retrieval
  • Data Compression: Enable compression for large data items
  • Memory Caching: In-memory caching layer for improved performance
  • Performance Optimized: Buffered I/O and chunked processing for large datasets
  • Multiple Compression Methods: Choose between Zlib (fast) and LZMA2 (high ratio)

🚀 Getting Started

# Rust
cargo add tauri-plugin-cache@0.1.4

# JavaScript/TypeScript
pnpm install tauri-plugin-cache-api@0.1.4

For documentation and examples, please refer to the README.md file.

What's Changed

  • Added support for multiple compression methods (Zlib and LZMA2)
  • Enhanced JavaScript/TypeScript API with CompressionMethod enum
  • Improved compression configuration options
  • Added comprehensive testing tools for compression method comparison
  • Fixed unsafe code patterns in compression handling
  • Updated documentation with compression method details and examples

Full Changelog: v0.1.3...v0.1.4

Tauri Plugin Cache v0.1.3: Enhanced Cross-Platform Support & Compression Consistency

22 May 15:59

Choose a tag to compare

🔄 Tauri Plugin Cache v0.1.3

This release improves the consistency between mobile and desktop platforms, providing a more robust cross-platform experience for Tauri Plugin Cache.

🛠️ Improvements

  • Standardized API: The init_with_config function now works identically across all platforms
  • Better Documentation: Clarified documentation about default values and platform capabilities
  • Consistent Compression Settings: Same compression logic and configuration across mobile and desktop platforms
  • Enhanced Mobile Support: Full access to all features on mobile platforms, with the same API experience as desktop

🧰 Features

  • Configurable TTL: Set automatic expiration for cached items
  • Automatic Cleanup: Background task removes expired items
  • Two-Tier Caching: Disk and memory caching for optimal performance
  • Cross-Platform: Works seamlessly on all desktop and mobile platforms
  • Advanced Compression: Configurable compression settings to save storage space
  • Performance Optimized: Buffered I/O and chunked processing for handling large datasets

🚀 Getting Started

# Rust
cargo add tauri-plugin-cache@0.1.3

# JavaScript/TypeScript
pnpm install tauri-plugin-cache-api@0.1.3

For documentation and examples, please refer to the README.md file.

What's Changed

  • Clarified default configuration values
  • Enhanced compression support on mobile platforms
  • Improved consistency in compression settings configuration
  • Fixed inconsistencies between mobile and desktop platforms

Full Changelog: v0.1.0...v0.1.3

Initial Release v0.1.0: Advanced Caching Solution for Tauri Applications

21 May 04:54

Choose a tag to compare

🚀 Initial Release: Tauri Plugin Cache v0.1.0

We're excited to announce the first release of Tauri Plugin Cache, a comprehensive caching solution for Tauri applications. This plugin enables efficient data storage with powerful features that optimize application performance.

Key Features

  • Disk & Memory Caching: Two-tier caching system for optimal performance
  • Configurable TTL: Set automatic expiration for cached items
  • Compression Support: Save space with configurable compression settings
  • Cross-Platform: Works seamlessly on all desktop and mobile platforms
  • Automatic Cleanup: Background task removes expired items
  • Performance Optimized: Buffered I/O and chunked processing for handling large datasets

Getting Started

# Rust
cargo add tauri-plugin-cache

# JavaScript/TypeScript
pnpm install tauri-plugin-cache-api

For documentation and examples, please refer to the README.md file.

What's Changed

  • Implement cache plugin with expiration support and cleanup mechanism by @Taiizor in #1

New Contributors

Full Changelog: https://github.com/Taiizor/tauri-plugin-cache/commits/v0.1.0