diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2022-01-10 18:27:11 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2022-01-10 18:27:11 +0200 |
| commit | 9e1f20728f8d09d4eddbb0e1ff62762f9bddfaae (patch) | |
| tree | 4669ad081fd7ebeb3f260dfbbf729c4e27d27245 /docs/markdown/Release-notes-for-0.61.0.md | |
| parent | 09f03a8424a5ab45bbf251e5edd6341c6503f8e1 (diff) | |
| download | meson-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.md | 138 |
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') +``` + |
