From 0cf4a6ab3aa3672d74091e28f6535477794d9839 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 22 Sep 2018 23:11:59 +0300 Subject: [PATCH] Updated release note page. --- docs/markdown/Release-notes-for-0.48.0.md | 305 +++++++++++++++++- docs/markdown/Release-notes-for-0.49.0.md | 17 + docs/markdown/snippets/buildtype_toggles.md | 21 -- .../configure_file_overwrite_warning.md | 39 --- .../snippets/custom_target_console_pool.md | 13 - docs/markdown/snippets/dependency_version.md | 14 - .../snippets/deprecated_python3_module.md | 18 -- docs/markdown/snippets/dict_add.md | 10 - docs/markdown/snippets/distscript.md | 12 - docs/markdown/snippets/fatal_warnings.md | 6 - docs/markdown/snippets/function_attributes.md | 29 -- .../generate_gir_multiple_libraries.md | 7 - docs/markdown/snippets/hotdoc_module.md | 22 -- .../snippets/i18n_variable_substitution.md | 4 - docs/markdown/snippets/native_args.md | 34 -- docs/markdown/snippets/overrideexe.md | 8 - .../shared_library_darwin_versions.md | 9 - docs/markdown/snippets/version_comparison.md | 15 - docs/markdown/snippets/visibility.md | 13 - .../markdown/snippets/wrap_clone_recursive.md | 7 - docs/sitemap.txt | 1 + 21 files changed, 316 insertions(+), 288 deletions(-) create mode 100644 docs/markdown/Release-notes-for-0.49.0.md delete mode 100644 docs/markdown/snippets/buildtype_toggles.md delete mode 100644 docs/markdown/snippets/configure_file_overwrite_warning.md delete mode 100644 docs/markdown/snippets/custom_target_console_pool.md delete mode 100644 docs/markdown/snippets/dependency_version.md delete mode 100644 docs/markdown/snippets/deprecated_python3_module.md delete mode 100644 docs/markdown/snippets/dict_add.md delete mode 100644 docs/markdown/snippets/distscript.md delete mode 100644 docs/markdown/snippets/fatal_warnings.md delete mode 100644 docs/markdown/snippets/function_attributes.md delete mode 100644 docs/markdown/snippets/generate_gir_multiple_libraries.md delete mode 100644 docs/markdown/snippets/hotdoc_module.md delete mode 100644 docs/markdown/snippets/i18n_variable_substitution.md delete mode 100644 docs/markdown/snippets/native_args.md delete mode 100644 docs/markdown/snippets/overrideexe.md delete mode 100644 docs/markdown/snippets/shared_library_darwin_versions.md delete mode 100644 docs/markdown/snippets/version_comparison.md delete mode 100644 docs/markdown/snippets/visibility.md delete mode 100644 docs/markdown/snippets/wrap_clone_recursive.md 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