Bump version number for release.
diff --git a/docs/markdown/Release-notes-for-1.12.0.md b/docs/markdown/Release-notes-for-1.12.0.md new file mode 100644 index 0000000..d07f3b0 --- /dev/null +++ b/docs/markdown/Release-notes-for-1.12.0.md
@@ -0,0 +1,255 @@ +--- +title: Release 1.12.0 +short-description: Release notes for 1.12.0 +... + +# New features + +Meson 1.12.0 was released on 10 August 2026 +## Custom dependency for atomic now works on MSVC + +`dependency('atomic')` now works on MSVC >=19.35.32124. +It requires `c_std=c11` or later, otherwise the dependency will return not found. + +## Support for CACHEDIR.TAG specification + +A CACHEDIR.TAG file (https://bford.info/cachedir/) is now created in the build +directory as part of the setup and regenerate phases, allowing backup software +to ignore the whole directory. + +## New "clippy-json" Ninja Target For rust-analyzer + +A new `clippy-json` ninja target will now be generated for rust projects. + +rust-analyzer supports non-cargo based projects so long as you provide it with a `rust-project.json` file and a custom "check command" to provide compiler errors. Meson already for some time has generated a `rust-project.json` file for rust-analyzer, but had no way to hook up its rustc/clippy output to rust-analyzer. + +To use the new feature, you need to override the rust-analyzer check command as shown [in the rust-analyzer documentation](https://rust-analyzer.github.io/book/non_cargo_based_projects.html), and set it to a `ninja invocation along the lines of `ninja clippy-json -C build`. + +## Add a new `default()` function and object + +This function and object allow setting a keyword argument to it's default value. +This is especially useful for cases when a non-default value is wanted in some +cases but not all. + +For example: +```meson +library( + ... + name_prefix : host_machine.system() == 'windows' ? '' : default(), +) +``` + +## Delay install script errors to install time + +Previously, `gnome.post_install` might've caused a configure to fail +due to tools such as `update-desktop-database` not being installed or +due to an `exe_wrapper` missing when cross-building glib. Those +errors will now be delayed to install time, or not emitted at all +if installing with `DESTDIR` set, since then they'll be skipped. + +## find_program() now respects --force-fallback-for + +If a subproject listed in --force-fallback-for provides a particular +program (via program_names in its wrapfile), find_program will use the +program from the subproject instead of looking it up from the system. + +## `fs.copyfile()` now has a `build_subdir` argument + +`fs.copyfile()`'s new `build_subdir` argument allows creating a file +inside a subdirectory of the current build directory. + +## Added `depends` kwarg to `generator.process()` + +The [[generator.process]] method now supports specifying `depends` as a kwarg +to extend the list of dependencies for generated files. + +## Added `msgfmt_args` arg to `i18n.gettext` + +`i18n.gettext` now supports the `msgfmt_args` argument. +This argument can be used to pass additional arguments to +`msgfmt` when building the translations. + +```meson +i18n = import('i18n') +i18n.gettext('mycatalog', + args : ['-k_', '-kN_'], + msgfmt_args : ['--use-fuzzy']) +``` + +## include_directories object now have a to_list() method + +The [[@inc]] object returned by [[include_directories]] now has a `to_list()` method that +returns a list of strings of absolute paths. Unless the include path is a +system path, there will be a path for the source root and one for the build root. + +``` +inc = include_directories('include') +include_paths = inc.to_list() +``` + +## Added integer base conversions to `str.to_int()` and `int.to_string()` + +Meson strings can now be converted from hexadecimal, octal, and binary +integer literals with `str.to_int()`. Integers can also be formatted back to +strings in those bases with `int.to_string(format:)`. + +```meson +assert('0xff'.to_int() == 255) +assert(255.to_string(format: 'hex') == '0xff') +``` + +## Multiple positional arguments for `meson wrap install` + +Previously `meson wrap install` only accepted a single wrap name to install. +This limitation has now been lifted, and it is now possible to specify +multiple wrap names for installation. The exit code will be non-zero +if *any* of the wraps fail to install. + +## `meson format` allows `--recursive` with `--check-diff` + +Previously, the `--recursive` option to `meson format` required +either `--inplace` or `--output`. With this version, `--check-diff` +is allowed to. + +## New option `--subprojects` for `meson format` + +A new option `--subprojects`, to be specified together with `--recursive`, +tells `meson format` to also recurse into subprojects. + +## OpenHarmony (OHOS) is now recognized as an Android subsystem + +Meson now recognizes OpenHarmony / HarmonyOS (OHOS). OHOS behaves like +Android -- applications are shared libraries, shared libraries are not +versioned, and so on -- but uses musl instead of Bionic. It is therefore +modelled as an Android subsystem rather than a separate system. + +Machine files select it in the `[host_machine]` section with: + +```ini +[host_machine] +system = 'android' +subsystem = 'ohos' +``` + +With this, `host_machine.system()` is `'android'` (so all Android handling +applies, including unversioned `libfoo.so` output) while +`host_machine.subsystem()` is `'ohos'`. When cross-compiling a CMake +subproject, the toolchain file generated by the CMake module sets +`CMAKE_SYSTEM_NAME = OHOS`. + +## External programs as inputs and dependencies to custom targets + +Custom targets now allow specifying an external program in +the `input` and `depends` keyword arguments. This also applies +to several methods provided by modules, as they are lowered to +custom targets internally. + +## External programs as dependencies to tests + +Tests now allow specifying an external program in +the `depends` keyword argument. + + +## Support for Python 3.7, 3.8, and 3.9 dropped + +Meson 1.12 is the first version to require Python version 3.10 or greater. + +Support for older versions of Python is maintained with bug fixes only for +some LTS releases. See the [FAQ +entry](FAQ.md#Do-you-at-least-support-my-ancient-python-install) for more +information. + +## More types of generated files allowed by `qt.preprocess` + +`qt.preprocess` now allows custom target indexes or generators +in addition to custom targets for `ui_files`, `moc_sources` +and `moc_headers`. + +## The Rust module includes a basic wrapper for cbindgen + +This will correctly track the config.toml, and generate a rust source from the +marked C files. This handles structured_sources correctly, and also handles +depfile generation transparently. + +## Non-default members of Cargo workspaces can now be built + +The new keyword argument `extra_members` to the `workspace()` method +allows configuring non-default members of a Cargo workspace. Previously, +non-default members were never used for dependency resolution and +could not be built. + +## subproject() and meson.override_find_program() now support the native keyword argument + +Subprojects may now be built for the host or build machine (or both). Therefore, +in a cross compile setup, build-time dependencies can be built for the machine +running the build. When a subproject is run for the build machine it will act +just like a normal build == host setup, except that no targets will be installed. + +This necessarily means that `meson.override_find_program()` must differentiate +between programs for the host and those for the build machine, as you may need +two versions of the same program, which have different outputs based on the +machine they are for. For backwards compatibility reasons the default is for the +host machine. Inside a native subproject the host and build machine will both be +the build machine. + +Cargo workspaces use this feature automatically when building procedural macro +crates and their dependencies. + +## `meson test` now accepts `--exclude` + +`meson test` has a new `--exclude` argument to allow skipping named +tests. It takes a full test name and can be specified repeatedly. This +should help distributions that need to skip tests irrelevant for them +or known to be buggy. + +## Vala cross compilation changes + +Traditionally Meson has used the same Vala compiler for cross and +native compilation. It turned out that even though the Vala compiler +generated C code, the output and its dependencies are platform +dependent. Now Meson uses Vala in the same way as all other cross +compilers and it can be defined in the cross file. + +## `werror=true` now applies to the linker as well + +When `werror=true` is set, Meson now passes the appropriate +fatal-warnings flag to the linker (for example `--fatal-warnings` +for GNU ld, `-fatal_warnings` for Apple ld, `/WX` for MSVC link). +Previously, `werror=true` only affected compiler warnings. + +## Added `win_subsystem` to `shared_library()` and `shared_module()` + +Synonym for the one found in `executable()`. + +Mostly useful for setting the subsystem version in PE headers. +This can affects Windows's ShimEngine, but not SxS lookups. Usually you still +want to provide a manifest when targeting modern Windows. +Sometime also useful for targeting other subsystems. + +Visual Studio backends now also properly supports setting subsystem versions. + +## i18n.xgettext recursive option now includes "private" dependencies + +Suppose we have: + +``` +libA.dll -> libB.dll -> libC.dll +``` + +Here, `libA` links with `libB`, and `libB` links with `libC`, but `libA` does +not link with `libC` directly. So, `libC` is a "private" dependency of `libB`. +If we collect strings to translate using: + +``` +i18n.xgettext(libC) +i18n.xgettext(libB) +pot_file = i18n.xgettext(libA, recursive: true) +``` + +Previously, strings from `libC` would not be included in `pot_file`, since +`libC` is not a direct link dependency of `libA`. This has been fixed: when +the `recursive: true` option is used, `xgettext` now recursively includes +translations from all dependencies, including those of dependencies. This is +more logical, as even if `libA` does not directly link with `libC`, it may +still need translated strings from `libC`. +
diff --git a/docs/markdown/snippets/atomic-now-supports-msvc.md b/docs/markdown/snippets/atomic-now-supports-msvc.md deleted file mode 100644 index 8d3d300..0000000 --- a/docs/markdown/snippets/atomic-now-supports-msvc.md +++ /dev/null
@@ -1,4 +0,0 @@ -## Custom dependency for atomic now works on MSVC - -`dependency('atomic')` now works on MSVC >=19.35.32124. -It requires `c_std=c11` or later, otherwise the dependency will return not found.
diff --git a/docs/markdown/snippets/cachedir_tag.md b/docs/markdown/snippets/cachedir_tag.md deleted file mode 100644 index 4702039..0000000 --- a/docs/markdown/snippets/cachedir_tag.md +++ /dev/null
@@ -1,5 +0,0 @@ -## Support for CACHEDIR.TAG specification - -A CACHEDIR.TAG file (https://bford.info/cachedir/) is now created in the build -directory as part of the setup and regenerate phases, allowing backup software -to ignore the whole directory.
diff --git a/docs/markdown/snippets/clippy-json.md b/docs/markdown/snippets/clippy-json.md deleted file mode 100644 index 7e59145..0000000 --- a/docs/markdown/snippets/clippy-json.md +++ /dev/null
@@ -1,7 +0,0 @@ -## New "clippy-json" Ninja Target For rust-analyzer - -A new `clippy-json` ninja target will now be generated for rust projects. - -rust-analyzer supports non-cargo based projects so long as you provide it with a `rust-project.json` file and a custom "check command" to provide compiler errors. Meson already for some time has generated a `rust-project.json` file for rust-analyzer, but had no way to hook up its rustc/clippy output to rust-analyzer. - -To use the new feature, you need to override the rust-analyzer check command as shown [in the rust-analyzer documentation](https://rust-analyzer.github.io/book/non_cargo_based_projects.html), and set it to a `ninja invocation along the lines of `ninja clippy-json -C build`.
diff --git a/docs/markdown/snippets/default.md b/docs/markdown/snippets/default.md deleted file mode 100644 index f2e4b73..0000000 --- a/docs/markdown/snippets/default.md +++ /dev/null
@@ -1,13 +0,0 @@ -## Add a new `default()` function and object - -This function and object allow setting a keyword argument to it's default value. -This is especially useful for cases when a non-default value is wanted in some -cases but not all. - -For example: -```meson -library( - ... - name_prefix : host_machine.system() == 'windows' ? '' : default(), -) -```
diff --git a/docs/markdown/snippets/delayed_install_script_errors.md b/docs/markdown/snippets/delayed_install_script_errors.md deleted file mode 100644 index 7c81f22..0000000 --- a/docs/markdown/snippets/delayed_install_script_errors.md +++ /dev/null
@@ -1,7 +0,0 @@ -## Delay install script errors to install time - -Previously, `gnome.post_install` might've caused a configure to fail -due to tools such as `update-desktop-database` not being installed or -due to an `exe_wrapper` missing when cross-building glib. Those -errors will now be delayed to install time, or not emitted at all -if installing with `DESTDIR` set, since then they'll be skipped.
diff --git a/docs/markdown/snippets/find_program-forcefallback.md b/docs/markdown/snippets/find_program-forcefallback.md deleted file mode 100644 index 5ed99de..0000000 --- a/docs/markdown/snippets/find_program-forcefallback.md +++ /dev/null
@@ -1,5 +0,0 @@ -## find_program() now respects --force-fallback-for - -If a subproject listed in --force-fallback-for provides a particular -program (via program_names in its wrapfile), find_program will use the -program from the subproject instead of looking it up from the system.
diff --git a/docs/markdown/snippets/fs-copyfile-build-subdir.md b/docs/markdown/snippets/fs-copyfile-build-subdir.md deleted file mode 100644 index f166425..0000000 --- a/docs/markdown/snippets/fs-copyfile-build-subdir.md +++ /dev/null
@@ -1,4 +0,0 @@ -## `fs.copyfile()` now has a `build_subdir` argument - -`fs.copyfile()`'s new `build_subdir` argument allows creating a file -inside a subdirectory of the current build directory.
diff --git a/docs/markdown/snippets/generator_process_depends.md b/docs/markdown/snippets/generator_process_depends.md deleted file mode 100644 index c9c98b7..0000000 --- a/docs/markdown/snippets/generator_process_depends.md +++ /dev/null
@@ -1,4 +0,0 @@ -## Added `depends` kwarg to `generator.process()` - -The [[generator.process]] method now supports specifying `depends` as a kwarg -to extend the list of dependencies for generated files.
diff --git a/docs/markdown/snippets/i18n_msgfmt_args.md b/docs/markdown/snippets/i18n_msgfmt_args.md deleted file mode 100644 index d7106d4..0000000 --- a/docs/markdown/snippets/i18n_msgfmt_args.md +++ /dev/null
@@ -1,12 +0,0 @@ -## Added `msgfmt_args` arg to `i18n.gettext` - -`i18n.gettext` now supports the `msgfmt_args` argument. -This argument can be used to pass additional arguments to -`msgfmt` when building the translations. - -```meson -i18n = import('i18n') -i18n.gettext('mycatalog', - args : ['-k_', '-kN_'], - msgfmt_args : ['--use-fuzzy']) -```
diff --git a/docs/markdown/snippets/include_directories_to_list.md b/docs/markdown/snippets/include_directories_to_list.md deleted file mode 100644 index 2b2d7db..0000000 --- a/docs/markdown/snippets/include_directories_to_list.md +++ /dev/null
@@ -1,10 +0,0 @@ -## include_directories object now have a to_list() method - -The [[@inc]] object returned by [[include_directories]] now has a `to_list()` method that -returns a list of strings of absolute paths. Unless the include path is a -system path, there will be a path for the source root and one for the build root. - -``` -inc = include_directories('include') -include_paths = inc.to_list() -```
diff --git a/docs/markdown/snippets/int-base-conversions.md b/docs/markdown/snippets/int-base-conversions.md deleted file mode 100644 index 4b1cbf2..0000000 --- a/docs/markdown/snippets/int-base-conversions.md +++ /dev/null
@@ -1,10 +0,0 @@ -## Added integer base conversions to `str.to_int()` and `int.to_string()` - -Meson strings can now be converted from hexadecimal, octal, and binary -integer literals with `str.to_int()`. Integers can also be formatted back to -strings in those bases with `int.to_string(format:)`. - -```meson -assert('0xff'.to_int() == 255) -assert(255.to_string(format: 'hex') == '0xff') -```
diff --git a/docs/markdown/snippets/meson_wrap_install_multiple.md b/docs/markdown/snippets/meson_wrap_install_multiple.md deleted file mode 100644 index 4d226c3..0000000 --- a/docs/markdown/snippets/meson_wrap_install_multiple.md +++ /dev/null
@@ -1,6 +0,0 @@ -## Multiple positional arguments for `meson wrap install` - -Previously `meson wrap install` only accepted a single wrap name to install. -This limitation has now been lifted, and it is now possible to specify -multiple wrap names for installation. The exit code will be non-zero -if *any* of the wraps fail to install.
diff --git a/docs/markdown/snippets/mformat-recursive-check-diff.md b/docs/markdown/snippets/mformat-recursive-check-diff.md deleted file mode 100644 index 0752098..0000000 --- a/docs/markdown/snippets/mformat-recursive-check-diff.md +++ /dev/null
@@ -1,5 +0,0 @@ -## `meson format` allows `--recursive` with `--check-diff` - -Previously, the `--recursive` option to `meson format` required -either `--inplace` or `--output`. With this version, `--check-diff` -is allowed to.
diff --git a/docs/markdown/snippets/mformat-recursive-subprojects.md b/docs/markdown/snippets/mformat-recursive-subprojects.md deleted file mode 100644 index 73416d2..0000000 --- a/docs/markdown/snippets/mformat-recursive-subprojects.md +++ /dev/null
@@ -1,4 +0,0 @@ -## New option `--subprojects` for `meson format` - -A new option `--subprojects`, to be specified together with `--recursive`, -tells `meson format` to also recurse into subprojects.
diff --git a/docs/markdown/snippets/ohos-support.md b/docs/markdown/snippets/ohos-support.md deleted file mode 100644 index 4331a87..0000000 --- a/docs/markdown/snippets/ohos-support.md +++ /dev/null
@@ -1,20 +0,0 @@ -## OpenHarmony (OHOS) is now recognized as an Android subsystem - -Meson now recognizes OpenHarmony / HarmonyOS (OHOS). OHOS behaves like -Android -- applications are shared libraries, shared libraries are not -versioned, and so on -- but uses musl instead of Bionic. It is therefore -modelled as an Android subsystem rather than a separate system. - -Machine files select it in the `[host_machine]` section with: - -```ini -[host_machine] -system = 'android' -subsystem = 'ohos' -``` - -With this, `host_machine.system()` is `'android'` (so all Android handling -applies, including unversioned `libfoo.so` output) while -`host_machine.subsystem()` is `'ohos'`. When cross-compiling a CMake -subproject, the toolchain file generated by the CMake module sets -`CMAKE_SYSTEM_NAME = OHOS`.
diff --git a/docs/markdown/snippets/programs-in-more-places.md b/docs/markdown/snippets/programs-in-more-places.md deleted file mode 100644 index e561cce..0000000 --- a/docs/markdown/snippets/programs-in-more-places.md +++ /dev/null
@@ -1,12 +0,0 @@ -## External programs as inputs and dependencies to custom targets - -Custom targets now allow specifying an external program in -the `input` and `depends` keyword arguments. This also applies -to several methods provided by modules, as they are lowered to -custom targets internally. - -## External programs as dependencies to tests - -Tests now allow specifying an external program in -the `depends` keyword argument. -
diff --git a/docs/markdown/snippets/python-310-required.md b/docs/markdown/snippets/python-310-required.md deleted file mode 100644 index 31a1de6..0000000 --- a/docs/markdown/snippets/python-310-required.md +++ /dev/null
@@ -1,8 +0,0 @@ -## Support for Python 3.7, 3.8, and 3.9 dropped - -Meson 1.12 is the first version to require Python version 3.10 or greater. - -Support for older versions of Python is maintained with bug fixes only for -some LTS releases. See the [FAQ -entry](FAQ.md#Do-you-at-least-support-my-ancient-python-install) for more -information.
diff --git a/docs/markdown/snippets/qt-preprocess-gen.md b/docs/markdown/snippets/qt-preprocess-gen.md deleted file mode 100644 index 3ac0548..0000000 --- a/docs/markdown/snippets/qt-preprocess-gen.md +++ /dev/null
@@ -1,5 +0,0 @@ -## More types of generated files allowed by `qt.preprocess` - -`qt.preprocess` now allows custom target indexes or generators -in addition to custom targets for `ui_files`, `moc_sources` -and `moc_headers`.
diff --git a/docs/markdown/snippets/rust-cbindgen.md b/docs/markdown/snippets/rust-cbindgen.md deleted file mode 100644 index f5fb0eb..0000000 --- a/docs/markdown/snippets/rust-cbindgen.md +++ /dev/null
@@ -1,5 +0,0 @@ -## The Rust module includes a basic wrapper for cbindgen - -This will correctly track the config.toml, and generate a rust source from the -marked C files. This handles structured_sources correctly, and also handles -depfile generation transparently.
diff --git a/docs/markdown/snippets/rust-workspace-non-default.md b/docs/markdown/snippets/rust-workspace-non-default.md deleted file mode 100644 index deb74f7..0000000 --- a/docs/markdown/snippets/rust-workspace-non-default.md +++ /dev/null
@@ -1,6 +0,0 @@ -## Non-default members of Cargo workspaces can now be built - -The new keyword argument `extra_members` to the `workspace()` method -allows configuring non-default members of a Cargo workspace. Previously, -non-default members were never used for dependency resolution and -could not be built.
diff --git a/docs/markdown/snippets/subproject_and_override_program_native.md b/docs/markdown/snippets/subproject_and_override_program_native.md deleted file mode 100644 index 7514252..0000000 --- a/docs/markdown/snippets/subproject_and_override_program_native.md +++ /dev/null
@@ -1,16 +0,0 @@ -## subproject() and meson.override_find_program() now support the native keyword argument - -Subprojects may now be built for the host or build machine (or both). Therefore, -in a cross compile setup, build-time dependencies can be built for the machine -running the build. When a subproject is run for the build machine it will act -just like a normal build == host setup, except that no targets will be installed. - -This necessarily means that `meson.override_find_program()` must differentiate -between programs for the host and those for the build machine, as you may need -two versions of the same program, which have different outputs based on the -machine they are for. For backwards compatibility reasons the default is for the -host machine. Inside a native subproject the host and build machine will both be -the build machine. - -Cargo workspaces use this feature automatically when building procedural macro -crates and their dependencies.
diff --git a/docs/markdown/snippets/tests-exclude.md b/docs/markdown/snippets/tests-exclude.md deleted file mode 100644 index daf282e..0000000 --- a/docs/markdown/snippets/tests-exclude.md +++ /dev/null
@@ -1,6 +0,0 @@ -## `meson test` now accepts `--exclude` - -`meson test` has a new `--exclude` argument to allow skipping named -tests. It takes a full test name and can be specified repeatedly. This -should help distributions that need to skip tests irrelevant for them -or known to be buggy.
diff --git a/docs/markdown/snippets/vala-cross.md b/docs/markdown/snippets/vala-cross.md deleted file mode 100644 index c3abc50..0000000 --- a/docs/markdown/snippets/vala-cross.md +++ /dev/null
@@ -1,7 +0,0 @@ -## Vala cross compilation changes - -Traditionally Meson has used the same Vala compiler for cross and -native compilation. It turned out that even though the Vala compiler -generated C code, the output and its dependencies are platform -dependent. Now Meson uses Vala in the same way as all other cross -compilers and it can be defined in the cross file.
diff --git a/docs/markdown/snippets/werror-linker.md b/docs/markdown/snippets/werror-linker.md deleted file mode 100644 index 3976c26..0000000 --- a/docs/markdown/snippets/werror-linker.md +++ /dev/null
@@ -1,6 +0,0 @@ -## `werror=true` now applies to the linker as well - -When `werror=true` is set, Meson now passes the appropriate -fatal-warnings flag to the linker (for example `--fatal-warnings` -for GNU ld, `-fatal_warnings` for Apple ld, `/WX` for MSVC link). -Previously, `werror=true` only affected compiler warnings.
diff --git a/docs/markdown/snippets/win_subsystem_for_more.md b/docs/markdown/snippets/win_subsystem_for_more.md deleted file mode 100644 index e897846..0000000 --- a/docs/markdown/snippets/win_subsystem_for_more.md +++ /dev/null
@@ -1,10 +0,0 @@ -## Added `win_subsystem` to `shared_library()` and `shared_module()` - -Synonym for the one found in `executable()`. - -Mostly useful for setting the subsystem version in PE headers. -This can affects Windows's ShimEngine, but not SxS lookups. Usually you still -want to provide a manifest when targeting modern Windows. -Sometime also useful for targeting other subsystems. - -Visual Studio backends now also properly supports setting subsystem versions.
diff --git a/docs/markdown/snippets/xgettext-include-private-dependencies.md b/docs/markdown/snippets/xgettext-include-private-dependencies.md deleted file mode 100644 index 81f97c6..0000000 --- a/docs/markdown/snippets/xgettext-include-private-dependencies.md +++ /dev/null
@@ -1,24 +0,0 @@ -## i18n.xgettext recursive option now includes "private" dependencies - -Suppose we have: - -``` -libA.dll -> libB.dll -> libC.dll -``` - -Here, `libA` links with `libB`, and `libB` links with `libC`, but `libA` does -not link with `libC` directly. So, `libC` is a "private" dependency of `libB`. -If we collect strings to translate using: - -``` -i18n.xgettext(libC) -i18n.xgettext(libB) -pot_file = i18n.xgettext(libA, recursive: true) -``` - -Previously, strings from `libC` would not be included in `pot_file`, since -`libC` is not a direct link dependency of `libA`. This has been fixed: when -the `recursive: true` option is used, `xgettext` now recursively includes -translations from all dependencies, including those of dependencies. This is -more logical, as even if `libA` does not directly link with `libC`, it may -still need translated strings from `libC`.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt index 6f0672b..c6bbb10 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt
@@ -90,6 +90,7 @@ Wrap-best-practices-and-tips.md Shipping-prebuilt-binaries-as-wraps.md Release-notes.md + Release-notes-for-1.12.0.md Release-notes-for-1.11.0.md Release-notes-for-1.10.0.md Release-notes-for-1.9.0.md
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 551684b..c02f6f6 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py
@@ -43,7 +43,7 @@ # # Pip requires that RCs are named like this: '0.1.0.rc1' # But the corresponding Git tag needs to be '0.1.0rc1' -version = '1.12.0.rc3' +version = '1.12.0' # The next stable version when we are in dev. This is used to allow projects to # require meson version >=1.2.0 when using 1.1.99. FeatureNew won't warn when