summaryrefslogtreecommitdiff
path: root/docs/markdown/Release-notes-for-0.61.0.md
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-01-10 18:27:11 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2022-01-10 18:27:11 +0200
commit9e1f20728f8d09d4eddbb0e1ff62762f9bddfaae (patch)
tree4669ad081fd7ebeb3f260dfbbf729c4e27d27245 /docs/markdown/Release-notes-for-0.61.0.md
parent09f03a8424a5ab45bbf251e5edd6341c6503f8e1 (diff)
downloadmeson-9e1f20728f8d09d4eddbb0e1ff62762f9bddfaae.tar.gz
Prepare release 0.61.0.
Diffstat (limited to 'docs/markdown/Release-notes-for-0.61.0.md')
-rw-r--r--docs/markdown/Release-notes-for-0.61.0.md138
1 files changed, 138 insertions, 0 deletions
diff --git a/docs/markdown/Release-notes-for-0.61.0.md b/docs/markdown/Release-notes-for-0.61.0.md
new file mode 100644
index 000000000..879845348
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.61.0.md
@@ -0,0 +1,138 @@
+---
+title: Release 0.61.0
+short-description: Release notes for 0.61.0
+...
+
+# New features
+
+## backend_startup_project
+
+`backend_startup_project` will no longer erase the last project in a VS
+solution if it is not the specified project.
+
+## Windows.compile_resources CustomTarget
+
+Previously the Windows module only accepted CustomTargets with one output, it
+now accepts them with more than one output, and creates a windows resource
+target for each output. Additionally it now accepts indexes of CustomTargets
+
+```meson
+
+ct = custom_target(
+ 'multiple',
+ output : ['resource', 'another resource'],
+ ...
+)
+
+ct2 = custom_target(
+ 'slice',
+ output : ['resource', 'not a resource'],
+ ...
+)
+
+resources = windows.compile_resources(ct, ct2[0])
+```
+
+## Add a man page backend to refman
+
+The refman docs (function and object reference) can now be generated as a man
+page.
+
+## ``extract_objects()`` supports generated sources
+
+Custom targets or generated files (returned by ``generator.process()``)
+can now be passed to ``extract_objects()``.
+
+## Python 3.6 support will be dropped in the next release
+
+The final [Python 3.6 release was 3.6.15 in September](https://www.python.org/dev/peps/pep-0494/#lifespan).
+This release series is now End-of-Life (EOL). The only LTS distribution that
+still ships Python 3.5 as the default Python is Ubuntu 18.04, which has Python
+3.8 available as well.
+
+Python 3.7 has various features that we find useful such as future annotations,
+the importlib.resources module, and dataclasses.
+
+As a result, we will begin requiring Python 3.7 or newer in Meson 0.62, which
+is the next release. Starting with Meson 0.61, we now print a `NOTICE:` when
+a `meson` command is run on Python 3.6 to inform users about this.
+
+## Warning if check kwarg of run_command is missing
+
+The `check` kwarg of `run_command` currently defaults to `false`.
+Because we want to change that, running
+```meson
+run_command('cmd')
+```
+now results in:
+```text
+WARNING: You should add the boolean check kwarg to the run_command call.
+ It currently defaults to false,
+ but it will default to true in future releases of meson.
+ See also: https://github.com/mesonbuild/meson/issues/9300
+```
+
+## `meson rewrite` can modify `extra_files`
+
+The build script rewriter can now modify targets' `extra_files` lists,
+or create them if absent. It it used in the same way as with rewriting
+source lists:
+
+```bash
+meson rewrite target <target name/id> {add_extra_files/rm_extra_files} [list of extra files]
+```
+
+The rewriter's script mode also supports these actions:
+
+```json
+{
+ "type": "target",
+ "target": "<target name>",
+ "operation": "extra_files_add / extra_files_rm",
+ "sources": ["list", "of", "extra", "files", "to", "add, remove"],
+}
+```
+
+## `meson rewrite target <target> info` outputs *target*'s `extra_files`
+
+Targets' `extra_files` lists are now included in the rewriter's target info dump
+as a list of file paths, in the same way `sources` are. This applies to both
+`meson rewrite` CLI and script mode.
+
+## Visual Studio 2022 backend
+
+As Visual Studio 2022 is released recently, it's time to support the
+new version in Meson. This mainly includes the new "v143" platform tools.
+
+The usage is similar to other backends. For example
+```meson
+meson setup builddir --backend=vs2022
+```
+will configure "builddir" for projects compatible with Visual Studio 2022.
+
+## Support for CMake <3.14 is now deprecated for CMake subprojects
+
+In CMake 3.14, the File API was introduced and the old CMake server API was
+deprecated (and removed in CMake 3.20). Thus support for this API will also
+be removed from Meson in future releases.
+
+This deprecation only affects CMake subprojects.
+
+## Added support for sccache
+
+Meson now supports [sccache](https://github.com/mozilla/sccache) just
+like it has supported CCache. If both sccache and CCache are
+available, the autodetection logic prefers sccache.
+
+## install_symlink function
+
+It is now possible to request for symbolic links to be installed during
+installation. The `install_symlink` function takes a positional argument to
+the link name, and installs a symbolic link pointing to `pointing_to` target.
+The link will be created under `install_dir` directory and cannot contain path
+separators.
+
+```meson
+install_symlink('target', pointing_to: '../bin/target', install_dir: '/usr/sbin')
+```
+