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