summaryrefslogtreecommitdiff
path: root/doc/source
diff options
context:
space:
mode:
authorTravis E. Oliphant <teoliphant@gmail.com>2012-07-11 13:24:23 -0500
committerTravis E. Oliphant <teoliphant@gmail.com>2012-07-11 13:24:23 -0500
commit6f335e02de416fc9dc569d5041e9d812d4b5f653 (patch)
treec16a2f33b1ef196a7646d6320bcad0564f25ae40 /doc/source
parent9a4ef177a17a3f41ba3456e9768317e1d6ccf81d (diff)
downloadnumpy-6f335e02de416fc9dc569d5041e9d812d4b5f653.tar.gz
Fix-up deprecations language.
Diffstat (limited to 'doc/source')
-rw-r--r--doc/source/reference/c-api.deprecations.rst18
1 files changed, 13 insertions, 5 deletions
diff --git a/doc/source/reference/c-api.deprecations.rst b/doc/source/reference/c-api.deprecations.rst
index 4a5184ca7..86f15527d 100644
--- a/doc/source/reference/c-api.deprecations.rst
+++ b/doc/source/reference/c-api.deprecations.rst
@@ -7,11 +7,14 @@ Background
The API exposed by NumPy for third-party extensions has grown over
years of releases, and has allowed programmers to directly access
NumPy functionality from C. This API can be best described as
-"organic". The core API originated with Numeric in 1995 and there are
+"organic". It has emerged from multiple competing desires and from
+multiple points of view over the years, strongly influenced by the
+desire to make it easy for users to move to NumPy from Numeric and
+Numarray. The core API originated with Numeric in 1995 and there are
patterns such as the heavy use of macros written to mimic Python's
C-API as well as account for compiler technology of the late 90's.
There is only a small group of volunteers who have had very little
-time to spend on improving this API.
+time to spend on improving this API.
There is an ongoing effort to improve the API to do things like remove
a "fortran" macro and ensure that the NPY_ prefixes don't collide with
@@ -35,9 +38,14 @@ Deprecation Mechanism NPY_NO_DEPRECATED_API
-------------------------------------------
In C, there is no equivalent to the deprecation warnings that Python
-supports. One way to do deprecations is to flag them in the documentation
-and release notes, then remove or change the deprecated features in a
-future version (NumPy 2.0 and beyond).
+supports. One way to do deprecations is to flag them in the
+documentation and release notes, then remove or change the deprecated
+features in a future major version (NumPy 2.0 and beyond). Minor
+versions of NumPy should not have major C-API changes, however, that
+prevent code that worked on a previous minor release. For example, we
+will do our best to ensure that code that compiled and worked on NumPy
+1.4 should continue to work on NumPy 1.7 (but perhaps with compiler
+warnings).
To use the NPY_NO_DEPRECATED_API mechanism, you need to #define it to
the target API version of NumPy before #including any NumPy headers.