Skip to content

v0.5.1

Compare
Choose a tag to compare
@jsnel jsnel released this 31 Dec 22:30
· 262 commits to main since this release
96b4263

pyglotaran 0.5.1 Release Notes

Code name: "What You Leave Behind" part deux - exit 2021

This is a minor patch release that fixes two minor bugs found in v0.5.0, detailed below.
For completeness sake the changes for the v0.5.0 release are also listed.

The v0.5.0 release brought some exciting new features, whilst ensuring backwards compatibility (your old models still work) and validation against a large set of examples.

The introduction of dataset groups (#851) and megacomplex models (#736) bring us a lot closer to the dream of building large sophisticated models out of smaller simpler building blocks. Right, much like those colorful bricks we all loved playing with as a child.

0.5.1 (2021-12-31)

🩹 Bug fixes

  • 🩹 Bugfix Use normalized initial_concentrations in result creation for decay megacomplex (#927)
  • 🩹 Fix save_result crashes on Windows if input data are on a different drive than result (#931)

🚧 Maintenance

  • 🚧 Forward port Improve result comparison workflow and v0.4 changelog (#938)
  • 🚧 Forward port of test_result_consistency (#936)

0.5.0 (2021-12-01)

✨ Features

  • ✨ Feature: Megacomplex Models (#736)
  • ✨ Feature: Full Models (#747)
  • ✨ Damped Oscillation Megacomplex (a.k.a. DOAS) (#764)
  • ✨ Add Dataset Groups (#851)
  • ✨ Performance improvements (in some cases up to 5x) (#740)

👌 Minor Improvements:

  • 👌 Add dimensions to megacomplex and dataset_descriptor (#702)
  • 👌 Improve ordering in k_matrix involved_compartments function (#788)
  • 👌 Improvements to application of clp_penalties (equal area) (#801)
  • ♻️ Refactor model.from_dict to parse megacomplex_type from dict and add simple_generator for testing (#807)
  • ♻️ Refactor model spec (#836)
  • ♻️ Refactor Result Saving (#841)
  • ✨ Use ruaml.yaml parser for roundtrip support (#893)
  • ♻️ Refactor Result and Scheme loading/initializing from files (#903)
  • ♻️ Several refactoring in glotaran.Parameter (#910)
  • 👌 Improved Reporting of Parameters (#910, #914, #918)
  • 👌 Scheme now excepts paths to model, parameter and data file without initializing them first (#912)

🩹 Bug fixes

  • 🩹 Fix/cli0.5 (#765)
  • 🩹 Fix compartment ordering randomization due to use of set (#799)
  • 🩹 Fix check_deprecations not showing deprecation warnings (#775)
  • 🩹 Fix and re-enable IRF Dispersion Test (#786)
  • 🩹 Fix coherent artifact crash for index dependent models #808
  • 🩹 False positive model validation fail when combining multiple default megacomplexes (#797)
  • 🩹 Fix ParameterGroup repr when created with 'from_list' (#827)
  • 🩹 Fix for DOAS with reversed oscillations (negative rates) (#839)
  • 🩹 Fix parameter expression parsing (#843)
  • 🩹 Use a context manager when opening a nc dataset (#848)
  • 🚧 Disallow xarray versions breaking plotting in integration tests (#900)
  • 🩹 Fix 'dataset_groups' not shown in model markdown (#906)

📚 Documentation

  • 📚 Moved API documentation from User to Developer Docs (#776)
  • 📚 Add docs for the CLI (#784)
  • 📚 Fix deprecation in model used in quickstart notebook (#834)

🗑️ Deprecations (due in 0.7.0)

  • glotaran.model.Model.model_dimension -> glotaran.project.Scheme.model_dimension
  • glotaran.model.Model.global_dimension -> glotaran.project.Scheme.global_dimension
  • <model_file>.type.kinetic-spectrum -> <model_file>.default_megacomplex.decay
  • <model_file>.type.spectral-model -> <model_file>.default_megacomplex.spectral
  • <model_file>.spectral_relations -> <model_file>.clp_relations
  • <model_file>.spectral_relations.compartment -> <model_file>.clp_relations.source
  • <model_file>.spectral_constraints -> <model_file>.clp_constraints
  • <model_file>.spectral_constraints.compartment -> <model_file>.clp_constraints.target
  • <model_file>.equal_area_penalties -> <model_file>.clp_area_penalties
  • <model_file>.irf.center_dispersion -> <model_file>.irf.center_dispersion_coefficients
  • <model_file>.irf.width_dispersion -> <model_file>.irf.width_dispersion_coefficients
  • glotaran.project.Scheme(..., non_negative_least_squares=...) -> <model_file>dataset_groups.default.residual_function
  • glotaran.project.Scheme(..., group=...) -> <model_file>dataset_groups.default.link_clp
  • glotaran.project.Scheme(..., group_tolerance=...) -> glotaran.project.Scheme(..., clp_link_tolerance=...)
  • <scheme_file>.maximum-number-function-evaluations -> <scheme_file>.maximum_number_function_evaluations
  • <model_file>.non-negative-least-squares: true -> <model_file>dataset_groups.default.residual_function: non_negative_least_squares
  • <model_file>.non-negative-least-squares: false -> <model_file>dataset_groups.default.residual_function: variable_projection
  • glotaran.parameter.ParameterGroup.to_csv(file_name=parameters.csv) -> glotaran.io.save_parameters(parameters, 'file_name=parameters.csv)

🚧 Maintenance

  • 🩹 Fix Performance Regressions (between version) (#740)
  • 🧪🚇 Add integration test result validation (#754)
  • 🔧 Add more QA tools for parts of glotaran (#739)
  • 🔧 Fix interrogate usage (#781)
  • 🚇 Speedup PR benchmark (#785)
  • 🚇🩹 Use pinned versions of dependencies to run integration CI tests (#892)
  • 🧹 Move megacomplex integration tests from root level to megacomplexes (#894)
  • 🩹 Fix artifact download in pr_benchmark_reaction workflow (#907)