Release notes#

This document contains the release notes for the PyDyna project.

0.10.0 - January 27, 2026#

Add test coveragemarkers to pyproject.toml

#847

Replace assert statements with explicit error handling

#860

Plate thickness optimization example

#868

Enable contact card options

#873

Enhance facet extraction functions to return element_ids and pa…

#882

Add coverage

#909

Add ``CASE`` command line argument

#917

Dataframe typehints

#921

Section shell card sets

#964

Add AGENTS.md and define_table linking

#968

Improve discoverability of renamed properties

#1021

Add Pythonic keyword lookup API for Deck

#1022

Implement validation

#1031

Add global keyword validator

#1033

Add CSV (comma-delimited) format support for keyword I/O

#1034

Migrate to ``ruff``

#1036

Begin implementation of link handing for DEFINE_CURVE

#1045

Expand scope of links

#1049

Part links

#1050

Add more link types

#1060

Element links

#1061

Set and part links

#1062

Add Deck.get_set_by_id() and extend get_kwds_by_full_type()

#1066

Improve subprocess

#859

Update actions with vulnerability check

#861

Add security.md file

#862

Executables handling and add mock test

#869

Optimization plotting

#887

Add table-card generation option to CONSTRAINED_RIGID_BODIES (#913)

#914

Add ``dependabot`` cooldown and fix dependencies

#923

Code generation for element shell beta

#929

Card conditions for *CONTROL_IMPLICIT_EIGENVALUE

#941

Expand with parameters

#945

Allow out-of-bound insertions

#960

Code coverage

#965

Handle parameters with PARAMETER_LOCAL inside of includes

#979

Parameter substitution for all card types

#983

Implement expression parsing for PARAMETER_EXPRESSION

#984

Update pandas 2.3+

#988

Update the `license` year

#1006

Mat295 with multiple fiber families

#1012

Correctly handle nplane*nthick

#1013

Add LARGE format support for INITIAL_STRESS_SHELL/INITIAL_STRAIN_SHELL

#1018

Run plotting test and optimize implementations

#1027

Rigidwall ID_TITLE card issue

#1029

Jupyter for plotting

#1030

Use TableCardGroup for mat 23

#1035

Optimize card set load

#1037

Respect kwargs when not using LSPP defaults

#1040

Codegen enhacements for ALE_STRUCTURED_MESH_CONTROL_POINTS and aliases

#1041

Handle *CONTROL_SHELL cascading cards structure

#1042

Kwargs-initialized cascading card

#1043

CONTROL_TIME_STEP and some DATABASE_BINARY keywords

#1044

CONTROL_TIMESTEP

#1046

Skipped plotting test and solid element parsing

#1054

Retain parameters

#1055

Warnings from keywords tests

#1056

Params on conditional cards

#1068

Keywords cache and ubuntu machine

#1074

``autoapi``build

#1076

Update CONTRIBUTORS.md with the latest contributors

#876, #885

Update html_context with PyAnsys tags

#893

Update contributing to ref PyDYNA

#967

Docs: optimize doc build

#976

Update ``CONTRIBUTORS.md`` with the latest contributors

#992

Complete codegen testing coverage

#1026

Bump the doc group with 2 updates

#935

Bump matplotlib from 3.10.6 to 3.10.7

#936

Bump the actions group across 1 directory with 2 updates

#942

Bump pyvista from 0.46.3 to 0.46.4

#946

Bump ipywidgets from 8.1.7 to 8.1.8

#948

Bump pytest from 8.4.2 to 9.0.0 in the tests group

#952

Bump pypandoc from 1.15 to 1.16

#953

Build: bump pypandoc from 1.16 to 1.16.2

#955

Bump ansys/actions from 10.2.0 to 10.2.2 in the actions group

#977

Bump pytest from 9.0.1 to 9.0.2 in the tests group

#993

Bump the doc group across 1 directory with 6 updates

#996

Bump matplotlib from 3.10.7 to 3.10.8

#997

Bump joblib from 1.5.2 to 1.5.3

#998

Bump jupyterlab from 4.5.0 to 4.5.1 in the doc group

#1001

Bump ipython from 8.37.0 to 8.38.0 in the doc group

#1038

Bump jsonschema from 4.25.1 to 4.26.0

#1048

Bump jupyterlab from 4.5.1 to 4.5.2 in the doc group

#1063

Bump pyvista from 0.46.4 to 0.46.5

#1070

Bump pandas from 2.3.0 to 2.3.1

#857

Update changelog for v0.9.0

#858

Bump the doc group with 2 updates

#864, #884, #908, #918

Bump pyvista from 0.45.2 to 0.45.3

#865

Bump scikit-learn from 1.7.0 to 1.7.1

#866

Bump ansys/actions from 10.0.12 to 10.0.13

#867

Bump matplotlib from 3.10.3 to 3.10.5

#872

Add trusted publishers for release

#875

Pre-commit automatic update

#877, #883, #905, #912, #926, #932, #937, #943, #954, #961, #986, #994, #1000, #1039, #1064, #1071

Bump ansys/actions from 10.0.13 to 10.0.14

#878

Bump pyvista from 0.45.3 to 0.46.1

#880

Bump actions/checkout from 4 to 5

#881

Add labels for sub packages

#886

Bump requests from 2.32.4 to 2.32.5

#888

Bump actions/download-artifact from 4.3.0 to 5.0.0

#889

Bump pandas from 2.3.1 to 2.3.2

#890

Bump pyvista from 0.46.1 to 0.46.2

#891

Bump ansys/actions from 10.0.14 to 10.0.15

#894

Bump matplotlib from 3.10.5 to 3.10.6

#896

Bump joblib from 1.5.1 to 1.5.2

#897

Bump pyvista from 0.46.2 to 0.46.3

#898

Bump the doc group across 1 directory with 3 updates

#899

Bump pytest from 8.4.1 to 8.4.2

#900

Bump pytest-cov from 6.2.1 to 6.3.0

#901

Bump actions/labeler from 5.0.0 to 6.0.1

#902

Bump ansys/actions from 10.0.15 to 10.0.20

#903

Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0

#904

Bump scikit-learn from 1.7.1 to 1.7.2

#906

Bump ansys/actions from 10.0.20 to 10.1.0

#907

Bump ansys/actions from 10.1.0 to 10.1.1

#911

Bump ansys/actions from 10.1.1 to 10.1.3

#919

Add ``zizmor`` actions check

#922

Bump ansys/actions from 10.1.3 to 10.1.4

#924

Bump pandas from 2.3.2 to 2.3.3

#925

Ci: publish docker only on release

#950

Update missing or outdated files

#959

Cleanup doc build

#966

Chore: Add maintenance tools to codegen

#975

Doc build optimization plan

#981

Add agent doc for codegen project

#982

Update CHANGELOG for v0.9.1

#1004

Add codegen test cases and improve coverage

#1014

Optimize the ``ci/cd``

#1017

Refactor markdown files to optimize agent context window

#1051

Deprecation warning for pre and solver module

#1052

Add code search policy to agents.md

#1058

Rework codegen

#969

Refactor: Rework codegen 2

#970

Refactor: Rework codegen 3

#971

Refactor: Add logging to codegen

#972

Refactor: Rework codegen 5

#973

Refactor: Rework codegen 6

#974

Change Codegen

#987

Improve codegen

#1007

Complete rename duplicate->table

#1019

Labeled codegen

#1023

Codegen todo

#1024

Codegen refactor complete

#1028

0.9.1 - December 31, 2025#

Migrating to ``ansys-tools-common``

#951

0.9.0 - July 15, 2025#

general updates

#792

add windows exe parameter to run dyna

#801

build docs in python 3.13

#814

add run and keyword markers to composite action and matrix for keyword test

#819

add autosummary using jinja to all auto keywords files

#820

add options to activate with setter

#846

feat: add license header

#787

add changelog fragments in PRs

#793

change example data url

#796

hide some implementation from run package and migrate to theme autoapi

#797

add additional doc strings to auto keyword ‘jinja’ template

#803

The nan comparison in series card test

#804

run module subprocess exit properly on failing

#826

check the working directory path before run subprocess

#831

badge

#840

chore: bump numpy from 2.2.3 to 2.2.4

#770

chore: bump pytest-cov from 6.0.0 to 6.1.1

#780

chore: bump ipywidgets from 8.1.5 to 8.1.6

#784

docs: revert beer can buckling example

#790

add keywords to autoapi docs

#800

improve getting started documentation

#802

Add deep wiki badge

#854

chore: bump ansys/actions from 8 to 9

#785

chore: bump numpy from 2.2.4 to 2.2.5

#789

bump pyvista from 0.44.2 to 0.45.0

#788

bump the doc group across 1 directory with 3 updates

#798, #812

bump ansys/actions from 9.0.2 to 9.0.6

#799

bump ipywidgets from 8.1.6 to 8.1.7

#806

bump joblib from 1.4.2 to 1.5.0

#808

bump ansys/actions from 9.0.6 to 9.0.7

#809

bump ansys/actions from 9.0.7 to 9.0.15

#810

bump pyvista from 0.45.0 to 0.45.1

#811

bump matplotlib from 3.10.1 to 3.10.3

#813

bump pyvista from 0.45.1 to 0.45.2

#815

bump numpy from 2.2.5 to 2.2.6

#817

bump actions/setup-python from 5.5.0 to 5.6.0

#818

bump joblib from 1.5.0 to 1.5.1

#822

bump ansys/actions from 9.0.9 to 9.0.12

#823

bump ansys/actions from 9.0.12 to 9.0.13

#828

bump pytest-xdist from 3.6.1 to 3.7.0

#829

bump pandas from 2.2.3 to 2.3.0

#834

bump scikit-learn from 1.6.1 to 1.7.0

#836

bump pytest-cov from 6.1.1 to 6.2.1

#837

bump pytest from 8.3.5 to 8.4.1

#838

pre-commit automatic update

#839

Bump ansys/actions from 9.0.13 to 10.0.12

#844

bump the doc group across 1 directory with 5 updates

#845

Bump the doc group with 2 updates

#849

Bump pytest-xdist from 3.7.0 to 3.8.0

#850

Pre-commit automatic update

#851

[pre-commit.ci] pre-commit autoupdate

#773

chore: update CHANGELOG for v0.8.0

#775

build: bump dev version after 0.8.0 release

#776

docs: Update CONTRIBUTORS.md with the latest contributors

#779

fix: Fix define table keyword

#782

test: add test case for icfd_part

#783

0.8.0 - April 02, 2025#

chore: bump pytest from 8.3.4 to 8.3.5

#763

chore: update version

#748

chore: bump matplotlib from 3.10.0 to 3.10.1

#762

chore: [pre-commit.ci] pre-commit autoupdate

#764

[pre-commit.ci] pre-commit autoupdate

#766

fix: handle initial_temperature_node/set correct with table-card

#754

fix: part set list generate gap

#760

feat: remove pyvista hard dependency

#774

chore: update CHANGELOG for v0.7.1

#746

fix: encrypted deck in expand

#751

fix: try to detect encoding when expanding decks

#753

fix pass **args to plotter object

#755

fix: try utf-8 before attempt encoding detection

#756

fix: issue reading series card with trailing whitespace

#759

feat: add include name property to keyword

#768

fix: remove print statement from test_initial_temperature

#757

0.7.1 - 2025-02-25#

Added#

  • feat: Add .remove method to deck class (#681) #682

  • fix: BOUNDARY_PRESCRIBED_MOTION_*_ID option and CONTROL_MPP_DECOMPOSITION_TRANSFORMATION (Issue #696) #701

  • fix: Mat 196 (#707) #708

Dependencies#

  • build(deps): bump numpy from 2.1.3 to 2.2.2 #670

Documentation#

  • build(deps): bump pyvista from 0.44.1 to 0.44.2 #651

  • build(deps): bump jupyterlab from 4.3.1 to 4.3.4 #652

  • build(deps): bump nbsphinx from 0.9.5 to 0.9.6 #655

  • build(deps): bump ansys-sphinx-theme from 1.2.2 to 1.2.6 #665

  • [pre-commit.ci] pre-commit autoupdate #666

  • fix: Options api rework #671

  • build(deps): bump ipython from 8.29.0 to 8.31.0 #673

  • build(deps): bump imageio from 2.36.1 to 2.37.0 #674

  • build(deps): bump scikit-learn from 1.6.0 to 1.6.1 #675

  • build(deps): bump sphinx-autodoc-typehints from 2.5.0 to 3.0.1 #676

  • build(deps): bump pypandoc from 1.14 to 1.15 #677

  • chore: [pre-commit.ci] pre-commit autoupdate #678, #743

  • build(deps): bump imageio-ffmpeg from 0.5.1 to 0.6.0 #694

  • fix: Support multiline include #699

  • fix: SET_PART_LIST_GENERATE #702

  • Rename variable card #703

  • chore: add dependabot groups #704

  • chore: bump the doc group with 5 updates #705

  • fix: Assign series card property #706

  • feat: Assign fields for duplicate cards in constructor #716

  • chore: bump numpy from 2.2.2 to 2.2.3 #722

  • chore: pre-commit autoupdate #724

  • chore: bump the doc group across 1 directory with 2 updates #727

  • fix: Read parameters #728

  • fix: add test scenario for bug 584 #729

  • fix: Rework defaults #730

  • chore: bump the doc group with 3 updates #741

  • fix: Contact mpp fix #744

  • feat: add api to get keyword names #745

Fixed#

  • fix: Fix BOUNDARY_PRESCRIBED_MOTION and CONSTRAINED_BEAM_IN_SOLID #668

  • fix: *CONSTRAINED_ADAPTIVITY (#650) #683

  • fix: deck.get() in the presence of Encrypted keywords #720

  • fix: mat295 iso #725

Miscellaneous#

  • chore: update CHANGELOG for v0.7.0 #661

  • Release/0.7 #662

  • support single path in *INCLUDE_PATH in the expand method #697

  • feat: Start to handle *INCLUDE_TRANSFORM in Deck.expand() #709

  • feat: Import encrypted file #712

  • fix: Allow setting option fields to None #713

  • ci: use main version of the action for doc-style #715

  • add active func to codegen for duplicate card group #718

  • Default duplicate card #731

  • fix: Rename cards #732

  • fix: Contact options #733

  • Refactor codegen #734

  • Fix issues #742

Test#

  • feat: get by subkeyword and add transform links #735

  • feat: begin to handle *DEFINE_TRANSFORMATION when expanding include decks #740

0.7.0 - 2025-01-10#

Added#

  • fix: CONTROL_TIMESTEP and CONTROL_TIME_STEP (#629) #631

Dependencies#

  • build(deps): bump ansys-sphinx-theme from 1.2.1 to 1.2.2 #630

  • build(deps): bump matplotlib from 3.9.2 to 3.10.0 #640

  • build(deps): bump scikit-learn from 1.5.2 to 1.6.0 #642

Documentation#

  • chore: update CHANGELOG for v0.6.1 #627

  • fix: update launcher,add argument to define ansys version #632

  • build(deps): bump pytest from 8.3.3 to 8.3.4 #633

  • build(deps): bump sphinx-autoapi from 3.3.3 to 3.4.0 #635

  • build(deps): bump imageio from 2.36.0 to 2.36.1 #636

  • build(deps): bump ansys-api-dyna from 0.4.1 to 0.4.2 #637

  • [pre-commit.ci] pre-commit autoupdate #638

  • add parameter set to lib #644

  • feat: support 3.13 #645

Fixed#

  • fix: reading *CONTROL_DEBUG #643

  • fix run_dyna #658

Miscellaneous#

  • fix: warn out of bounds characters when reading lines #647

  • test: add test for deepcopy #648

  • feat: Option to disable LSPP defaults #649

0.6.1 - 2024-11-22#

Documentation#

  • build(deps): bump jupyterlab from 4.3.0 to 4.3.1 #618

  • build(deps): bump ansys-sphinx-theme from 1.2.0 to 1.2.1 #619

  • build: allow Numpy 1.X #626

Miscellaneous#

  • chore: update CHANGELOG for v0.6.0 #625

0.6.0 - 2024-11-20#

Added#

  • feat: changelog actions #613

Miscellaneous#

  • fix: make pr-check-title independent #624