aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-02-14 21:28:44 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2021-02-14 21:28:44 +0200
commit5d651e76b5b6dba5dd03ffec609719b02d703bb7 (patch)
treea2796da9b60e919af3fd08c4a206d29e61e6de5c /docs
parentc0b448d3ca98cea2c6a55609772baa7954702fd8 (diff)
downloadmeson-5d651e76b5b6dba5dd03ffec609719b02d703bb7.zip
meson-5d651e76b5b6dba5dd03ffec609719b02d703bb7.tar.gz
meson-5d651e76b5b6dba5dd03ffec609719b02d703bb7.tar.bz2
Set up release 0.57.0.57.0
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Release-notes-for-0.57.0.md353
-rw-r--r--docs/markdown/snippets/buildtyperemains.md12
-rw-r--r--docs/markdown/snippets/cmake_package_version.md5
-rw-r--r--docs/markdown/snippets/compiler_method_internal_deps.md6
-rw-r--r--docs/markdown/snippets/customtarget_env.md11
-rw-r--r--docs/markdown/snippets/destdir.md11
-rw-r--r--docs/markdown/snippets/dist_subproject.md16
-rw-r--r--docs/markdown/snippets/external_project.md13
-rw-r--r--docs/markdown/snippets/fs_read.md40
-rw-r--r--docs/markdown/snippets/gnome_install_script.md9
-rw-r--r--docs/markdown/snippets/install_dry_run.md4
-rw-r--r--docs/markdown/snippets/keys_of_configuration_data.md4
-rw-r--r--docs/markdown/snippets/lto_mode.md5
-rw-r--r--docs/markdown/snippets/lto_threads.md7
-rw-r--r--docs/markdown/snippets/meson_test_depends.md16
-rw-r--r--docs/markdown/snippets/meson_test_interrupt.md5
-rw-r--r--docs/markdown/snippets/meson_test_logs.md29
-rw-r--r--docs/markdown/snippets/msvc_argument_changes.md16
-rw-r--r--docs/markdown/snippets/msvc_no_zi.md14
-rw-r--r--docs/markdown/snippets/pass_file_to_add_script.md15
-rw-r--r--docs/markdown/snippets/prelink.md6
-rw-r--r--docs/markdown/snippets/pythonbump.md6
-rw-r--r--docs/markdown/snippets/qt6_module.md8
-rw-r--r--docs/markdown/snippets/rewrite_allow_double_slash_project_id.md7
-rw-r--r--docs/markdown/snippets/rust_std_option.md5
-rw-r--r--docs/markdown/snippets/rust_test_format_support.md4
-rw-r--r--docs/markdown/snippets/summary_alignment.md4
-rw-r--r--docs/markdown/snippets/summary_prog_dep.md4
-rw-r--r--docs/markdown/snippets/test_timeout.md9
-rw-r--r--docs/markdown/snippets/unstable-rust-module.md5
-rw-r--r--docs/markdown/snippets/vala_unity_builds_disabled.md7
-rw-r--r--docs/markdown/snippets/versionfile.md12
-rw-r--r--docs/sitemap.txt1
33 files changed, 354 insertions, 315 deletions
diff --git a/docs/markdown/Release-notes-for-0.57.0.md b/docs/markdown/Release-notes-for-0.57.0.md
new file mode 100644
index 0000000..93db683
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.57.0.md
@@ -0,0 +1,353 @@
+---
+title: Release 0.57.0
+short-description: Release notes for 0.57.0
+...
+
+# New features
+
+## Project version can be specified with a file
+
+Meson can be instructed to load a project's version string from an
+external file like this:
+
+```meson
+project('foo', 'c' version: files('VERSION'))
+```
+
+The version file must contain exactly one line of text which will
+be used as the project's version. If the line ends in a newline
+character, it is removed.
+
+## Support for reading files at configuration time with the `fs` module
+
+Reading text files during configuration is now supported. This can be done at
+any time after `project` has been called
+
+```meson
+project(myproject', 'c')
+license_text = run_command(
+ find_program('python3'), '-c', 'print(open("COPYING").read())'
+).stdout().strip()
+about_header = configuration_data()
+about_header.add('COPYRIGHT', license_text)
+about_header.add('ABOUT_STRING', meson.project_name())
+...
+```
+
+There are several problems with the above approach:
+1. It's ugly and confusing
+2. If `COPYING` changes after configuration, Meson won't correctly rebuild when
+ configuration data is based on the data in COPYING
+3. It has extra overhead
+
+`fs.read` replaces the above idiom thus:
+```meson
+project(myproject', 'c')
+fs = import('fs')
+license_text = fs.read('COPYING').strip()
+about_header = configuration_data()
+about_header.add('COPYRIGHT', license_text)
+about_header.add('ABOUT_STRING', meson.project_name())
+...
+```
+
+They are not equivalent, though. Files read with `fs.read` create a
+configuration dependency on the file, and so if the `COPYING` file is modified,
+Meson will automatically reconfigure, guaranteeing the build is consistent. It
+can be used for any properly encoded text files. It supports specification of
+non utf-8 encodings too, so if you're stuck with text files in a different
+encoding, it can be passed as an argument. See the [`meson`
+object](Reference-manual.md#meson-object) documentation for details.
+
+## meson install --dry-run
+
+New option to meson install command that does not actually install files, but
+only print messages.
+
+## Qt6 module
+
+A module for Qt6 is now available with the same functionality as the Qt5
+module.
+
+Currently finding Qt6 is only available via `qmake` as pkg-config files aren't
+generated (see [QTBUG-86080](https://bugreports.qt.io/browse/QTBUG-86080)) and
+CMake support is not available for this module yet.
+
+## Unstable Rust module
+
+A new unstable module has been added to make using Rust with Meson easier.
+Currently, it adds a single function to ease defining Rust tests, as well as a
+wrapper around bindgen, making it easier to use.
+
+## Meson test() now accepts `protocol : 'rust'`
+
+This allows native Rust tests to be run and parsed by Meson; simply set the
+protocol to `rust` and Meson takes care of the rest.
+
+## MSVC/Clang-Cl Argument Changes/Cleanup
+
+* "Disable Debug" (`/Od`) is no longer manually specified for optimization levels {`0`,`g`} (it is already the default for MSVC).
+* "Run Time Checking" (`/RTC1`) removed from `debug` buildtype by default
+* Clang-CL `debug` buildtype arguments now match MSVC arguments
+* There is now no difference between `buildtype` flags and `debug` + `optimization` flags
+
+The /Od flag has been removed, as it is already the default in the MSVC compilers, and conflicts with other user options.
+
+/RTC1 conflicts with other RTC argument types as there are many different options, and has been removed by default.
+Run Time Checking can be enabled by manually adding `/RTC1` or other RTC flags of your choice.
+
+The `debug` buildtype for clang-cl added additional arguments compared to MSVC, which had more to do with optimization than debug. The arguments removed are `/Ob0`, `/Od`, `/RTC1`. (`/Zi` was also removed, but it is already added by default when debug is enabled.)
+
+If these are important issues for you and would like builtin toggle options,
+please file an issue in the Meson bug tracker.
+
+## Buildtype remains even if dependent options are changed
+
+Setting the `buildtype' option to a value sets the `debug` and
+`optimization` options to predefined values. Traditionally setting the
+options to other values would then change the buildtype to `custom`.
+This is confusing and means that you can't use, for example, debug
+level `g` in `debug` buildtype even though it would make sense under
+many circumstances.
+
+Starting with this release, the buildtype is only changed when the user
+explicitly sets it; setting the build type modifies the `debug` and
+`optimization` options as before.
+
+## Passing internal dependencies to the compiler object
+
+Methods on the compiler object (such as `compiles`, `links`, `has_header`)
+can be passed dependencies returned by `declare_dependency`, as long as they
+only specify compiler/linker arguments or other dependencies that satisfy
+the same requirements.
+
+## `unstable_external_project` improvements
+
+- Default arguments are added to `add_project()` in case some tags are not found
+ in `configure_options`: `'--prefix=@PREFIX@'`, `'--libdir=@PREFIX@/@LIBDIR@'`,
+ and `'--includedir=@PREFIX@/@INCLUDEDIR@'`. It was previously considered a fatal
+ error to not specify them.
+
+- When the `verbose` keyword argument is not specified, or is false, command outputs
+ are written on file in `<builddir>/meson-logs/`.
+
+- The `LD` environment variable is not passed any more when running the configure
+ script. It caused issues because Meson sets `LD` to the `CC` linker wrapper but
+ autotools expects it to be a real linker (e.g. `/usr/bin/ld`).
+
+## `gnome.post_install()`
+
+Post-install update of various system wide caches. Each script will be executed
+only once even if `gnome.post_install()` is called multiple times from multiple
+subprojects. If `DESTDIR` is specified during installation all scripts will be
+skipped.
+
+Currently supports `glib-compile-schemas`, `gio-querymodules`, and
+`gtk-update-icon-cache`.
+
+## "Edit and continue" (/ZI) is no longer used by default for Visual Studio
+
+Meson was adding the `/ZI` compiler argument as an argument for Visual Studio
+in debug mode. This enables the `edit-and-continue` debugging in
+Visual Studio IDE's.
+
+Unfortunately, it is also extremely expensive and breaks certain use cases such
+as link time code generation. Edit and continue can be enabled by manually by
+adding `/ZI` to compiler arguments.
+
+The `/ZI` argument has now been replaced by the `/Zi` argument for debug builds.
+
+If this is an important issue for you and would like a builtin toggle option,
+please file an issue in the Meson bug tracker.
+
+## Minimum required Python version updated to 3.6
+
+Meson now requires at least Python version 3.6 to run as Python 3.5
+reaches EOL on September 2020. In practice this should only affect
+people developing on Ubuntu Xenial, which will similarly reach EOL in
+April 2021.
+
+## Packaging a subproject
+
+The `meson dist` command can now create a distribution tarball for a subproject
+in the same git repository as the main project. This can be useful if parts of
+the project (e.g. libraries) can be built and distributed separately. In that
+case they can be moved into `subprojects/mysub` and running `meson dist` in that
+directory will now create a tarball containing only the source code from that
+subdir and not the rest of the main project or other subprojects.
+
+For example:
+```sh
+git clone https://github.com/myproject
+cd myproject/subprojects/mysubproject
+meson builddir
+meson dist -C builddir
+```
+
+## `custom_target()` and `run_target()` now accepts an `env` keyword argument
+
+Environment variables can now be passed to the `custom_target()` command.
+
+```meson
+env = environment()
+env.append('PATH', '/foo')
+custom_target(..., env: env)
+custom_target(..., env: {'MY_ENV': 'value'})
+custom_target(..., env: ['MY_ENV=value'])
+```
+
+## `summary()` accepts external programs or dependencies
+
+External program objects and dependency objects can be passed to
+`summary()` as the value to be printed.
+
+## CMake `find_package` version support
+
+It is now possible to specify a requested package version for the CMake
+dependency backend via the new `cmake_package_version` kwarg in the
+`dependency` function.
+
+## `meson test` only rebuilds test dependencies
+
+Until now, `meson test` rebuilt the whole project independent of the
+requested tests and their dependencies. With this release, `meson test`
+will only rebuild what is needed for the tests or suites that will be run.
+This feature can be used, for example, to speed up bisecting regressions
+using commands like the following:
+
+ git bisect start <broken commit> <working commit>
+ git bisect run meson test <failing test name>
+
+This would find the broken commit automatically while at each step
+rebuilding only those pieces of code needed to run the test.
+
+However, this change could cause failures when upgrading to 0.57, if the
+dependencies are not specified correctly in `meson.build`.
+
+## The `add_*_script` methods now accept a File as the first argument
+
+Meson now accepts `file` objects, including those produced by
+`configure_file`, as the first parameter of the various
+`add_*_script` methods
+
+```meson
+install_script = configure_file(
+ configuration : conf,
+ input : 'myscript.py.in',
+ output : 'myscript.py',
+)
+
+meson.add_install_script(install_script, other, params)
+```
+
+## Unity build with Vala disabled
+
+The approach that meson has used for Vala unity builds is incorrect, we
+combine the generated C files like we would any other C file. This is very
+fragile however, as the Vala compiler generates helper functions and macros
+which work fine when each file is a separate translation unit, but fail when
+they are combined.
+
+## New logging format for `meson test`
+
+The console output format for `meson test` has changed in several ways.
+The major changes are:
+
+* if stdout is a tty, `meson` includes a progress report.
+
+* if `--print-errorlogs` is specified, the logs are printed as tests run
+rather than afterwards. All the error logs are printed rather than only
+the first ten.
+
+* if `--verbose` is specified and `--num-processes` specifies more than
+one concurrent test, test output is buffered and printed after the
+test finishes.
+
+* the console logs include a reproducer command. If `--verbose` is
+specified, the command is printed for all tests at the time they start;
+otherwise, it is printed for failing tests at the time the test finishes.
+
+* for TAP and Rust tests, Meson is able to report individual subtests. If
+`--verbose` is specified, all tests are reported. If `--print-errorlogs`
+is specified, only failures are.
+
+In addition, if `--verbose` was specified, Meson used not to generate
+logs. This limitation has now been removed.
+
+These changes make the default `ninja test` output more readable, while
+`--verbose` output provides detailed, human-readable logs that
+are well suited to CI environments.
+
+## Specify DESTDIR on command line
+
+`meson install` command now has a `--destdir` argument that overrides `DESTDIR`
+from environment.
+
+## Skip install scripts if DESTDIR is set
+
+`meson.add_install_script()` now has `skip_if_destdir` keyword argument. If set
+to `true` the script won't be run if `DESTDIR` is set during installation. This is
+useful in the case the script updates system wide caches, or performs other tasks
+that are only needed when copying files into final destination.
+
+## Add support for prelinked static libraries
+
+The static library gains a new `prelink` keyword argument that can be
+used to prelink object files in that target. This is currently only
+supported for the GNU toolchain, patches to add it to other compilers
+are most welcome.
+
+## Rust now has an `std` option
+
+Rust calls these `editions`, however, Meson generally refers to such language
+versions as "standards", or `std` for short. Therefore, Meson's Rust support
+uses `std` for consistency with other languages.
+
+## Ctrl-C behavior in `meson test`
+
+Starting from this version, sending a `SIGINT` signal (or pressing `Ctrl-C`)
+to `meson test` will interrupt the longest running test. Pressing `Ctrl-C`
+three times within a second will exit `meson test`.
+
+## Support added for LLVM's thinLTO
+
+A new `b_lto_mode` option has been added, which may be set to `default` or
+`thin`. Thin only works for clang, and only with gnu gold, lld variants, or
+ld64.
+
+## `test()` timeout and timeout_multiplier value <= 0
+
+`test(..., timeout: 0)`, or negative value, used to abort the test immediately
+but now instead allow infinite duration. Note that omitting the `timeout`
+keyword argument still defaults to 30s timeout.
+
+Likewise, `add_test_setup(..., timeout_multiplier: 0)`, or
+`meson test --timeout-multiplier 0`, or negative value, disable tests timeout.
+
+
+## Knob to control LTO thread
+
+Both the gnu linker and lld support using threads for speeding up LTO, meson
+now provides a knob for this: `-Db_lto_threads`. Currently this is only
+supported for clang and gcc. Any positive integer is supported, `0` means
+`auto`. If the compiler or linker implements it's on `auto` we use that,
+otherwise the number of threads on the machine is used.
+
+## `summary()` now uses left alignment for both keys and values
+
+Previously it aligned keys toward the center, but this was deemed harder
+to read than having everything left aligned.
+
+## `//` is now allowed as a function id for `meson rewrite`.
+
+msys bash may expand `/` to a path, breaking
+`meson rewrite kwargs set project / ...`. Passing `//` will be converted to
+`/` by msys bash but in order to keep usage shell-agnostic, this release
+also allows `//` as the id. This way, `meson rewrite kwargs set project
+// ...` will work in both msys bash and other shells.
+
+## Get keys of configuration data object
+
+All keys of the `configuration_data` object can be obtained with the `keys()`
+method as an alphabetically sorted array.
+
diff --git a/docs/markdown/snippets/buildtyperemains.md b/docs/markdown/snippets/buildtyperemains.md
deleted file mode 100644
index 4b27187..0000000
--- a/docs/markdown/snippets/buildtyperemains.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Buildtype remains even if dependent options are changed
-
-Setting the `buildtype' option to a value sets the `debug` and
-`optimization` options to predefined values. Traditionally setting the
-options to other values would then change the buildtype to `custom`.
-This is confusing and means that you can't use, for example, debug
-level `g` in `debug` buildtype even though it would make sense under
-many circumstances.
-
-Starting with this release, the buildtype is only changed when the user
-explicitly sets it; setting the build type modifies the `debug` and
-`optimization` options as before.
diff --git a/docs/markdown/snippets/cmake_package_version.md b/docs/markdown/snippets/cmake_package_version.md
deleted file mode 100644
index 72446dd..0000000
--- a/docs/markdown/snippets/cmake_package_version.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## CMake `find_package` version support
-
-It is now possible to specify a requested package version for the CMake
-dependency backend via the new `cmake_package_version` kwarg in the
-`dependency` function.
diff --git a/docs/markdown/snippets/compiler_method_internal_deps.md b/docs/markdown/snippets/compiler_method_internal_deps.md
deleted file mode 100644
index bde6b4f..0000000
--- a/docs/markdown/snippets/compiler_method_internal_deps.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Passing internal dependencies to the compiler object
-
-Methods on the compiler object (such as `compiles`, `links`, `has_header`)
-can be passed dependencies returned by `declare_dependency`, as long as they
-only specify compiler/linker arguments or other dependencies that satisfy
-the same requirements.
diff --git a/docs/markdown/snippets/customtarget_env.md b/docs/markdown/snippets/customtarget_env.md
deleted file mode 100644
index f2d651b..0000000
--- a/docs/markdown/snippets/customtarget_env.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## `custom_target()` and `run_target()` now accepts an `env` keyword argument
-
-Environment variables can now be passed to the `custom_target()` command.
-
-```meson
-env = environment()
-env.append('PATH', '/foo')
-custom_target(..., env: env)
-custom_target(..., env: {'MY_ENV': 'value'})
-custom_target(..., env: ['MY_ENV=value'])
-```
diff --git a/docs/markdown/snippets/destdir.md b/docs/markdown/snippets/destdir.md
deleted file mode 100644
index c698c99..0000000
--- a/docs/markdown/snippets/destdir.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Specify DESTDIR on command line
-
-`meson install` command now has a `--destdir` argument that overrides `DESTDIR`
-from environment.
-
-## Skip install scripts if DESTDIR is set
-
-`meson.add_install_script()` now has `skip_if_destdir` keyword argument. If set
-to `true` the script won't be run if `DESTDIR` is set during installation. This is
-useful in the case the script updates system wide caches, or performs other tasks
-that are only needed when copying files into final destination.
diff --git a/docs/markdown/snippets/dist_subproject.md b/docs/markdown/snippets/dist_subproject.md
deleted file mode 100644
index a3127dd..0000000
--- a/docs/markdown/snippets/dist_subproject.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Packaging a subproject
-
-The `meson dist` command can now create a distribution tarball for a subproject
-in the same git repository as the main project. This can be useful if parts of
-the project (e.g. libraries) can be built and distributed separately. In that
-case they can be moved into `subprojects/mysub` and running `meson dist` in that
-directory will now create a tarball containing only the source code from that
-subdir and not the rest of the main project or other subprojects.
-
-For example:
-```sh
-git clone https://github.com/myproject
-cd myproject/subprojects/mysubproject
-meson builddir
-meson dist -C builddir
-```
diff --git a/docs/markdown/snippets/external_project.md b/docs/markdown/snippets/external_project.md
deleted file mode 100644
index 1608d49..0000000
--- a/docs/markdown/snippets/external_project.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## `unstable_external_project` improvements
-
-- Default arguments are added to `add_project()` in case some tags are not found
- in `configure_options`: `'--prefix=@PREFIX@'`, `'--libdir=@PREFIX@/@LIBDIR@'`,
- and `'--includedir=@PREFIX@/@INCLUDEDIR@'`. It was previously considered a fatal
- error to not specify them.
-
-- When the `verbose` keyword argument is not specified, or is false, command outputs
- are written on file in `<builddir>/meson-logs/`.
-
-- The `LD` environment variable is not passed any more when running the configure
- script. It caused issues because Meson sets `LD` to the `CC` linker wrapper but
- autotools expects it to be a real linker (e.g. `/usr/bin/ld`).
diff --git a/docs/markdown/snippets/fs_read.md b/docs/markdown/snippets/fs_read.md
deleted file mode 100644
index 05c215a..0000000
--- a/docs/markdown/snippets/fs_read.md
+++ /dev/null
@@ -1,40 +0,0 @@
-## Support for reading files at configuration time with the `fs` module
-
-Reading text files during configuration is now supported. This can be done at
-any time after `project` has been called
-
-```meson
-project(myproject', 'c')
-license_text = run_command(
- find_program('python3'), '-c', 'print(open("COPYING").read())'
-).stdout().strip()
-about_header = configuration_data()
-about_header.add('COPYRIGHT', license_text)
-about_header.add('ABOUT_STRING', meson.project_name())
-...
-```
-
-There are several problems with the above approach:
-1. It's ugly and confusing
-2. If `COPYING` changes after configuration, Meson won't correctly rebuild when
- configuration data is based on the data in COPYING
-3. It has extra overhead
-
-`fs.read` replaces the above idiom thus:
-```meson
-project(myproject', 'c')
-fs = import('fs')
-license_text = fs.read('COPYING').strip()
-about_header = configuration_data()
-about_header.add('COPYRIGHT', license_text)
-about_header.add('ABOUT_STRING', meson.project_name())
-...
-```
-
-They are not equivalent, though. Files read with `fs.read` create a
-configuration dependency on the file, and so if the `COPYING` file is modified,
-Meson will automatically reconfigure, guaranteeing the build is consistent. It
-can be used for any properly encoded text files. It supports specification of
-non utf-8 encodings too, so if you're stuck with text files in a different
-encoding, it can be passed as an argument. See the [`meson`
-object](Reference-manual.md#meson-object) documentation for details.
diff --git a/docs/markdown/snippets/gnome_install_script.md b/docs/markdown/snippets/gnome_install_script.md
deleted file mode 100644
index 03fcfe4..0000000
--- a/docs/markdown/snippets/gnome_install_script.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## `gnome.post_install()`
-
-Post-install update of various system wide caches. Each script will be executed
-only once even if `gnome.post_install()` is called multiple times from multiple
-subprojects. If `DESTDIR` is specified during installation all scripts will be
-skipped.
-
-Currently supports `glib-compile-schemas`, `gio-querymodules`, and
-`gtk-update-icon-cache`.
diff --git a/docs/markdown/snippets/install_dry_run.md b/docs/markdown/snippets/install_dry_run.md
deleted file mode 100644
index 8106a06..0000000
--- a/docs/markdown/snippets/install_dry_run.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## meson install --dry-run
-
-New option to meson install command that does not actually install files, but
-only print messages.
diff --git a/docs/markdown/snippets/keys_of_configuration_data.md b/docs/markdown/snippets/keys_of_configuration_data.md
deleted file mode 100644
index c0cbfc2..0000000
--- a/docs/markdown/snippets/keys_of_configuration_data.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Get keys of configuration data object
-
-All keys of the `configuration_data` object can be obtained with the `keys()`
-method as an alphabetically sorted array.
diff --git a/docs/markdown/snippets/lto_mode.md b/docs/markdown/snippets/lto_mode.md
deleted file mode 100644
index c1df066..0000000
--- a/docs/markdown/snippets/lto_mode.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Support added for LLVM's thinLTO
-
-A new `b_lto_mode` option has been added, which may be set to `default` or
-`thin`. Thin only works for clang, and only with gnu gold, lld variants, or
-ld64.
diff --git a/docs/markdown/snippets/lto_threads.md b/docs/markdown/snippets/lto_threads.md
deleted file mode 100644
index 77c8047..0000000
--- a/docs/markdown/snippets/lto_threads.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Knob to control LTO thread
-
-Both the gnu linker and lld support using threads for speeding up LTO, meson
-now provides a knob for this: `-Db_lto_threads`. Currently this is only
-supported for clang and gcc. Any positive integer is supported, `0` means
-`auto`. If the compiler or linker implements it's on `auto` we use that,
-otherwise the number of threads on the machine is used.
diff --git a/docs/markdown/snippets/meson_test_depends.md b/docs/markdown/snippets/meson_test_depends.md
deleted file mode 100644
index 46ec328..0000000
--- a/docs/markdown/snippets/meson_test_depends.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## `meson test` only rebuilds test dependencies
-
-Until now, `meson test` rebuilt the whole project independent of the
-requested tests and their dependencies. With this release, `meson test`
-will only rebuild what is needed for the tests or suites that will be run.
-This feature can be used, for example, to speed up bisecting regressions
-using commands like the following:
-
- git bisect start <broken commit> <working commit>
- git bisect run meson test <failing test name>
-
-This would find the broken commit automatically while at each step
-rebuilding only those pieces of code needed to run the test.
-
-However, this change could cause failures when upgrading to 0.57, if the
-dependencies are not specified correctly in `meson.build`.
diff --git a/docs/markdown/snippets/meson_test_interrupt.md b/docs/markdown/snippets/meson_test_interrupt.md
deleted file mode 100644
index 2d1ed26..0000000
--- a/docs/markdown/snippets/meson_test_interrupt.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Ctrl-C behavior in `meson test`
-
-Starting from this version, sending a `SIGINT` signal (or pressing `Ctrl-C`)
-to `meson test` will interrupt the longest running test. Pressing `Ctrl-C`
-three times within a second will exit `meson test`.
diff --git a/docs/markdown/snippets/meson_test_logs.md b/docs/markdown/snippets/meson_test_logs.md
deleted file mode 100644
index 965ba6c..0000000
--- a/docs/markdown/snippets/meson_test_logs.md
+++ /dev/null
@@ -1,29 +0,0 @@
-## New logging format for `meson test`
-
-The console output format for `meson test` has changed in several ways.
-The major changes are:
-
-* if stdout is a tty, `meson` includes a progress report.
-
-* if `--print-errorlogs` is specified, the logs are printed as tests run
-rather than afterwards. All the error logs are printed rather than only
-the first ten.
-
-* if `--verbose` is specified and `--num-processes` specifies more than
-one concurrent test, test output is buffered and printed after the
-test finishes.
-
-* the console logs include a reproducer command. If `--verbose` is
-specified, the command is printed for all tests at the time they start;
-otherwise, it is printed for failing tests at the time the test finishes.
-
-* for TAP and Rust tests, Meson is able to report individual subtests. If
-`--verbose` is specified, all tests are reported. If `--print-errorlogs`
-is specified, only failures are.
-
-In addition, if `--verbose` was specified, Meson used not to generate
-logs. This limitation has now been removed.
-
-These changes make the default `ninja test` output more readable, while
-`--verbose` output provides detailed, human-readable logs that
-are well suited to CI environments.
diff --git a/docs/markdown/snippets/msvc_argument_changes.md b/docs/markdown/snippets/msvc_argument_changes.md
deleted file mode 100644
index 26f849b..0000000
--- a/docs/markdown/snippets/msvc_argument_changes.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## MSVC/Clang-Cl Argument Changes/Cleanup
-
-* "Disable Debug" (`/Od`) is no longer manually specified for optimization levels {`0`,`g`} (it is already the default for MSVC).
-* "Run Time Checking" (`/RTC1`) removed from `debug` buildtype by default
-* Clang-CL `debug` buildtype arguments now match MSVC arguments
-* There is now no difference between `buildtype` flags and `debug` + `optimization` flags
-
-The /Od flag has been removed, as it is already the default in the MSVC compilers, and conflicts with other user options.
-
-/RTC1 conflicts with other RTC argument types as there are many different options, and has been removed by default.
-Run Time Checking can be enabled by manually adding `/RTC1` or other RTC flags of your choice.
-
-The `debug` buildtype for clang-cl added additional arguments compared to MSVC, which had more to do with optimization than debug. The arguments removed are `/Ob0`, `/Od`, `/RTC1`. (`/Zi` was also removed, but it is already added by default when debug is enabled.)
-
-If these are important issues for you and would like builtin toggle options,
-please file an issue in the Meson bug tracker. \ No newline at end of file
diff --git a/docs/markdown/snippets/msvc_no_zi.md b/docs/markdown/snippets/msvc_no_zi.md
deleted file mode 100644
index 711598d..0000000
--- a/docs/markdown/snippets/msvc_no_zi.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## "Edit and continue" (/ZI) is no longer used by default for Visual Studio
-
-Meson was adding the `/ZI` compiler argument as an argument for Visual Studio
-in debug mode. This enables the `edit-and-continue` debugging in
-Visual Studio IDE's.
-
-Unfortunately, it is also extremely expensive and breaks certain use cases such
-as link time code generation. Edit and continue can be enabled by manually by
-adding `/ZI` to compiler arguments.
-
-The `/ZI` argument has now been replaced by the `/Zi` argument for debug builds.
-
-If this is an important issue for you and would like a builtin toggle option,
-please file an issue in the Meson bug tracker. \ No newline at end of file
diff --git a/docs/markdown/snippets/pass_file_to_add_script.md b/docs/markdown/snippets/pass_file_to_add_script.md
deleted file mode 100644
index 96a4aa2..0000000
--- a/docs/markdown/snippets/pass_file_to_add_script.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## The `add_*_script` methods now accept a File as the first argument
-
-Meson now accepts `file` objects, including those produced by
-`configure_file`, as the first parameter of the various
-`add_*_script` methods
-
-```meson
-install_script = configure_file(
- configuration : conf,
- input : 'myscript.py.in',
- output : 'myscript.py',
-)
-
-meson.add_install_script(install_script, other, params)
-```
diff --git a/docs/markdown/snippets/prelink.md b/docs/markdown/snippets/prelink.md
deleted file mode 100644
index 26f5bbb..0000000
--- a/docs/markdown/snippets/prelink.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Add support for prelinked static libraries
-
-The static library gains a new `prelink` keyword argument that can be
-used to prelink object files in that target. This is currently only
-supported for the GNU toolchain, patches to add it to other compilers
-are most welcome.
diff --git a/docs/markdown/snippets/pythonbump.md b/docs/markdown/snippets/pythonbump.md
deleted file mode 100644
index 5a31291..0000000
--- a/docs/markdown/snippets/pythonbump.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Minimum required Python version updated to 3.6
-
-Meson now requires at least Python version 3.6 to run as Python 3.5
-reaches EOL on September 2020. In practice this should only affect
-people developing on Ubuntu Xenial, which will similarly reach EOL in
-April 2021.
diff --git a/docs/markdown/snippets/qt6_module.md b/docs/markdown/snippets/qt6_module.md
deleted file mode 100644
index 0e2145e..0000000
--- a/docs/markdown/snippets/qt6_module.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Qt6 module
-
-A module for Qt6 is now available with the same functionality as the Qt5
-module.
-
-Currently finding Qt6 is only available via `qmake` as pkg-config files aren't
-generated (see [QTBUG-86080](https://bugreports.qt.io/browse/QTBUG-86080)) and
-CMake support is not available for this module yet.
diff --git a/docs/markdown/snippets/rewrite_allow_double_slash_project_id.md b/docs/markdown/snippets/rewrite_allow_double_slash_project_id.md
deleted file mode 100644
index 1fa32f7..0000000
--- a/docs/markdown/snippets/rewrite_allow_double_slash_project_id.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## `//` is now allowed as a function id for `meson rewrite`.
-
-msys bash may expand `/` to a path, breaking
-`meson rewrite kwargs set project / ...`. Passing `//` will be converted to
-`/` by msys bash but in order to keep usage shell-agnostic, this release
-also allows `//` as the id. This way, `meson rewrite kwargs set project
-// ...` will work in both msys bash and other shells.
diff --git a/docs/markdown/snippets/rust_std_option.md b/docs/markdown/snippets/rust_std_option.md
deleted file mode 100644
index 5b1ba3d..0000000
--- a/docs/markdown/snippets/rust_std_option.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Rust now has an `std` option
-
-Rust calls these `editions`, however, Meson generally refers to such language
-versions as "standards", or `std` for short. Therefore, Meson's Rust support
-uses `std` for consistency with other languages.
diff --git a/docs/markdown/snippets/rust_test_format_support.md b/docs/markdown/snippets/rust_test_format_support.md
deleted file mode 100644
index 969eb57..0000000
--- a/docs/markdown/snippets/rust_test_format_support.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Meson test() now accepts `protocol : 'rust'`
-
-This allows native Rust tests to be run and parsed by Meson; simply set the
-protocol to `rust` and Meson takes care of the rest.
diff --git a/docs/markdown/snippets/summary_alignment.md b/docs/markdown/snippets/summary_alignment.md
deleted file mode 100644
index 49e8748..0000000
--- a/docs/markdown/snippets/summary_alignment.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## `summary()` now uses left alignment for both keys and values
-
-Previously it aligned keys toward the center, but this was deemed harder
-to read than having everything left aligned.
diff --git a/docs/markdown/snippets/summary_prog_dep.md b/docs/markdown/snippets/summary_prog_dep.md
deleted file mode 100644
index 6f0262f..0000000
--- a/docs/markdown/snippets/summary_prog_dep.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## `summary()` accepts external programs or dependencies
-
-External program objects and dependency objects can be passed to
-`summary()` as the value to be printed.
diff --git a/docs/markdown/snippets/test_timeout.md b/docs/markdown/snippets/test_timeout.md
deleted file mode 100644
index e436d2e..0000000
--- a/docs/markdown/snippets/test_timeout.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## `test()` timeout and timeout_multiplier value <= 0
-
-`test(..., timeout: 0)`, or negative value, used to abort the test immediately
-but now instead allow infinite duration. Note that omitting the `timeout`
-keyword argument still defaults to 30s timeout.
-
-Likewise, `add_test_setup(..., timeout_multiplier: 0)`, or
-`meson test --timeout-multiplier 0`, or negative value, disable tests timeout.
-
diff --git a/docs/markdown/snippets/unstable-rust-module.md b/docs/markdown/snippets/unstable-rust-module.md
deleted file mode 100644
index 87ffe33..0000000
--- a/docs/markdown/snippets/unstable-rust-module.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Unstable Rust module
-
-A new unstable module has been added to make using Rust with Meson easier.
-Currently, it adds a single function to ease defining Rust tests, as well as a
-wrapper around bindgen, making it easier to use.
diff --git a/docs/markdown/snippets/vala_unity_builds_disabled.md b/docs/markdown/snippets/vala_unity_builds_disabled.md
deleted file mode 100644
index 80e6523..0000000
--- a/docs/markdown/snippets/vala_unity_builds_disabled.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Unity build with Vala disabled
-
-The approach that meson has used for Vala unity builds is incorrect, we
-combine the generated C files like we would any other C file. This is very
-fragile however, as the Vala compiler generates helper functions and macros
-which work fine when each file is a separate translation unit, but fail when
-they are combined.
diff --git a/docs/markdown/snippets/versionfile.md b/docs/markdown/snippets/versionfile.md
deleted file mode 100644
index a18803e..0000000
--- a/docs/markdown/snippets/versionfile.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Project version can be specified with a file
-
-Meson can be instructed to load a project's version string from an
-external file like this:
-
-```meson
-project('foo', 'c' version: files('VERSION'))
-```
-
-The version file must contain exactly one line of text which will
-be used as the project's version. If the line ends in a newline
-character, it is removed.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 3164440..de98cd0 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -81,6 +81,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.57.0.md
Release-notes-for-0.56.0.md
Release-notes-for-0.55.0.md
Release-notes-for-0.54.0.md