All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Official 1.0 release
No functional changes compared to latest 0.X version
- Added name of invalid field to MoBroItemValidationException
- Added execution mode to json plugin configuration
- Added optional metric to action representing the value adjusted or influenced by that action
- Moved 'Resume' and 'Pause' functionality from plugin interface to scheduler
- Updated dependencies
- Removed possibility for actions to return results
- Added function to IMoBroService to get all currently registered items
- Added additional guard clauses
- Added IMoBroPersistenceManager service
- Added IMoBroFileManager
- Additional validation on item registration
- Added Shutdown function to IMoBroPlugin
- Expose function publicly to set additional detail in PluginException
- Updated to .NET 8
- Added function to IMoBroService to get the current value of a metric
- Seal all model classes
- Removed interfaces for certain model classes
- Removed IDisposable interface from IMoBroPlugin
- Moved Category and Group models to separate folder
- Allow to use DateTimeOffset for MetricValue
- Validation for metric values and plugin items when running locally
- Mapping function from CoreMetricType to the associated MetricValueType
- New 'Currency' MetricValueType
- New core metric types for currencies
- Adjusted default logging template for console
- Split project up into separate SDK and SDK.Core projects
- Moved unit test previously located in the MoBro service repository
- Corrected property name for default value of setting fields
- Json schema for 'mobro_plugin_config.json'
- NuGet package icon
- Plugin wrapper to locally test and debug plugins without the need for the actual MoBro service
- Fixed order of newly added 'Audio' core category
- Added new 'Audio' core category
- Added new 'Angle' core metric type
- Renamed key of numeric settings field from 'numeric' to 'number'
- Support for basic actions
- Pause and resume functions in the MoBroPlugin interface
- Allow to pass additional error details in plugin exceptions
- Option to actively notify service of an unrecoverable error
- Scheduler for recurring tasks
- Switched from polling metrics to the plugin pushing value updates to the service
- Metric value as struct to avoid unnecessary allocations
- Renamed core category 'sound' to 'media'
- Removed core metric type 'miscellaneous'
- Adjustments to the MoBroPlugin and MoBroService interfaces
- Adjustments to the MoBro item builders
- Upgraded to .NET 7
First test release