Summary
We're pleased to announce Commodore v1.9.0. The main new features in this release relate to the component template which we've moved out of the Commodore repository into its own repository at https://github.com/projectsyn/commodore-component-template.
We've refactored the command `component new` to be based on [Cruft], to bring the management of the component and configuration package templates in sync again. Apart from unifying the code to manage component and configuration package templates, this also allows us to introduce new commands `component update` and `component sync` which allow users to manage existing Commodore component repositories.
The command `component update` provides support for updating a component's boilerplate to the latest template version, as well as modifying a component's boilerplate. The command allows users to add or remove many component features. The command allows users to enable or disable golden tests for a component. It also allows users to add test cases to a component, and to remove test cases from a component. Please see the [Commodore CLI documentation] for the full set of supported options for `component update`.
The command `component sync` is primarily intended to be run in a CI pipeline to keep components updated. This command replaces the function of modulesync for keeping component boilerplate updated. We've already set up a GitHub action which executes `component sync` for the same set of components that were previously managed by modulesync in the [component template repository].
Apart from the improved component template handling, this release improves the robustness of handling Git repository author information. We've ensured that Git author information provided in environment variables is used for all Git repositories managed by Commodore. Additionally, we added logic to provide fallback author information for the case where Git can't determine author information at all.
[Cruft]: https://cruft.github.io/cruft/
[component template repository]: https://github.com/projectsyn/commodore-component-template
[Commodore CLI documentation]: https://syn.tools/commodore/reference/cli.html#_component_update
Changes