Releases: ImperialCollegeLondon/FINESSE
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.