Releases: canonical/charmcraft
Releases · canonical/charmcraft
3.3.0
What's Changed
- tests(2.7): remove mantic spread test by @lengau in #1849
- tests(2.7): remove bundle registration test by @lengau in #1860
- fix(2.7): allow skopeo to use an insecure policy by @lengau in #1859
- build(deps): update bugfixes (hotfix/2.7) by @renovate in #1846
- ci: get tags for automatic publish by @lengau in #1866
- build(deps): update bugfixes (main) by @renovate in #1831
- feat: mark charmhub parameter as deprecated by @lengau in #1828
- chore: handle upcoming bundle changes by @lengau in #1857
- chore: remove unused file
bases.py
by @lengau in #1830 - build(deps): update dependency cryptography to v43.0.1 [security] (main) by @renovate in #1870
- fix: make version work from wheel by @lengau in #1865
- build(deps): update dependency hypothesis to v6.112.0 (main) by @renovate in #1880
- build(deps): update dependency more-itertools to v10.5.0 (main) by @renovate in #1881
- build(deps): update dependency cryptography to v43 [security] (hotfix/2.7) by @renovate in #1871
- build(deps): update dependency craft-cli to v2.7.0 (main) by @renovate in #1879
- chore: merge 2.7.2 to main by @lengau in #1887
- fix(charm_builder): force-install pip by @lengau in #1891
- fix: properly request docker images from docker API by @lengau in #1854
- refactor: move parts plugins to their own module by @lengau in #1897
- refactor: use craft-platforms for build plans by @lengau in #1894
- tests: check that architecture "all" works by @lengau in #1895
- chore: merge 2.7.3 hotfix to main by @lengau in #1903
- feat: fastapi-framework init profile and extension by @javierdelapuente in #1868
- feat: add Python and Poetry plugins by @lengau in #1899
- build(deps): update typing linters by @lengau in #1906
- chore(cleanup): remove unused code by @lengau in #1907
- Add rabbitmq to init templates by @javierdelapuente in #1905
- build(deps): update bugfixes (main) by @renovate in #1909
- feat: validate ops.main() call for operator framework charms by @dimaqq in #1883
- fix(ci): move actions from snapcore to canonical by @lengau in #1916
- feat(package): create a dispatch file if none exists by @lengau in #1898
- ci: fix tics tests by @lengau in #1910
- Bump charm library version in extensions by @weiiwang01 in #1914
- feat: use ops.main() type hints by @dimaqq in #1911
- ci: add security scan workflow by @lengau in #1924
- feat(pack): automatically install non-matching charmlibs by @lengau in #1918
- build(deps): update dependency pyright to v1.1.383 (main) by @renovate in #1935
- build(deps): update bugfixes (main) by @renovate in #1934
- build(deps): update dependency certifi to v2024.8.30 (main) by @renovate in #1936
- feat: make django extension stable by @jdkandersson in #1928
- build(deps): update dependency craft-platforms to v0.3.1 (main) by @renovate in #1937
- build(deps): update dependency idna to v3.10 (main) by @renovate in #1938
- docs(changelog): add 2.7.4 to changelog by @lengau in #1942
- build(deps): update dependency importlib-metadata to v8.5.0 (main) by @renovate in #1944
- build(deps): update dependency platformdirs to v4.3.6 (main) by @renovate in #1945
- build(deps): update dependency pytest-check to v2.4.1 (main) - autoclosed by @renovate in #1948
- build(deps): update dependency protobuf to v5.28.2 (main) by @renovate in #1946
- chore: add oracular as a valid base by @lengau in #1949
- feat: use the newer ops.testing classes for the charm unit tests by @tonyandrewmeyer in #1933
- chore: merge 3.2.1 hotfix to main by @lengau in #1943
- fix: update the simple profile to avoid Container.can_connect by @tonyandrewmeyer in #1927
- feat(docs): add craft-parts common documentation by @lengau in #1939
- fix: make charmcraft work with snap parallel installs by @lengau in #1950
- style(lint): move from black to ruff by @lengau in #1960
- Rename paas-app-charmer -> paas-charm by @javierdelapuente in #1961
- fix(templates): replace flake8 and pydocstyle with ruff by @lengau in #1941
- feat(docs): add python and poetry plugin docs by @lengau in #1940
- chore: merge 3.2.2 to main by @lengau in #1965
- fix: fastapi-framework import typo by @javierdelapuente in #1970
- feat(linter): add 'pip check' linter by @lengau in #1951
- fix(snap): check if LXD is actually installed by @tigarmo in #1984
- fix(python,poetry): remove duplicate files in the charm by @lengau in #1968
- docs: add howto guides for switching from the charm plugin by @lengau in #1967
- feat(docs): add information about CRAFT_SHARED_CACHE by @lengau in #1989
- fix(dispatch): fix the dispatch script if bins aren't kept by @lengau in #1972
- build(deps): update dependencies and freeze with uv by @lengau in #2003
- Check
charmcraft.yaml
for charm name by @DanielArndt in #1974 - ci: switch macos 12 for macos 14 by @lengau in #2011
- fix: default support to include 24.04 by @jameinel in #1978
- chore(bases): minotaurs are out, puffins are in by @lengau in #2014
- fix(dispatch): fix the dispatch script by @carlcsaposs-canonical in #2017
- build: use starflow by @lengau in #2015
- feat(reactive): run charm build in verbose mode by @lengau in #2021
- fix(charm-libs): better error message on bad version type by @lengau in #1955
- build(ci): use starflow for policy and security scans by @lengau in #2027
- docs: port Flask tutorial from Juju.is by @erinecon in #1976
- build(deps): update craft-parts by @lengau in #2022
- chore: two small non-code changes by @lengau in #2028
- ci: build the snap on self-hosted runners by @lengau in #2030
- ci: use charmcraft from the store for weekly spread runs by @lengau in #2031
- build(deps): bump ops from 2.6.0 to 2.15.0 in /tests/spread/dependencies/requirements by @dependabot in #2033
- fix(store): nicer error message when getting nonexistent libs by @lengau in #2034
- feat: create-track command by @lengau in #2024
- docs: prepare 3.3 changelog by @lengau in #2038
- chore: add CODEOWNERS file by @lengau in #2035
- Fix & always include bin/activate in python & poetry plugin by @carlcsaposs-canonical in #2036
- fix: use the same cache directory in providers by @lengau in #2...
3.2.2
2.7.4
3.2.1
Changelog: https://canonical-charmcraft.readthedocs-hosted.com/en/stable/reference/changelog/#id1
What's Changed
- build(deps): update dependency cryptography to v43.0.1 [security] (hotfix/3.2) by @renovate in #1872
- build(deps): update bugfixes (hotfix/3.2) by @renovate in #1878
- build(deps): update dependency craft-cli to v2.7.0 (hotfix/3.2) by @renovate in #1882
- build(deps): update dependency more-itertools to v10.5.0 (hotfix/3.2) by @renovate in #1885
- tests(3.2): remove bundle registration test by @lengau in #1884
- fix(charm_builder): force-install pip by @lengau in #1892
- fix: lock shared cache directory by @lengau in #1888
- docs(changelog): add 3.2.1 by @lengau in #1902
Full Changelog: 3.2.0...3.2.1
3.2.0
The changelog is available at https://canonical-charmcraft.readthedocs-hosted.com/en/3.2.0/reference/changelog/
What's Changed
- fix(provider): forward shared cache by @lengau in #1763
- chore: add typing to env.py by @lengau in #1764
- chore: remove classic entrypoint by @lengau in #1765
- feat: include libyaml-dev for apt charm plug-in builds by @tonyandrewmeyer in #1766
- chore: remove unused code by @lengau in #1776
- fix(strict-deps): fail if venv is inconsistent by @lengau in #1784
- chore: merge 3.1.2 to main by @lengau in #1798
- fix(tests): speed up lxd smoke test by @lengau in #1803
- feat(deps)!: switch to pydantic 2 by @lengau in #1777
- ci: add support for tiobe by @sergiusens in #1769
- fix(charm-plugin): remove existence checks for reqs by @lengau in #1808
- fix(yaml): correctly add default parts by @lengau in #1815
- chore(deps): update internal packages by @renovate in #1805
- chore: merge pydantic 2 support to main by @lengau in #1817
- ci: update renovate from starbase by @lengau in #1804
- build(deps): update craft-application to 4.1 by @lengau in #1822
- style(lint): fix ruff 0.6.0 linting errors by @lengau in #1825
- fix(lifecycle): allow building multi-arch charms by @lengau in #1818
- ci(macos): add a macos init/pack smoke test by @lengau in #1823
- docs: add and partially backfill a changelog by @lengau in #1841
- fix(reactive): don't overwrite actions.yaml for reactive charms by @lengau in #1829
- feat(metadata): add charm-user to charmcraft.yaml by @lengau in #1850
- feat: go-framework init profile and extension by @javierdelapuente in #1800
- docs: remove how-to and tutorial sections by @lengau in #1852
- ci: make charmcraft.yaml render as YAML in bug reports by @lengau in #1862
- chore(renovate): always update pyright on its own by @lengau in #1848
- chore(renovate): ignore tox-gh updates by @lengau in #1847
- docs(changelog): add 3.2.0 release by @lengau in #1861
Full Changelog: 3.1.2...3.2.0
3.1.2
What's Changed
- fix(app): clarify wording on 'prime' change by @lengau in #1785
- fix(strict-deps): cherry-pick #1784 into 3.1 hotfix branch by @lengau in #1794
- tests: fix the pip check integration test by @lengau in #1796
- fix(application): exclude files from charm by @lengau in #1793
- fix(package): Limit the bases in manifest.yaml by @lengau in #1795
Full Changelog: 3.1.1...3.1.2
3.1.1
Some bugs were found shortly after the release of 3.1.0, so...
What's Changed
- fix(ci): fix tox ensure_version_matches by @lengau in #1755
- fix(metadata): allow long summaries in output by @lengau in #1759
- tests(spread): temporarily disable failing test by @lengau in #1761
- Minor cleanup by @lengau in #1757
- build(ci): fix edge publishing on main by @lengau in #1756
Full Changelog: 3.1.0...3.1.1
3.1.0
Today we release Charmcraft 3.1.0! 🎉
New Features
To begin with, we have some new documentation. The primary documentation for using Charmcraft is still in the Charm SDK Documentation, but thinks like command references are in this charmcraft-specific documentation.
- Charmcraft has a new
fetch-libs
command, which, when combined with acharmlibks
key incharmcraft.yaml
, allows the automatic fetching and updating of multiple charm libraries. - The new, experimental
test
command is also included in Charmcraft 3.1. Please have a go with it. Documentation is fairly minimal right now, as the implementation is still in flux. - OCI image resource uploads now use skopeo to upload images. Most notably, this means you can enter any skopeo-supported containers-transports URL to upload an OCI container to Charmhub.
- New features to experimental extensions:
django-framework
andflask-framework
. These are designed to work with rocks, for example, rocks with the flask-framework extension. - New releases are automatically published to PyPI (thanks @bittner)!
Bugfixes:
- flask-framework charms now automatically include the
rustup
snap - Symlinked directories are correctly included in charms (previously only symlinked files worked).
- Fixed a crash when using the
framework
linter with thereactive
plugin - ... and several more!
What's Changed
- build(deps): update dependencies for 2.5 branch by @lengau in #1494
- test(spread): disable centos spread test by @lengau in #1502
- test(spread): replace lunar test with mantic by @lengau in #1499
- fix: move bundle extension to a function by @lengau in #1608
- chore(deps): update dependency craft-providers to v1.23.1 by @renovate in #1610
- ci(spread): rebalance spread runners by @lengau in #1611
- chore(deps): Update dependencies for Jammy by @bittner in #1612
- Add the
flask-framework
extension by @weiiwang01 in #1582 - feat: load bundle and metadata yaml in application by @lengau in #1613
- feat: add config and actions processing to _extra_yaml_transform by @lengau in #1615
- style(typing): enable most disabled pyright checks by @lengau in #1614
- chore(deps): update internal packages by @renovate in #1617
- fix: use charmcraft package version by @lengau in #1619
- fix: add default charm part in flask-framework by @weiiwang01 in #1620
- fix: reorganise charmcraft.yaml preprocessing by @lengau in #1622
- feat(config): support
type:secret
in config.options by @tonyandrewmeyer in #1625 - ci: move remote-build tests to weekly job by @lengau in #1632
- remove experimental flag for flask-framework extension by @jdkandersson in #1629
- chore(deps): update internal packages by @renovate in #1631
- chore(deps): update dependency pytest-cov to v5 by @renovate in #1618
- feat(config): support
type:secret
in config.options by @tonyandrewmeyer in #1623 - build(deps): bump internal libraries by @lengau in #1641
- fix: warning deprecated prime use by @syu-w in #1642
- chore(deps): update dependency idna to v3.7 [security] by @renovate in #1644
- chore(deps): update dependency protobuf to v5 by @renovate in #1639
- chore(deps): update dependency typing_extensions to v4.11.0 by @renovate in #1637
- chore(deps): update dependency zipp to v3.18.1 by @renovate in #1645
- chore(deps): update dependency importlib_metadata to v7.1.0 by @renovate in #1646
- chore: enable riscv64 for 2.x by @lengau in #1651
- chore(deps): update dependency setuptools to v69.5.1 by @renovate in #1649
- chore(deps): update dependency referencing to v0.34.0 by @renovate in #1648
- chore(deps): update dependency craft-application to v2.5.0 by @renovate in #1661
- style: autoformat to fix for ruff 0.4 by @lengau in #1662
- refactor: remove unused fetch-lib command by @lengau in #1663
- feat: add fetch-libs command by @lengau in #1665
- fix: only keep metadata.yaml for reactive charms by @lengau in #1666
- feat: add test command and templates by @cmatsuoka in #1660
- fix: make tox tests succeed by @lengau in #1674
- fix: fix login crash by @lengau in #1673
- chore(deps): update dependency jaraco.classes to v3.4.0 by @renovate in #1647
- build(deps): update all dependencies by @lengau in #1675
- ci: enable merge groups for CI by @lengau in #1676
- ci: enable codeQL on main by @lengau in #1677
- ci: remove cla-check from merge groups by @lengau in #1679
- chore(deps): update dependency craft-application to v2.7.0 by @renovate in #1669
- ci: no-op step for cla-check if in merge group by @lengau in #1682
- ci: use the correct tags for large spread runs by @lengau in #1628
- ci: update .jira_sync_config.yaml by @sergiusens in #1688
- chore(deps): update dependency craft-parts to v1.31.0 by @renovate in #1690
- fix(test): parse test command arguments by @cmatsuoka in #1686
- ci: bump priority for reactive tests by @lengau in #1678
- chore(deps): update bugfixes by @renovate in #1694
- chore: explicitly use the 'check' command to avoid ruff warning about it by @tonyandrewmeyer in #1683
- build: update pyright to 1.1.366 by @lengau in #1703
- fix: make fetch-libs + underscores work by @lengau in #1701
- feat: upload OCI image resources with skopeo by @lengau in #1696
- test: extend timeout for some spread tests by @lengau in #1705
- fix: allow fetch-libs to work without logging in by @lengau in #1702
- feat: backport rock upload to charmcraft 2.x by @lengau in #1708
- craft-application migration cleanup: pack command by @lengau in #1704
- feat: django-framework extension by @jdkandersson in #1655
- chore(deps): update dependency certifi to v2024.6.2 by @renovate in #1695
- Automate publishing Python package on PyPI by @bittner in #1580
- feat: add basic sphinx docs by @lengau in #1711
- feat: flask and django, update to paas-app-charmer 1.0.3 by @javierdelapuente in #1691
- feat: upgrade minimum pip version by @lengau in #1716
- Three changes by @lengau in #1731
- chore(deps): update dependency setuptools to v70 [security] by @renovate in #1726
- chore(ci): multiple build fixes for macos by @lengau in #1725
- chore(deps): update dependency zipp to v3.19.1 [security] by @re...
2.7.1
Bug fixes:
- Minimum pip version is now 24
--no-binary=:all:
is set in strict mode if no binary dependencies are declared
Full Changelog: 2.7.0...2.7.1