Skip to content

Latest commit

 

History

History
91 lines (71 loc) · 3.91 KB

File metadata and controls

91 lines (71 loc) · 3.91 KB

Changelog

All notable changes to PyCFAST are documented in this file.

[0.2.2] - 2026-07-19

New features

  • Add Visualization component for Smokeview outputs (2-D/3-D slices, isosurfaces) (#129, #194)
  • Compartment: add grid parameter to control Smokeview slice-file resolution (#197)
  • Add CFAST 7.7.7 support (#163)

API changes

  • Device.location, Device.normal, Device.convection_coefficients and other sequence parameters across Compartment, Fire, CeilingFloorVent, MechanicalVent, WallVent now expect tuple instead of list (#198)

Fixes

  • CFASTModel: raise ValueError for models with zero compartments (#165, #166)
  • Fire: preserve multiple fire instances sharing a FIRE_ID (#136, #190)
  • Raise TypeError instead of ValueError for wrong parameter types across Compartment, Device, SurfaceConnection, and CFASTModel.save() (#199)

Other changes

  • Update Docker workflows for the hatch-vcs migration; version is now derived automatically from git tags (#200)
  • Documentation and dependency updates

[0.2.1] - 2026-05-18

New features

  • Compartment: support multiple materials for wall, floor and ceiling (#132)
  • Add CFAST 7.7.6 support (#128)
  • Add validation suite (#135)

Fixes

  • Device: allow zero value for spray_density (#131)
  • CFASTModel.save(): restore _written_content when using alternate file_name (#120)

Other changes

  • Add JOSS paper and bibliography (#141, #142)

[0.2.0] - 2026-04-27

First Beta release.

New features

  • Fire: support dict format for data_table with named columns (#94)
  • CFASTModel.add(): now accepts any component type, replacing specific add_*() methods (#112)

API changes

  • Material: thickness, conductivity, density, specific_heat are now required
  • Device: setpoint and rti required for HEAT_DETECTOR/SPRINKLER; spray_density required for SPRINKLER
  • Fire: set_point required when ignition_criterion is set
  • CFASTModel: removed dict-like access (model['compartments']); use model.compartments directly

Fixes

  • CFASTModel.run(): CFAST executable resolution raises FileNotFoundError with a clear message for each failed path (explicit, $CFAST env var, PATH) (#111)
  • Enhanced validation across all components with stricter rules and clearer error messages (#109)
  • All components now validate on attribute assignment after initialization (#109)

Internal refactoring

  • Removed __repr_html__ and build_card HTML methods from CFASTModel (#96)
  • Doctests added for all public components; make test and make test-doctest now include them (#109)
  • Documentation and dependency updates

[0.1.4] - 2026-04-17

  • Implement base component class for all CFAST components (#85)
  • Add input validation for all components (#59)
  • Rename component classes from plural to singular (#83)
  • Replace logger with warnings for error handling (#88)
  • Use Path for handling file paths and remove deprecated parameters (#87)
  • Refactor CFASTModel methods to avoid repetition (#86)
  • Add Windows CI for latest CFAST commit (#76)
  • Update Python version to 3.14
  • Fix missing _validate() in __setitem__ for some components (#65)
  • Documentation and dependency updates

[0.1.3] - 2026-02-28

  • Remove CFAST binary distribution due to complexity (#34)
  • Add testing for multiple CFAST versions on Windows and Linux from version 7.7.0 to 7.7.5 (#33)
  • Refactor Dockerfile
  • Add CODE_OF_CONDUCT.md
  • Improve documentation and installation instructions (#35, #36)

[0.1.2] - 2026-02-25

  • Add wheels with CFAST precompiled binaries for Linux (#21)
  • Add bug report and feature request issue templates
  • Add CITATION.cff file with Zenodo DOI
  • Update documentation and example improvements
  • Improve CI/CD workflows (Windows testing, workflow dispatch)

[0.1.1] - 2026-02-19

  • Release made for Zenodo archived (10.5281/zenodo.18703351)

[0.1.0] - 2026-02-19

  • Initial release, compatible with CFAST 7.7.5