aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2025-09-03 23:35:40 -0400
committerEli Schwartz <eschwartz93@gmail.com>2025-09-03 23:36:18 -0400
commitf9e2ac805f99fd168cb1120220281ab0b1717f16 (patch)
tree87a7f88548205940dd99e726c1b2193d2748621c /docs
parent26ccaa4fe0c9079addccf895fa73cb3f8c3f072e (diff)
downloadmeson-f9e2ac805f99fd168cb1120220281ab0b1717f16.zip
meson-f9e2ac805f99fd168cb1120220281ab0b1717f16.tar.gz
meson-f9e2ac805f99fd168cb1120220281ab0b1717f16.tar.bz2
docs: belatedly generate release notes for 1.9.0
Fixes: https://github.com/mesonbuild/meson/issues/14984
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Release-notes-for-1.9.0.md133
-rw-r--r--docs/markdown/snippets/array-flatten.md5
-rw-r--r--docs/markdown/snippets/clang-tidy-improvement.md5
-rw-r--r--docs/markdown/snippets/eld-support.md6
-rw-r--r--docs/markdown/snippets/fs_suffix.md4
-rw-r--r--docs/markdown/snippets/gnome-rsp-files-support.md8
-rw-r--r--docs/markdown/snippets/meson-format-stdin-editorconfig.md5
-rw-r--r--docs/markdown/snippets/pkgconfig-gen-license.md3
-rw-r--r--docs/markdown/snippets/rust-dynamic-std.md7
-rw-r--r--docs/markdown/snippets/rust-mixed.md5
-rw-r--r--docs/markdown/snippets/swift-module-name.md9
-rw-r--r--docs/markdown/snippets/swift-parse-as-library.md8
-rw-r--r--docs/markdown/snippets/swift-pass-c-compiler-options.md9
-rw-r--r--docs/markdown/snippets/swift_cxx_interoperability.md23
-rw-r--r--docs/markdown/snippets/vs2010-masm-support.md8
-rw-r--r--docs/markdown/snippets/wrapdbv1.md5
-rw-r--r--docs/sitemap.txt1
17 files changed, 134 insertions, 110 deletions
diff --git a/docs/markdown/Release-notes-for-1.9.0.md b/docs/markdown/Release-notes-for-1.9.0.md
new file mode 100644
index 0000000..2cf5a54
--- /dev/null
+++ b/docs/markdown/Release-notes-for-1.9.0.md
@@ -0,0 +1,133 @@
+---
+title: Release 1.9.0
+short-description: Release notes for 1.9.0
+...
+
+# New features
+
+Meson 1.9.0 was released on 24 August 2025
+## Array `.flatten()` method
+
+Arrays now have a `.flatten()` method, which turns nested arrays into a single
+flat array. This provides the same effect that Meson often does to arrays
+internally, such as when passed to most function arguments.
+
+## `clang-tidy`'s auto-generated targets correctly select source files
+
+In previous versions, the target would run `clang-tidy` on _every_ C-like source files (.c, .h, .cpp, .hpp). It did not work correctly because some files, especially headers, are not intended to be consumed as is.
+
+It will now run only on source files participating in targets.
+
+## Added Qualcomm's embedded linker, eld
+
+Qualcomm recently open-sourced their embedded linker.
+https://github.com/qualcomm/eld
+
+Meson users can now use this linker.
+
+## Added suffix function to the FS module
+
+The basename and stem were already available. For completeness, expose also the
+suffix.
+
+## Support response files for custom targets
+
+When using the Ninja backend, Meson can now pass arguments to supported tools
+through response files.
+
+In this release it's enabled only for the Gnome module, fixing calling
+`gnome.mkenums()` with a large set of files on Windows (requires
+Glib 2.59 or higher).
+
+## meson format now has a --source-file-path argument when reading from stdin
+
+This argument is mandatory to mix stdin reading with the use of editor config.
+It allows to know where to look for the .editorconfig, and to use the right
+section of .editorconfig based on the parsed file name.
+
+## Added license keyword to pkgconfig.generate
+
+When specified, it will add a `License:` attribute to the generated .pc file.
+
+## New experimental option `rust_dynamic_std`
+
+A new option `rust_dynamic_std` can be used to link Rust programs so
+that they use a dynamic library for the Rust `libstd`.
+
+Right now, `staticlib` crates cannot be produced if `rust_dynamic_std` is
+true, but this may change in the future.
+
+## Rust and non-Rust sources in the same target
+
+Meson now supports creating a single target with Rust and non Rust
+sources mixed together. In this case, if specified, `link_language`
+must be set to `rust`.
+
+## Explicitly setting Swift module name is now supported
+
+It is now possible to set the Swift module name for a target via the
+*swift_module_name* target kwarg, overriding the default inferred from the
+target name.
+
+```meson
+lib = library('foo', 'foo.swift', swift_module_name: 'Foo')
+```
+
+## Top-level statement handling in Swift libraries
+
+The Swift compiler normally treats modules with a single source
+file (and files named main.swift) to run top-level code at program
+start. This emits a main symbol which is usually undesirable in a
+library target. Meson now automatically passes the *-parse-as-library*
+flag to the Swift compiler in case of single-file library targets to
+disable this behavior unless the source file is called main.swift.
+
+## Swift compiler receives select C family compiler options
+
+Meson now passes select few C family (C/C++/Obj-C/Obj-C++) compiler
+options to the Swift compiler, notably *-std=*, in order to improve
+the compatibility of C code as interpreted by the C compiler and the
+Swift compiler.
+
+NB: This does not include any of the options set in the target's
+c_flags.
+
+## Swift/C++ interoperability is now supported
+
+It is now possible to create Swift executables that can link to C++ or
+Objective-C++ libraries. To enable this feature, set the target kwarg
+_swift\_interoperability\_mode_ to 'cpp'.
+
+To import C++ code, specify a bridging header in the Swift target's
+sources, or use another way such as adding a directory containing a
+Clang module map to its include path.
+
+Note: Enabling C++ interoperability in a library target is a breaking
+change. Swift libraries that enable it need their consumers to enable
+it as well, as per [the Swift documentation][1].
+
+Swift 5.9 is required to use this feature. Xcode 15 is required if the
+Xcode backend is used.
+
+```meson
+lib = static_library('mylib', 'mylib.cpp')
+exe = executable('prog', 'main.swift', 'mylib.h', link_with: lib, swift_interoperability_mode: 'cpp')
+```
+
+[1]: https://www.swift.org/documentation/cxx-interop/project-build-setup/#vending-packages-that-enable-c-interoperability
+
+## Support for MASM in Visual Studio backends
+
+Previously, assembling `.masm` files with Microsoft's Macro Assembler is only
+available on the Ninja backend. This now also works on Visual Studio backends.
+
+Note that building ARM64EC code using `ml64.exe` is currently unimplemented in
+both of the backends. If you need mixing x64 and Arm64 in your project, please
+file an issue on GitHub.
+
+## Limited support for WrapDB v1
+
+WrapDB v1 has been discontinued for several years, Meson will now print a
+deprecation warning if a v1 URL is still being used. Wraps can be updated to
+latest version using `meson wrap update` command.
+
diff --git a/docs/markdown/snippets/array-flatten.md b/docs/markdown/snippets/array-flatten.md
deleted file mode 100644
index eaab19c..0000000
--- a/docs/markdown/snippets/array-flatten.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Array `.flatten()` method
-
-Arrays now have a `.flatten()` method, which turns nested arrays into a single
-flat array. This provides the same effect that Meson often does to arrays
-internally, such as when passed to most function arguments.
diff --git a/docs/markdown/snippets/clang-tidy-improvement.md b/docs/markdown/snippets/clang-tidy-improvement.md
deleted file mode 100644
index f79463e..0000000
--- a/docs/markdown/snippets/clang-tidy-improvement.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## `clang-tidy`'s auto-generated targets correctly select source files
-
-In previous versions, the target would run `clang-tidy` on _every_ C-like source files (.c, .h, .cpp, .hpp). It did not work correctly because some files, especially headers, are not intended to be consumed as is.
-
-It will now run only on source files participating in targets.
diff --git a/docs/markdown/snippets/eld-support.md b/docs/markdown/snippets/eld-support.md
deleted file mode 100644
index cc854fa..0000000
--- a/docs/markdown/snippets/eld-support.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Added Qualcomm's embedded linker, eld
-
-Qualcomm recently open-sourced their embedded linker.
-https://github.com/qualcomm/eld
-
-Meson users can now use this linker.
diff --git a/docs/markdown/snippets/fs_suffix.md b/docs/markdown/snippets/fs_suffix.md
deleted file mode 100644
index 7059008..0000000
--- a/docs/markdown/snippets/fs_suffix.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Added suffix function to the FS module
-
-The basename and stem were already available. For completeness, expose also the
-suffix.
diff --git a/docs/markdown/snippets/gnome-rsp-files-support.md b/docs/markdown/snippets/gnome-rsp-files-support.md
deleted file mode 100644
index 29c9082..0000000
--- a/docs/markdown/snippets/gnome-rsp-files-support.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Support response files for custom targets
-
-When using the Ninja backend, Meson can now pass arguments to supported tools
-through response files.
-
-In this release it's enabled only for the Gnome module, fixing calling
-`gnome.mkenums()` with a large set of files on Windows (requires
-Glib 2.59 or higher).
diff --git a/docs/markdown/snippets/meson-format-stdin-editorconfig.md b/docs/markdown/snippets/meson-format-stdin-editorconfig.md
deleted file mode 100644
index 4a848b7..0000000
--- a/docs/markdown/snippets/meson-format-stdin-editorconfig.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## meson format now has a --source-file-path argument when reading from stdin
-
-This argument is mandatory to mix stdin reading with the use of editor config.
-It allows to know where to look for the .editorconfig, and to use the right
-section of .editorconfig based on the parsed file name.
diff --git a/docs/markdown/snippets/pkgconfig-gen-license.md b/docs/markdown/snippets/pkgconfig-gen-license.md
deleted file mode 100644
index c2e6818..0000000
--- a/docs/markdown/snippets/pkgconfig-gen-license.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Added license keyword to pkgconfig.generate
-
-When specified, it will add a `License:` attribute to the generated .pc file.
diff --git a/docs/markdown/snippets/rust-dynamic-std.md b/docs/markdown/snippets/rust-dynamic-std.md
deleted file mode 100644
index ac4e8a7..0000000
--- a/docs/markdown/snippets/rust-dynamic-std.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## New experimental option `rust_dynamic_std`
-
-A new option `rust_dynamic_std` can be used to link Rust programs so
-that they use a dynamic library for the Rust `libstd`.
-
-Right now, `staticlib` crates cannot be produced if `rust_dynamic_std` is
-true, but this may change in the future.
diff --git a/docs/markdown/snippets/rust-mixed.md b/docs/markdown/snippets/rust-mixed.md
deleted file mode 100644
index d42ab90..0000000
--- a/docs/markdown/snippets/rust-mixed.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Rust and non-Rust sources in the same target
-
-Meson now supports creating a single target with Rust and non Rust
-sources mixed together. In this case, if specified, `link_language`
-must be set to `rust`.
diff --git a/docs/markdown/snippets/swift-module-name.md b/docs/markdown/snippets/swift-module-name.md
deleted file mode 100644
index 689dd84..0000000
--- a/docs/markdown/snippets/swift-module-name.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Explicitly setting Swift module name is now supported
-
-It is now possible to set the Swift module name for a target via the
-*swift_module_name* target kwarg, overriding the default inferred from the
-target name.
-
-```meson
-lib = library('foo', 'foo.swift', swift_module_name: 'Foo')
-```
diff --git a/docs/markdown/snippets/swift-parse-as-library.md b/docs/markdown/snippets/swift-parse-as-library.md
deleted file mode 100644
index 5208899..0000000
--- a/docs/markdown/snippets/swift-parse-as-library.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Top-level statement handling in Swift libraries
-
-The Swift compiler normally treats modules with a single source
-file (and files named main.swift) to run top-level code at program
-start. This emits a main symbol which is usually undesirable in a
-library target. Meson now automatically passes the *-parse-as-library*
-flag to the Swift compiler in case of single-file library targets to
-disable this behavior unless the source file is called main.swift.
diff --git a/docs/markdown/snippets/swift-pass-c-compiler-options.md b/docs/markdown/snippets/swift-pass-c-compiler-options.md
deleted file mode 100644
index 90904b9..0000000
--- a/docs/markdown/snippets/swift-pass-c-compiler-options.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Swift compiler receives select C family compiler options
-
-Meson now passes select few C family (C/C++/Obj-C/Obj-C++) compiler
-options to the Swift compiler, notably *-std=*, in order to improve
-the compatibility of C code as interpreted by the C compiler and the
-Swift compiler.
-
-NB: This does not include any of the options set in the target's
-c_flags.
diff --git a/docs/markdown/snippets/swift_cxx_interoperability.md b/docs/markdown/snippets/swift_cxx_interoperability.md
deleted file mode 100644
index 9e324f9..0000000
--- a/docs/markdown/snippets/swift_cxx_interoperability.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## Swift/C++ interoperability is now supported
-
-It is now possible to create Swift executables that can link to C++ or
-Objective-C++ libraries. To enable this feature, set the target kwarg
-_swift\_interoperability\_mode_ to 'cpp'.
-
-To import C++ code, specify a bridging header in the Swift target's
-sources, or use another way such as adding a directory containing a
-Clang module map to its include path.
-
-Note: Enabling C++ interoperability in a library target is a breaking
-change. Swift libraries that enable it need their consumers to enable
-it as well, as per [the Swift documentation][1].
-
-Swift 5.9 is required to use this feature. Xcode 15 is required if the
-Xcode backend is used.
-
-```meson
-lib = static_library('mylib', 'mylib.cpp')
-exe = executable('prog', 'main.swift', 'mylib.h', link_with: lib, swift_interoperability_mode: 'cpp')
-```
-
-[1]: https://www.swift.org/documentation/cxx-interop/project-build-setup/#vending-packages-that-enable-c-interoperability
diff --git a/docs/markdown/snippets/vs2010-masm-support.md b/docs/markdown/snippets/vs2010-masm-support.md
deleted file mode 100644
index 840cbf3..0000000
--- a/docs/markdown/snippets/vs2010-masm-support.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Support for MASM in Visual Studio backends
-
-Previously, assembling `.masm` files with Microsoft's Macro Assembler is only
-available on the Ninja backend. This now also works on Visual Studio backends.
-
-Note that building ARM64EC code using `ml64.exe` is currently unimplemented in
-both of the backends. If you need mixing x64 and Arm64 in your project, please
-file an issue on GitHub.
diff --git a/docs/markdown/snippets/wrapdbv1.md b/docs/markdown/snippets/wrapdbv1.md
deleted file mode 100644
index 4f0c847..0000000
--- a/docs/markdown/snippets/wrapdbv1.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Limited support for WrapDB v1
-
-WrapDB v1 has been discontinued for several years, Meson will now print a
-deprecation warning if a v1 URL is still being used. Wraps can be updated to
-latest version using `meson wrap update` command.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index fd37185..c8cb48c 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.9.0.md
Release-notes-for-1.8.0.md
Release-notes-for-1.7.0.md
Release-notes-for-1.6.0.md