Releases: ImperialCollegeLondon/FROG
v2.1.0rc1
v2.1.0rc1 pre-release
This is a pre-release and so may include bugs. Don't use for data collection!
This release includes:
- Support for opening devices on a background thread (#682)
- Various small improvements to the stepper motor code
- Various small improvements to the GUI (#657, #680)
- Increase the Python version used to v3.13
- Version bumps of various dependencies
What's Changed
- Bump ruff from 0.4.2 to 0.6.2 by @dependabot in #637
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #605
- Fix some comparisons to appease ruff by @alexdewar in #643
- Bump python-statemachine from 2.1.2 to 2.3.6 by @dependabot in #642
- Bump pytest from 8.1.1 to 8.3.3 by @dependabot in #641
- Bump pyinstaller from 6.6.0 to 6.10.0 by @dependabot in #634
- Fix: CI: Install Poetry with pipx instead by @alexdewar in #652
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #646
- Bump mkdocs from 1.6.0 to 1.6.1 by @dependabot in #647
- Bump pyyaml from 6.0.1 to 6.0.2 by @dependabot in #648
- Bump frozendict from 2.4.4 to 2.4.6 by @dependabot in #649
- Bump ruff from 0.6.2 to 0.6.9 by @dependabot in #650
- Minor config file tweaks by @alexdewar in #654
- Upgrade
matplotlib
and fixmypy
errors by @alexdewar in #653 - Bump ruff from 0.6.9 to 0.7.0 by @dependabot in #663
- Tidy GitHub workflows by @alexdewar in #655
- Bump pyinstaller from 6.10.0 to 6.11.0 by @dependabot in #659
- Added 'PAUSED' to progress bar text when measurement script paused by @dc2917 in #657
- Bump numpy from 1.26.4 to 2.1.2 by @dependabot in #660
- Bump pydot from 2.0.0 to 3.0.2 by @dependabot in #662
- Bump mkdocstrings-python from 1.10.0 to 1.10.9 by @dependabot in #661
- Updates and fixes for tests by @alexdewar in #664
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #658
- Add functional test that all hardware set files are valid by @alexdewar in #670
- Bump mkdocstrings from 0.25.2 to 0.26.2 by @dependabot in #677
- Bump ruff from 0.7.0 to 0.7.1 by @dependabot in #675
- Bump pyside6 from 6.8.0.1 to 6.8.0.2 by @dependabot in #673
- Bump pre-commit from 3.8.0 to 4.0.1 by @dependabot in #674
- Bump mypy from 1.12.1 to 1.13.0 by @dependabot in #676
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #672
- Add version to hw sets and script files by @dalonsoa in #671
- 📝 Add user guide file to docs by @dalonsoa in #679
- Add dummy stepper motor delay in default configuration by @alexdewar in #681
- Bump numpy from 2.1.2 to 2.1.3 by @dependabot in #690
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #683
- Bump mkdocs-material from 9.5.42 to 9.5.43 by @dependabot in #689
- Bump pytest-cov from 5.0.0 to 6.0.0 by @dependabot in #687
- Bump mkdocstrings-python from 1.10.9 to 1.12.2 by @dependabot in #688
- Bump ruff from 0.7.1 to 0.7.2 by @dependabot in #686
- Tweaks to badges in README by @alexdewar in #693
- Update required Python version to 3.12 by @alexdewar in #694
- Allow device plugins to offer asynchronous opening by @alexdewar in #682
- Tests for the sensors panel by @dc2917 in #696
- Fix: Missing "version" property when writing measure script files by @alexdewar in #701
- Updates and fixes for the stepper motor controller by @alexdewar in #695
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #702
- Bump pyinstaller from 6.11.0 to 6.11.1 by @dependabot in #709
- Bump python-statemachine from 2.3.6 to 2.4.0 by @dependabot in #707
- Bump ruff from 0.7.2 to 0.7.3 by @dependabot in #708
- Bump crc from 7.0.0 to 7.1.0 by @dependabot in #706
- Bump mkdocs-material from 9.5.43 to 9.5.44 by @dependabot in #705
- Display mirror angle by @dc2917 in #680
- Add better project description to readme by @alexdewar in #710
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #711
- Bump ruff from 0.7.3 to 0.7.4 by @dependabot in #714
- Bump codecov/codecov-action from 4 to 5 by @dependabot in #712
- Bump mkdocstrings from 0.26.2 to 0.27.0 by @dependabot in #713
- Always notify motor move end by @dc2917 in #716
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #717
- Bump mkdocs-material from 9.5.44 to 9.5.46 by @dependabot in #719
- Bump ruff from 0.7.4 to 0.8.0 by @dependabot in #718
- Fix sorting of port names without terminating numbers by @alexdewar in #722
- ✅ Add test for roundtrip saving of scripts by @dalonsoa in #721
- Bump ruff from 0.8.0 to 0.8.1 by @dependabot in #724
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #723
- Bump pytest from 8.3.3 to 8.3.4 by @dependabot in #728
- Bump pydot from 3.0.2 to 3.0.3 by @dependabot in #726
- Bump mkdocs-material from 9.5.46 to 9.5.48 by @dependabot in #729
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #732
- Fix skipped test by @alexdewar in #733
- Pin
python-statemachine
to <2.4 by @alexdewar in #740 - Update PySide6 and fix warnings by @alexdewar in #738
- Reduce precision of temperatures written to CSV file by @alexdewar in #731
- Get mirror immediate position by @dc2917 in #743
- Allow for reading measure scripts generated with FINESSE v2.0.0 by @alexdewar in #742
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #744
- Bump ruff from 0.8.2 to 0.8.3 by @dependabot in #747
- Bump matplotlib from 3.9.3 to 3.10.0 by @dependabot in #745
- Bump mkdocs-material from 9.5.48 to 9.5.49 by @dependabot in #746
- Add async open support for various network-based devices by @alexdewar in #720
- Fix:
DummyStepperMotor
returnsNone
if moving by @alexdewar in #750 - Update to Python v3.13 by @alexdewar in https://github.com/ImperialCollegeLondon/FINESSE/pull/...
v2.0.0
New features:
- Add support for reading DECADES (aircraft) sensors
- Add support for reading time over NTP (needed for aircraft)
- Finish work on Seneca K107
- Add support for ABB's interferometer
Probably other things I've forgotten 🙃.
The reason for the major version bump is because the second engagement with the FINESSE/UNIRAS project is now complete and all features have (mostly) been implemented.
What's Changed
- Added Seneca device parameters by @CWestICL in #504
- Seneca out-of-range temperature detection by @CWestICL in #505
- Seneca K107 checksum function by @CWestICL in #429
- Refresh COM ports if device not found by @alexdewar in #472
- Amalgamate "stop" and "cancel" commands for spectrometers by @alexdewar in #487
- DECADES sensor queries over LAN by @jamesturner246 in #512
- Layout change - Data file view moved to left side by @CWestICL in #517
- Add plugin for time source devices by @jamesturner246 in #520
- Log menu by @CWestICL in #524
- Add an interface to FTSW500 by @dc2917 in #521
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #491
- Bump ruff from 0.1.7 to 0.3.2 by @dependabot in #532
- Bump codecov/codecov-action from 3 to 4 by @dependabot in #509
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #531
- Bump mkdocs-material from 9.5.2 to 9.5.17 by @dependabot in #537
- Bump pydot from 1.4.2 to 2.0.0 by @dependabot in #498
- Bump frozendict from 2.3.10 to 2.4.1 by @dependabot in #538
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #492
- Bump pytest-qt from 4.2.0 to 4.4.0 by @dependabot in #516
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #541
- Bump numpy from 1.26.2 to 1.26.4 by @dependabot in #542
- Bump matplotlib from 3.8.2 to 3.8.4 by @dependabot in #544
- Bump pytest from 7.4.3 to 8.1.1 by @dependabot in #543
- Bump beautifulsoup4 from 4.12.2 to 4.12.3 by @dependabot in #546
- Bump types-pyyaml from 6.0.12.12 to 6.0.12.20240311 by @dependabot in #545
- Tidy-up of
FTSW500Interface
code by @alexdewar in #548 - Data file UX improvements by @alexdewar in #549
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #551
- Bump platformdirs from 4.1.0 to 4.2.0 by @dependabot in #553
- Bump types-decorator from 5.1.8.4 to 5.1.8.20240310 by @dependabot in #556
- Bump pyinstaller from 6.3.0 to 6.6.0 by @dependabot in #552
- Bump mkdocstrings-python from 1.7.5 to 1.9.2 by @dependabot in #555
- Fix up pyproject.toml for new version of ruff by @alexdewar in #560
- Make spectrometers configurable by @alexdewar in #559
- Fix GUI inconsistencies when opening data file fails (again) by @alexdewar in #565
- Sync timestamps in data file by @jamesturner246 in #535
- Misc device fixes and tidy-ups by @alexdewar in #566
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #569
- Bump pytest-cov from 4.1.0 to 5.0.0 by @dependabot in #570
- Bump frozendict from 2.4.1 to 2.4.2 by @dependabot in #572
- Bump crc from 6.1.0 to 7.0.0 by @dependabot in #571
- Bump pytest-mock from 3.12.0 to 3.14.0 by @dependabot in #573
- Display requested DECADES parameters on the GUI by @dc2917 in #527
- Add
SensorsBase
class for generic interface and port EM27 sensor code to use it by @alexdewar in #568 - Fix OPUS request URLs by @alexdewar in #575
- Port DECADES backend to common sensors API by @alexdewar in #581
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #576
- Bump ruff from 0.3.2 to 0.4.2 by @dependabot in #577
- Bump mkdocs from 1.5.3 to 1.6.0 by @dependabot in #579
- Bump mkdocstrings-python from 1.9.2 to 1.10.0 by @dependabot in #580
- Bump mkdocstrings from 0.24.3 to 0.25.0 by @dependabot in #578
- Fix mypy error in test by @alexdewar in #596
- Bump mkdocs-section-index from 0.3.8 to 0.3.9 by @dependabot in #587
- Bump types-beautifulsoup4 from 4.12.0.7 to 4.12.0.20240511 by @dependabot in #590
- Bump mkdocs-material from 9.5.20 to 9.5.25 by @dependabot in #594
- Bump platformdirs from 4.2.0 to 4.2.2 by @dependabot in #593
- Bump pyside6 from 6.6.1 to 6.7.1 by @dependabot in #595
- CI updates by @alexdewar in #598
- Bump schema from 0.7.5 to 0.7.7 by @dependabot in #599
- Bump abatilo/actions-poetry from 2.3.0 to 3.0.0 by @dependabot in #503
- Bump pre-commit from 3.6.0 to 3.7.1 by @dependabot in #603
- Bump freezegun from 1.4.0 to 1.5.1 by @dependabot in #601
- Bump mkdocstrings from 0.25.0 to 0.25.1 by @dependabot in #602
- Bump frozendict from 2.4.2 to 2.4.4 by @dependabot in #600
- Release v2 of FINESSE by @alexdewar in #604
New Contributors
- @jamesturner246 made their first contribution in #512
Full Changelog: v1.3.0...v2.0.0
v1.3.0
🎄🎄 Festive Edition 🎄🎄
A number of bugs have been fixed since v1.2.0, in particular:
- Drop use of USB serial numbers by @alexdewar in #462
- Fix: Sort COM ports by @alexdewar in #468
- Fix: Move device error message code to HardwareSetsControl by @alexdewar in #470
Besides that, the main change is that OPUS devices (i.e. the EM27 spectrometer) are now managed as plugins, like other devices (#362, #485).
While this exact version of the code has not been tested on the real hardware, most of the changes introduced in this release have been.
What's Changed
- Make all imports absolute by @alexdewar in #404
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #406
- Bump black from 23.10.1 to 23.11.0 by @dependabot in #409
- Bump pyinstaller from 6.1.0 to 6.2.0 by @dependabot in #411
- Bump matplotlib from 3.8.0 to 3.8.1 by @dependabot in #410
- Fix type errors in
manage_devices.py
by @alexdewar in #418 - Bump types-beautifulsoup4 from 4.12.0.6 to 4.12.0.7 by @dependabot in #408
- Bump mkdocstrings-python from 1.7.3 to 1.7.4 by @dependabot in #407
- TemperatureSequence alias for temperature monitors by @CWestICL in #416
- Added help button which opens new window showing html docs by @dc2917 in #412
- Bump mkdocs-material from 9.4.8 to 9.4.10 by @dependabot in #422
- Bump numpy from 1.26.1 to 1.26.2 by @dependabot in #423
- Bump mkdocstrings from 0.23.0 to 0.24.0 by @dependabot in #425
- Bump matplotlib from 3.8.1 to 3.8.2 by @dependabot in #424
- Manual device management dialog by @alexdewar in #413
- Add support for typed device parameters by @alexdewar in #428
- Add developer documentation for hardware framework by @alexdewar in #379
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #438
- Bump mkdocs-material from 9.4.10 to 9.4.14 by @dependabot in #439
- Bump mkdocstrings-python from 1.7.4 to 1.7.5 by @dependabot in #441
- Bump frozendict from 2.3.8 to 2.3.9 by @dependabot in #442
- Bump platformdirs from 3.11.0 to 4.0.0 by @dependabot in #440
- Seneca Unit Tests by @CWestICL in #445
- Add support for importing hardware sets by @alexdewar in #431
- Add pull request template by @alexdewar in #449
- Add button to remove hardware sets by @alexdewar in #448
- Split combo box code out from
HardwareSetsControl
by @alexdewar in #447 - Bump frozendict from 2.3.9 to 2.3.10 by @dependabot in #455
- Bump platformdirs from 4.0.0 to 4.1.0 by @dependabot in #456
- Fix
_send_temperatures()
for Seneca device by @alexdewar in #454 - Fix stepper motor port for FINESSE by @alexdewar in #453
- Unify opus message types by @alexdewar in #450
- Clean up
Device
inheritance logic by @alexdewar in #452 - Add some more
pre-commit
hooks by @alexdewar in #466 - Automatically generate state machine diagrams for documentation by @alexdewar in #464
ScriptRunner
: Add proper transitions for cancelling from "waiting" states by @alexdewar in #465- Fix: Install graphviz for docs deployment by @alexdewar in #467
- Drop use of USB serial numbers by @alexdewar in #462
- Fix: Sort COM ports by @alexdewar in #468
- Fix: Move device error message code to HardwareSetsControl by @alexdewar in #470
- Fix: Use
closeEvent()
cf.hideEvent()
to identify when window closed by @alexdewar in #469 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #473
- Bump pre-commit from 3.5.0 to 3.6.0 by @dependabot in #474
- Bump actions/setup-python from 4 to 5 by @dependabot in #476
- Bump pyinstaller from 6.2.0 to 6.3.0 by @dependabot in #477
- Bump isort from 5.12.0 to 5.13.1 by @dependabot in #480
- Bump mkdocs-material from 9.4.14 to 9.5.2 by @dependabot in #475
- Bump pyside6 from 6.6.0 to 6.6.1 by @dependabot in #479
- Show fallback html page if user guide has not been generated by @dc2917 in #446
- Convert OPUS devices to plugins by @alexdewar in #451
- Rename spectrometer code by @alexdewar in #481
- Replace plethora of tools with
ruff
by @alexdewar in #483 - OPUS: Poll status on backend by @alexdewar in #482
- Simplify frontend spectrometer widgets by @alexdewar in #484
- Tidy GUI labels and code by @alexdewar in #486
- Add a generic
SpectrometerBase
class by @alexdewar in #485 - Release v1.3 by @alexdewar in #489
Full Changelog: v1.2.0...v1.3.0
v1.2.0
This release introduces many changes and fixes (see below for full list).
The main changes are:
- Move to a plugin system for hardware devices to make FINESSE more modular
- Allow for managing connections to devices in bulk, with separate configs for different hardware sets
- Add support for the Seneca K107USB temperature monitor
- Use persistent USB attributes to identify different USB serial adaptors, making them consistent independent of the platform and which port they're connected to
What's Changed
- Bump numpy from 1.25.1 to 1.26.0 by @dependabot in #326
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #331
- Bump types-beautifulsoup4 from 4.12.0.5 to 4.12.0.6 by @dependabot in #328
- Bump pre-commit from 3.3.3 to 3.4.0 by @dependabot in #330
- Bump mkdocstrings from 0.22.0 to 0.23.0 by @dependabot in #327
- Drop pre-commit checking from GitHub Actions by @alexdewar in #332
- dependabot: Also check for updates to GitHub Actions by @alexdewar in #333
- Add badges to readme by @dc2917 in #354
- Express TC4820 power as a percentage of maximum by @dc2917 in #355
- User Guide Placeholder and Script by @CWestICL in #351
- Fix check for whether stepper motor is connected by @alexdewar in #359
- Add EM27 webscraper tests by @dc2917 in #258
- Fix device error handling by @alexdewar in #360
- User Guide bundled with executable by @CWestICL in #361
- Add plugin system for hardware and use for serial devices by @alexdewar in #336
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #338
- Bump platformdirs from 3.9.1 to 3.11.0 by @dependabot in #339
- Bump matplotlib from 3.7.2 to 3.8.0 by @dependabot in #340
- Bump python-statemachine from 2.1.0 to 2.1.2 by @dependabot in #342
- Bump mkdocs-section-index from 0.3.5 to 0.3.8 by @dependabot in #341
- Bump mkdocs-material from 9.1.18 to 9.4.7 by @dependabot in #367
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #368
- Bump numpy from 1.26.0 to 1.26.1 by @dependabot in #371
- Bump pytest-mock from 3.11.1 to 3.12.0 by @dependabot in #374
- Bump pyinstaller from 6.0.0 to 6.1.0 by @dependabot in #372
- Bump black from 23.9.1 to 23.10.1 by @dependabot in #373
- Device frontend fixlets by @alexdewar in #376
- pyinstaller: Bundle all hardware plugins with executable by @alexdewar in #383
- Use persistent attributes to distinguish USB serial devices by @alexdewar in #381
- Make EM27 sensors module into plugin by @alexdewar in #375
- Remove OPUS button by @dc2917 in #386
- Bump pyside6 from 6.5.1.1 to 6.6.0 by @dependabot in #387
- Bump pytest from 7.4.0 to 7.4.3 by @dependabot in #388
- Bump mkdocs-material from 9.4.7 to 9.4.8 by @dependabot in #389
- Bump pre-commit from 3.4.0 to 3.5.0 by @dependabot in #390
- Bump mkdocstrings-python from 1.7.0 to 1.7.3 by @dependabot in #391
- Remove deprecated VS Code settings by @alexdewar in #394
- Seneca Temperature Monitor by @CWestICL in #357
- Allow for managing devices as hardware sets by @alexdewar in #392
- v1.2 release by @alexdewar in #402
New Contributors
- @pre-commit-ci made their first contribution in #331
- @CWestICL made their first contribution in #351
Full Changelog: v1.1.0...v1.2.0
v1.1.0
v1.0.0
This is the first major release of FINESSE. It includes more or less all of the features specified in the proposal, with perhaps just a little more polishing to be done. In any case, the software is certainly in a state where it can be subjected to proper user testing, so that's why I wanted to issue a release for it.
One small known issue is that whenever you close the ST10 device, you get an error message popping up (see #277). While annoying, it is harmless.