Skip to content

Releases: projectsyn/commodore

v1.3.1

14 Jun 13:55
v1.3.1
047fa70

Choose a tag to compare

Summary

We're pleased to announce the release of Commodore v1.3.1. This is a pure bugfix release which addresses a bug which only manifests when compiling a cluster for the first time when the cluster catalog repository is completely empty.

Changes

1 changes since v1.3.0

🐛 Fixes

  • Fix bug in catalog update logic for initial compilation of a cluster (#531)

v1.3.0

10 Jun 14:19
v1.3.0
e4e5a16

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.3.0. Apart from a number of dependency updates, this release fixes the .gitignore file in the component template and improves the README.md in the component template to contain a link to the rendered component documentation on the Commodore Components Hub.

Changes

10 changes since v1.2.0

🚀 Features

  • Add link to rendered documentation in component template README (#529)

🐛 Fixes

  • Fix component template .gitignore entries (#528)

🔗 Dependency Updates

  • Update dependency pylint to v2.14.1 (#521)
  • Update dependency docker.io/python to v3.10.5 (#524)
  • Update dependency pyxdg to v0.28 (#522)
  • Update dependency docker.io/alpine to v3.16 (#513)
  • Update dependency responses to v0.21.0 (#519)
  • Lock file maintenance (#523)
  • Restrict cookiecutter version to <2 (#525)
  • Update actions/setup-python action to v4 (#527)

v1.2.0

25 May 08:50
v1.2.0
9be16b7

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.2.0. This release brings additional features for working with configuration packages. Commodore v1.2.0 introduces new commands package new and package compile which can be used to bootstrap new config packages and compile config packages standalone respectively.

Please note that -- in contrast to command component new -- the command package new fetches the package template from an external Git repository and uses Cruft to render the Cookiecutter template which allows users to update their packages to the latest template version.

We're currently planning to provide more seamless Cruft update support in a future Commodore release.

Changes

11 changes since v1.1.1

🚀 Features

  • Add command commodore package compile (#505)
  • Add flags --local and --no-fetch-dependencies for package compile (#506)
  • Add command package new (#509)
  • Add support for adding additional test cases in new config packages (#510)

🛠️ Minor Changes

  • Remove redundant parameter fetch_dependencies of kapitan_compile (#508)
  • Change package compile to always use a temporary directory (#514)

🔗 Dependency Updates

  • Lock file maintenance (#507)
  • Lock file maintenance (#512)
  • Explicitly specify oauthlib as a dependency (#515)
  • Explicitly specify pyjwt as a dependency (#516)
  • Remove all version range specifications for dependencies in pyproject.toml (#517)

v1.1.1

09 May 15:52
v1.1.1
fa8e1a5

Choose a tag to compare

Summary

This release fixes unexpected errors about illegal component library names when compiling a component (or cluster) while there's temporary hidden files present in the component's library directory (e.g. a Vim swap file).

Additionally, the release adds support for printing help text of Commodore commands with -h.

Changes

3 changes since v1.1.0

🚀 Features

  • Configure CLI to also accept -h to print help text (#503)

🐛 Fixes

  • Skip hidden files when enumerating component library files (#502)

🔗 Dependency Updates

  • Lock file maintenance (#501)

v1.1.0

06 May 12:58
v1.1.0
732c477

Choose a tag to compare

Summary

This release introduces support for configuration packages (cf. https://syn.tools/syn/SDDs/0028-reusable-config-packages.html) in commodore catalog compile.

Changes

3 changes since v1.0.2

🚀 Features

  • Add support for configuration packages in commodore catalog compile (#497)

🛠️ Minor Changes

  • Refactor commodore.dependency_mgmt into a package (#498)

🔗 Dependency Updates

  • Lock file maintenance (#496)

v1.0.2

26 Apr 08:25
v1.0.2
4abd547

Choose a tag to compare

Summary

This release makes support for OIDC configuration auto-discovery more robust.

Changes

1 changes since v1.0.1

🐛 Fixes

  • Use url_normalize() when auto-discovering OIDC config (#495)

v1.0.1

25 Apr 09:02
v1.0.1
3866b6f

Choose a tag to compare

Summary

This release ensures that the Commodore OIDC login support also works when running Commodore in Docker.

Changes

5 changes since v1.0.0

🐛 Fixes

  • Fix Commodore OIDC login when running in Docker (#493)

🔗 Dependency Updates

  • Lock file maintenance (#488)
  • Update mikepenz/release-changelog-builder-action action to v3 (#487)
  • Pin tox and autopep8 versions in pyproject.toml (#489)
  • Lock file maintenance (#492)

v1.0.0

12 Apr 14:46
v1.0.0
07de5af

Choose a tag to compare

Summary

We're pleased to announce Commodore v1.0.0 after 1463 commits across 326 merged PRs and 40 v0.x releases. It took us a bit less than two and a half years (907 days since the initial commit in the repo) to get to v1.0.0. Over this time, we've gotten code contributions from 17 different authors. At this point, we'd like to thank everyone who's contributed code or ideas to Commodore.

For those curious, Commodore started out as a single file Python script with 82 lines of code (8ada1d7). Over time, the code base has grown to 3480 lines of Python code and 5243 lines of tests for Commodore v1.0.0. We're happy to note that Commodore's test coverage is approximately 93%.

The bulk of the release consists of removing features which were deprecated in various v0.x releases.

Please note that Commodore v1.0.0 drops support for Python 3.7. We encourage users to upgrade to Python 3.8, 3.9 or 3.10. If that's not possible for you, please use the pre-built Docker image.

Changes

31 changes since v0.17.1

🚀 Features

  • Add linter for deprecated inventory parameters (#463)
  • Add command commodore fetch-token to print API token to stdout (#475)
  • Raise error when compiling a cluster which uses removed reclass variables (#482)
  • Raise error when compiling a component which uses removed reclass variables (#483)

🛠️ Minor Changes

  • Refactor component_compile() (#448)
  • Refactor _discover_components() to reduce complexity (#449)
  • Refactor _push_catalog() to return early in local mode (#450)
  • Add test for update_catalog() (#452)
  • Modularize inventory linting infrastructure (#461)
  • Add more tests for builtin postprocessing filters (#466)
  • Add more tests for the Jsonnet postprocessing filter runner (#467)
  • Add integration test for catalog compile --local (#472)
  • Add tests for CLI functions (#477)
  • Add tests for catalog.catalog_list (#481)
  • Convert type annotations for standard collections to PEP-585 (#484)

🔎 Breaking Changes

  • Remove support for external postprocessing filter definitions (#453)
  • Remove deprecated parameter component_versions (#454)
  • Remove deprecated inventory parameters (#460)
  • Remove support for component specifications without an explicit version (#462)
  • Remove support for multi-instance advertisement in top-level parameter multi_instance (#464)
  • Raise error for component library name with invalid prefix (#469)
  • Remove Python 3.7 support (#476)

🐛 Fixes

  • Correctly remove dangling link destinations in relsymlink() (#456)
  • Fix potential KeyError in tokencache.get() (#458)
  • Fix edge cases in _is_semantic_diff_kapitan_029_030() (#451)
  • Fix KeyError in error message for invalid postprocessing filters (#465)

📄 Documentation

  • Update README (#485)

🔗 Dependency Updates

  • Update dev dependencies (#470)
  • Pin all dependency versions in pyproject.toml (#471)
  • Lock file maintenance (#480)
  • Update container base image to Python v3.10.4 (#416)

v0.17.1

06 Apr 09:01
v0.17.1
09c1f42

Choose a tag to compare

2 changes since v0.17.0

🐛 Fixes

  • [Backport] Correctly remove dangling link destinations in relsymlink() (#457)
  • [Backport] Fix potential KeyError in tokencache.get() (#459)

v0.17.1-rc0

06 Apr 08:31
v0.17.1-rc0
9c1b9c7

Choose a tag to compare

v0.17.1-rc0 Pre-release
Pre-release

0 changes since v0.17.0