We are excited to announce the release of v0.2.0! This update includes significant under-the-hood changes and refactoring aimed at making it easier to extend Impulse. Additionally, we have introduced several user-facing features and quality-of-life improvements.
Hightlights
Broker Refactor
The broker refactor is now complete, allowing you to create custom brokers as plugins for Impulse. This new architecture will also facilitate the distribution of future first-party brokers outside of our core functionality, enabling us to support a wider range of platforms without bloating the installation.
API Documentation
We have enhanced our API library documentation with comprehensive docstrings. A dedicated KDocs site will be launched soon for easier access.
New Pin/Unpin Commands
We have added new commands that allow for a temporary override of the shutdown behavior, providing greater flexibility in server management.
Expanded Server Lifecycle Configuration
More configuration settings have been exposed, allowing for deeper customization of how the server lifecycle is managed by Impulse.
Revamped Documentation
Our documentation has been completely overhauled and is now presented in a more user-friendly format!
Bugfixes
We have resolved several outstanding bugs related to configuration permissions, parsing issues, and Docker image pulling.
Migration
Warning
There are braking changes in this update. You must read this section before upgrading.
Configuration
As part of our refactoring, we have introduced several breaking changes to our configuration schema. While all keys remain, they have been reorganized to maintain clarity as we expand the options available. You can find the full documentation for the configuration file here.
Renamed Configuration Keys
- inactiveTimeout has been renamed to
lifecycleSettings.timeouts.inactiveGracePeriod
servers: - name: foo lifecycleSettings: timeouts: inactiveGracePeriod: 500 # time in seconds
- forceServerReconciliation has been renamed to
lifecycleSettings.reconciliationBehavior
servers: - name: foo lifecycleSettings: reconciliationBehavior: ON_STOP
- serverReconciliationGracePeriod has been renamed to
lifecycleSettings.timeouts.reconciliationGracePeriod
servers: - name: foo lifecycleSettings: timeouts: reconciliationGracePeriod: 60 # time in seconds
Default Behavior Changes
By default, servers will no longer stop after 5 minutes of inactivity; they will now run indefinitely unless specified otherwise.
What's Changed
- Refactor brokers into addon modules by @dabb1e in https://github.com/Arson-Club/Impulse/pull/11
- Rename warm command and fix status by @dabb1e in https://github.com/Arson-Club/Impulse/pull/12
- Expose server lifecycle settings in config by @dabb1e in https://github.com/Arson-Club/Impulse/pull/13
- Catch exceptions when trying to init ConfigManager by @dabb1e in https://github.com/Arson-Club/Impulse/pull/15
- Feature/unit testing by @dabb1e in https://github.com/Arson-Club/Impulse/pull/16
- Fix docker image auto pull logic by @dabb1e in https://github.com/Arson-Club/Impulse/pull/17
- Add pin & unpin commands by @dabb1e in https://github.com/Arson-Club/Impulse/pull/18
- Update Documentation for Release by @dabb1e in https://github.com/Arson-Club/Impulse/pull/19
Full Changelog: https://github.com/Arson-Club/Impulse/compare/v0.1.0...v0.2.0
Information
Published on | February 9, 2025 |
---|---|
Downloads | 2 |