]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Add deprecation article.
authorMichael R Sweet <michael.r.sweet@gmail.com>
Tue, 27 Mar 2018 19:07:05 +0000 (15:07 -0400)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Tue, 27 Mar 2018 19:07:05 +0000 (15:07 -0400)
_posts/2018-03-27-deprecation.md [new file with mode: 0644]

diff --git a/_posts/2018-03-27-deprecation.md b/_posts/2018-03-27-deprecation.md
new file mode 100644 (file)
index 0000000..6a4c091
--- /dev/null
@@ -0,0 +1,38 @@
+---
+title: A Word About Deprecation
+layout: post
+permalink: /blog/:year-:month-:day-:title.html
+excerpt_separator: <!--more-->
+---
+
+We periodically deprecate functionality that either is no longer necessary or
+prevents us from improving CUPS.  *Deprecated functionality continues to work*,
+often for years, as we help users and developers migrate away from it.
+
+<!--more-->
+
+When we deprecate something:
+
+- We announce the deprecation as far in advance as possible,
+- We display a warning that the functionality is going away in a future release
+  of CUPS, and
+- We help developers and users migrate to any replacement functionality, if
+  applicable.
+
+Deprecation is a necessary step prior to removal from CUPS.  *Deprecated items
+are still functional until removed.*
+
+After a transition period, deprecated items are removed from CUPS.  Deprecated
+CUPS APIs are never fully removed from shared libraries - non-functional stubs
+remain - in order to preserve binary compatibility.
+
+We've had some hard exceptions over the years:
+
+- Security issues forced us to do a hard transition of some `cupsd.conf`
+  directives to `cups-files.conf`,
+- Security issues forced us to drop interface script support, and
+- Performance and architectural issues forced us to drop CUPS browsing before
+  Avahi was fully supported/deployed.
+
+If you have any questions about our project's deprecation process, please feel
+free to contact us on the "cups-devel" list.