aboutsummaryrefslogtreecommitdiffstats
path: root/manual
diff options
context:
space:
mode:
Diffstat (limited to 'manual')
-rw-r--r--manual/contributing.rst11
-rw-r--r--manual/installation.rst10
-rw-r--r--manual/packaging.rst6
-rw-r--r--manual/release-notes.rst4
4 files changed, 27 insertions, 4 deletions
diff --git a/manual/contributing.rst b/manual/contributing.rst
index 0fb376e6..e0565872 100644
--- a/manual/contributing.rst
+++ b/manual/contributing.rst
@@ -20,11 +20,14 @@ https://github.com/qpdf/qpdf/discussions.
Code Formatting
---------------
-The qpdf source code is formatting using clang-format ≥ version 15
-with a :file:`.clang-format` file at the top of the source tree. The
+.. The minimum clang-format version is also in format-code. There is a
+ comment there that references this file.
+
+The qpdf source code is formatted using clang-format with a
+:file:`.clang-format` file at the top of the source tree. The
:file:`format-code` script reformats all the source code in the
-repository. You must have ``clang-format`` in your path, and it must be
-at least version 15.
+repository. You must have ``clang-format`` in your path, and it must
+be at least version 16.
For emacs users, the :file:`.dir-locals.el` file configures emacs
``cc-mode`` for an indentation style that is similar to but not
diff --git a/manual/installation.rst b/manual/installation.rst
index 7b57ef2a..52578dc2 100644
--- a/manual/installation.rst
+++ b/manual/installation.rst
@@ -277,6 +277,16 @@ BUILD_SHARED_LIBS, BUILD_STATIC_LIBS
compiled executables can find the DLL. Updating your path is not
necessary if you build with static libraries only.
+FUTURE
+ This option enables changes planned for the next major release to be
+ included. They are NOT part of the stable API. These changes are ABI
+ breaking and are subject to change, which means code linked against
+ a qpdf built with this option may not be binary compatible with
+ installed qpdf libraries. Set this if you want to test your code
+ with proposed QPDF API changes and provide feedback prior to the
+ inclusion of those changes in a release. Packagers should never
+ distribute backages built with this option.
+
QTEST_COLOR
Turn this on or off to control whether qtest uses color in its
output.
diff --git a/manual/packaging.rst b/manual/packaging.rst
index 1bd89758..ca32554a 100644
--- a/manual/packaging.rst
+++ b/manual/packaging.rst
@@ -26,6 +26,12 @@ particularly useful to packagers.
combined with either ``ctest --verbose`` or ``ctest
--output-on-failure``.
+- Packagers should never define the ``FUTURE`` build option. API
+ changes enabled by ``FUTURE`` are not stable and may be
+ API/ABI-breaking. That option is intended only for people who are
+ testing their code with a local build of qpdf to provide early
+ feedback or prepare for possible future changes to the API.
+
- qpdf's install targets do not install completion files by default
since there is no standard location for them. As a packager, it's
good if you install them wherever your distribution expects such
diff --git a/manual/release-notes.rst b/manual/release-notes.rst
index dcb626f2..806c5e6e 100644
--- a/manual/release-notes.rst
+++ b/manual/release-notes.rst
@@ -6,6 +6,10 @@ Release Notes
For a detailed list of changes, please see the file
:file:`ChangeLog` in the source distribution.
+If you are a developer and want to test your code against future API
+changes that are under consideration, you can build qpdf locally and
+enable the ``FUTURE`` build option (see :ref:`build-options`).
+
Planned changes for future 12.x (subject to change):
- ``QPDFObjectHandle`` will support move construction/assignment.
This change will be invisible to most developers but may break