Skip to content

Release 0.2.5 #255

Closed
gubaidulinvadim wants to merge 1 commit into
mainfrom
release_0.2.5
Closed

Release 0.2.5 #255
gubaidulinvadim wants to merge 1 commit into
mainfrom
release_0.2.5

Conversation

@gubaidulinvadim
Copy link
Copy Markdown
Contributor

New Features

  • ConfigurationManager — explicit multi-step build flow for accelerator configuration; supports REST as a config source
  • YellowPages — standardised element name mapping/discovery with query support
  • UnboundElement — validation and support for unbound element configuration
  • CfgDict — allows plain dicts in config (pydantic-compatible)
  • MeasurementTool / TuningTool base classes — unified interface for tuning/measurement
  • TuneResponseMatrix / ChromaticityResponseMatrix — new RM tools for tune and chromaticity
  • RF orbit correction — RF frequency as a correction variable in orbit tools
  • Wildcards & regex in YAML array definitions (~ for exclusion); also Python-based macros via elements_code
  • ATuneMonitor diagnostics class
  • Shared Tango attribute state in dummy control system
  • Automatic versioning (version from build)
  • OphydDevice example added

Bug Fixes

  • LinearSerializedMagnetModel: fixed 4 AttributeError bugs (wrong field names / misplaced attribute access)
  • Serialised magnets: fixed sub-magnet list, strength computation (returns per-magnet + sum)
  • Private peer access cleaned up to use public property
  • Factory error reporting fixed (with line numbers)
  • Chromaticity tool fixes
  • ignore_external flag fix
  • YAML list expansion fix
  • UnboundElement config validation
  • Discrepancies between tuning and measurement tools
  • Averaging bug fix in bc3aa8d

Refactoring / Cleanup

  • ResponseMatrix renamed to ResponseMatrixData; OrbitResponseMatrixData added
  • Renamed input_/output_ → variable_/observable_ (AT naming convention)
  • Unified orbit/tune response matrix architecture
  • Removed factory custom strategy
  • get_peer() renamed to get_peer_name() for clarity
  • Peer added to ElementHolder
  • Ruff line limit raised to 127; reformatted codebase
  • ElementHolder discovery methods are made protected

Examples & Docs

  • SOLEIL: split config into devices.yaml, arrays.yaml, tuning_tools.yaml; added orbit correction notebook
  • BESSY2: updated to new API
  • ESRF: added dispersion correction and weight-scan examples
  • CONTRIBUTING.md updated for release workflow

@gubaidulinvadim
Copy link
Copy Markdown
Contributor Author

Could someone review this? @TeresiaOlsson @kparasch @GamelinAl It's just a changelog to make a new release. JLP create a 0.2.5 tag but I don't think it was actually released. There's no release on GitHub and I quickly checked that pip install 0.1.1 version (which is very wrong)

@TeresiaOlsson
Copy link
Copy Markdown
Contributor

There is a release of version 0.2.5 on PyPi from 4 May: https://pypi.org/project/accelerator-middle-layer/

As far as I know our Github workflows don't make release notes or releases on Github. They only build and publish the package to PyPi. I think that is an issue and should be fixed. A proper release workflow should make a release on Github first and then publish to PyPi. In issue #210 I had to make the release on Github manually.

So perhaps you can add the missing part in the workflow as part of this PR?

@TeresiaOlsson
Copy link
Copy Markdown
Contributor

I think it's also not a good solution to have a CHANGELOG.md file. It is better to have Github automatically generate the release notes or alternatively have the workflow make a draft and then add the changelog manually to the release notes. The changelog is then part of the release and not a file that needs to be kept in version control and manually updated every time a release is done.

@gubaidulinvadim gubaidulinvadim deleted the release_0.2.5 branch May 12, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants