Releases: canonical/charmcraft
Releases · canonical/charmcraft
2.5.5
2.5.4
2.5.3
The 2.5.3 bugfix release is on its way! 🚀
Bugs fixed:
- Clearing the shared cache can cause errors
- Internal error when running from outside of a charm repository
- Typo in overview for
expand-extensions
command
Full Changelog: 2.5.2...2.5.3
Changelog since 2.5.0: 2.5.0...2.5.3
2.5.2
What's Changed
- fix: ignore empty requirements lines by @cmatsuoka in #1407
Full Changelog: 2.5.1...2.5.2
2.5.1
2.5.0
The major new features for this are:
charmcraft init
now uses the new unifiedcharmcraft.yaml
- Opt-in strict dependency management
- Shared wheel cache between build environments on the same host
- Add support for Ubuntu mantic based charms (not for production use :-) )
Please view more about these changes in this earlier post.
Detailed change list:
- tests: add charm library multiple versions update test by @syu-w in #1198
- chore(deps): update dependency cryptography to v41.0.3 [security] by @renovate in #1201
- packaging: update apt requirements, remove bionic by @sergiusens in #1207
- Merge 2.4.1 hotfixes by @sergiusens in #1211
- tests: fix API json structure by @syu-w in #1213
- snap: remove passthrough for hook environment by @sergiusens in #1206
- command: charmcraft init to use charmcraft.yaml only by @syu-w in #1149
- tests: add more charms and bundles to large spread suite by @lengau in #1217
- refactor: move builder out of the commands directory. by @lengau in #1229
- tools: update tox configuration to starbase v1 by @lengau in #1231
- chore(deps): update dependency mypy to v1.5.1 by @renovate in #1220
- tests: enable cos-lite and kubeflow bundle tests by @lengau in #1224
- tests: disable broken magma test by @lengau in #1216
- templates: remove k8s info from machine charm template by @lengau in #1226
- commands(store): make create-lib work without a metadata.yaml file by @lengau in #1228
- requirements: bump craft-providers by @mr-cal in #1219
- tools: update ruff configuration to starbase v1 by @lengau in #1232
- tests: improve multipass spread backend by @lengau in #1225
- tests: re-enable reactive charms test by @lengau in #1235
- chore(deps): update dependency chardet to v5.2.0 by @renovate in #1236
- chore(deps): update dependency platformdirs to v3.10.0 by @renovate in #1237
- store: allow publish-lib to work without a metadata.yaml by @lengau in #1234
- chore(deps): update dependency ubuntu to v22 by @renovate in #1222
- pack: refactor business logic out of pack command class by @lengau in #1230
- tests: fix resource spread test by @lengau in #1223
- docs: fix typo in init helper by @gboutry in #1243
- tests: add parallel build test by @syu-w in #1245
- fix(store): temporary hide package type by @syu-w in #1244
- feat(extensions): add basic support by @syu-w in #1248
- feat(dependencies): new Python dependency management by @lengau in #1233
- chore(deps): update dependency coverage to v7.3.1 by @renovate in #1250
- chore(deps): update actions/checkout action to v4 by @renovate in #1253
- chore(deps): update dependency more-itertools to v10.1.0 by @renovate in #1252
- chore(deps): update dependency humanize to v4.8.0 by @renovate in #1251
- chore(deps): update internal packages by @renovate in #1254
- fix(logging): print details errors from craft-providers by @syu-w in #1264
- chore(deps): update dependency jsonschema to v4.19.0 by @renovate in #1255
- tests(spread): requirements dependencies by @lengau in #1266
- build(deps): bump cryptography from 41.0.3 to 41.0.4 by @dependabot in #1271
- feat(extensions): add cli commands by @syu-w in #1268
- ci: reduce the python/OS matrix size by @lengau in #1247
- chore(deps): update dependency craft-parts to v1.25.1 by @renovate in #1265
- chore(deps): update dependency typing_extensions to v4.8.0 by @renovate in #1276
- chore(deps): update dependency pyproject-api to v1.6.1 by @renovate in #1278
- feat(pack): add shared cache support by @syu-w in #1270
- test(spread): clean up store tests by @lengau in #1290
- test(spread): make library tests register/unregister charms by @lengau in #1292
- chore(deps): craft-providers to v1.18.0 by @syu-w in #1294
- chore(deps): update dependencies by @lengau in #1289
- chore(ci): enable shellcheck by @lengau in #1291
- ci: enable codespell by @lengau in #1296
- fix(tests): fixes bundle spread test by @syu-w in #1287
- fix(distro): use distro package for getting linux distribution info by @lengau in #1293
- refactor(linters): make CheckType an enum by @lengau in #1297
- refactor(store): use dataclasses for store models by @lengau in #1299
- refactor(utils): make OSPlatform a dataclass by @lengau in #1298
- style: clean up store command imports by @lengau in #1302
- chore(deps): update dependency urllib3 to v1.26.17 [security] by @renovate in #1308
- style: fix spelling of "processor" by @lengau in #1305
- style: add pydantic.validator as a classmethod decorator by @lengau in #1309
- refactor(utils): break utils sections out into logical subpackages by @lengau in #1301
- refactor(utils): move charmlibs utilities by @lengau in #1303
- refactor(linters): make a Result enum by @lengau in #1300
- feat: strict dependency management by @lengau in #1306
- style(ci): enable mypy by @lengau in #1312
- fix(test): better matching for strict dependencies spread test by @lengau in #1322
- perf(snap): speed up repeat snap builds by @lengau in #1323
- fix(test): fix reactive plugin test if 'charm' tool is installed by @lengau in #1326
- test(style): remove pydocstyle tests on charmcraft code by @lengau in #1329
- test: remove black linting from test_infra by @lengau in #1331
- test(spread): consolidate basic init/build tests by @lengau in #1325
- refactor(linters): stricter typing for linters by @lengau in #1333
- fix: replace deprecated pkg_resources with importlib by @lengau in #1335
- chore(deps): update dependency urllib3 to v1.26.18 [security] by @renovate in #1337
- refactor(parts): move craft-parts related things into their own package by @lengau in #1334
- chore(snap): base migration from core20 to core22 by @syu-w in #1321
- chore(deps): update patch updates by @renovate in #1348
- chore(deps): update dependency craft-cli to v2.3.0 by @renovate in #1342
- chore(deps): update dependency black to v23.10.0 by @renovate in #1343
- chore(deps): update ruff and fix new linting errors by @lengau in #1347
- chore(deps): update all dependencies by @lengau in #1353
New Contributors
Full Changelog: https://github.com/canonical/c...
2.4.1
2.4.0
The major new features for this are:
- AlmaLinux base support
- Enable unstable builds with non-LTS Ubuntu releases
- Improved charm templates
Known Issues
We're aware of some dependency-related issues in Charmcraft 2.3 that aren't fix in 2.4.0 and are hoping to resolve those with a quick follow-up 2.4.1 release. Please track these at:
What's Changed
- requirements: update craft-parts to 1.19.3 by @cmatsuoka in #1099
- bases: add almalinux support by @syu-w in #1100
- github: add issue templates by @sergiusens in #1106
- github: correct location for issues workflow by @sergiusens in #1109
- cli: add supported profile arguments to help by @syu-w in #1112
- refactor: move some pydantic models and metafiles by @syu-w in #1117
- config: support use actions in charmcraft.yaml by @syu-w in #1114
- bases: allow builds with ubuntu non-lts by @syu-w in #1130
- tests: refactor for variable multi-file support by @syu-w in #1131
- Add "tox -e static" for static type checking (Pyright) by @benhoyt in #1137
- pydantic: split base and charmcraft config models by @syu-w in #1141
- Allow use actions/config/metadata in charmcraft.yaml by @syu-w in #1126
- deps: fix renovate schedule by @lengau in #1145
- build: do not create metafiles when using reactive by @syu-w in #1151
- command: add profiles descriptions and update URL by @syu-w in #1156
Full Changelog: 2.3.1...2.4.0
2.3.1
What's Changed
- requirements: update craft-parts to 1.19.3 by @cmatsuoka in #1099
- command: add profiles descriptions and update URL (#1156) by @syu-w in #1158
- builder: install pydeps and requirements simultaneously by @lengau in #1157
Full Changelog: 2.3.0...2.3.1
2.3.0
New features
- store: add unregister command by @lengau in #1069
- bases: support creating charms use CentOS 7 as base by @syu-w in #1065
- pack: add recursive bundle packing by @lengau in #1060
- pack: include the charm libraries dependencies (CRAFT-1559) by @facundobatista in #1003
- command: add the initial promote-bundle command by @lengau in #1044
Bug Fixes
- Run the charm builder with python in unbuffered mode. by @facundobatista in #989
- refactor: Move charm library helper functions to their own modules (CRAFT-1557) by @lengau in #993
- refactor: get_lib_internals now uses AST (CRAFT-1558) by @facundobatista in #1000
- Remove a verification left over after init command refactor. by @facundobatista in #1031
- refactor: isolate the charm lib internals extractor by @facundobatista in #998
- tools: editorconfig by @lengau in #1026
- Transform the few remaining tests inside classes to regular functions. by @facundobatista in #1033
- Update tox.ini in
charmcraft init
template by @carlcsaposs-canonical in #1010 - Fix typo in CONTRIBUTING.md in
charmcraft init
template by @carlcsaposs-canonical in #1012 - tools: Stricter noise limits for Renovate by @lengau in #1001
- deps: update python-apt by @lengau in #1025
- ci: remove deprecated ubuntu 18.04 GitHub CI by @syu-w in #1043
- charm libraries: allow anonymous fetching by @syu-w in #1037
- move config check from load() to command.run() by @syu-w in #1035
- deps: update requirements url for ubuntu 20.04 by @syu-w in #1048
- requirements: update craft-parts to 1.19.0 by @cmatsuoka in #1049
- plugin: make charm plugin base aware by @syu-w in #1045
- hook: clean charmcraft images when update/remove by @syu-w in #1046
- cli: add how to use exported credentials in help by @syu-w in #1050
- store: check the credentials validity before upload by @syu-w in #1052
- tools: import tox from starbase by @lengau in #1062
- Update charm templates to use ops 2.2.0 and new "import ops" style by @benhoyt in #1055
- parts: CentOS 7 python 3.8 path workaround by @syu-w in #1053
- deps: remove ops dependency by @lengau in #1064
- Don't reference non-existent --all argument in publish-lib help by @benhoyt in #1032
- ci: fix lxd image name too long by @syu-w in #1074
- ci: update sources install_charmcraft by @syu-w in #1076
- ci: only require CHARMCRAFT_AUTH for store spread by @sergiusens in #1075
- store: ensure promote-bundle succeeds if there are no applications by @lengau in #1081
- deps: update dependency versions by @lengau in #1086
- charmlibs: skip non top-level name assignments by @sergiusens in #1085
- tests: check for submodules before running spread by @mr-cal in #1084
- version: import logic from snapcraft by @sergiusens in #1073
- tools: update renovate config by @lengau in #1082
- snap: pick the version from setup.py by @sergiusens in #1087
- spread: only install docker for store tests by @sergiusens in #1088
- ci: fix spread test missing PATH by @syu-w in #1083
- Spread smoke by @sergiusens in #1090
- store: fix issues with promote-bundle command by @lengau in #1089
- snap: ensure cryptography builds correctly on all architectures by @lengau in #1091
Renovate Changes
- Update Default rules by @renovate in #949
- Refine renovate configuration by @lengau in #955
- (tests) Added a comment about credentials in Spread tests to use Charmhub by @facundobatista in #965
- chore(deps): update actions/checkout action to v3 by @renovate in #961
- chore(deps): update patch updates by @renovate in #983
- chore(deps): update actions/setup-python action to v4 by @renovate in #963
- chore(deps): update dependency pytz to v2022.7 by @renovate in #974
- chore(deps): update dependency pydocstyle to v6.2.3 by @renovate in #972
- chore(deps): update actions/download-artifact action to v3 by @renovate in #962
- chore(deps): update patch updates by @renovate in #987
- chore(deps): update dependency exceptiongroup to v1.1.0 by @renovate in #967
- chore(deps): update dependency attrs to v22.2.0 by @renovate in #964
- chore(deps): update dependency filelock to v3.9.0 by @renovate in #968
- chore(deps): update actions/upload-artifact action to v3 by @renovate in #981
- chore(deps): update dependency keyring to v23.13.1 by @renovate in #970
- chore(deps): update dependency pyproject_api to v1.4.0 by @renovate in #973
- chore(deps): update dependency coverage to v7 by @renovate in #977
- chore(deps): update dependency iniconfig to v2 by @renovate in #985
- chore(deps): update dependency importlib-metadata to v6 by @renovate in #979
- chore(deps): update dependency charset-normalizer to v3 by @renovate in #976
- chore(deps): update dependency pyproject_api to v1.5.0 by @renovate in #996
- chore(deps): update internal packages by @renovate in #984
- chore(deps): update dependency pydocstyle to v6.3.0 by @renovate in #995
- chore(deps): update dependency packaging to v23 by @renovate in #986
- chore(deps): update dependency tox to v4.3.5 by @renovate in #997
- chore(deps): update dependency markupsafe to v2.1.2 by @renovate in #994
- chore(templates): update codespell config in templates to use pyproject by @jnsgruk in #999
- chore(deps): update dependency tox to v4.4.2 by @renovate in #1008
- chore(deps): update dependency pathspec to v0.11.0 by @renovate in #1007
- chore(deps): update dependency coverage to v7.1.0 by @renovate in #1006
- chore(deps): update dependency ops to v2 by @renovate in #1009
- chore(deps): update dependency cachetools to v5.3.0 by @renovate in #1005
- chore(deps): update dependency craft-providers to v1.7.1 by @renovate in #1004
- chore(deps): update patch updates by @renovate in #1014
- chore(deps): update dependency humanize to v4.5.0 by @renovate in #1015
- chore(deps): update dependency craft-providers to v1.7.2 by @renovate in #1023
- chore(deps): update patch updates by @renovate in #1022
- chore(deps): update patch updates by @renovate in #1027
- chore(deps): update dependency zipp to v3.15.0 by @renovate in #1016
- chore(deps): update dependency humanize to v4.6.0 by @renovate in #1028
- chore(deps): update dependency black to v23 by @renovate in https://github.com/canonical/charmcraf...