summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2025-01-26 20:02:34 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2025-01-26 20:02:34 +0200
commitb1a5ae6635115cefcf12aca432929c95bce40a4a (patch)
treeb01f4399cfd73be99d746cddd0f5df4194f7a7c9 /docs
parenta5d48cc0deeb90be976fc7044337ce9f5f33340e (diff)
downloadmeson-b1a5ae6635115cefcf12aca432929c95bce40a4a.tar.gz
Created release notes for 1.7.0.
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Release-notes-for-1.7.0.md155
-rw-r--r--docs/markdown/snippets/atomic-dependency.md9
-rw-r--r--docs/markdown/snippets/cargo_cap_lints.md8
-rw-r--r--docs/markdown/snippets/cargo_features.md14
-rw-r--r--docs/markdown/snippets/clippy.md8
-rw-r--r--docs/markdown/snippets/external_project_devenv.md7
-rw-r--r--docs/markdown/snippets/fixed_sizeof_and_find_library_for_fortran.md8
-rw-r--r--docs/markdown/snippets/format_from_stdin.md4
-rw-r--r--docs/markdown/snippets/introspect_machine.md5
-rw-r--r--docs/markdown/snippets/linearasm_features.md3
-rw-r--r--docs/markdown/snippets/num-processes.md8
-rw-r--r--docs/markdown/snippets/optioncaution.md16
-rw-r--r--docs/markdown/snippets/rust-2024.md5
-rw-r--r--docs/markdown/snippets/tasking_compiler.md3
-rw-r--r--docs/markdown/snippets/test_dependencies.md29
-rw-r--r--docs/markdown/snippets/vcs_tag.md4
-rw-r--r--docs/sitemap.txt1
17 files changed, 156 insertions, 131 deletions
diff --git a/docs/markdown/Release-notes-for-1.7.0.md b/docs/markdown/Release-notes-for-1.7.0.md
new file mode 100644
index 000000000..5024b32c2
--- /dev/null
+++ b/docs/markdown/Release-notes-for-1.7.0.md
@@ -0,0 +1,155 @@
+---
+title: Release 1.7.0
+short-description: Release notes for 1.7.0
+...
+
+# New features
+
+Meson 1.7.0 was released on 26 January 2025
+
+## Call for testing for next release
+
+At the beginning of next cycle we aim to merge the [option refactor
+branch](https://github.com/mesonbuild/meson/pull/13441). This is a
+_huge_ change that will touch pretty much all code.
+
+The main change it brings is that you can override any builtin option
+value for any subproject (even the top one) entirely from the command
+line. This means that you can, for example, enable optimizations on
+all subprojects but not on the top level project.
+
+We have done extensive testing and all our tests currently
+pass. However it is expected that this will break some workflows. So
+please test the branch when it lands and report issues. We want to fix
+all regressions as soon as possible, preferably far before the next rc
+release.
+
+## New custom dependency for atomic
+
+```
+dependency('atomic')
+```
+
+checks for the availability of the atomic operation library. First, it looks
+for the atomic library. If that is not found, then it will try to use what is
+provided by the libc.
+
+## `--cap-lints allow` used for Cargo subprojects
+
+Similar to Cargo itself, all downloaded Cargo subprojects automatically
+add the `--cap-lints allow` compiler argument, thus hiding any warnings
+from the compiler.
+
+Related to this, `warning_level=0` now translates into `--cap-lints allow`
+for Rust targets instead of `-A warnings`.
+
+## Cargo features are resolved globally
+
+When configuring a Cargo dependency, Meson will now resolve its complete
+dependency tree and feature set before generating the subproject AST.
+This solves many cases of Cargo subprojects being configured with missing
+features that the main project had to enable by hand using e.g.
+`default_options: ['foo-rs:feature-default=true']`.
+
+Note that there could still be issues in the case there are multiple Cargo
+entry points. That happens if the main Meson project makes multiple `dependency()`
+calls for different Cargo crates that have common dependencies.
+
+Breaks: This change removes per feature Meson options that were previously
+possible to set as shown above or from command line `-Dfoo-rs:feature-foo=true`.
+
+## Meson can run "clippy" on Rust projects
+
+Meson now defines a `clippy` target if the project uses the Rust programming
+language. The target runs clippy on all Rust sources, using the `clippy-driver`
+program from the same Rust toolchain as the `rustc` compiler.
+
+Using `clippy-driver` as the Rust compiler will now emit a warning, as it
+is not meant to be a general-purpose compiler front-end.
+
+## Devenv support in external project module
+
+The [external project module](External-Project-module.md) now setups `PATH` and
+`LD_LIBRARY_PATH` to be able to run programs.
+
+`@BINDIR@` is now substitued in arguments and `'--bindir=@PREFIX@/@BINDIR@'`
+default argument have been added.
+
+## Fixed `sizeof` and `find_library` methods for Fortran compilers
+
+The implementation of the `.sizeof()` method has been fixed for Fortran
+compilers (it was previously broken since it would try to compile a C code
+snippet). Note that this functionality requires Fortran 2008 support.
+
+Incidentally this also fixes the `.find_library()` method for Fortran compilers
+when the `prefer_static` built-in option is set to true.
+
+## format command now accept stdin argument
+
+You can now use `-` argument for `meson format` to read input from stdin
+instead of reading it from a file.
+
+## "machine" entry in target introspection data
+
+The JSON data returned by `meson introspect --targets` now has a `machine`
+entry in each `target_sources` block. The new entry can be one of `build`
+or `host` for compiler-built targets, or absent for `custom_target` targets.
+
+## Add new language Linear Asm
+
+TI C6000 compiler supports a dialect of TI asm, so we add a new language for it.
+
+## Control the number of child processes with an environment variable
+
+Previously, `meson test` checked the `MESON_TESTTHREADS` variable to control
+the amount of parallel jobs to run; this was useful when `meson test` is
+invoked through `ninja test` for example. With this version, a new variable
+`MESON_NUM_PROCESSES` is supported with a broader scope: in addition to
+`meson test`, it is also used by the `external_project` module and by
+Ninja targets that invoke `clang-tidy`, `clang-format` and `clippy`.
+
+## Support for Rust 2024
+
+Meson can now request the compiler to use the 2024 edition of Rust. Use
+`rust_std=2024` to activate it. Rust 2024 requires the 1.85.0 version
+(or newer) of the compiler.
+
+## Support TASKING VX-Toolset
+
+Meson now supports the TASKING VX-Toolset compiler family for the Tricore cpu family.
+
+## Test targets no longer built by default
+
+`meson test` and the `ninja all` rule have been reworked to no longer force
+unnecessary rebuilds.
+
+`meson test` was invoking `ninja all` due to a bug if the chosen set of tests
+had no build dependencies. The behavior is now the same as when tests do have
+build dependencies, i.e. to only build the actual set of targets that are used
+by the test. This change could cause failures when upgrading to Meson 1.7.0, if
+the dependencies are not specified correctly in meson.build. Using `ninja test`
+has always been guaranteed to "do the right thing" and rebuild `all` as well;
+this continues to work.
+
+`ninja all` does not rebuild all tests anymore; it should be noted that this
+change means test programs are no longer guaranteed to have been built,
+depending on whether those test programs were *also* defined to build by
+default / marked as installable. This avoids building test-only binaries as
+part of installing the project (`ninja && ninja install`), which is unnecessary
+and has no use case.
+
+Some users might have been relying on the "all" target building test
+dependencies in combination with `meson test --no-rebuild` in order to skip
+calling out to ninja when running tests. This might break with this change
+because, when given `--no-rebuild`, Meson provides no guarantee that test
+dependencies are present and up to date. The recommended workflow is to use
+either `ninja test` or `ninja && meson test` but, if you wish to build test
+programs and dependencies in a separate stage, you can use for example `ninja
+all meson-test-prereq meson-benchmark-prereq` before `meson test --no-rebuild`.
+These prereq targets have been available since meson 0.63.0.
+
+## Install vcs_tag() output
+
+[[vcs_tag]] now has `install`, `install_dir`, `install_tag` and `install_mode`
+keyword arguments to install the generated file.
+
diff --git a/docs/markdown/snippets/atomic-dependency.md b/docs/markdown/snippets/atomic-dependency.md
deleted file mode 100644
index 2eef5e0b1..000000000
--- a/docs/markdown/snippets/atomic-dependency.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## New custom dependency for atomic
-
-```
-dependency('atomic')
-```
-
-checks for the availability of the atomic operation library. First, it looks
-for the atomic library. If that is not found, then it will try to use what is
-provided by the libc.
diff --git a/docs/markdown/snippets/cargo_cap_lints.md b/docs/markdown/snippets/cargo_cap_lints.md
deleted file mode 100644
index 9623ae157..000000000
--- a/docs/markdown/snippets/cargo_cap_lints.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## `--cap-lints allow` used for Cargo subprojects
-
-Similar to Cargo itself, all downloaded Cargo subprojects automatically
-add the `--cap-lints allow` compiler argument, thus hiding any warnings
-from the compiler.
-
-Related to this, `warning_level=0` now translates into `--cap-lints allow`
-for Rust targets instead of `-A warnings`.
diff --git a/docs/markdown/snippets/cargo_features.md b/docs/markdown/snippets/cargo_features.md
deleted file mode 100644
index 26f1bff95..000000000
--- a/docs/markdown/snippets/cargo_features.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## Cargo features are resolved globally
-
-When configuring a Cargo dependency, Meson will now resolve its complete
-dependency tree and feature set before generating the subproject AST.
-This solves many cases of Cargo subprojects being configured with missing
-features that the main project had to enable by hand using e.g.
-`default_options: ['foo-rs:feature-default=true']`.
-
-Note that there could still be issues in the case there are multiple Cargo
-entry points. That happens if the main Meson project makes multiple `dependency()`
-calls for different Cargo crates that have common dependencies.
-
-Breaks: This change removes per feature Meson options that were previously
-possible to set as shown above or from command line `-Dfoo-rs:feature-foo=true`.
diff --git a/docs/markdown/snippets/clippy.md b/docs/markdown/snippets/clippy.md
deleted file mode 100644
index 47d02083a..000000000
--- a/docs/markdown/snippets/clippy.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Meson can run "clippy" on Rust projects
-
-Meson now defines a `clippy` target if the project uses the Rust programming
-language. The target runs clippy on all Rust sources, using the `clippy-driver`
-program from the same Rust toolchain as the `rustc` compiler.
-
-Using `clippy-driver` as the Rust compiler will now emit a warning, as it
-is not meant to be a general-purpose compiler front-end.
diff --git a/docs/markdown/snippets/external_project_devenv.md b/docs/markdown/snippets/external_project_devenv.md
deleted file mode 100644
index 1927bd32f..000000000
--- a/docs/markdown/snippets/external_project_devenv.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Devenv support in external project module
-
-The [external project module](External-Project-module.md) now setups `PATH` and
-`LD_LIBRARY_PATH` to be able to run programs.
-
-`@BINDIR@` is now substitued in arguments and `'--bindir=@PREFIX@/@BINDIR@'`
-default argument have been added.
diff --git a/docs/markdown/snippets/fixed_sizeof_and_find_library_for_fortran.md b/docs/markdown/snippets/fixed_sizeof_and_find_library_for_fortran.md
deleted file mode 100644
index 6893429e8..000000000
--- a/docs/markdown/snippets/fixed_sizeof_and_find_library_for_fortran.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Fixed `sizeof` and `find_library` methods for Fortran compilers
-
-The implementation of the `.sizeof()` method has been fixed for Fortran
-compilers (it was previously broken since it would try to compile a C code
-snippet). Note that this functionality requires Fortran 2008 support.
-
-Incidentally this also fixes the `.find_library()` method for Fortran compilers
-when the `prefer_static` built-in option is set to true.
diff --git a/docs/markdown/snippets/format_from_stdin.md b/docs/markdown/snippets/format_from_stdin.md
deleted file mode 100644
index cebe976c4..000000000
--- a/docs/markdown/snippets/format_from_stdin.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## format command now accept stdin argument
-
-You can now use `-` argument for `meson format` to read input from stdin
-instead of reading it from a file.
diff --git a/docs/markdown/snippets/introspect_machine.md b/docs/markdown/snippets/introspect_machine.md
deleted file mode 100644
index 9b19bd6a2..000000000
--- a/docs/markdown/snippets/introspect_machine.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## "machine" entry in target introspection data
-
-The JSON data returned by `meson introspect --targets` now has a `machine`
-entry in each `target_sources` block. The new entry can be one of `build`
-or `host` for compiler-built targets, or absent for `custom_target` targets.
diff --git a/docs/markdown/snippets/linearasm_features.md b/docs/markdown/snippets/linearasm_features.md
deleted file mode 100644
index 571408685..000000000
--- a/docs/markdown/snippets/linearasm_features.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Add new language Linear Asm
-
-TI C6000 compiler supports a dialect of TI asm, so we add a new language for it.
diff --git a/docs/markdown/snippets/num-processes.md b/docs/markdown/snippets/num-processes.md
deleted file mode 100644
index 533637790..000000000
--- a/docs/markdown/snippets/num-processes.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Control the number of child processes with an environment variable
-
-Previously, `meson test` checked the `MESON_TESTTHREADS` variable to control
-the amount of parallel jobs to run; this was useful when `meson test` is
-invoked through `ninja test` for example. With this version, a new variable
-`MESON_NUM_PROCESSES` is supported with a broader scope: in addition to
-`meson test`, it is also used by the `external_project` module and by
-Ninja targets that invoke `clang-tidy`, `clang-format` and `clippy`.
diff --git a/docs/markdown/snippets/optioncaution.md b/docs/markdown/snippets/optioncaution.md
deleted file mode 100644
index c2d9a8776..000000000
--- a/docs/markdown/snippets/optioncaution.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Call for testing for next release
-
-At the beginning of next cycle we aim to merge the [option refactor
-branch](https://github.com/mesonbuild/meson/pull/13441). This is a
-_huge_ change that will touch pretty much all code.
-
-The main change it brings is that you can override any builtin option
-value for any subproject (even the top one) entirely from the command
-line. This means that you can, for example, enable optimizations on
-all subprojects but not on the top level project.
-
-We have done extensive testing and all our tests currently
-pass. However it is expected that this will break some workflows. So
-please test the branch when it lands and report issues. We want to fix
-all regressions as soon as possible, preferably far before the next rc
-release.
diff --git a/docs/markdown/snippets/rust-2024.md b/docs/markdown/snippets/rust-2024.md
deleted file mode 100644
index b1334d326..000000000
--- a/docs/markdown/snippets/rust-2024.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Support for Rust 2024
-
-Meson can now request the compiler to use the 2024 edition of Rust. Use
-`rust_std=2024` to activate it. Rust 2024 requires the 1.85.0 version
-(or newer) of the compiler.
diff --git a/docs/markdown/snippets/tasking_compiler.md b/docs/markdown/snippets/tasking_compiler.md
deleted file mode 100644
index bbe29cc4b..000000000
--- a/docs/markdown/snippets/tasking_compiler.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Support TASKING VX-Toolset
-
-Meson now supports the TASKING VX-Toolset compiler family for the Tricore cpu family. \ No newline at end of file
diff --git a/docs/markdown/snippets/test_dependencies.md b/docs/markdown/snippets/test_dependencies.md
deleted file mode 100644
index f69efa5ce..000000000
--- a/docs/markdown/snippets/test_dependencies.md
+++ /dev/null
@@ -1,29 +0,0 @@
-## Test targets no longer built by default
-
-`meson test` and the `ninja all` rule have been reworked to no longer force
-unnecessary rebuilds.
-
-`meson test` was invoking `ninja all` due to a bug if the chosen set of tests
-had no build dependencies. The behavior is now the same as when tests do have
-build dependencies, i.e. to only build the actual set of targets that are used
-by the test. This change could cause failures when upgrading to Meson 1.7.0, if
-the dependencies are not specified correctly in meson.build. Using `ninja test`
-has always been guaranteed to "do the right thing" and rebuild `all` as well;
-this continues to work.
-
-`ninja all` does not rebuild all tests anymore; it should be noted that this
-change means test programs are no longer guaranteed to have been built,
-depending on whether those test programs were *also* defined to build by
-default / marked as installable. This avoids building test-only binaries as
-part of installing the project (`ninja && ninja install`), which is unnecessary
-and has no use case.
-
-Some users might have been relying on the "all" target building test
-dependencies in combination with `meson test --no-rebuild` in order to skip
-calling out to ninja when running tests. This might break with this change
-because, when given `--no-rebuild`, Meson provides no guarantee that test
-dependencies are present and up to date. The recommended workflow is to use
-either `ninja test` or `ninja && meson test` but, if you wish to build test
-programs and dependencies in a separate stage, you can use for example `ninja
-all meson-test-prereq meson-benchmark-prereq` before `meson test --no-rebuild`.
-These prereq targets have been available since meson 0.63.0.
diff --git a/docs/markdown/snippets/vcs_tag.md b/docs/markdown/snippets/vcs_tag.md
deleted file mode 100644
index c60996a2e..000000000
--- a/docs/markdown/snippets/vcs_tag.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Install vcs_tag() output
-
-[[vcs_tag]] now has `install`, `install_dir`, `install_tag` and `install_mode`
-keyword arguments to install the generated file.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 8d7d157e1..b5e0f8157 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.7.0.md
Release-notes-for-1.6.0.md
Release-notes-for-1.5.0.md
Release-notes-for-1.4.0.md