diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2024-03-13 21:20:29 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2024-03-13 21:31:28 +0200 |
commit | 6ecda08a926f9755bb286725e61f16a256305b91 (patch) | |
tree | 6108582f4c89b0c5ba41857488984bc5748cd0d9 | |
parent | eaefe29463a61a311a6b1de6cd539f39500399ff (diff) | |
download | meson-relnotes.zip meson-relnotes.tar.gz meson-relnotes.tar.bz2 |
Generate relnotes for 1.4.0.relnotes
-rw-r--r-- | docs/markdown/Release-notes-for-1.4.0.md | 111 | ||||
-rw-r--r-- | docs/markdown/snippets/additional_types_for_fs_module.md | 9 | ||||
-rw-r--r-- | docs/markdown/snippets/cmake-project-version.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/cpp-debug.md | 10 | ||||
-rw-r--r-- | docs/markdown/snippets/cpp-stldebug.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/environment_unset.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/file-full-path.md | 7 | ||||
-rw-r--r-- | docs/markdown/snippets/numpy-custom-dependency.md | 9 | ||||
-rw-r--r-- | docs/markdown/snippets/preprocess-depends.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/qt_preserve_path_from.md | 10 | ||||
-rw-r--r-- | docs/markdown/snippets/rust-bindgen-cpp.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/rust-bindgen-language.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/rust-bindgen-std.md | 3 | ||||
-rw-r--r-- | docs/markdown/snippets/sanitizers_test.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/test_using_custom_target_executable.md | 4 | ||||
-rw-r--r-- | docs/sitemap.txt | 1 |
16 files changed, 112 insertions, 88 deletions
diff --git a/docs/markdown/Release-notes-for-1.4.0.md b/docs/markdown/Release-notes-for-1.4.0.md new file mode 100644 index 0000000..12dc3a8 --- /dev/null +++ b/docs/markdown/Release-notes-for-1.4.0.md @@ -0,0 +1,111 @@ +--- +title: Release 1.4.0 +short-description: Release notes for 1.4.0 +... + +# New features + +Meson 1.4.0 was released on 12 March 2024 + +## Added support for `[[@build_tgt]]`, `[[@custom_tgt]]`, and `[[@custom_idx]]` to certain FS module functions + +Support for `[[@build_tgt]]`, `[[@custom_tgt]]`, and `[[@custom_idx]]` was +added to the following FS module APIs: + +- `fs.name` +- `fs.parent` +- `fs.replace_suffix` +- `fs.stem` + +## Meson now reads the project version of cmake subprojects + +CMake subprojects configured by meson will now have their project +version set to the project version in their CMakeLists.txt. This +allows version constraints to be properly checked when falling back to +a cmake subproject. + +## `ndebug` setting now controls C++ stdlib assertions + +The `ndebug` setting, if disabled, now passes preprocessor defines to enable +debugging assertions within the C++ standard library. + +For GCC, `-D_GLIBCXX_ASSERTIONS=1` is set. + +For Clang, `-D_GLIBCXX_ASSERTIONS=1` is set to cover libstdc++ usage, +and `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE` or +`-D_LIBCPP_ENABLE_ASSERTIONS=1` is used depending on the Clang version. + +## `stldebug` gains Clang support + +For Clang, we now pass `-D_GLIBCXX_DEBUG=1` if `debugstl` is enabled, and +we also pass `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG`. + +## New `unset()` method on `environment` objects + +[[@env]] now has an [[env.unset]] method to ensure an existing environment +is *not* defined. + +## File object now has `full_path()` method + +Returns a full path pointing to the file. This is useful for printing the path +with e.g [[message]] function for debugging purpose. + +**NOTE:** In most cases using the object itself will do the same job +as this and will also allow Meson to setup dependencies correctly. + +## New numpy custom dependency + +Support for `dependency('numpy')` was added, via supporting the `numpy-config` tool and +pkg-config support, both of which are available since NumPy 2.0.0. + +Config-tool support is useful because it will work out of the box when +``numpy`` is installed, while the pkg-config file is located inside python's +site-packages, which makes it impossible to use in an out of the box manner +without setting `PKG_CONFIG_PATH`. + +## `depends` kwarg now supported by compiler.preprocess() + +It is now possible to specify the dependent targets with `depends:` +for compiler.preprocess(). These targets should be built before the +preprocessing starts. + +## Added `preserve_paths` keyword argument to qt module functions. + +In `qt4`, `qt5`, and `qt6` modules, `compile_ui`, `compile_moc`, and +`preprocess` functions now have a `preserve_paths` keyword argument. + +If `'true`, it specifies that the output files need to maintain their directory +structure inside the target temporary directory. For instance, when a file +called `subdir/one.input` is processed it generates a file +`{target private directory}/subdir/one.out` when `true`, +and `{target private directory}/one.out` when `false` (default). + +## Bindgen will now use Meson's heuristic for what is a C++ header + +Bindgen natively assumes that a file with the extension `.hpp` is a C++ header, +but that everything else is a C header. Meson has a whole list of extensions it +considers to be C++, and now will automatically look for those extensions and +set bindgen to treat those as C++ + +## Overriding bindgen language setting + +Even though Meson will now tell bindgen to do the right thing in most cases, +there may still be cases where Meson does not have the intended behavior, +specifically with headers with a `.h` suffix, but are C++ headers. + +## Bindgen now uses the same C/C++ std as the project as a whole + +Which is very important for C++ bindings. + +## Tests now abort on errors by default under more sanitizers + +Sanitizers like MemorySanitizer do not abort +by default on detected violations. Meson now exports `MSAN_OPTIONS` (in addition to +`ASAN_OPTIONS` and `UBSAN_OPTIONS` from a previous release) when unset in the +environment to provide sensible abort-by-default behavior. + +## Use `custom_target` as test executable + +The [[test]] function now accepts [[@custom_tgt]] and [[@custom_idx]] for the +command to execute. + diff --git a/docs/markdown/snippets/additional_types_for_fs_module.md b/docs/markdown/snippets/additional_types_for_fs_module.md deleted file mode 100644 index 86f2de9..0000000 --- a/docs/markdown/snippets/additional_types_for_fs_module.md +++ /dev/null @@ -1,9 +0,0 @@ -## Added support for `[[@build_tgt]]`, `[[@custom_tgt]]`, and `[[@custom_idx]]` to certain FS module functions - -Support for `[[@build_tgt]]`, `[[@custom_tgt]]`, and `[[@custom_idx]]` was -added to the following FS module APIs: - -- `fs.name` -- `fs.parent` -- `fs.replace_suffix` -- `fs.stem` diff --git a/docs/markdown/snippets/cmake-project-version.md b/docs/markdown/snippets/cmake-project-version.md deleted file mode 100644 index 0bc120b..0000000 --- a/docs/markdown/snippets/cmake-project-version.md +++ /dev/null @@ -1,6 +0,0 @@ -## Meson now reads the project version of cmake subprojects - -CMake subprojects configured by meson will now have their project -version set to the project version in their CMakeLists.txt. This -allows version constraints to be properly checked when falling back to -a cmake subproject. diff --git a/docs/markdown/snippets/cpp-debug.md b/docs/markdown/snippets/cpp-debug.md deleted file mode 100644 index 2a62b93..0000000 --- a/docs/markdown/snippets/cpp-debug.md +++ /dev/null @@ -1,10 +0,0 @@ -## `ndebug` setting now controls C++ stdlib assertions - -The `ndebug` setting, if disabled, now passes preprocessor defines to enable -debugging assertions within the C++ standard library. - -For GCC, `-D_GLIBCXX_ASSERTIONS=1` is set. - -For Clang, `-D_GLIBCXX_ASSERTIONS=1` is set to cover libstdc++ usage, -and `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE` or -`-D_LIBCPP_ENABLE_ASSERTIONS=1` is used depending on the Clang version. diff --git a/docs/markdown/snippets/cpp-stldebug.md b/docs/markdown/snippets/cpp-stldebug.md deleted file mode 100644 index ba04736..0000000 --- a/docs/markdown/snippets/cpp-stldebug.md +++ /dev/null @@ -1,4 +0,0 @@ -## `stldebug` gains Clang support - -For Clang, we now pass `-D_GLIBCXX_DEBUG=1` if `debugstl` is enabled, and -we also pass `-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG`. diff --git a/docs/markdown/snippets/environment_unset.md b/docs/markdown/snippets/environment_unset.md deleted file mode 100644 index 887bc0d..0000000 --- a/docs/markdown/snippets/environment_unset.md +++ /dev/null @@ -1,4 +0,0 @@ -## New `unset()` method on `environment` objects - -[[@env]] now has an [[env.unset]] method to ensure an existing environment -is *not* defined. diff --git a/docs/markdown/snippets/file-full-path.md b/docs/markdown/snippets/file-full-path.md deleted file mode 100644 index fbb8e54..0000000 --- a/docs/markdown/snippets/file-full-path.md +++ /dev/null @@ -1,7 +0,0 @@ -## File object now has `full_path()` method - -Returns a full path pointing to the file. This is useful for printing the path -with e.g [[message]] function for debugging purpose. - -**NOTE:** In most cases using the object itself will do the same job -as this and will also allow Meson to setup dependencies correctly. diff --git a/docs/markdown/snippets/numpy-custom-dependency.md b/docs/markdown/snippets/numpy-custom-dependency.md deleted file mode 100644 index 5934180..0000000 --- a/docs/markdown/snippets/numpy-custom-dependency.md +++ /dev/null @@ -1,9 +0,0 @@ -## New numpy custom dependency - -Support for `dependency('numpy')` was added, via supporting the `numpy-config` tool and -pkg-config support, both of which are available since NumPy 2.0.0. - -Config-tool support is useful because it will work out of the box when -``numpy`` is installed, while the pkg-config file is located inside python's -site-packages, which makes it impossible to use in an out of the box manner -without setting `PKG_CONFIG_PATH`. diff --git a/docs/markdown/snippets/preprocess-depends.md b/docs/markdown/snippets/preprocess-depends.md deleted file mode 100644 index 5312464..0000000 --- a/docs/markdown/snippets/preprocess-depends.md +++ /dev/null @@ -1,5 +0,0 @@ -## `depends` kwarg now supported by compiler.preprocess() - -It is now possible to specify the dependent targets with `depends:` -for compiler.preprocess(). These targets should be built before the -preprocessing starts. diff --git a/docs/markdown/snippets/qt_preserve_path_from.md b/docs/markdown/snippets/qt_preserve_path_from.md deleted file mode 100644 index 1a0923a..0000000 --- a/docs/markdown/snippets/qt_preserve_path_from.md +++ /dev/null @@ -1,10 +0,0 @@ -## Added `preserve_paths` keyword argument to qt module functions. - -In `qt4`, `qt5`, and `qt6` modules, `compile_ui`, `compile_moc`, and -`preprocess` functions now have a `preserve_paths` keyword argument. - -If `'true`, it specifies that the output files need to maintain their directory -structure inside the target temporary directory. For instance, when a file -called `subdir/one.input` is processed it generates a file -`{target private directory}/subdir/one.out` when `true`, -and `{target private directory}/one.out` when `false` (default). diff --git a/docs/markdown/snippets/rust-bindgen-cpp.md b/docs/markdown/snippets/rust-bindgen-cpp.md deleted file mode 100644 index bcb1fea..0000000 --- a/docs/markdown/snippets/rust-bindgen-cpp.md +++ /dev/null @@ -1,6 +0,0 @@ -## Bindgen will now use Meson's heuristic for what is a C++ header - -Bindgen natively assumes that a file with the extension `.hpp` is a C++ header, -but that everything else is a C header. Meson has a whole list of extensions it -considers to be C++, and now will automatically look for those extensions and -set bindgen to treat those as C++ diff --git a/docs/markdown/snippets/rust-bindgen-language.md b/docs/markdown/snippets/rust-bindgen-language.md deleted file mode 100644 index edfb3bf..0000000 --- a/docs/markdown/snippets/rust-bindgen-language.md +++ /dev/null @@ -1,5 +0,0 @@ -## Overriding bindgen language setting - -Even though Meson will now tell bindgen to do the right thing in most cases, -there may still be cases where Meson does not have the intended behavior, -specifically with headers with a `.h` suffix, but are C++ headers. diff --git a/docs/markdown/snippets/rust-bindgen-std.md b/docs/markdown/snippets/rust-bindgen-std.md deleted file mode 100644 index 34ae611..0000000 --- a/docs/markdown/snippets/rust-bindgen-std.md +++ /dev/null @@ -1,3 +0,0 @@ -## Bindgen now uses the same C/C++ std as the project as a whole - -Which is very important for C++ bindings. diff --git a/docs/markdown/snippets/sanitizers_test.md b/docs/markdown/snippets/sanitizers_test.md deleted file mode 100644 index de93852..0000000 --- a/docs/markdown/snippets/sanitizers_test.md +++ /dev/null @@ -1,6 +0,0 @@ -## Tests now abort on errors by default under more sanitizers - -Sanitizers like MemorySanitizer do not abort -by default on detected violations. Meson now exports `MSAN_OPTIONS` (in addition to -`ASAN_OPTIONS` and `UBSAN_OPTIONS` from a previous release) when unset in the -environment to provide sensible abort-by-default behavior. diff --git a/docs/markdown/snippets/test_using_custom_target_executable.md b/docs/markdown/snippets/test_using_custom_target_executable.md deleted file mode 100644 index e8b08da..0000000 --- a/docs/markdown/snippets/test_using_custom_target_executable.md +++ /dev/null @@ -1,4 +0,0 @@ -## Use `custom_target` as test executable - -The [[test]] function now accepts [[@custom_tgt]] and [[@custom_idx]] for the -command to execute. diff --git a/docs/sitemap.txt b/docs/sitemap.txt index 5eb2284..04f7fda 100644 --- a/docs/sitemap.txt +++ b/docs/sitemap.txt @@ -88,6 +88,7 @@ index.md Wrap-best-practices-and-tips.md Shipping-prebuilt-binaries-as-wraps.md Release-notes.md + Release-notes-for-1.4.0.md Release-notes-for-1.3.0.md Release-notes-for-1.2.0.md Release-notes-for-1.1.0.md |