summaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2023-06-15 16:27:18 -0400
committerEli Schwartz <eschwartz93@gmail.com>2024-08-30 15:44:13 -0400
commit29797f92f818744adcdb354ca798036168608ac7 (patch)
tree428c94067d840fecbf6bce43a5f54ca673babb90 /docs/markdown
parent1794a1e63c8a890aa924b3594946b23fcefcbc9f (diff)
downloadmeson-29797f92f818744adcdb354ca798036168608ac7.tar.gz
Feature checks: fall back to reporting insufficiently portable features
When projects do not specify a minimum meson version, we used to avoid giving them the benefit of the Feature checks framework. Instead: - warn for features that were added after the most recent semver bump, since they aren't portable to the range of versions people might use these days - warn for features that were deprecated before the upcoming semver bump, i.e. all deprecated features, since they aren't portable to upcoming semver-compatible versions people might be imminently upgrading to
Diffstat (limited to 'docs/markdown')
-rw-r--r--docs/markdown/snippets/always_report_deprecations.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/docs/markdown/snippets/always_report_deprecations.md b/docs/markdown/snippets/always_report_deprecations.md
new file mode 100644
index 000000000..fbf4cdf47
--- /dev/null
+++ b/docs/markdown/snippets/always_report_deprecations.md
@@ -0,0 +1,29 @@
+## Default to printing deprecations when no minimum version is specified.
+
+For a long time, the [[project]] function has supported specifying the minimum
+`meson_version:` needed by a project. When this is used, deprecated features
+from before that version produce warnings, as do features which aren't
+available in all supported versions.
+
+When no minimum version was specified, meson didn't warn you even about
+deprecated functionality that might go away in an upcoming semver major release
+of meson.
+
+Now, meson will treat an unspecified minimum version following semver:
+
+- For new features introduced in the current meson semver major cycle
+ (currently: all features added since 1.0) a warning is printed. Features that
+ have been available since the initial 1.0 release are assumed to be widely
+ available.
+
+- For features that have been deprecated by any version of meson, a warning is
+ printed. Since no minimum version was specified, it is assumed that the
+ project wishes to follow the latest and greatest functionality.
+
+These warnings will overlap for functionality that was both deprecated and
+replaced with an alternative in the current release cycle. The combination
+means that projects without a minimum version specified are assumed to want
+broad compatibility with the current release cycle (1.x).
+
+Projects that specify a minimum `meson_version:` will continue to only receive
+actionable warnings based on their current minimum version.