xref: /petsc/src/binding/petsc4py/CHANGES.rst (revision 21e3ffae2f3b73c0bd738cf6d0a809700fc04bb0)
1=========================
2CHANGES: PETSc for Python
3=========================
4
5:Author:  Lisandro Dalcin
6:Contact: dalcinl@gmail.com
7
8Release 3.19.0
9==============
10
11- Expose ``PetscDevice`` and ``PetscDeviceContext`` API as ``PETSc.Device`` and ``PETSc.DeviceContext`` classes respectively.
12
13Release 3.18.0
14==============
15
16- Update to PETSc 3.18 release.
17
18
19Release 3.17.0
20==============
21
22- Update to PETSc 3.17 release.
23
24
25Release 3.16.0
26==============
27
28- Update to PETSc 3.16 release.
29
30
31Release 3.15.0
32==============
33
34- Update to PETSc 3.15 release.
35
36
37Release 3.14.1
38==============
39
40- Fix build issues after changes in recent PETSc patch releases.
41- Add various missing types and enums definitions.
42- Update Cython build, require ``Cython >= 0.24``.
43
44
45Release 3.14.0
46==============
47
48- Update to PETSc 3.14 release.
49
50
51Release 3.13.0
52==============
53
54- Update to PETSc 3.13 release.
55
56
57Release 3.12.0
58==============
59
60- Update to PETSc 3.12 release.
61
62
63Release 3.11.0
64==============
65
66- Update to PETSc 3.11 release.
67
68
69Release 3.10.1
70==============
71
72- Fix for removal of ``SNESTEST``.
73- Fix ``Mat`` in-place divide.
74
75
76Release 3.10.0
77==============
78
79- Update to PETSc 3.10 release.
80
81
82Release 3.9.1
83=============
84
85- Add ``Mat.zeroRowsColumnsLocal()``.
86- Add ``Mat.getISLocalMat()``.
87- Add ``Mat.convertISToAIJ()``.
88
89
90Release 3.9.0
91=============
92
93- Update to PETSc 3.9 release.
94
95
96Release 3.8.0
97=============
98
99- Update to PETSc 3.8 release.
100
101
102Release 3.7.0
103=============
104
105- Update to PETSc 3.7 release.
106
107
108Release 3.6.0
109=============
110
111- Update to PETSc 3.6 release.
112
113
114Release 3.5.1
115=============
116
117- Add ``Log.{begin|view|destroy}()``.
118- Add ``Mat.SOR()`` and ``Mat.SORType``.
119- Add ``DMPlex.createCoarsePointIS()``.
120- Add ``LGMap.createSF()``.
121- Add ``SNES.getVIInactiveSet()``.
122- Add ``Vec.isaxpy()``.
123- Add ``PC.setReusePreconditioner()``.
124- Return correct type in ``DM.getCoordinateDM()``.
125- Fix SWIG wrappers to handle 64bit ``PetscInt``.
126- Fix linker flags for Python from Fink.
127
128
129Release 3.5
130===========
131
132- Update to PETSc 3.5 release.
133
134
135Release 3.4
136===========
137
138- Update to PETSc 3.4 release.
139
140- Add support for ``DMComposite`` and ``DMPlex``.
141
142- Change ``Mat.getSizes()`` to return ``((m,M),(n,N))``.
143
144
145Release 3.3.1
146=============
147
148- Fix ``Options.getAll()`` mishandling values with negative numbers.
149
150- Minor backward compatibility fix for PETSc 3.2 .
151
152- Minor bugfix for TSPYTHON subtype.
153
154
155Release 3.3
156===========
157
158- Update to PETSc 3.3 release.
159
160- Change ``Vec.getLocalForm()`` to ``Vec.localForm()`` for use with
161  context manager and add ``Vec.setMPIGhost()``.
162
163- Add ``AO.createMemoryScalable()`` and ``LGMap.block()`` /
164  ``LGMap.unblock()``
165
166- Add ``Object.handle`` property (C pointer as a Python integer). Can
167  be used with ``ctypes`` to pass a PETSc handle.
168
169- Add ``Comm.tompi4py()`` to get a ``mpi4py`` communicator instance.
170
171
172Release 1.2
173===========
174
175- Update to PETSc 3.2 release.
176
177- Add new ``DM`` class , make ``DA`` inherit from ``DM``.
178
179- Better support for inplace LU/ILU and Cholesky/ICC factorization and
180  factor PC subtypes.
181
182- Now the ``Mat``/``PC``/``KSP``/``SNES``/``TS`` Python subtypes are
183  implemented with Cython.
184
185- Better interaction between Python garbage collector and PETSc
186  objects.
187
188- Support for PEP 3118 and legacy Python's buffer interface.
189
190
191Release 1.1.2
192=============
193
194This is a new-features and bug-fix release.
195
196- Add support for copying and computing complements in ``IS``
197  (``IS.copy()`` and ``IS.complement()``).
198
199- Add support for coarsening in ``DA`` (``DA.coarsen()``).
200
201- Support for shallow copy and deep copy operations (use ``copy.copy``
202  and ``copy.deepcopy``). Deep copy is only supported for a bunch of
203  types (``IS``, ``Scatter``, ``Vec``, ``Mat``)
204
205- Support for ``pip install petsc4py`` to download and install PETSc.
206
207
208Release 1.1.1
209=============
210
211This is a new-features and bug-fix release.
212
213- Support for setting PETSC_COMM_WORLD before PETSc initialization.
214
215- Support for coordinates, refinement and interpolation in DA. Many
216  thanks to Blaise Bourdin.
217
218- Workaround build failures when PETSc is built with *mpiuni*.
219
220- Workaround GIL-related APIs for non-threaded Python builds.
221
222
223Release 1.1
224===========
225
226- Update for API cleanups, changes, and new calls in PETSc 3.1 and
227  some other missing features.
228
229- Add support for Jed Brown's THETA an GL timestepper implementations.
230
231- Fix the annoying issues related to Open MPI shared libraries
232  dependencies and Python dynamic loading.
233
234- Many minor bug-fixes. Many thanks to Ethan Coon, Dmitry Karpeev,
235  Juha Jaykka, and Michele De Stefano.
236
237
238Release 1.0.3
239=============
240
241This is a bug-fix release.
242
243- Added a quick fix to solve build issues. The macro __SDIR__ is no
244  longer passed to the compiler in the command line.
245
246
247Release 1.0.2
248=============
249
250This is a new-features and bug-fix release.
251
252- Now ``petsc4py`` works against core PETSc built with complex
253  scalars.
254
255- Added support for PETSc logging features like stages, classes and
256  events. Stages and events support the context manager interface
257  (``with`` statement).
258
259- Documentation generated with Epydoc and Sphinx is now included in
260  the release tarball.
261
262- Removed enumeration-like classes from the ``petsc4py.PETSc`` module
263  namespace. For example, now you have to use ``PETSc.KSP.Type``
264  instead of ``PETSc.KSPType``.
265
266- The ``PETSc.IS`` to ``numpy.ndarray`` conversion now works for
267  stride and block index sets.
268
269- Implemented a more robust import machinery for multi-arch
270  ``petsc4py`` installations. Now a wrong value in the ``PETSC_ARCH``
271  environmental variable emit a warning (instead of failing) at import
272  time.
273
274- The unittest-based testsuite now can run under ``nose`` with its
275  default options.
276
277- Removed the dependency on ``numpy.distutils``, just use core Python
278  ``distutils``.
279
280
281Release 1.0.1
282=============
283
284This is a bug-fix release. Compile Cython-generated C sources with
285``-Wwrite-strings`` removed, as this flag (inherited from PETSc) made
286GCC emit a lot of (harmless but annoying) warnings about conversion of
287string literals to non-const char pointers.
288
289
290Release 1.0.0
291=============
292
293This is the fist release of the all-new, Cython-based, implementation
294of *PETSc for Python*.
295