summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-09-22 23:11:59 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-09-22 23:11:59 +0300
commit0cf4a6ab3aa3672d74091e28f6535477794d9839 (patch)
treeb0a2069e5e5bb28d8a92fe0c59d7f100128402d2
parentd1f3f1d023566a54dfc65dc6067a0416b7353dff (diff)
downloadmeson-0.48.0.tar.gz
Updated release note page.0.48.0
-rw-r--r--docs/markdown/Release-notes-for-0.48.0.md305
-rw-r--r--docs/markdown/Release-notes-for-0.49.0.md17
-rw-r--r--docs/markdown/snippets/buildtype_toggles.md21
-rw-r--r--docs/markdown/snippets/configure_file_overwrite_warning.md39
-rw-r--r--docs/markdown/snippets/custom_target_console_pool.md13
-rw-r--r--docs/markdown/snippets/dependency_version.md14
-rw-r--r--docs/markdown/snippets/deprecated_python3_module.md18
-rw-r--r--docs/markdown/snippets/dict_add.md10
-rw-r--r--docs/markdown/snippets/distscript.md12
-rw-r--r--docs/markdown/snippets/fatal_warnings.md6
-rw-r--r--docs/markdown/snippets/function_attributes.md29
-rw-r--r--docs/markdown/snippets/generate_gir_multiple_libraries.md7
-rw-r--r--docs/markdown/snippets/hotdoc_module.md22
-rw-r--r--docs/markdown/snippets/i18n_variable_substitution.md4
-rw-r--r--docs/markdown/snippets/native_args.md34
-rw-r--r--docs/markdown/snippets/overrideexe.md8
-rw-r--r--docs/markdown/snippets/shared_library_darwin_versions.md9
-rw-r--r--docs/markdown/snippets/version_comparison.md15
-rw-r--r--docs/markdown/snippets/visibility.md13
-rw-r--r--docs/markdown/snippets/wrap_clone_recursive.md7
-rw-r--r--docs/sitemap.txt1
21 files changed, 316 insertions, 288 deletions
diff --git a/docs/markdown/Release-notes-for-0.48.0.md b/docs/markdown/Release-notes-for-0.48.0.md
index cf3db4c6e..44927ef77 100644
--- a/docs/markdown/Release-notes-for-0.48.0.md
+++ b/docs/markdown/Release-notes-for-0.48.0.md
@@ -1,17 +1,308 @@
---
title: Release 0.48
-short-description: Release notes for 0.48 (preliminary)
+short-description: Release notes for 0.48
...
# New features
-This page is a placeholder for the eventual release notes.
+## Toggles for build type, optimization and vcrt type
-Notable new features should come with release note updates. This is
-done by creating a file snippet called `snippets/featurename.md` and
-whose contents should look like this:
+Since the very beginning Meson has provided different project types to
+use, such as *debug* and *minsize*. There is also a *plain* type that
+adds nothing by default but instead makes it the user's responsibility
+to add everything by hand. This works but is a bit tedious.
- ## Feature name
+In this release we have added new new options to manually toggle
+e.g. optimization levels and debug info so those can be changed
+independently of other options. For example by default the debug
+buildtype has no optmization enabled at all. If you wish to use GCC's
+`-Og` instead, you could set it with the following command:
- A short description explaining the new feature and how it should be used.
+```
+meson configure -Doptimization=g
+```
+Similarly we have added a toggle option to select the version of
+Visual Studio C runtime to use. By default it uses the debug runtime
+DLL debug builds and release DLL for release builds but this can be
+manually changed with the new base option `b_vscrt`.
+
+## Meson warns if two calls to configure_file() write to the same file
+
+If two calls to [`configure_file()`](#Reference-manual.md#configure_file)
+write to the same file Meson will print a `WARNING:` message during
+configuration. For example:
+```meson
+project('configure_file', 'cpp')
+
+configure_file(
+ input: 'a.in',
+ output: 'out',
+ command: ['./foo.sh']
+ )
+configure_file(
+ input: 'a.in',
+ output: 'out',
+ command: ['./foo.sh']
+)
+
+```
+
+This will output:
+
+```
+The Meson build system
+Version: 0.47.0.dev1
+Source dir: /path/to/srctree
+Build dir: /path/to/buildtree
+Build type: native build
+Project name: configure_file
+Project version: undefined
+Build machine cpu family: x86_64
+Build machine cpu: x86_64
+Configuring out with command
+WARNING: Output file out for configure_file overwritten. First time written in line 3 now in line 8
+Configuring out with command
+Build targets in project: 0
+Found ninja-1.8.2 at /usr/bin/ninja
+```
+
+## New kwarg `console` for `custom_target()`
+
+This keyword argument conflicts with `capture`, and is meant for
+commands that are resource-intensive and take a long time to
+finish. With the Ninja backend, setting this will add this target to
+[Ninja's `console`
+pool](https://ninja-build.org/manual.html#_the_literal_console_literal_pool),
+which has special properties such as not buffering stdout and
+serializing all targets in this pool.
+
+The primary use-case for this is to be able to run external commands
+that take a long time to exeute. Without setting this, the user does
+not receive any feedback about what the program is doing.
+
+## `dependency(version:)` now applies to all dependency types
+
+Previously, version constraints were only enforced for dependencies found using
+the pkg-config dependency provider. These constraints now apply to dependencies
+found using any dependency provider.
+
+Some combinations of dependency, host and method do not currently support
+discovery of the version. In these cases, the dependency will not be found if a
+version constraint is applied, otherwise the `version()` method for the
+dependency object will return `'unknown'`.
+
+(If discovering the version in one of these combinations is important to you,
+and a method exists to determine the version in that case, please file an issue
+with as much information as possible.)
+
+## python3 module is deprecated
+
+A generic module `python` has been added in Meson `0.46.0` and has a superset of
+the features implemented by the previous `python3` module.
+
+In most cases, it is a simple matter of renaming:
+```meson
+py3mod = import('python3')
+python = py3mod.find_python()
+```
+
+becomes
+
+```meson
+pymod = import('python')
+python = pymod.find_installation()
+```
+
+## Dictionary addition
+
+Dictionaries can now be added, values from the second dictionary overrides values
+from the first
+
+```meson
+d1 = {'a' : 'b'}
+d3 = d1 + {'a' : 'c'}
+d3 += {'d' : 'e'}
+```
+
+## Dist scripts
+
+You can now specify scripts that are run as part of the `dist`
+target. An example usage would go like this:
+
+```meson
+project('foo', 'c')
+
+# other stuff here
+
+meson.add_dist_script('dist_cleanup.py')
+```
+
+## Fatal warnings
+
+A new command line option has been added: `--fatal-meson-warnings`. When enabled, any
+warning message printed by Meson will be fatal and raise an exception. It is
+intended to be used by developers and CIs to easily catch deprecation warnings,
+or any other potential issues.
+
+## Helper methods added for checking GNU style attributes: __attribute__(...)
+
+A set of new helpers have been added to the C and C++ compiler objects for
+checking GNU style function attributes. These are not just simpler to use, they
+may be optimized to return fast on compilers that don't support these
+attributes. Currently this is true for MSVC.
+
+```meson
+cc = meson.get_compiler('c')
+if cc.has_function_attribute('aligned')
+ add_project_arguments('-DHAVE_ALIGNED', language : 'c')
+endif
+```
+
+Would replace code like:
+
+```meson
+if cc.compiles('''into foo(void) __attribute__((aligned(32)))''')
+ add_project_arguments('-DHAVE_ALIGNED', language : 'c')
+endif
+```
+
+Additionally, a multi argument version has been added:
+
+```meson
+foreach s : cc.get_supported_function_attributes(['hidden', 'alias'])
+ add_project_arguments('-DHAVE_@0@'.format(s.to_upper()), language : 'c')
+endforeach
+```
+
+## gnome.generate_gir() now optionally accepts multiple libraries
+
+The GNOME module can now generate a single gir for multiple libraries, which
+is something `g-ir-scanner` supported, but had not been exposed yet.
+
+gnome.generate_gir() will now accept multiple positional arguments, if none
+of these arguments are an `Executable` instance.
+
+## Hotdoc module
+
+A new module has been written to ease generation of
+[hotdoc](https://hotdoc.github.io/) based documentation. It supports
+complex use cases such as hotdoc subprojects (to create documentation
+portals) and makes it straight forward to leverage full capabilities
+of hotdoc.
+
+Simple usage:
+
+``` meson
+hotdoc = import('hotdoc')
+
+hotdoc.generate_doc(
+ 'foobar',
+ c_smart_index: true,
+ project_version: '0.1',
+ sitemap: 'sitemap.txt',
+ index: 'index.md',
+ c_sources: ['path/to/file.c'],
+ languages: ['c'],
+ install: true,
+)
+```
+
+## i18n.merge_file() now fully supports variable substitutions defined in custom_target()
+
+Filename substitutions like @BASENAME@ and @PLAINNAME@ were previously
+accepted but the name of the build target wasn't altered leading to
+colliding target names when using the substitution twice.
+i18n.merge_file() now behaves as custom_target() in this regard.
+
+## Projects args can be set separately for cross and native builds (potentially breaking change)
+
+It has been a longstanding bug (or let's call it a "delayed bug fix")
+that if yo do this:
+
+```meson
+add_project_arguments('-DFOO', language : 'c')
+```
+
+Then the flag is used both in native and cross compilations. This is
+very confusing and almost never what you want. To fix this a new
+keyword `native` has been added to all functions that add arguments,
+namely `add_global_arguments`, `add_global_link_arguments`,
+`add_project_arguments` and `add_project_link_arguments` that behaves
+like the following:
+
+```
+## Added to native builds when compiling natively and to cross
+## compilations when doing cross compiles.
+add_project_arguments(...)
+
+## Added only to native compilations, not used in cross compilations.
+add_project_arguments(..., native : true)
+
+## Added only to cross compilations, not used in native compilations.
+add_project_arguments(..., native : false)
+```
+
+Also remember that cross compilation is a property of each
+target. There can be target that are compiled with the native compiler
+and some which are compiled with the cross compiler.
+
+Unfortunately this change is backwards incompatible and may cause some
+projects to fail building. However this should be very rare in practice.
+
+## More flexible `override_find_program()`.
+
+It is now possible to pass an `executable` to
+`override_find_program()` if the overridden program is not used during
+configure.
+
+This is particularly useful for fallback dependencies like Protobuf
+that also provide a tool like protoc.
+
+## `shared_library()` now supports setting dylib compatibility and current version
+
+Now, by default `shared_library()` sets `-compatibility_version` and
+`-current_version` of a macOS dylib using the `soversion`.
+
+This can be overriden by using the `darwin_versions:` kwarg to
+[`shared_library()`](Reference-manual.md#shared_library). As usual, you can
+also pass this kwarg to `library()` or `build_target()` and it will be used in
+the appropriate circumstances.
+
+## Version comparison
+
+`dependency(version:)` and other version constraints now handle versions
+containing non-numeric characters better, comparing versions using the rpmvercmp
+algorithm (as using the `pkg-config` autoconf macro `PKG_CHECK_MODULES` does).
+
+This is a breaking change for exact comparison constraints which rely on the
+previous comparison behaviour of extending the compared versions with `'0'`
+elements, up to the same length of `'.'`-separated elements.
+
+For example, a version of `'0.11.0'` would previously match a version constraint
+of `'==0.11'`, but no longer does, being instead considered strictly greater.
+
+Instead, use a version constraint which exactly compares with the precise
+version required, e.g. `'==0.11.0'`.
+
+## Keyword argument for GNU symbol visibility
+
+Build targets got a new keyword, `gnu_symbol_visibility` that controls
+how symbols are exported from shared libraries. This is most commonly
+used to hide implementation symbols like this:
+
+```meson
+shared_library('mylib', ...
+ gnu_symbol_visibility: 'hidden')
+```
+
+In this case only symbols explicitly marked as visible in the source
+files get exported.
+
+## Git wraps can now clone submodules automatically
+
+To enable this, the following needs to be added to the `.wrap` file:
+
+```ini
+clone-recursive=true
+``` \ No newline at end of file
diff --git a/docs/markdown/Release-notes-for-0.49.0.md b/docs/markdown/Release-notes-for-0.49.0.md
new file mode 100644
index 000000000..b294ad5cd
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.49.0.md
@@ -0,0 +1,17 @@
+---
+title: Release 0.49
+short-description: Release notes for 0.49 (preliminary)
+...
+
+# New features
+
+This page is a placeholder for the eventual release notes.
+
+Notable new features should come with release note updates. This is
+done by creating a file snippet called `snippets/featurename.md` and
+whose contents should look like this:
+
+ ## Feature name
+
+ A short description explaining the new feature and how it should be used.
+
diff --git a/docs/markdown/snippets/buildtype_toggles.md b/docs/markdown/snippets/buildtype_toggles.md
deleted file mode 100644
index e6ae53d22..000000000
--- a/docs/markdown/snippets/buildtype_toggles.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## Toggles for build type, optimization and vcrt type
-
-Since the very beginning Meson has provided different project types to
-use, such as *debug* and *minsize*. There is also a *plain* type that
-adds nothing by default but instead makes it the user's responsibility
-to add everything by hand. This works but is a bit tedious.
-
-In this release we have added new new options to manually toggle
-e.g. optimization levels and debug info so those can be changed
-independently of other options. For example by default the debug
-buildtype has no optmization enabled at all. If you wish to use GCC's
-`-Og` instead, you could set it with the following command:
-
-```
-meson configure -Doptimization=g
-```
-
-Similarly we have added a toggle option to select the version of
-Visual Studio C runtime to use. By default it uses the debug runtime
-DLL debug builds and release DLL for release builds but this can be
-manually changed with the new base option `b_vscrt`.
diff --git a/docs/markdown/snippets/configure_file_overwrite_warning.md b/docs/markdown/snippets/configure_file_overwrite_warning.md
deleted file mode 100644
index 550407dc1..000000000
--- a/docs/markdown/snippets/configure_file_overwrite_warning.md
+++ /dev/null
@@ -1,39 +0,0 @@
-## Meson warns if two calls to configure_file() write to the same file
-
-If two calls to [`configure_file()`](#Reference-manual.md#configure_file)
-write to the same file Meson will print a `WARNING:` message during
-configuration. For example:
-```meson
-project('configure_file', 'cpp')
-
-configure_file(
- input: 'a.in',
- output: 'out',
- command: ['./foo.sh']
- )
-configure_file(
- input: 'a.in',
- output: 'out',
- command: ['./foo.sh']
-)
-
-```
-
-This will output:
-
-```
-The Meson build system
-Version: 0.47.0.dev1
-Source dir: /path/to/srctree
-Build dir: /path/to/buildtree
-Build type: native build
-Project name: configure_file
-Project version: undefined
-Build machine cpu family: x86_64
-Build machine cpu: x86_64
-Configuring out with command
-WARNING: Output file out for configure_file overwritten. First time written in line 3 now in line 8
-Configuring out with command
-Build targets in project: 0
-Found ninja-1.8.2 at /usr/bin/ninja
-```
diff --git a/docs/markdown/snippets/custom_target_console_pool.md b/docs/markdown/snippets/custom_target_console_pool.md
deleted file mode 100644
index 8b9bb3442..000000000
--- a/docs/markdown/snippets/custom_target_console_pool.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## New kwarg `console` for `custom_target()`
-
-This keyword argument conflicts with `capture`, and is meant for
-commands that are resource-intensive and take a long time to
-finish. With the Ninja backend, setting this will add this target to
-[Ninja's `console`
-pool](https://ninja-build.org/manual.html#_the_literal_console_literal_pool),
-which has special properties such as not buffering stdout and
-serializing all targets in this pool.
-
-The primary use-case for this is to be able to run external commands
-that take a long time to exeute. Without setting this, the user does
-not receive any feedback about what the program is doing.
diff --git a/docs/markdown/snippets/dependency_version.md b/docs/markdown/snippets/dependency_version.md
deleted file mode 100644
index 4bbf346e0..000000000
--- a/docs/markdown/snippets/dependency_version.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## `dependency(version:)` now applies to all dependency types
-
-Previously, version constraints were only enforced for dependencies found using
-the pkg-config dependency provider. These constraints now apply to dependencies
-found using any dependency provider.
-
-Some combinations of dependency, host and method do not currently support
-discovery of the version. In these cases, the dependency will not be found if a
-version constraint is applied, otherwise the `version()` method for the
-dependency object will return `'unknown'`.
-
-(If discovering the version in one of these combinations is important to you,
-and a method exists to determine the version in that case, please file an issue
-with as much information as possible.)
diff --git a/docs/markdown/snippets/deprecated_python3_module.md b/docs/markdown/snippets/deprecated_python3_module.md
deleted file mode 100644
index 2c4683001..000000000
--- a/docs/markdown/snippets/deprecated_python3_module.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## python3 module is deprecated
-
-A generic module `python` has been added in Meson `0.46.0` and has a superset of
-the features implemented by the previous `python3` module.
-
-In most cases, it is a simple matter of renaming:
-```meson
-py3mod = import('python3')
-python = py3mod.find_python()
-```
-
-becomes
-
-```meson
-pymod = import('python')
-python = pymod.find_installation()
-```
-
diff --git a/docs/markdown/snippets/dict_add.md b/docs/markdown/snippets/dict_add.md
deleted file mode 100644
index cde5b5736..000000000
--- a/docs/markdown/snippets/dict_add.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Dictionary addition
-
-Dictionaries can now be added, values from the second dictionary overrides values
-from the first
-
-```meson
-d1 = {'a' : 'b'}
-d3 = d1 + {'a' : 'c'}
-d3 += {'d' : 'e'}
-```
diff --git a/docs/markdown/snippets/distscript.md b/docs/markdown/snippets/distscript.md
deleted file mode 100644
index 37d05fed8..000000000
--- a/docs/markdown/snippets/distscript.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Dist scripts
-
-You can now specify scripts that are run as part of the `dist`
-target. An example usage would go like this:
-
-```meson
-project('foo', 'c')
-
-# other stuff here
-
-meson.add_dist_script('dist_cleanup.py')
-```
diff --git a/docs/markdown/snippets/fatal_warnings.md b/docs/markdown/snippets/fatal_warnings.md
deleted file mode 100644
index adf333463..000000000
--- a/docs/markdown/snippets/fatal_warnings.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Fatal warnings
-
-A new command line option has been added: `--fatal-meson-warnings`. When enabled, any
-warning message printed by Meson will be fatal and raise an exception. It is
-intended to be used by developers and CIs to easily catch deprecation warnings,
-or any other potential issues.
diff --git a/docs/markdown/snippets/function_attributes.md b/docs/markdown/snippets/function_attributes.md
deleted file mode 100644
index 55144945a..000000000
--- a/docs/markdown/snippets/function_attributes.md
+++ /dev/null
@@ -1,29 +0,0 @@
-## Helper methods added for checking GNU style attributes: __attribute__(...)
-
-A set of new helpers have been added to the C and C++ compiler objects for
-checking GNU style function attributes. These are not just simpler to use, they
-may be optimized to return fast on compilers that don't support these
-attributes. Currently this is true for MSVC.
-
-```meson
-cc = meson.get_compiler('c')
-if cc.has_function_attribute('aligned')
- add_project_arguments('-DHAVE_ALIGNED', language : 'c')
-endif
-```
-
-Would replace code like:
-
-```meson
-if cc.compiles('''into foo(void) __attribute__((aligned(32)))''')
- add_project_arguments('-DHAVE_ALIGNED', language : 'c')
-endif
-```
-
-Additionally, a multi argument version has been added:
-
-```meson
-foreach s : cc.get_supported_function_attributes(['hidden', 'alias'])
- add_project_arguments('-DHAVE_@0@'.format(s.to_upper()), language : 'c')
-endforeach
-```
diff --git a/docs/markdown/snippets/generate_gir_multiple_libraries.md b/docs/markdown/snippets/generate_gir_multiple_libraries.md
deleted file mode 100644
index 3541b7110..000000000
--- a/docs/markdown/snippets/generate_gir_multiple_libraries.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## gnome.generate_gir() now optionally accepts multiple libraries
-
-The GNOME module can now generate a single gir for multiple libraries, which
-is something `g-ir-scanner` supported, but had not been exposed yet.
-
-gnome.generate_gir() will now accept multiple positional arguments, if none
-of these arguments are an `Executable` instance.
diff --git a/docs/markdown/snippets/hotdoc_module.md b/docs/markdown/snippets/hotdoc_module.md
deleted file mode 100644
index 4662ea22b..000000000
--- a/docs/markdown/snippets/hotdoc_module.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## Hotdoc module
-
-A new module has been written to ease generation of [hotdoc](https://hotdoc.github.io/) based
-documentation. It supports complex use cases such as hotdoc subprojects (to create documentation
-portals) and makes it straight forward to leverage full capabilities of hotdoc.
-
-Simple usage:
-
-``` meson
-hotdoc = import('hotdoc')
-
-hotdoc.generate_doc(
- 'foobar',
- c_smart_index: true,
- project_version: '0.1',
- sitemap: 'sitemap.txt',
- index: 'index.md',
- c_sources: ['path/to/file.c'],
- languages: ['c'],
- install: true,
-)
-``` \ No newline at end of file
diff --git a/docs/markdown/snippets/i18n_variable_substitution.md b/docs/markdown/snippets/i18n_variable_substitution.md
deleted file mode 100644
index b58f62a74..000000000
--- a/docs/markdown/snippets/i18n_variable_substitution.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## i18n.merge_file() now fully supports variable substitutions defined in custom_target()
-
-Filename substitutions like @BASENAME@ and @PLAINNAME@ were previously accepted but the name of the build target wasn't altered leading to colliding target names when using the substitution twice.
-i18n.merge_file() now behaves as custom_target() in this regard.
diff --git a/docs/markdown/snippets/native_args.md b/docs/markdown/snippets/native_args.md
deleted file mode 100644
index 54c6de244..000000000
--- a/docs/markdown/snippets/native_args.md
+++ /dev/null
@@ -1,34 +0,0 @@
-## Projects args can be set separately for cross and native builds (potentially breaking change)
-
-It has been a longstanding bug (or let's call it a "delayed bug fix")
-that if yo do this:
-
-```meson
-add_project_arguments('-DFOO', language : 'c')
-```
-
-Then the flag is used both in native and cross compilations. This is
-very confusing and almost never what you want. To fix this a new
-keyword `native` has been added to all functions that add arguments,
-namely `add_global_arguments`, `add_global_link_arguments`,
-`add_project_arguments` and `add_project_link_arguments` that behaves
-like the following:
-
-```
-## Added to native builds when compiling natively and to cross
-## compilations when doing cross compiles.
-add_project_arguments(...)
-
-## Added only to native compilations, not used in cross compilations.
-add_project_arguments(..., native : true)
-
-## Added only to cross compilations, not used in native compilations.
-add_project_arguments(..., native : false)
-```
-
-Also remember that cross compilation is a property of each
-target. There can be target that are compiled with the native compiler
-and some which are compiled with the cross compiler.
-
-Unfortunately this change is backwards incompatible and may cause some
-projects to fail building. However this should be very rare in practice.
diff --git a/docs/markdown/snippets/overrideexe.md b/docs/markdown/snippets/overrideexe.md
deleted file mode 100644
index 59213c5cb..000000000
--- a/docs/markdown/snippets/overrideexe.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## More flexible `override_find_program()`.
-
-It is now possible to pass an `executable` to
-`override_find_program()` if the overridden program is not used during
-configure.
-
-This is particularly useful for fallback dependencies like Protobuf
-that also provide a tool like protoc.
diff --git a/docs/markdown/snippets/shared_library_darwin_versions.md b/docs/markdown/snippets/shared_library_darwin_versions.md
deleted file mode 100644
index ad137f3ee..000000000
--- a/docs/markdown/snippets/shared_library_darwin_versions.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## `shared_library()` now supports setting dylib compatibility and current version
-
-Now, by default `shared_library()` sets `-compatibility_version` and
-`-current_version` of a macOS dylib using the `soversion`.
-
-This can be overriden by using the `darwin_versions:` kwarg to
-[`shared_library()`](Reference-manual.md#shared_library). As usual, you can
-also pass this kwarg to `library()` or `build_target()` and it will be used in
-the appropriate circumstances.
diff --git a/docs/markdown/snippets/version_comparison.md b/docs/markdown/snippets/version_comparison.md
deleted file mode 100644
index 861a3ee2f..000000000
--- a/docs/markdown/snippets/version_comparison.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## Version comparison
-
-`dependency(version:)` and other version constraints now handle versions
-containing non-numeric characters better, comparing versions using the rpmvercmp
-algorithm (as using the `pkg-config` autoconf macro `PKG_CHECK_MODULES` does).
-
-This is a breaking change for exact comparison constraints which rely on the
-previous comparison behaviour of extending the compared versions with `'0'`
-elements, up to the same length of `'.'`-separated elements.
-
-For example, a version of `'0.11.0'` would previously match a version constraint
-of `'==0.11'`, but no longer does, being instead considered strictly greater.
-
-Instead, use a version constraint which exactly compares with the precise
-version required, e.g. `'==0.11.0'`.
diff --git a/docs/markdown/snippets/visibility.md b/docs/markdown/snippets/visibility.md
deleted file mode 100644
index bbb99f1c9..000000000
--- a/docs/markdown/snippets/visibility.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## Keyword argument for GNU symbol visibility
-
-Build targets got a new keyword, `gnu_symbol_visibility` that controls
-how symbols are exported from shared libraries. This is most commonly
-used to hide implementation symbols like this:
-
-```meson
-shared_library('mylib', ...
- gnu_symbol_visibility: 'hidden')
-```
-
-In this case only symbols explicitly marked as visible in the source
-files get exported.
diff --git a/docs/markdown/snippets/wrap_clone_recursive.md b/docs/markdown/snippets/wrap_clone_recursive.md
deleted file mode 100644
index 7c1c0dae7..000000000
--- a/docs/markdown/snippets/wrap_clone_recursive.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Git wraps can now clone submodules automatically
-
-To enable this, the following needs to be added to the `.wrap` file:
-
-```ini
-clone-recursive=true
-``` \ No newline at end of file
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 4ba1b90df..bfed027cf 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -69,6 +69,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.49.0.md
Release-notes-for-0.48.0.md
Release-notes-for-0.47.0.md
Release-notes-for-0.46.0.md