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