diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 71771a5ea..a6a35f925 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -1092,7 +1092,7 @@ Project supports the following keyword arguments. `meson.project_license()`. - `meson_version` takes a string describing which Meson version the - project requires. Usually something like `>0.28.0`. + project requires. Usually something like `>=0.28.0`. - `subproject_dir` specifies the top level directory name that holds Meson subprojects. This is only meant as a compatibility option diff --git a/docs/markdown/snippets/version_comparison.md b/docs/markdown/snippets/version_comparison.md new file mode 100644 index 000000000..861a3ee2f --- /dev/null +++ b/docs/markdown/snippets/version_comparison.md @@ -0,0 +1,15 @@ +## 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'`.