aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2020-10-30 10:25:24 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2020-10-30 10:25:24 +0200
commitf16d31607eb3cd0f281758bd0944e206ef6be387 (patch)
tree0b711c4b63a55049eecfbaff95bf2ea386a4956e
parent712cbe056811ebdf0d7358ba07a874717a1c736f (diff)
downloadmeson-0.56.0.zip
meson-0.56.0.tar.gz
meson-0.56.0.tar.bz2
Bump version number for release. This is the 10 000th commit!0.56.0
-rw-r--r--docs/markdown/Release-notes-for-0.56.0.md357
-rw-r--r--docs/markdown/snippets/add_compcert_compiler.md3
-rw-r--r--docs/markdown/snippets/add_nvidia_hpc_sdk_compilers.md3
-rw-r--r--docs/markdown/snippets/aix.md8
-rw-r--r--docs/markdown/snippets/as_link_whole.md12
-rw-r--r--docs/markdown/snippets/cmake_cross.md8
-rw-r--r--docs/markdown/snippets/cmake_include_type.md5
-rw-r--r--docs/markdown/snippets/curses-dependency-improvements.md4
-rw-r--r--docs/markdown/snippets/deprecate_old_variable_methods.md4
-rw-r--r--docs/markdown/snippets/deprecate_source_build_root.md10
-rw-r--r--docs/markdown/snippets/external_project.md24
-rw-r--r--docs/markdown/snippets/fallback_bool.md8
-rw-r--r--docs/markdown/snippets/hdf5_dependnecy_improvements.md9
-rw-r--r--docs/markdown/snippets/intro_extra_files.md6
-rw-r--r--docs/markdown/snippets/introspect_test_deps.md5
-rw-r--r--docs/markdown/snippets/keyval.md7
-rw-r--r--docs/markdown/snippets/machine-files-case-insensitve.md6
-rw-r--r--docs/markdown/snippets/mtest_test_list_subprojects.md18
-rw-r--r--docs/markdown/snippets/native_compiler_not_required.md4
-rw-r--r--docs/markdown/snippets/per_subproject.md4
-rw-r--r--docs/markdown/snippets/pkg_idep_variables.md12
-rw-r--r--docs/markdown/snippets/project_options_in_machine_files.md52
-rw-r--r--docs/markdown/snippets/python35-eol.md15
-rw-r--r--docs/markdown/snippets/qt_compile_translations_from_qrc.md19
-rw-r--r--docs/markdown/snippets/stdlib.md6
-rw-r--r--docs/markdown/snippets/subprojects_update.md36
-rw-r--r--docs/markdown/snippets/subsubproject.md13
-rw-r--r--docs/markdown/snippets/winsubsystem.md22
-rw-r--r--docs/sitemap.txt1
-rw-r--r--mesonbuild/coredata.py2
30 files changed, 359 insertions, 324 deletions
diff --git a/docs/markdown/Release-notes-for-0.56.0.md b/docs/markdown/Release-notes-for-0.56.0.md
new file mode 100644
index 0000000..6fca70a
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.56.0.md
@@ -0,0 +1,357 @@
+---
+title: Release 0.56.0
+short-description: Release notes for 0.56.0
+...
+
+# New features
+
+## Python 3.5 support will be dropped in the next release
+
+The final [Python 3.5 release was 3.5.10 in September](https://www.python.org/dev/peps/pep-0478/#id4).
+This release series is now End-of-Life (EOL). The only LTS distribution that
+still only ships Python 3.5 is Ubuntu 16.04, which will be
+[EOL in April 2021](https://ubuntu.com/about/release-cycle).
+
+Python 3.6 has numerous features that we find useful such as improved support
+for the `typing` module, f-string support, and better integration with the
+`pathlib` module.
+
+As a result, we will begin requiring Python 3.6 or newer in Meson 0.57, which
+is the next release. Starting with Meson 0.56, we now print a `NOTICE:` when
+a `meson` command is run on Python 3.5 to inform users about this. This notice
+has also been backported into the 0.55.2 stable release.
+
+## `meson test` can now filter tests by subproject
+
+You could always specify a list of tests to run by passing the names as
+arguments to `meson test`. If there were multiple tests with that name (in the
+same project or different subprojects), all of them would be run. Now you can:
+
+1. Run all tests with the specified name from a specific subproject: `meson test subprojname:testname`
+1. Run all tests defined in a specific subproject: `meson test subprojectname:`
+
+As before, these can all be specified multiple times and mixed:
+
+```sh
+# Run:
+# * All tests called 'name1' or 'name2' and
+# * All tests called 'name3' in subproject 'bar' and
+# * All tests in subproject 'foo'
+$ meson test name1 name2 bar:name3 foo:
+```
+
+## Native (build machine) compilers not always required by `project()`
+
+When cross-compiling, native (build machine) compilers for the languages
+specified in `project()` are not required, if no targets use them.
+
+## New `extra_files` key in target introspection
+
+The target introspection (`meson introspect --targets`, `intro-targets.json`)
+now has the new `extra_files` key which lists all files specified via the
+`extra_files` kwarg of a build target (see `executable()`, etc.)
+
+
+## Preliminary AIX support
+
+AIX is now supported when compiling with gcc. A number of features are not
+supported yet. For example, only gcc is supported (not xlC). Archives with both
+32-bit and 64-bit dynamic libraries are not generated automatically. The rpath
+includes both the build and install rpath, no attempt is made to change the
+rpath at install time. Most advanced features (eg. link\_whole) are not
+supported yet.
+
+## Wraps from subprojects are automatically promoted
+
+It is not required to promote wrap files for subprojects into the main project
+any more. When configuring a subproject, meson will look for any wrap file or
+directory in the subproject's `subprojects/` directory and add them into the
+global list of available subprojects, to be used by any future `subproject()`
+call or `dependency()` fallback. If a subproject with the same name already exists,
+the new wrap file or directory is ignored. That means that the main project can
+always override any subproject's wrap files by providing their own, it also means
+the ordering in which subprojects are configured matters, if 2 subprojects provide
+foo.wrap only the one from the first subproject to be configured will be used.
+
+This new behavior can be disabled by passing `--wrap-mode=nopromote`.
+
+## `meson.build_root()` and `meson.source_root()` are deprecated
+
+Those function are common source of issue when used in a subproject because they
+point to the parent project root which is rarely what is expected and is a
+violation of subproject isolation.
+
+`meson.current_source_dir()` and `meson.current_build_dir()` should be used instead
+and have been available in all Meson versions. New functions `meson.project_source_root()`
+and `meson.project_build_root()` have been added in Meson 0.56.0 to get the root
+of the current (sub)project.
+
+## `dep.as_link_whole()`
+
+Dependencies created with `declare_dependency()` now has new method `as_link_whole()`.
+It returns a copy of the dependency object with all link_with arguments changed
+to link_whole. This is useful for example for fallback dependency from a
+subproject built with `default_library=static`.
+
+```meson
+somelib = static_library('somelib', ...)
+dep = declare_dependency(..., link_with: somelib)
+library('someotherlib', ..., dependencies: dep.as_link_whole())
+```
+
+## Add support for all Windows subsystem types
+
+It is now possible to build things like Windows kernel drivers with
+the new `win_subsystem` keyword argument. This replaces the old
+`gui_app` keyword argument, which is now deprecated. You should update
+your project to use the new style like this:
+
+```meson
+# Old way
+executable(..., gui_app: 'true')
+# New way
+executable(..., win_subsystem: 'windows')
+```
+
+The argument supports versioning [as described on MSDN
+documentation](https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem).
+Thus to build a Windows kernel driver with a specific version you'd
+write something like this:
+
+```meson
+executable(..., win_subsystem: 'native,6.02')
+```
+
+## Added NVidia HPC SDK compilers
+
+Added support for `nvidia_hpc` NVidia HPC SDK compilers, which are currently in public beta testing.
+
+## Project and built-in options can be set in native or cross files
+
+A new set of sections has been added to the cross and native files, `[project
+options]` and `[<subproject_name>:project options]`, where `subproject_name`
+is the name of a subproject. Any options that are allowed in the project can
+be set from this section. They have the lowest precedent, and will be
+overwritten by command line arguments.
+
+
+```meson
+option('foo', type : 'string', value : 'foo')
+```
+
+```ini
+[project options]
+foo = 'other val'
+```
+
+```console
+meson build --native-file my.ini
+```
+
+Will result in the option foo having the value `other val`,
+
+```console
+meson build --native-file my.ini -Dfoo='different val'
+```
+
+Will result in the option foo having the value `different val`,
+
+
+Subproject options are assigned like this:
+
+```ini
+[zlib:project options]
+foo = 'some val'
+```
+
+Additionally meson level options can be set in the same way, using the
+`[built-in options]` section.
+
+```ini
+[built-in options]
+c_std = 'c99'
+```
+
+These options can also be set on a per-subproject basis, although only
+`default_library` and `werror` can currently be set:
+```ini
+[zlib:built-in options]
+default_library = 'static'
+```
+
+## `unstable-keyval` is now stable `keyval`
+
+The `unstable-keyval` has been renamed to `keyval` and now promises stability
+guarantees.
+
+Meson will print a warning when you load an `unstable-` module that has been
+stabilised (so `unstable-keyval` is still accepted for example).
+
+## CMake subproject cross compilation support
+
+Meson now supports cross compilation for CMake subprojects. Meson will try to
+automatically guess most of the required CMake toolchain variables from existing
+entries in the cross and native files. These variables will be stored in an
+automatically generate CMake toolchain file in the build directory. The
+remaining variables that can't be guessed can be added by the user in the
+new `[cmake]` cross/native file section.
+
+## Machine file keys are stored case sensitive
+
+Previous the keys were always lowered, which worked fine for the values that
+were allowed in the machine files. With the addition of per-project options
+we need to make these sensitive to case, as the options in meson_options.txt
+are sensitive to case already.
+
+## Consistency between `declare_dependency()` and `pkgconfig.generate()` variables
+
+The `variables` keyword argument in `declare_dependency()` used to only support
+dictionary and `pkgconfig.generate()` only list of strings. They now both support
+dictionary and list of strings in the format `'name=value'`. This makes easier
+to share a common set of variables for both:
+
+```meson
+vars = {'foo': 'bar'}
+dep = declare_dependency(..., variables: vars)
+pkg.generate(..., variables: vars)
+```
+
+## Qt5 compile_translations now supports qresource preprocessing
+
+When using qtmod.preprocess() in combination with qtmod.compile_translations()
+to embed translations using rcc, it is no longer required to do this:
+
+```meson
+ts_files = ['list', 'of', 'files']
+qtmod.compile_translations(ts_files)
+# lang.qrc also contains the duplicated list of files
+lang_cpp = qtmod.preprocess(qresources: 'lang.qrc')
+```
+
+Instead, use:
+```meson
+lang_cpp = qtmod.compile_translations(qresource: 'lang.qrc')
+```
+
+which will automatically detect and generate the needed compile_translations
+targets.
+
+## Controlling subproject dependencies with `dependency(allow_fallback: ...)`
+
+As an alternative to the `fallback` keyword argument to `dependency`,
+you may use `allow_fallback`, which accepts a boolean value. If `true`
+and the dependency is not found on the system, Meson will fallback
+to a subproject that provides this dependency, even if the dependency
+is optional. If `false`, Meson will not fallback even if a subproject
+provides this dependency.
+
+## Custom standard library
+
+- It is not limited to cross builds any more, `<lang>_stdlib` property can be
+ set in native files.
+- The variable name parameter is no longer required as long as the subproject
+ calls `meson.override_dependency('c_stdlib', mylibc_dep)`.
+
+## Improvements for the builtin curses dependency
+
+This method has been extended to use config-tools, and a fallback to
+find_library for lookup as well as pkg-config.
+
+## HDF5 dependency improvements
+
+HDF5 has been improved so that the internal representations have been split.
+This allows selecting pkg-config and config-tool dependencies separately.
+Both work as proper dependencies of their type, so `get_variable` and similar
+now work correctly.
+
+It has also been fixed to use the selected compiler for the build instead of
+the default compiler.
+
+## External projects
+
+A new experimental module `unstable_external_project` has been added to build
+code using other build systems than Meson. Currently only supporting projects
+with a configure script that generates Makefiles.
+
+```meson
+project('My Autotools Project', 'c',
+ meson_version : '>=0.56.0',
+)
+
+mod = import('unstable_external_project')
+
+p = mod.add_project('configure',
+ configure_options : ['--prefix=@PREFIX@',
+ '--libdir=@LIBDIR@',
+ '--incdir=@INCLUDEDIR@',
+ '--enable-foo',
+ ],
+)
+
+mylib_dep = p.dependency('mylib')
+```
+
+
+## Per subproject `warning_level` option
+
+`warning_level` can now be defined per subproject, in the same way as
+`default_library` and `werror`.
+
+## `meson subprojects` command
+
+A new `--types` argument has been added to all subcommands to run the command only
+on wraps with the specified types. For example this command will only print `Hello`
+for each git subproject: `meson subprojects foreach --types git echo "Hello"`.
+Multiple types can be set as comma separated list e.g. `--types git,file`.
+
+Subprojects with no wrap file are now taken into account as well. This happens
+for example for subprojects configured as git submodule, or downloaded manually
+by the user and placed into the `subprojects/` directory.
+
+The `checkout` subcommand now always stash any pending changes before switching
+branch. Note that `update` subcommand was already stashing changes before updating
+the branch.
+
+If the command fails on any subproject the execution continues with other
+subprojects, but at the end an error code is now returned.
+
+The `update` subcommand has been reworked:
+- In the case the URL of `origin` is different as the `url` set in wrap file,
+ the subproject will not be updated unless `--reset` is specified (see below).
+- In the case a subproject directory exists and is not a git repository but has
+ a `[wrap-git]`, meson used to run git commands that would wrongly apply to the
+ main project. It now skip the subproject unless `--reset` is specified (see below).
+- The `--rebase` behaviour is now the default for consistency: it was
+ already rebasing when current branch and revision are the same, it is
+ less confusing to rebase when they are different too.
+- Add `--reset` mode that checkout the new branch and hard reset that
+ branch to remote commit. This new mode guarantees that every
+ subproject are exactly at the wrap's revision. In addition the URL of `origin`
+ is updated in case it changed in the wrap file. If the subproject directory is
+ not a git repository but has a `[wrap-git]` the directory is deleted and the
+ new repository is cloned.
+- Local changes are always stashed first to avoid any data loss. In the
+ worst case scenario the user can always check reflog and stash list to
+ rollback.
+
+## Added CompCert C compiler
+
+Added experimental support for the [CompCert formally-verified C compiler](https://github.com/AbsInt/CompCert). The current state of the implementation is good enough to build the [picolibc project](https://github.com/picolibc/picolibc) with CompCert, but might still need additional adjustments for other projects.
+
+## Dependencies listed in test and benchmark introspection
+
+The introspection data for tests and benchmarks now includes the target
+ids for executables and built files that are needed by the test. IDEs can
+use this feature to update the build more quickly before running a test.
+
+## `include_type` support for the CMake subproject object dependency method
+
+The `dependency()` method of the CMake subproject object now also supports the
+`include_type` kwarg which is similar to the sane kwarg in the `dependency()`
+function.
+
+## Deprecate Dependency.get_pkgconfig_variable and Dependency.get_configtool_variable
+
+These have been replaced with the more versatile `get_variable()` method
+already, and shouldn't be used anymore.
+
diff --git a/docs/markdown/snippets/add_compcert_compiler.md b/docs/markdown/snippets/add_compcert_compiler.md
deleted file mode 100644
index b8e45f8..0000000
--- a/docs/markdown/snippets/add_compcert_compiler.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Added CompCert C compiler
-
-Added experimental support for the [CompCert formally-verified C compiler](https://github.com/AbsInt/CompCert). The current state of the implementation is good enough to build the [picolibc project](https://github.com/picolibc/picolibc) with CompCert, but might still need additional adjustments for other projects.
diff --git a/docs/markdown/snippets/add_nvidia_hpc_sdk_compilers.md b/docs/markdown/snippets/add_nvidia_hpc_sdk_compilers.md
deleted file mode 100644
index 1d9acf9..0000000
--- a/docs/markdown/snippets/add_nvidia_hpc_sdk_compilers.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Added NVidia HPC SDK compilers
-
-Added support for `nvidia_hpc` NVidia HPC SDK compilers, which are currently in public beta testing.
diff --git a/docs/markdown/snippets/aix.md b/docs/markdown/snippets/aix.md
deleted file mode 100644
index 1249888..0000000
--- a/docs/markdown/snippets/aix.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Preliminary AIX support
-
-AIX is now supported when compiling with gcc. A number of features are not
-supported yet. For example, only gcc is supported (not xlC). Archives with both
-32-bit and 64-bit dynamic libraries are not generated automatically. The rpath
-includes both the build and install rpath, no attempt is made to change the
-rpath at install time. Most advanced features (eg. link\_whole) are not
-supported yet.
diff --git a/docs/markdown/snippets/as_link_whole.md b/docs/markdown/snippets/as_link_whole.md
deleted file mode 100644
index 39f1289..0000000
--- a/docs/markdown/snippets/as_link_whole.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## `dep.as_link_whole()`
-
-Dependencies created with `declare_dependency()` now has new method `as_link_whole()`.
-It returns a copy of the dependency object with all link_with arguments changed
-to link_whole. This is useful for example for fallback dependency from a
-subproject built with `default_library=static`.
-
-```meson
-somelib = static_library('somelib', ...)
-dep = declare_dependency(..., link_with: somelib)
-library('someotherlib', ..., dependencies: dep.as_link_whole())
-```
diff --git a/docs/markdown/snippets/cmake_cross.md b/docs/markdown/snippets/cmake_cross.md
deleted file mode 100644
index 249c95f..0000000
--- a/docs/markdown/snippets/cmake_cross.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## CMake subproject cross compilation support
-
-Meson now supports cross compilation for CMake subprojects. Meson will try to
-automatically guess most of the required CMake toolchain variables from existing
-entries in the cross and native files. These variables will be stored in an
-automatically generate CMake toolchain file in the build directory. The
-remaining variables that can't be guessed can be added by the user in the
-new `[cmake]` cross/native file section.
diff --git a/docs/markdown/snippets/cmake_include_type.md b/docs/markdown/snippets/cmake_include_type.md
deleted file mode 100644
index f8637c0..0000000
--- a/docs/markdown/snippets/cmake_include_type.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## `include_type` support for the CMake subproject object dependency method
-
-The `dependency()` method of the CMake subproject object now also supports the
-`include_type` kwarg which is similar to the sane kwarg in the `dependency()`
-function.
diff --git a/docs/markdown/snippets/curses-dependency-improvements.md b/docs/markdown/snippets/curses-dependency-improvements.md
deleted file mode 100644
index 237da4c..0000000
--- a/docs/markdown/snippets/curses-dependency-improvements.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Improvements for the builtin curses dependency
-
-This method has been extended to use config-tools, and a fallback to
-find_library for lookup as well as pkg-config.
diff --git a/docs/markdown/snippets/deprecate_old_variable_methods.md b/docs/markdown/snippets/deprecate_old_variable_methods.md
deleted file mode 100644
index 3f41689..0000000
--- a/docs/markdown/snippets/deprecate_old_variable_methods.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Deprecate Dependency.get_pkgconfig_variable and Dependency.get_configtool_variable
-
-These have been replaced with the more versatile `get_variable()` method
-already, and shouldn't be used anymore.
diff --git a/docs/markdown/snippets/deprecate_source_build_root.md b/docs/markdown/snippets/deprecate_source_build_root.md
deleted file mode 100644
index 1cebef4..0000000
--- a/docs/markdown/snippets/deprecate_source_build_root.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## `meson.build_root()` and `meson.source_root()` are deprecated
-
-Those function are common source of issue when used in a subproject because they
-point to the parent project root which is rarely what is expected and is a
-violation of subproject isolation.
-
-`meson.current_source_dir()` and `meson.current_build_dir()` should be used instead
-and have been available in all Meson versions. New functions `meson.project_source_root()`
-and `meson.project_build_root()` have been added in Meson 0.56.0 to get the root
-of the current (sub)project.
diff --git a/docs/markdown/snippets/external_project.md b/docs/markdown/snippets/external_project.md
deleted file mode 100644
index 0ecaac8..0000000
--- a/docs/markdown/snippets/external_project.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## External projects
-
-A new experimental module `unstable_external_project` has been added to build
-code using other build systems than Meson. Currently only supporting projects
-with a configure script that generates Makefiles.
-
-```meson
-project('My Autotools Project', 'c',
- meson_version : '>=0.56.0',
-)
-
-mod = import('unstable_external_project')
-
-p = mod.add_project('configure',
- configure_options : ['--prefix=@PREFIX@',
- '--libdir=@LIBDIR@',
- '--incdir=@INCLUDEDIR@',
- '--enable-foo',
- ],
-)
-
-mylib_dep = p.dependency('mylib')
-```
-
diff --git a/docs/markdown/snippets/fallback_bool.md b/docs/markdown/snippets/fallback_bool.md
deleted file mode 100644
index 14bef50..0000000
--- a/docs/markdown/snippets/fallback_bool.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Controlling subproject dependencies with `dependency(allow_fallback: ...)`
-
-As an alternative to the `fallback` keyword argument to `dependency`,
-you may use `allow_fallback`, which accepts a boolean value. If `true`
-and the dependency is not found on the system, Meson will fallback
-to a subproject that provides this dependency, even if the dependency
-is optional. If `false`, Meson will not fallback even if a subproject
-provides this dependency.
diff --git a/docs/markdown/snippets/hdf5_dependnecy_improvements.md b/docs/markdown/snippets/hdf5_dependnecy_improvements.md
deleted file mode 100644
index 857eb90..0000000
--- a/docs/markdown/snippets/hdf5_dependnecy_improvements.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## HDF5 dependency improvements
-
-HDF5 has been improved so that the internal representations have been split.
-This allows selecting pkg-config and config-tool dependencies separately.
-Both work as proper dependencies of their type, so `get_variable` and similar
-now work correctly.
-
-It has also been fixed to use the selected compiler for the build instead of
-the default compiler.
diff --git a/docs/markdown/snippets/intro_extra_files.md b/docs/markdown/snippets/intro_extra_files.md
deleted file mode 100644
index 43475cd..0000000
--- a/docs/markdown/snippets/intro_extra_files.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## New `extra_files` key in target introspection
-
-The target introspection (`meson introspect --targets`, `intro-targets.json`)
-now has the new `extra_files` key which lists all files specified via the
-`extra_files` kwarg of a build target (see `executable()`, etc.)
-
diff --git a/docs/markdown/snippets/introspect_test_deps.md b/docs/markdown/snippets/introspect_test_deps.md
deleted file mode 100644
index a29ea09..0000000
--- a/docs/markdown/snippets/introspect_test_deps.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Dependencies listed in test and benchmark introspection
-
-The introspection data for tests and benchmarks now includes the target
-ids for executables and built files that are needed by the test. IDEs can
-use this feature to update the build more quickly before running a test.
diff --git a/docs/markdown/snippets/keyval.md b/docs/markdown/snippets/keyval.md
deleted file mode 100644
index 895de9b..0000000
--- a/docs/markdown/snippets/keyval.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## `unstable-keyval` is now stable `keyval`
-
-The `unstable-keyval` has been renamed to `keyval` and now promises stability
-guarantees.
-
-Meson will print a warning when you load an `unstable-` module that has been
-stabilised (so `unstable-keyval` is still accepted for example).
diff --git a/docs/markdown/snippets/machine-files-case-insensitve.md b/docs/markdown/snippets/machine-files-case-insensitve.md
deleted file mode 100644
index cacd37c..0000000
--- a/docs/markdown/snippets/machine-files-case-insensitve.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Machine file keys are stored case sensitive
-
-Previous the keys were always lowered, which worked fine for the values that
-were allowed in the machine files. With the addition of per-project options
-we need to make these sensitive to case, as the options in meson_options.txt
-are sensitive to case already.
diff --git a/docs/markdown/snippets/mtest_test_list_subprojects.md b/docs/markdown/snippets/mtest_test_list_subprojects.md
deleted file mode 100644
index a8dbf4c..0000000
--- a/docs/markdown/snippets/mtest_test_list_subprojects.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## `meson test` can now filter tests by subproject
-
-You could always specify a list of tests to run by passing the names as
-arguments to `meson test`. If there were multiple tests with that name (in the
-same project or different subprojects), all of them would be run. Now you can:
-
-1. Run all tests with the specified name from a specific subproject: `meson test subprojname:testname`
-1. Run all tests defined in a specific subproject: `meson test subprojectname:`
-
-As before, these can all be specified multiple times and mixed:
-
-```sh
-# Run:
-# * All tests called 'name1' or 'name2' and
-# * All tests called 'name3' in subproject 'bar' and
-# * All tests in subproject 'foo'
-$ meson test name1 name2 bar:name3 foo:
-```
diff --git a/docs/markdown/snippets/native_compiler_not_required.md b/docs/markdown/snippets/native_compiler_not_required.md
deleted file mode 100644
index ee51ef8..0000000
--- a/docs/markdown/snippets/native_compiler_not_required.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Native (build machine) compilers not always required by `project()`
-
-When cross-compiling, native (build machine) compilers for the languages
-specified in `project()` are not required, if no targets use them.
diff --git a/docs/markdown/snippets/per_subproject.md b/docs/markdown/snippets/per_subproject.md
deleted file mode 100644
index 6de6068..0000000
--- a/docs/markdown/snippets/per_subproject.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Per subproject `warning_level` option
-
-`warning_level` can now be defined per subproject, in the same way as
-`default_library` and `werror`.
diff --git a/docs/markdown/snippets/pkg_idep_variables.md b/docs/markdown/snippets/pkg_idep_variables.md
deleted file mode 100644
index 4e69b18..0000000
--- a/docs/markdown/snippets/pkg_idep_variables.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Consistency between `declare_dependency()` and `pkgconfig.generate()` variables
-
-The `variables` keyword argument in `declare_dependency()` used to only support
-dictionary and `pkgconfig.generate()` only list of strings. They now both support
-dictionary and list of strings in the format `'name=value'`. This makes easier
-to share a common set of variables for both:
-
-```meson
-vars = {'foo': 'bar'}
-dep = declare_dependency(..., variables: vars)
-pkg.generate(..., variables: vars)
-```
diff --git a/docs/markdown/snippets/project_options_in_machine_files.md b/docs/markdown/snippets/project_options_in_machine_files.md
deleted file mode 100644
index 8dab951..0000000
--- a/docs/markdown/snippets/project_options_in_machine_files.md
+++ /dev/null
@@ -1,52 +0,0 @@
-## Project and built-in options can be set in native or cross files
-
-A new set of sections has been added to the cross and native files, `[project
-options]` and `[<subproject_name>:project options]`, where `subproject_name`
-is the name of a subproject. Any options that are allowed in the project can
-be set from this section. They have the lowest precedent, and will be
-overwritten by command line arguments.
-
-
-```meson
-option('foo', type : 'string', value : 'foo')
-```
-
-```ini
-[project options]
-foo = 'other val'
-```
-
-```console
-meson build --native-file my.ini
-```
-
-Will result in the option foo having the value `other val`,
-
-```console
-meson build --native-file my.ini -Dfoo='different val'
-```
-
-Will result in the option foo having the value `different val`,
-
-
-Subproject options are assigned like this:
-
-```ini
-[zlib:project options]
-foo = 'some val'
-```
-
-Additionally meson level options can be set in the same way, using the
-`[built-in options]` section.
-
-```ini
-[built-in options]
-c_std = 'c99'
-```
-
-These options can also be set on a per-subproject basis, although only
-`default_library` and `werror` can currently be set:
-```ini
-[zlib:built-in options]
-default_library = 'static'
-```
diff --git a/docs/markdown/snippets/python35-eol.md b/docs/markdown/snippets/python35-eol.md
deleted file mode 100644
index bd9a074..0000000
--- a/docs/markdown/snippets/python35-eol.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## Python 3.5 support will be dropped in the next release
-
-The final [Python 3.5 release was 3.5.10 in September](https://www.python.org/dev/peps/pep-0478/#id4).
-This release series is now End-of-Life (EOL). The only LTS distribution that
-still only ships Python 3.5 is Ubuntu 16.04, which will be
-[EOL in April 2021](https://ubuntu.com/about/release-cycle).
-
-Python 3.6 has numerous features that we find useful such as improved support
-for the `typing` module, f-string support, and better integration with the
-`pathlib` module.
-
-As a result, we will begin requiring Python 3.6 or newer in Meson 0.57, which
-is the next release. Starting with Meson 0.56, we now print a `NOTICE:` when
-a `meson` command is run on Python 3.5 to inform users about this. This notice
-has also been backported into the 0.55.2 stable release.
diff --git a/docs/markdown/snippets/qt_compile_translations_from_qrc.md b/docs/markdown/snippets/qt_compile_translations_from_qrc.md
deleted file mode 100644
index bfa8619..0000000
--- a/docs/markdown/snippets/qt_compile_translations_from_qrc.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## Qt5 compile_translations now supports qresource preprocessing
-
-When using qtmod.preprocess() in combination with qtmod.compile_translations()
-to embed translations using rcc, it is no longer required to do this:
-
-```meson
-ts_files = ['list', 'of', 'files']
-qtmod.compile_translations(ts_files)
-# lang.qrc also contains the duplicated list of files
-lang_cpp = qtmod.preprocess(qresources: 'lang.qrc')
-```
-
-Instead, use:
-```meson
-lang_cpp = qtmod.compile_translations(qresource: 'lang.qrc')
-```
-
-which will automatically detect and generate the needed compile_translations
-targets.
diff --git a/docs/markdown/snippets/stdlib.md b/docs/markdown/snippets/stdlib.md
deleted file mode 100644
index 5e80dd5..0000000
--- a/docs/markdown/snippets/stdlib.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Custom standard library
-
-- It is not limited to cross builds any more, `<lang>_stdlib` property can be
- set in native files.
-- The variable name parameter is no longer required as long as the subproject
- calls `meson.override_dependency('c_stdlib', mylibc_dep)`.
diff --git a/docs/markdown/snippets/subprojects_update.md b/docs/markdown/snippets/subprojects_update.md
deleted file mode 100644
index b5aa17c..0000000
--- a/docs/markdown/snippets/subprojects_update.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## `meson subprojects` command
-
-A new `--types` argument has been added to all subcommands to run the command only
-on wraps with the specified types. For example this command will only print `Hello`
-for each git subproject: `meson subprojects foreach --types git echo "Hello"`.
-Multiple types can be set as comma separated list e.g. `--types git,file`.
-
-Subprojects with no wrap file are now taken into account as well. This happens
-for example for subprojects configured as git submodule, or downloaded manually
-by the user and placed into the `subprojects/` directory.
-
-The `checkout` subcommand now always stash any pending changes before switching
-branch. Note that `update` subcommand was already stashing changes before updating
-the branch.
-
-If the command fails on any subproject the execution continues with other
-subprojects, but at the end an error code is now returned.
-
-The `update` subcommand has been reworked:
-- In the case the URL of `origin` is different as the `url` set in wrap file,
- the subproject will not be updated unless `--reset` is specified (see below).
-- In the case a subproject directory exists and is not a git repository but has
- a `[wrap-git]`, meson used to run git commands that would wrongly apply to the
- main project. It now skip the subproject unless `--reset` is specified (see below).
-- The `--rebase` behaviour is now the default for consistency: it was
- already rebasing when current branch and revision are the same, it is
- less confusing to rebase when they are different too.
-- Add `--reset` mode that checkout the new branch and hard reset that
- branch to remote commit. This new mode guarantees that every
- subproject are exactly at the wrap's revision. In addition the URL of `origin`
- is updated in case it changed in the wrap file. If the subproject directory is
- not a git repository but has a `[wrap-git]` the directory is deleted and the
- new repository is cloned.
-- Local changes are always stashed first to avoid any data loss. In the
- worst case scenario the user can always check reflog and stash list to
- rollback.
diff --git a/docs/markdown/snippets/subsubproject.md b/docs/markdown/snippets/subsubproject.md
deleted file mode 100644
index 77f4a0d..0000000
--- a/docs/markdown/snippets/subsubproject.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Wraps from subprojects are automatically promoted
-
-It is not required to promote wrap files for subprojects into the main project
-any more. When configuring a subproject, meson will look for any wrap file or
-directory in the subproject's `subprojects/` directory and add them into the
-global list of available subprojects, to be used by any future `subproject()`
-call or `dependency()` fallback. If a subproject with the same name already exists,
-the new wrap file or directory is ignored. That means that the main project can
-always override any subproject's wrap files by providing their own, it also means
-the ordering in which subprojects are configured matters, if 2 subprojects provide
-foo.wrap only the one from the first subproject to be configured will be used.
-
-This new behavior can be disabled by passing `--wrap-mode=nopromote`.
diff --git a/docs/markdown/snippets/winsubsystem.md b/docs/markdown/snippets/winsubsystem.md
deleted file mode 100644
index a7d589f..0000000
--- a/docs/markdown/snippets/winsubsystem.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## Add support for all Windows subsystem types
-
-It is now possible to build things like Windows kernel drivers with
-the new `win_subsystem` keyword argument. This replaces the old
-`gui_app` keyword argument, which is now deprecated. You should update
-your project to use the new style like this:
-
-```meson
-# Old way
-executable(..., gui_app: 'true')
-# New way
-executable(..., win_subsystem: 'windows')
-```
-
-The argument supports versioning [as described on MSDN
-documentation](https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem).
-Thus to build a Windows kernel driver with a specific version you'd
-write something like this:
-
-```meson
-executable(..., win_subsystem: 'native,6.02')
-```
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 246ee3e..27f6638 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -79,6 +79,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.56.0.md
Release-notes-for-0.55.0.md
Release-notes-for-0.54.0.md
Release-notes-for-0.53.0.md
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 7d24568..252b1a7 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -39,7 +39,7 @@ if T.TYPE_CHECKING:
OptionDictType = T.Union[T.Dict[str, 'UserOption[T.Any]'], OptionOverrideProxy]
CompilerCheckCacheKey = T.Tuple[T.Tuple[str, ...], str, str, T.Tuple[str, ...], str]
-version = '0.56.0.rc2'
+version = '0.56.0'
backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'vs2019', 'xcode']
default_yielding = False