Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(changelog): add 8.4.0 release notes #5027

Merged
merged 2 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
"common/craft-parts/reference/parts_steps.rst",
"common/craft-parts/reference/step_execution_environment.rst",
"common/craft-parts/reference/step_output_directories.rst",
"common/craft-parts/reference/plugins/poetry_plugin.rst",
"common/craft-parts/reference/plugins/python_plugin.rst",
"common/craft-parts/reference/plugins/maven_plugin.rst",
# Extra non-craft-parts exclusions can be added after this comment
Expand Down
125 changes: 116 additions & 9 deletions docs/reference/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,12 @@ Changelog
<plugin>
""""""""

List plugins
""""""""""""

Extensions
##########

<extension>
"""""""""""

Expand extensions
"""""""""""""""""

List extensions
"""""""""""""""

Metadata
########

Expand Down Expand Up @@ -78,6 +69,109 @@ Changelog
For a complete list of commits, check out the `X.Y.Z`_ release on GitHub.


8.4.0 (2024-Sep-10)
-------------------

.. note::

8.4.0 includes changes from the :ref:`7.5.6<7.5.6_changelog>` release.

Core
====

* Fix a bug where Snapcraft would fail to inject itself into the build
environment when not running as a snap (`canonical/charmcraft#406`_). If an
app isn't running from snap, the installed app will now install the snap in
the build environment using the channel in the ``CRAFT_SNAP_CHANNEL``
environment variable, defaulting to ``latest/stable`` if none is set.

* Fix a regression where icons wouldn't be configured and installed for snaps
with no ``apps`` defined in their ``snapcraft.yaml``.

Bases
#####

core24
""""""

* Raise an error if the build plan is empty and no snaps will be built
(`canonical/craft-application#225`_).

* Fix a regression where ``https_proxy``, ``https_proxy``, and ``no_proxy``
were not forwarded into the build environment.

Plugins
#######

* Fix a bug where ``snapcraft list-plugins --base core20`` would fail in a
``core24`` project directory (`#5008`_).

Components
##########

* Allow numbers and hyphens in component names (`LP#2069783`_).

* Fix a bug where ``stage-packages`` can't be used when components are defined
(`canonical/craft-parts#804`_).

Command line
============

* Improve error messages when parsing a ``snapcraft.yaml`` file (`#4941`_).

* Improve error messages when using an `ESM base`_.

* Improve error messages for missing files (`canonical/craft-parts#802`_).

* Improve error messages when a build fails because it matches multiple
platforms (`canonical/craft-application#382`_).

* Fix a bug where multi-line error messages would overwrite the previous line
(`canonical/craft-cli#270`_).

Remote build
============

* Add "Pending" status for queued remote builds.

* Add documentation links to remote-build errors.

* Improve error messages when multiple snaps can be built on a single
``build-on`` architecture (`#4995`_).

* Improve error messages when using the wrong remote builder.

* Fix a regression where ``--platform`` or ``--build-for`` could be used when
``platforms`` or ``architectures`` were defined in the ``snapcraft.yaml``
file (`#4881`_).

* Fix a regression where ``--platform`` could be used for ``core22`` snaps
(`#4881`_).

* Fix a bug where ``SNAPCRAFT_REMOTE_BUILD_STRATEGY`` would be validated when
running commands other than ``remote-build``.

* Fix a bug where ``SNAPCRAFT_REMOTE_BUILD_STRATEGY`` was ignored for
``core24`` snaps.

Documentation
=============

* Add changelog notes for all Snapcraft 8.x releases

* Add :doc:`reference</reference/components>`,
:doc:`explanation</explanation/components>`, and
:doc:`how-to</howto/components>` for components.

* Add :doc:`reference</reference/bases>`,
:doc:`explanation</explanation/bases>`, and
:doc:`how-to</howto/bases>` for bases.

For a complete list of commits, check out the `8.4.0`_ release on GitHub.


.. _7.5.6_changelog:

7.5.6 (2024-Aug-15)
-------------------

Expand Down Expand Up @@ -960,6 +1054,7 @@ https://snapcraft.io/docs/snapcraft-authentication.
For a complete list of commits, check out the `8.0.0`_ release on GitHub.

.. _advanced grammar: https://snapcraft.io/docs/snapcraft-advanced-grammar
.. _ESM base: https://snapcraft.io/docs/snapcraft-esm
.. _canonical-sphinx: https://github.com/canonical/canonical-sphinx
.. _core24 migration guide: https://snapcraft.io/docs/migrate-core24
.. _Craft Application: https://github.com/canonical/craft-application
Expand All @@ -971,11 +1066,18 @@ For a complete list of commits, check out the `8.0.0`_ release on GitHub.
.. _PEP 518: https://peps.python.org/pep-0518/
.. _ROS architectures with snaps: https://ubuntu.com/robotics/docs/ros-architectures-with-snaps.

.. _canonical/charmcraft#406: https://github.com/canonical/charmcraft/issues/406
.. _canonical/craft-application#225: https://github.com/canonical/craft-application/pull/225
.. _canonical/craft-application#355: https://github.com/canonical/craft-application/pull/355
.. _canonical/craft-application#382: https://github.com/canonical/craft-application/pull/382
.. _canonical/craft-cli#270: https://github.com/canonical/craft-parts/issues/270
.. _canonical/craft-parts#717: https://github.com/canonical/craft-parts/issues/717
.. _canonical/craft-parts#802: https://github.com/canonical/craft-parts/issues/802
.. _canonical/craft-parts#804: https://github.com/canonical/craft-parts/issues/804

.. _LP#2061603: https://bugs.launchpad.net/snapcraft/+bug/2061603
.. _LP#2064639: https://bugs.launchpad.net/snapcraft/+bug/2064639
.. _LP#2069783: https://bugs.launchpad.net/snapcraft/+bug/2069783

.. _#4142: https://github.com/canonical/snapcraft/issues/4142
.. _#4356: https://github.com/canonical/snapcraft/issues/4356
Expand Down Expand Up @@ -1013,11 +1115,15 @@ For a complete list of commits, check out the `8.0.0`_ release on GitHub.
.. _#4842: https://github.com/canonical/snapcraft/issues/4842
.. _#4854: https://github.com/canonical/snapcraft/issues/4854
.. _#4865: https://github.com/canonical/snapcraft/issues/4865
.. _#4881: https://github.com/canonical/snapcraft/issues/4881
.. _#4886: https://github.com/canonical/snapcraft/issues/4886
.. _#4889: https://github.com/canonical/snapcraft/issues/4889
.. _#4890: https://github.com/canonical/snapcraft/issues/4890
.. _#4909: https://github.com/canonical/snapcraft/issues/4909
.. _#4941: https://github.com/canonical/snapcraft/issues/4941
.. _#4942: https://github.com/canonical/snapcraft/issues/4942
.. _#4995: https://github.com/canonical/snapcraft/issues/4995
.. _#5008: https://github.com/canonical/snapcraft/issues/5008

.. _7.5.6: https://github.com/canonical/snapcraft/releases/tag/7.5.6
.. _8.0.0: https://github.com/canonical/snapcraft/releases/tag/8.0.0
Expand All @@ -1043,3 +1149,4 @@ For a complete list of commits, check out the `8.0.0`_ release on GitHub.
.. _8.3.0: https://github.com/canonical/snapcraft/releases/tag/8.3.0
.. _8.3.1: https://github.com/canonical/snapcraft/releases/tag/8.3.1
.. _8.3.2: https://github.com/canonical/snapcraft/releases/tag/8.3.2
.. _8.4.0: https://github.com/canonical/snapcraft/releases/tag/8.4.0
2 changes: 1 addition & 1 deletion requirements-devel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ craft-application==4.1.2
craft-archives==2.0.0
craft-cli==2.7.0
craft-grammar==2.0.0
craft-parts==2.0.0
craft-parts==2.1.0
craft-platforms==0.1.1
craft-providers==2.0.1
craft-store==3.0.0
Expand Down
2 changes: 1 addition & 1 deletion requirements-docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ craft-application==4.1.2
craft-archives==2.0.0
craft-cli==2.7.0
craft-grammar==2.0.0
craft-parts==2.0.0
craft-parts==2.1.0
craft-platforms==0.1.1
craft-providers==2.0.1
craft-store==3.0.0
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ craft-application==4.1.2
craft-archives==2.0.0
craft-cli==2.7.0
craft-grammar==2.0.0
craft-parts==2.0.0
craft-parts==2.1.0
craft-platforms==0.1.1
craft-providers==2.0.1
craft-store==3.0.0
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def recursive_data_files(directory, install_directory):
"craft-archives~=2.0",
"craft-cli~=2.6",
"craft-grammar~=2.0",
"craft-parts~=2.0",
"craft-parts~=2.1",
"craft-platforms~=0.1",
"craft-providers~=2.0",
"craft-store~=3.0",
Expand Down
3 changes: 3 additions & 0 deletions snapcraft/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ def _register_default_plugins(self) -> None:
"""Register per application plugins when initializing."""
super()._register_default_plugins()

# poetry plugin needs integration work, see #5025
craft_parts.plugins.unregister("poetry")

if self._known_core24:
# dotnet is disabled for core24 and newer because it is pending a rewrite
craft_parts.plugins.unregister("dotnet")
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/parts/plugins/test_python_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_get_build_commands(plugin, new_dir):
eval "${{opts_state}}"
"""
),
'ln -sf "${symlink_target}" "${PARTS_PYTHON_VENV_INTERP_PATH}"\n',
'ln -sf "${symlink_target}" "${PARTS_PYTHON_VENV_INTERP_PATH}"',
]


Expand Down
11 changes: 11 additions & 0 deletions tests/unit/test_application.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,17 @@ def test_application_dotnet_not_registered(base, build_base, snapcraft_yaml):
assert "dotnet" not in craft_parts.plugins.get_registered_plugins()


@pytest.mark.parametrize("base", const.CURRENT_BASES)
def test_application_poetry_not_registered(base, snapcraft_yaml):
"""poetry plugin is disabled for all bases."""
snapcraft_yaml(base=base)
app = application.create_app()

app._register_default_plugins()

assert "poetry" not in craft_parts.plugins.get_registered_plugins()


def test_default_command_integrated(monkeypatch, mocker, new_dir):
"""Test that for core24 projects we accept "pack" as the default command."""

Expand Down
Loading