1# Changes: Development 2 3% STYLE GUIDELINES: 4% * Capitalize sentences 5% * Use imperative, e.g., Add, Improve, Change, etc. 6% * Don't use a period (.) at the end of entries 7% * If multiple sentences are needed, use a period or semicolon to divide sentences, but not at the end of the final sentence 8 9```{rubric} General: 10``` 11 12- Add `PETSCPYTHONPATH` to the generated `$PETSC_DIR/$PETSC_ARCH/lib/petsc/conf/petscvariables` file so it is available to users through the makefile system 13- Add `PETSCPYTHONPATH` to the generated `$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig/PETSc.pc` file so it is available to users with 14 `PKG_CONFIG_PATH=$PETSC_DIR/$PETSC_ARCH/lib/pkgconfig pkg-config --variable=PETSCPYTHONPATH PETSc.pc` 15 16 17```{rubric} Configure/Build: 18``` 19 20- Change `make sphinxhtml` in the `doc` directory to be `make docs` 21- Change `make docs` to put all its artifacts in `${PETSC_ARCH}-doc` instead of `doc` 22 23```{rubric} Sys: 24``` 25 26- Deprecate `PetscSSEIsEnabled()` 27 28```{rubric} Event Logging: 29``` 30 31```{rubric} PetscViewer: 32``` 33 34- Add `PetscViewerHDF5SetCompress()` and `PetscViewerHDF5GetCompress()` 35 36```{rubric} PetscDraw: 37``` 38 39```{rubric} AO: 40``` 41 42```{rubric} IS: 43``` 44 45```{rubric} VecScatter / PetscSF: 46``` 47 48```{rubric} PF: 49``` 50 51```{rubric} Vec: 52``` 53 54```{rubric} PetscSection: 55``` 56 57```{rubric} PetscPartitioner: 58``` 59 60```{rubric} Mat: 61``` 62 63- Add `MatConstantDiagonalGetConstant()` 64- Add `MatNullSpaceRemoveFn` type definition 65- Add `MatMFFDFn`, `MatMFFDiFn`, `MatMFFDiBaseFn`, and `MatMFFDCheckhFn` type definitions 66- Add `MatFDColoringFn` type definition 67 68```{rubric} MatCoarsen: 69``` 70 71```{rubric} PC: 72``` 73 74- Add `PCMatApplyTranspose()` 75- Remove `PC_ApplyMultiple` 76- Add `PCShellPSolveFn` 77- Add `PCModifySubMatricesFn` 78 79```{rubric} KSP: 80``` 81 82- Add `MatLMVMGetLastUpdate()` 83- Add `MatLMVMMultAlgorithm`, `MatLMVMSetMultAlgorithm()`, and `MatLMVMGetMultAlgorithm()` 84- Add `MatLMVMSymBroydenGetPhi()` and `MatLMVMSymBroydenSetPhi()` 85- Add `MatLMVMSymBadBroydenGetPsi()` and `MatLMVMSymBadBroydenSetPsi()` 86- Deprecate `KSP_CONVERGED_RTOL_NORMAL` in favor of `KSP_CONVERGED_RTOL_NORMAL_EQUATIONS` and `KSP_CONVERGED_ATOL_NORMAL` in favor of `KSP_CONVERGED_ATOL_NORMAL_EQUATIONS` 87- Add `KSPFlexibleSetModifyPC()` to provide a common API for setting the modification function for all flexible `KSP` methods 88- Add `KSPFlexibleModifyPCFn` function prototype 89- Change the function signature of the `destroy()` argument to `KSPSetConvergenceTest()` to `PetscCtxDestroyFn*`. If you provide custom destroy 90 functions to `KSPSetConvergenceTest()` you must change them to expect a `void **` argument and immediately dereference the input 91- Add `KSPPSolveFn` 92 93```{rubric} SNES: 94``` 95 96```{rubric} SNESLineSearch: 97``` 98 99```{rubric} TS: 100``` 101 102```{rubric} TAO: 103``` 104 105- Add ``TaoBRGNSetRegularizationType()``, ``TaoBRGNGetRegularizationType()`` 106 107```{rubric} PetscRegressor: 108``` 109 110- Add new component to support regression and classification machine learning tasks: [](ch_regressor) 111- Add `PetscRegressor` type `PETSCREGRESSORLINEAR` for solving linear regression problems with optional regularization 112 113```{rubric} DM/DA: 114``` 115 116- Add `DMHasBound()`, `DM_BC_LOWER_BOUND` and `DM_BC_LOWER_BOUND` 117 118 119```{rubric} DMSwarm: 120``` 121 122```{rubric} DMPlex: 123``` 124 125- Add `DMPlexGetTransform()`, `DMPlexSetTransform()`, `DMPlexGetSaveTransform()`, and `DMPlexSetSaveTransform()` 126- Add `DMPlexGetCoordinateMap()` and `DMPlexSetCoordinateMap()` 127- Add `DMPlexTransformCohesiveExtrudeGetUnsplit()` 128- Add `DMFieldCreateDefaultFaceQuadrature()` 129- Rename `DMPlexComputeResidual_Internal()` to `DMPlexComputeResidualForKey()` 130- Rename `DMPlexComputeJacobian_Internal()` to `DMPlexComputeJacobianByKey()` 131- Rename `DMPlexComputeJacobian_Action_Internal()` to `DMPlexComputeJacobianActionByKey()` 132- Rename `DMPlexComputeResidual_Hybrid_Internal()` to `DMPlexComputeResidualHybridByKey()` 133- Rename `DMPlexComputeJacobian_Hybrid_Internal()` to `DMPlexComputeJacobianHybridByKey()` 134- Add `DMPlexInsertBounds()` 135 136```{rubric} FE/FV: 137``` 138 139- Add `PetscFEExpandFaceQuadrature()` 140 141```{rubric} DMNetwork: 142``` 143 144```{rubric} DMStag: 145``` 146 147```{rubric} DT: 148``` 149 150- Deprecate `PetscSimplePointFunc` in favor of `PetscSimplePointFn *` 151- Deprecate `PetscPointFunc` in favor of `PetscPointFn *` 152- Deprecate `PetscPointJac` in favor of `PetscPointJacFn *` 153- Deprecate `PetscBdPointFunc` in favor of `PetscBdPointFn *` 154- Deprecate `PetscBdPointJac` in favor of `PetscBdPointJacFn *` 155- Deprecate `PetscRiemannFunc` in favor of `PetscRiemannFn *` 156- Deprecate `PetscProbFunc` in favor of `PetscProbFn *` 157 158```{rubric} Fortran: 159``` 160 161- Add `PetscObjectNullify()` 162