-
-
Notifications
You must be signed in to change notification settings - Fork 102
Comparing changes
Open a pull request
base repository: rmqtt/rmqtt
base: 0.15.0
head repository: rmqtt/rmqtt
compare: 0.16.0
- 17 commits
- 38 files changed
- 1 contributor
Commits on Aug 29, 2025
-
chore: bump version to 0.16.0 and update Docker build process
Version Update: - Bumped workspace version from 0.15.0 to 0.16.0 - Updated all plugin dependencies to 0.16.0 Docker Build Improvements: - **Commented out full release-docker target**: Temporarily disabled complete Docker build - **Enabled latest tag publishing**: Uncommented latest tag pushes for both architectures: - `latest-amd64` and `latest-arm64` for individual architectures - Multi-arch `latest` tag creation in merge target Key Changes: 1. **Version Increment**: Major version bump to 0.16.0 for all components 2. **Docker Pipeline**: - Disabled full release-docker to focus on per-architecture builds - Enabled latest tag publishing for better deployment flexibility - Maintained multi-arch manifest creation for latest tag 3. **Consistency**: All workspace dependencies synchronized to 0.16.0 Benefits: - **Clear Version Progression**: Proper semantic versioning with major release - **Improved Docker Deployment**: More flexible tagging strategy - **Multi-arch Support**: Enabled latest tags for both AMD64 and ARM64 - **Maintenance Friendly**: Commented code preserved for future reference This prepares the codebase for the 0.16.0 release with an improved Docker build and publishing workflow.
Configuration menu - View commit details
-
Copy full SHA for ce24062 - Browse repository at this point
Copy the full SHA ce24062View commit details -
Merge pull request #271 from bittcrafter/master
chore: bump version to 0.16.0 and update Docker build process
Configuration menu - View commit details
-
Copy full SHA for 022e285 - Browse repository at this point
Copy the full SHA 022e285View commit details
Commits on Aug 30, 2025
-
chore(logging): change default log level from Debug to Info
- Changed default logging level from `slog::Level::Debug` to `slog::Level::Info` - Reduces verbosity for production environments - Maintains useful operational logging while minimizing noise - Better out-of-the-box experience for new deployments
Configuration menu - View commit details
-
Copy full SHA for 07e3d12 - Browse repository at this point
Copy the full SHA 07e3d12View commit details -
Merge pull request #273 from bittcrafter/master
chore(logging): change default log level from Debug to Info
Configuration menu - View commit details
-
Copy full SHA for 1c170e5 - Browse repository at this point
Copy the full SHA 1c170e5View commit details
Commits on Aug 31, 2025
-
fix(session): ensure proper cleanup of inflight messages on publish f…
…ailure - Added error mapping to remove inflight entry if `publish()` fails - Separated ACK sending from publish operation for better error handling - Guaranteed inflight message cleanup in both success and error cases This prevents resource leaks when QoS 1 message publishing fails by ensuring the inflight tracking is properly maintained.
Configuration menu - View commit details
-
Copy full SHA for 1101fcd - Browse repository at this point
Copy the full SHA 1101fcdView commit details -
refactor(session): simplify error handling using inspect_err
- Replaced `map_err` with `inspect_err` for cleaner error side effects - Maintains same functionality: removes inflight entry on publish failure - More idiomatic Rust error handling pattern - Keeps original error unchanged while performing cleanup
Configuration menu - View commit details
-
Copy full SHA for 0c921fa - Browse repository at this point
Copy the full SHA 0c921faView commit details -
Merge pull request #2 from bittcrafter/dev/0.16.0-optimize
fix(session): ensure proper cleanup of inflight messages on publish failure
Configuration menu - View commit details
-
Copy full SHA for 2d7c67b - Browse repository at this point
Copy the full SHA 2d7c67bView commit details -
Merge pull request #275 from bittcrafter/master
fix(session): ensure proper cleanup of inflight messages on publish failure
Configuration menu - View commit details
-
Copy full SHA for 0123f93 - Browse repository at this point
Copy the full SHA 0123f93View commit details -
refactor(codec): separate codec and broker publish types and bump cod…
…ec to 0.2.0 Major Architectural Changes: 1. **Version Updates**: - Bumped rmqtt-codec from 0.1.2 to 0.2.0 (major version change) - Updated workspace dependency to use rmqtt-codec 0.2 2. **Type Separation**: - **CodecPublish**: Raw MQTT packet structure used for encoding/decoding - Removed `delay_interval` and `create_time` fields (broker concerns) - Simplified serialization/deserialization - **Publish**: Broker-level structure with additional metadata - Added `target_clientid`, `delay_interval`, and `create_time` fields - Provides higher-level functionality for broker operations 3. **Key Improvements**: - **Separation of Concerns**: Codec layer now purely handles MQTT protocol - **Broker Features**: Delay publishing and creation timestamps moved to broker level - **Type Safety**: Clear distinction between wire format and broker representation - **Performance**: Reduced codec complexity and memory footprint 4. **API Changes**: - Added `Deref` and `DerefMut` implementations for seamless access to inner fields - New builder methods: `target_clientid()`, `delay_interval()`, `create_time()` - Conversion traits between `CodecPublish` and `Publish` 5. **Affected Components**: - All bridge plugins (Kafka, NATS, ReductStore, Pulsar, MQTT) - HTTP API plugin - Message storage systems - System topics - Topic rewriting - Delayed publish handling - Session management 6. **Migration**: - Updated all internal usage to new type system - Maintained backward compatibility through conversion traits - Simplified timestamp handling across the codebase Benefits: - **Clean Architecture**: Clear separation between protocol and business logic - **Improved Maintainability**: Each type has a single responsibility - **Better Performance**: Reduced codec complexity - **Enhanced Flexibility**: Broker can add metadata without affecting protocolConfiguration menu - View commit details
-
Copy full SHA for e045d3d - Browse repository at this point
Copy the full SHA e045d3dView commit details -
Merge branch 'master' of https://github.com/bittcrafter/rmqtt
Configuration menu - View commit details
-
Copy full SHA for fe354b5 - Browse repository at this point
Copy the full SHA fe354b5View commit details -
Merge pull request #276 from bittcrafter/master
refactor(codec): separate codec and broker publish types and bump codec to 0.2.0
Configuration menu - View commit details
-
Copy full SHA for 2d505c8 - Browse repository at this point
Copy the full SHA 2d505c8View commit details
Commits on Sep 13, 2025
-
perf(shutdown): reduce shutdown delay and exit explicitly
- Reduced shutdown delay from 1 second to 100 milliseconds - Added explicit `std::process::exit(0)` for immediate termination - Maintains cleanup opportunity while improving shutdown responsiveness This change provides faster service termination while ensuring the process exits cleanly.
Configuration menu - View commit details
-
Copy full SHA for 08b8719 - Browse repository at this point
Copy the full SHA 08b8719View commit details -
Merge pull request #283 from bittcrafter/dev/0.16.0-optimize
perf(shutdown): reduce shutdown delay and exit explicitly
Configuration menu - View commit details
-
Copy full SHA for ab530c8 - Browse repository at this point
Copy the full SHA ab530c8View commit details -
feat(shared): add targeted client forwarding support
Refactored the shared module across cluster implementations to support two distinct forwarding modes: 1. **Targeted Client Forwarding** (`forward_to_target_client`): - New method added to directly forward messages to a specific client ID - Handles both local and cross-node forwarding scenarios - Uses gRPC for inter-node communication with timeout handling - Maintains statistics for forwarding operations 2. **Subscription-Based Forwarding** (`forward_to_subscriptions`): - Existing broadcast logic now encapsulated in this method - Maintains previous behavior for non-targeted messages **Key Changes:** * Added `get_target_node_id()` method to router for client-node mapping * Modified main `forwards()` method to dispatch based on `publish.target_clientid` presence * Implemented consistent logic across all cluster implementations (broadcast and raft) * Added proper logging and error handling for cross-node communications * Maintained backward compatibility with existing subscription-based forwarding **Files Modified:** * rmqtt-plugins/rmqtt-cluster-broadcast/src/shared.rs * rmqtt-plugins/rmqtt-cluster-raft/src/router.rs * rmqtt-plugins/rmqtt-cluster-raft/src/shared.rs * rmqtt/src/shared.rs This refactor enables more efficient direct messaging while maintaining existing pub/sub functionality.
Configuration menu - View commit details
-
Copy full SHA for 2f8a266 - Browse repository at this point
Copy the full SHA 2f8a266View commit details -
Merge pull request #284 from bittcrafter/dev/0.16.0
feat(shared): add targeted client forwarding support
Configuration menu - View commit details
-
Copy full SHA for e0f489b - Browse repository at this point
Copy the full SHA e0f489bView commit details
Commits on Sep 14, 2025
-
feat: add new p2p-messaging plugin
Introduces a new peer-to-peer messaging plugin to the RMQTT ecosystem. **Changes Made:** * Added new plugin dependency `rmqtt-p2p-messaging` in workspace Cargo.toml * Updated plugin version to 0.16.0 in package metadata * Included the plugin in rmqtt-bin executable dependencies * Added plugin to plugins Cargo.toml features (full and p2p-messaging) * Registered plugin in plugins library exports * Added plugin to default startup configuration in rmqtt.toml * Included plugin registration example in plugins example code **Files Modified:** * Cargo.toml - Added new plugin dependency * rmqtt-bin/Cargo.toml - Added plugin to binary dependencies * rmqtt-plugins/Cargo.toml - Added plugin feature flags * rmqtt-plugins/src/lib.rs - Added plugin module export * rmqtt.toml - Added plugin to default startup list * rmqtt/examples/plugins/src/main.rs - Added plugin registration example This new plugin enables peer-to-peer messaging capabilities within the RMQTT broker ecosystem.
Configuration menu - View commit details
-
Copy full SHA for 3fa363f - Browse repository at this point
Copy the full SHA 3fa363fView commit details -
Merge pull request #285 from bittcrafter/dev/0.16.0
feat: add new p2p-messaging plugin
Configuration menu - View commit details
-
Copy full SHA for 3f1862d - Browse repository at this point
Copy the full SHA 3f1862dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.15.0...0.16.0