Releases: FEniCS/ffcx
Releases · FEniCS/ffcx
v0.10.1.post0
Bumps the version number (!).
Full Changelog: v0.10.1...v0.10.1.post0
v0.10.1
v0.10.0
What's Changed
This version contains a critical bug and users are advised to use v0.10.1.
Features and API changes
- Add many geometrical quantities to ffcx expression generator. by @jorgensd in #725
- Fix
ufl.realreturn type in generated code by @jorgensd in #728 - get vertex quadrature from basix by @mscroggs in #736
- Make ds integrals on prism/pyramids generate kernels for each facet type by @mscroggs in #739
- Resolve jacobians from duplicate meshes by @jorgensd in #733
- Add rank and shape of constants to UFCx by @garth-wells in #767
- Add void* to tabulate_tensor kernel by @sclaus2 in #753
- remove demos with trace elements by @mscroggs in #747
- Fix 0D integrals. by @jorgensd in #772
- Codim 2 coupling by @jorgensd in #731
- Diagonal assembly of matrices by @jorgensd in #783
- Drop Python 3.9 support by @schnellerhase in #782
- Add check for coordinate element hash by @garth-wells in #745
- Add geometry element hash to
ufcx_expressionby @garth-wells in #746
Other changes
- Bump version number to 0.10.0 by @jhale in #719
- Fix dependency versions by @jhale in #720
- Add dependabot config. by @jhale in #721
- Bump actions/github-script from 6 to 7 by @dependabot[bot] in #722
- Move to pypi trusted publishing by @jhale in #718
- Reenable Windows test by @jhale in #724
- Upload to coveralls and docs from CI job running against python 3.12 by @francesco-ballarin in #726
- Update windows and mac CI and updates for ruff by @jorgensd in #730
- Bump ubuntu and add blas by @jorgensd in #741
- make demo xfail by @mscroggs in #744
- remove xfail by @mscroggs in #748
- ruff fixes by @garth-wells in #755
- Bump pygraphviz from 1.7 to 1.9 by @dependabot[bot] in #752
- fix dolfinx-tests.yml to reference main dolfinx by @sclaus2 in #758
- Start adding some typing and documentation by @jorgensd in #751
- Improve
mypychecking by @schnellerhase in #757 - Bump version. by @jhale in #761
- Mypy fix by @schnellerhase in #763
- Fix and test for coordinate free expressions by @michalhabera in #766
- Fix mypy for newly typed ufl by @schnellerhase in #768
- Pin scipy version in CI due to pyamg issue by @garth-wells in #771
- Fix scipy pinning by @jorgensd in #773
- Vertex Integrals by @schnellerhase in #777
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #776
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #775
- Reactivate
mypy'sattr-definedchecking by @schnellerhase in #778 - Unpin scipy by @schnellerhase in #779
- Fix warnings triggered from within FFCx by @schnellerhase in #780
- Fix FFCx swallows all warnings by @schnellerhase in #781
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in #785
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #784
- Update Spack CI by @garth-wells in #786
- Ruff 0.13.0 formatting by @jorgensd in #788
- Update spack.yml by @chrisrichardson in #791
New Contributors
- @dependabot[bot] made their first contribution in #722
- @sclaus2 made their first contribution in #753
- @schnellerhase made their first contribution in #757
Full Changelog: v0.9.0...v0.10.0
v0.9.0
This is a major release of FFCx and users are advised to upgrade.
What's Changed
Features and API changes
- Add support for mixed-dimensional kernels (codimension 1) by @jpdean in #675
- Add symmetric to finite element by @mscroggs in #684
- Change to INTERFACE in C17 requirement for ufcx target by @jhale in #710
- Unify Expression and IntegralIR with a common base by @jorgensd in #680
- Add Windows CI by @jhale in #689
- Remove ufcx_dofmap and ufcx_element by @mscroggs in #681
- Remove ufcx_function_space by @mscroggs in #690
- Remove ufcx_shape and ufcx_quadrature_rule by @mscroggs in #691
- Use UINT64_C(*) instead of *ull by @mscroggs in #692
- Export required C standard for UFCx header compile. by @jhale in #708
Other changes
- Kebab case build-wheels.yml by @jhale in #685
- Bump version. by @jhale in #686
- Write the Basix hash into generated code (or 0 if the element is not plain C++ Basix element) by @mscroggs in #688
- Break system packages by @jhale in #695
- Disable Spack self test by @garth-wells in #696
- Re-enable mypy checks by @garth-wells in #697
- Update for DOLFINx CI by @garth-wells in #698
- Fix access in assert by @jorgensd in #700
- Remove zero Lexpr check by @jorgensd in #701
- Type updates from Basix by @garth-wells in #703
- Disable Windows test. by @jhale in #704
- Update to use
ufl.domain.extract_domainsby @garth-wells in #705 - Remove quadrature permutation on element tables of codim-1 by @jorgensd in #717
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- Remove unused file by @IgorBaratta in #620
- Bump version to 0.8.0.dev0 by @jhale in #621
- Add Spack CI by @garth-wells in #623
- Update UFL element by @mscroggs in #614
- Add Spack CI badge by @garth-wells in #624
- Remove
setup.cfgby @garth-wells in #625 - prod instead of product by @RemDelaporteMathurin in #626
- Update wheel build script. by @jhale in #628
- Switch ufcx.h to the unlicense by @jhale in #619
- Update tests for DOFLINx by @garth-wells in #630
- Allow selection of spack tag by @chrisrichardson in #629
- Rename Basix functions by @mscroggs in #631
- Check for custom quadrature for each integral, not each form by @mscroggs in #622
- Remove unused functions and convert list of strings to static data by @chrisrichardson in #637
- Restrict to set() of unique elements in
build_optimized_tablesby @conpierce8 in #627 - Fixed Improper Method Call:
__eq__and__ne__by @fazledyn-or in #636 - Use up to date container in DOLFINx integration tests, and update OMPI environment variables for openmpi v5 by @francesco-ballarin in #638
- Simplify CI yaml by @garth-wells in #639
- Fix entrypoint syntax in pyproject by @jhale in #640
- Write the quadrature rule of quadrature elements into generated code by @mscroggs in #634
- Use custom_quadrature() not _points and _weights by @mscroggs in #641
- Fix workflow by @chrisrichardson in #635
- [Sum Factorization - 1] Transition to 1D basis evaluation matrices for hexes and quads by @IgorBaratta in #642
- Update names of fields in basix.ufl by @mscroggs in #644
- Remove deprecated functions by @mscroggs in #643
- Improve FFI support for calling C functions from Python/Numba by @jhale in #646
- Remove
logging.basicConfig()call infcx/__init__.pyby @garth-wells in #648 - Use NumPy strings for scalar type by @garth-wells in #647
- Reset dolfinx branch (Integration test) by @IgorBaratta in #649
- Pass visualise through compile interfaces. by @jorgensd in #632
- Avoid nesting conditions and statements with many operands by @IgorBaratta in #651
- Move optimizations to a new module, and add Section and annotations by @IgorBaratta in #645
- Fix iowrapper warning by @jorgensd in #654
- Drop
[email protected]in favor of[email protected]by @francesco-ballarin in #655 - Test demos with different scalar types by @IgorBaratta in #657
- Remove
num_entity_dofsby @chrisrichardson in #659 - Bump actions/{download-artifact,upload-artifact} to v4 by @francesco-ballarin in #661
- Remove test_elements.py by @mscroggs in #662
- Add Python 3.12 coverage to CI by @garth-wells in #663
- Update tensor product interface by @mscroggs in #664
- null pointer for kernels that are not defined by @mscroggs in #668
- Fix number of constants. by @jorgensd in #665
- Add missing docstrings, remove pydocstyle skips by @mscroggs in #667
- Black formatting and ruff linting by @garth-wells in #669
- Add default libm library by @michalhabera in #670
- Remove information about physical cells from elements by @mscroggs in #653
- Test
numba_ufcx_kernel_signatureby @IgorBaratta in #671 - Expressions on facets by @jorgensd in #672
- Fix a bug in Section equality check. by @jorgensd in #674
- Add type-hints to
naming.pyby @jorgensd in #677 - Adding more type hints and remove options when not used by @jorgensd in #678
- Remove unused/unnecessary items from
IntegralIRby @jorgensd in #679 - Optimize partitions by @jorgensd in #683
New Contributors
- @conpierce8 made their first contribution in #627
- @fazledyn-or made their first contribution in #636
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- Raise on invalid function name by @michalhabera in #539
- Tweak root logging handlers by @michalhabera in #554
- Bump dev versions by @garth-wells in #555
- Fix ufl version in setup files by @garth-wells in #558
- Remove import of private basix definitions by @garth-wells in #559
- Use simplified basix interface by @chrisrichardson in #560
- Interface fixes by @chrisrichardson in #561
- Fix interval integrals with vertex rules by @jorgensd in #562
- Add quads and hexes for vertex scheme by @jorgensd in #564
- Rename basix.ufl_wrapper -> basix.ufl by @mscroggs in #563
- Remove
pkg_resourcesand remove Python 3.7 support by @jorgensd in #568 - Support facet integrals with vertex scheme by @jorgensd in #566
- Remove use of derivative_listing_to_counts by @mscroggs in #570
- Fix mypy by @mscroggs in #572
- Argument in test should be
np.arrayby @chrisrichardson in #574 - Resolve double derivatives for manifolds by @jorgensd in #576
- Remove warning on number of quadrature points by @garth-wells in #577
- Use
num_sub_entities(...)(new function in UFL) by @mscroggs in #571 - Remove xfail from demo by @mscroggs in #580
- Replace deprecated np.product function by np.prod by @RemDelaporteMathurin in #582
- Fix bug that led to Quadrature Elements not being blocked. by @jhale in #583
- Add flattened entity dofs to ufcx by @chrisrichardson in #586
- Work on removing switch/case from integrals/ids by @chrisrichardson in #587
- Update Basix quadrature interface by @mscroggs in #584
- Minor fix by @chrisrichardson in #588
- Remove switch/case from generated code by @chrisrichardson in #591
- Move templates for static C code to the "C" folder by @chrisrichardson in #593
- Rename CNodes as LNodes, add typing, process AST separately from creating it. by @chrisrichardson in #594
- Fix issue #594 by @chrisrichardson in #600
- Run DOLFINx demos when PR is opened by @mscroggs in #601
- Fix #602 by @mscroggs in #604
- Remove unused stuff by @chrisrichardson in #603
- Move QuadratureElement and RealElement implementations to Basix by @mscroggs in #592
- Add c file template by @chrisrichardson in #606
- Remove precision option by @chrisrichardson in #609
- Remove generated kernel duplication by @jorgensd in #589
- Add
MultiIndexto LNodes and removeFlattenedArrayby @chrisrichardson in #610 - Stop using deprecated UFL initialisation by @mscroggs in #612
- Fix DOLFINx cmake in CI by @garth-wells in #613
- Use ArrayAccess for entity_local_index by @chrisrichardson in #615
- Mutability fix in unit test by @garth-wells in #616
- Add test to LNodes and reuse more Symbols by @chrisrichardson in #617
- Don't use
rank=in Basix elements by @mscroggs in #618
New Contributors
- @RemDelaporteMathurin made their first contribution in #582
Full Changelog: v0.6.0...v0.7.0
v0.6.0
What's Changed
- Updates to 0.5.1.dev0 by @chrisrichardson in #523
- Update ufcx by @chrisrichardson in #525
- Add sobolev spaces to ufl wrapper by @mscroggs in #524
- Fix various typos by @luzpaz in #526
- Adds Real Space by @jhale in #509
- Use Basix element functionality over UFL by @mscroggs in #515
- Add Python's CFLAGS, SOABI to cache key by @minrk in #527
- Fix long_description after README changed from rst to md by @jhale in #529
- replace 'parameters' with 'options' by @SarahRo in #518
- Revert CI changes by @jhale in #531
- Fix expression signature for expressions with ufl domain from constant by @jorgensd in #532
- Add mixed precision support for expression by @jhale in #514
- Add isort to FFCx by @jhale in #533
- Add Sobolev spaces to custom element by @mscroggs in #530
- Allow
QuadratureElementwith custom quadrature rule by @mscroggs in #520 - Make mypy configuration explicit and include long term goal. by @jhale in #536
- Don't change the UFL form by @mscroggs in #538
- Only warn for higher degree meshes by @mscroggs in #541
- Wrong test directory name in
pyproject.tomlby @sanguinariojoe in #540 - Bump version number due to breaking API changes in UFCx header. by @jhale in #542
- Bump actions and increase testing of python versions by @jorgensd in #543
- Fix mypy checks (typing.Optional) by @mscroggs in #545
- Fix flake8 error due to version bump by @jorgensd in #548
- Bump CMake to 3.19 by @jorgensd in #535
- Updates for deprecation of a UFL function by @jorgensd in #549
New Contributors
- @luzpaz made their first contribution in #526
- @sanguinariojoe made their first contribution in #540
Full Changelog: v0.5.0.post0...v0.6.0
v0.5.0.post0
This post-release fixes an error in the setup.cfg file that affected wheel uploads to pypi.org
The core FFCx library is unaffected and users can use v0.5.0 or v0.5.0.post0 tags interchangeably.
Full Changelog: v0.5.0...v0.5.0.post0
v0.5.0
What's Changed
- Fix wheel pypi push by @jhale in #486
- Bump version to 0.4.3.dev0 by @jhale in #487
- Write ndofs into generated code for custom elements by @mscroggs in #488
- Support specification of DOLFINx, FFCx and UFL branches/tags in Actions CI by @garth-wells in #490
- Revert constraint on setuptools version by @garth-wells in #491
- include cmake files in source distributions by @minrk in #489
- Editable installs with --user has been fixed with pip.version>=21.3.0 by @jorgensd in #493
- Update Basix interpolation matrix shapes by @mscroggs in #494
- setuptools is required at runtime by @minrk in #495
- Allow
ufl.real/imag/conjon vectors and tensors by @jorgensd in #496 - Update docs - fix #497 by @IgorBaratta in #498
- Start typing FFCx by @jorgensd in #500
- Do not unroll loops for jacobian computation by @IgorBaratta in #504
- Use float type that matches scalar type by @garth-wells in #502
- Reset dolfinx branch for CI by @garth-wells in #506
- Use a single code path for Jacobian and Spatial Coordinates by @IgorBaratta in #505
- Allow more integer types for
subdomain_idby @SarahRo in #492 - Simplify element creation by @mscroggs in #503
- Fix symmetric tensors by @mscroggs in #507
- Use Basix-wrapped element everywhere by @mscroggs in #511
- Change DOLFINx integration test image by @jhale in #513
- assert() -> assert by @mscroggs in #519
- Support EnrichedElement by @mscroggs in #512
- Python 3.7 by @mscroggs in #521
New Contributors
Full Changelog: v0.4.2...v0.5.0
v0.4.2
Full Changelog: 0.4.1.post0...v0.4.2