Changelog and Version History
Relevant source files
The following files were used as context for generating this wiki page:
This page documents the development milestones, versioning strategy, and feature releases for the tauri-plugin-centrifugo project. It tracks the evolution of the plugin from its initial release, highlighting major additions such as WebSocket protocol support, JWT authentication, and cross-platform compatibility.
The versioning follows semantic standards, maintaining synchronization between the Rust backend crate and the JavaScript/TypeScript frontend API package to ensure compatibility across the Tauri ecosystem.
Project Versioning Overview
The project maintains two primary components that are versioned in tandem: the Rust crate (managed via Cargo.toml) and the Node.js package (managed via package.json). As of the latest documentation, the project is at version 0.1.2.
| Component | Manifest File | Current Version |
|---|---|---|
| Rust Plugin | Cargo.toml | 0.1.2 |
| JS/TS API | package.json | 0.1.2 |
| Example App | examples/tauri-app/package.json | 0.1.0 |
Sources: Cargo.toml:2, package.json:3, examples/tauri-app/package.json:4
Dependency Evolution
The project utilizes specific versions of core frameworks to ensure stability. The backend relies on Tauri 2.6.2 and tokio-centrifuge 0.2.6, while the frontend requires @tauri-apps/api versions >=2.0.0-beta.6.
Sources: Cargo.toml:13-17, package.json:34-36
Version History and Milestones
[0.1.2] - Latest Stable Release
This version continues to refine the core communication logic between the Rust backend and the Centrifugo server.
[Unreleased] / Initial Release
The project began with a comprehensive feature set designed for real-time WebSocket communication. The initial release established the foundation for the plugin's architecture.
Key Features Added:
- Real-time Communication: Implementation of WebSocket-based interaction with Centrifugo servers.
- Protocol Support: Support for both JSON and Protobuf protocols for data serialization.
- Security: Integration of JWT (JSON Web Token) authentication for secure client connections.
- Subscription Management: Dynamic channel subscription and unsubscription logic.
- Cross-platform Support: Verified compatibility for Linux, Windows, macOS, Android, and iOS.
Sources: CHANGELOG.md:7-16, README.md:9-15
The following diagram illustrates the initial feature distribution across the system layers:
This diagram reflects the features introduced in the initial release of the plugin.
Sources: CHANGELOG.md:7-16, README.md:46-52
Release Management Process
The project uses a structured release process to ensure both the Rust and JavaScript components are built and published correctly. This is defined within the package.json scripts.
| Action | Command | Description |
|---|---|---|
| Release Build | pnpm build && cargo build | Builds both the JS distribution and the Rust library. |
| Publish | pnpm publish && cargo publish | Distributes the packages to NPM and Crates.io respectively. |
Sources: package.json:28-29
The release workflow follows a linear progression from local building to multi-registry distribution:
This flow represents the automated release sequence defined in the project's package manifest.
Sources: package.json:28-29
Architectural Evolution
The plugin architecture was established as a multi-module Rust library to separate concerns during development. This structure has remained consistent since the initial version.
commands: Handlers for frontend-to-backend communication.core: Central logic for the Centrifugo client and state management.models: Definitions for requests, responses, and internal configurations.error: Centralized error handling and custom types.
Sources: src/lib.rs:25-29
Summary
The tauri-plugin-centrifugo project maintains a synchronized versioning history across its Rust and JavaScript components. Starting with a robust initial release that included WebSocket support, JWT authentication, and multi-protocol capabilities (JSON/Protobuf), the project has moved into a stable iteration phase at version 0.1.2. The use of semantic versioning and unified release scripts ensures that developers can reliably integrate real-time Centrifugo features into Tauri applications across all supported platforms.