diff --git a/Makefile b/Makefile index e15a40454..c549c7907 100644 --- a/Makefile +++ b/Makefile @@ -120,7 +120,7 @@ test-shellcheck: .PHONY: test-sphinx-lint test-sphinx-lint: - sphinx-lint --ignore docs/sphinx-starter-pack/ --ignore docs/_build --ignore docs/env --max-line-length 80 -e all docs/* + sphinx-lint --ignore docs/sphinx-starter-pack/ --ignore docs/_build --ignore docs/env --max-line-length 80 -e all -d missing-underscore-after-hyperlink,missing-space-in-hyperlink docs/* .PHONY: test-units test-units: ## Run unit tests. diff --git a/docs/.wordlist.txt b/docs/.wordlist.txt index fb90e0030..4446cef53 100644 --- a/docs/.wordlist.txt +++ b/docs/.wordlist.txt @@ -2,6 +2,7 @@ ACR AMD amd ARGS +ARMv ASGI async Autotools @@ -31,6 +32,7 @@ DockerHub dotnet ECR emacs +endian entrypoint entrypoints executables @@ -57,6 +59,7 @@ hardcoded html https init +integrations interoperable io js @@ -140,6 +143,7 @@ subtree supervisord symlink symlinks +systemd tini toml toolchain @@ -151,6 +155,7 @@ uncomment usrmerge Uvicorn VENV +VMs venv WSGI Wsgi diff --git a/docs/release-notes/index.rst b/docs/release-notes/index.rst index f03d8f1ee..319280049 100644 --- a/docs/release-notes/index.rst +++ b/docs/release-notes/index.rst @@ -12,7 +12,7 @@ Current releases ---------------- -- . +- :ref:`Rockcraft 1.7.0 ` .. _release_policy_and_schedule: @@ -59,6 +59,9 @@ development keeps pace with the OS's new releases and support lifecycle. .. toctree:: :maxdepth: 1 + :hidden: + + Rockcraft 1.7.0 .. release note template: diff --git a/docs/release-notes/rockcraft-1-7-0.rst b/docs/release-notes/rockcraft-1-7-0.rst new file mode 100644 index 000000000..d87ee9580 --- /dev/null +++ b/docs/release-notes/rockcraft-1-7-0.rst @@ -0,0 +1,148 @@ +.. _release-1.7.0: + +Rockcraft 1.7.0 release notes +============================= + +20 December 2024 + +Learn about the new features, changes, and fixes introduced in Rockcraft 1.7.0. +For information about the Rockcraft release cycle, see the +:ref:`release_policy_and_schedule`. + + +Requirements and compatibility +------------------------------ + +To run Rockcraft, a system requires the following minimum hardware and +installed software. These requirements apply to local hosts as well as VMs and +container hosts. + + +Minimum hardware requirements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- AMD64, ARM64, ARMv7-M, RISC-V 64-bit, PowerPC 64-bit little-endian, or S390x + processor +- 2GB RAM +- 10GB available storage space +- Internet access for remote software sources and the Snap Store + + +Platform requirements +~~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + :widths: 1 3 3 + + * - Platform + - Version + - Software requirements + * - GNU/Linux + - Popular distributions that ship with systemd and are `compatible with + snapd `_ + - systemd + + +What's new +---------- + +Rockcraft 1.7.0 brings the following features, integrations, and improvements. + + +Support for remote builds +~~~~~~~~~~~~~~~~~~~~~~~~~ + +We added support for remote builds, which leverage off-site compute for +building rocks and can build for multiple architectures with a single command. +For a description of the feature, see :ref:`ref-remote-builds`, or run +``rockcraft remote-build --help``. + +This feature is new and experimental -- we welcome feedback on the +`Ubuntu Discourse`_ forum. + +Minor features +-------------- + +Rockcraft 1.7.0 brings the following minor changes. + + +``init`` command +~~~~~~~~~~~~~~~~ + +The default base of the project file generated by ``rockcraft init`` has been +updated from ``ubuntu@22.04`` to ``ubuntu@24.04``. + + +Rockcraft snap +~~~~~~~~~~~~~~ + +The base of the Rockcraft snap was updated from core22 to core24. + + +Go extension +~~~~~~~~~~~~ + +A new :ref:`tutorial ` and :ref:`reference +` are available for the go-framework extension. + + +OCI image configuration +~~~~~~~~~~~~~~~~~~~~~~~ + +When using ``run-user: _daemon_``, the value of the ``Config.User`` key in the +generated rock has been updated from the user name (``_daemon_``) to its +numeric ID. + + +12-factor app extensions +~~~~~~~~~~~~~~~~~~~~~~~~ + +We added support for Gunicorn async workers on the Django and Flask extensions. + + +12-factor app documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The documentation for the various 12-factor framework extensions has been +updated for clarity and to better conform with documentation best practices. + + +Maven and Ant plugins +~~~~~~~~~~~~~~~~~~~~~ + +We changed the location of the Java runtime executable on rocks built using the +the Maven and Ant plugins from ``/bin/java`` to ``/usr/bin/java``, as the +former conflicts with the user-merged Ubuntu base. + +Fixed bugs and issues +--------------------- + +The following issues have been resolved in Rockcraft 1.7.0: + +- `#659`_ Kubernetes ``runAsNonRoot`` incompatibility with + ``run-user: _daemon_``. +- `#749`_ Trying to build the output of "expand-extensions" fails because of the + pebble part. + + +Contributors +------------ + +We would like to express a big thank you to all the people who contributed to +this release. + +:literalref:`@alithethird`, +:literalref:`@dariuszd21`, +:literalref:`@erinecon`, +:literalref:`@javierdelapuente`, +:literalref:`@lengau`, +:literalref:`@linostar`, +:literalref:`@tigarmo`, +:literalref:`@vpa1977` +and :literalref:`@yanksyoon`. + +.. _Ubuntu Discourse: https://discourse.ubuntu.com/c/rocks/rockcraft/118 + +.. _#659: https://github.com/canonical/rockcraft/issues/659 +.. _#749: https://github.com/canonical/rockcraft/issues/659 diff --git a/docs/spellingcheck.yaml b/docs/spellingcheck.yaml index 7e2b42248..f29972e06 100644 --- a/docs/spellingcheck.yaml +++ b/docs/spellingcheck.yaml @@ -26,3 +26,4 @@ matrix: - div.visually-hidden - img - a.p-navigation__link + - a.reference.external diff --git a/tox.ini b/tox.ini index bac1114d7..5842b9e68 100644 --- a/tox.ini +++ b/tox.ini @@ -58,5 +58,5 @@ commands = sphinx-autobuild {posargs: -W -b html --open-browser --port 8080} --w [testenv:lint-docs] description = Lint the documentation with sphinx-lint base = docs -commands = sphinx-lint --ignore docs/_build -e all {posargs} docs/ +commands = sphinx-lint --ignore docs/_build -e all -d missing-underscore-after-hyperlink,missing-space-in-hyperlink {posargs} docs/ labels = lint \ No newline at end of file