# Changelog

All notable changes to this project, grouped by release tag. Development/pre-release
tags (`-dev.N`, `v1.devNNNN`) are excluded — only tagged releases are listed. Commit
noise (placeholder commits, CI/build-only tweaks, typo fixes) has been filtered out in
favor of a human-readable summary of user-facing changes per release.

## v1.6.3 (2026-07-20)
- Added a recovery mode
- Added a bug report example
- `websqcontroller` is now a plain clone instead of a git submodule

## v1.6.2 (2026-07-13)
- Fixed the maximum upload size
- Local wheel builder now works via Docker

## v1.6.1 (2026-07-13)
- Removed an unused apt dependency that was conflicting with the build
- Limited `resistorBias` to a minimum of 1 (instead of 0) to avoid division-by-zero errors
- Added DHCPv6 support

## v1.6.0 (2026-06-24)
- No user-facing changes recorded

## v1.5.4 (2026-06-12)
- Fixed an issue with the scales
- Temperature is now rounded to 2 decimal digits (previously 1); other values rounded to 3 decimals
- Removed the unused `log_rotater` module

## v1.5.3 (2026-05-18)
- Fixed the camera image being flipped
- A few small fixes to the cooldown dev tooling

## v1.5.2 (2026-05-11)
- Limited MCU messages to the correct interface, to guard against rogue MCUs
- Applied the same unit binding to channel units for consistency

## v1.5.1 (2026-04-29)
- Reworked automatic cooldown: async status handling, more verbose logging, ballast valve timer, valve states shown in the frontend, and more corruption-resistant status writes
- Redid the DHCP check and fixed a CNA11 status issue
- Fixed the fore-vacuum timer
- Removed the unused "unconnected" state

## v1.5.0 (2026-04-21)
- Automatic cooldown GUI updated and moved into its own module
- Added a default ping-pong keepalive for websockets
- Added a file lock for the temperature file, plus a button to reset/clear old data
- Added a log-download function
- Moved temperature data storage to a file
- Removed the non-functional live-update feature

## v1.4.19 (2026-03-09)
- Deployment/VPS configuration update

## v1.4.18 (2026-01-26)
- Added custom camera mapping support, with a custom download grid and JSON validation for camera mapping
- Added a line-mode toggle via double-click
- Renamed temperature sensors 1/2 to stage 2/1 for clearer labeling
- Removed input field autocomplete, which was breaking ctrl/shift selection
- Fixed erratic click and scrolling behavior
- Fixed camera X-axis ticks
- Fixed a bug where frontend settings were not saved on config update
- Fixed an IV bug
- Colormap now shows more digits

## v1.4.17 (2025-10-14)
- Fixed a recurring sync-related issue by also catching the sync case

## v1.4.16 (2025-10-02)
- Temperature calibration filename is now tracked and downloadable
- Several autocool package bugfixes and updates
- Fixed a reset issue
- Improved accuracy of status reporting

## v1.4.15 (2025-09-01)
- Static file server now serves Python files from `websqcontroller`

## v1.4.14 (2025-08-19)
- Automatic cooldown: added a device picker, updated to 0.2.3, and fixed several issues
- Attocube update
- Simplified temperature logging
- Switched log rotation to size-based only
- Fixed downloads on the help page
- Inverting the monitor voltage when downloading IV of inverted channels

## v1.4.13 (2025-07-07)
- Major bar/waterfall/line plot overhaul: colormap options, hover colors, click-to-switch between bar and line, faster redraws (reworked `calcColor`), title and bar-gap options, homepage plot options
- Added MCU PLL lock display, including backwards compatibility
- Fixed several IV bugs (delay/restart, invert, jagged waterfall sync)
- Fixed selection logic, table scrolling behavior, and a menu bug

## v1.4.12 (2025-06-13)
- Added MCU firmware version display

## v1.4.11 (2025-06-04)
- Fixed the log rotater

## v1.4.10 (2025-05-15)
- Introduced automatic cooldown: basic API, status checking, settings, and extensive logging for debugging

## v1.4.9 (2025-05-14)
- Fixed a floating point issue

## v1.4.8 (2025-05-02)
- Bar plot now shows the actual channel number instead of rank
- Serial number is now only mutable via the dev page; added an endpoint to read the serial number
- Calibration filename is now saved for temperature diode calibration files
- Fixed a floating point issue and a formattable input field bug

## v1.4.7 (2025-04-06)
- No user-facing changes recorded

## v1.4.6 (2025-03-31)
- Added more error handling
- Fixed the websocket handler no longer overwriting `on_connection_close`

## v1.4.5 (2025-03-27)
- Fixed a subnet handling issue
- Added a visual indicator when the IP configuration is confirmed
- Proper change tracking when editing IPv4 settings
- Combined size- and time-based log rotation to avoid uncontrolled log growth
- Improvements to automatic cooldown management

## v1.4.4 (2025-03-18)
- No user-facing changes recorded

## v1.4.3 (2025-03-17)
- Minor address typo fix

## v1.4.2 (2025-02-04)
- No user-facing changes recorded

## v1.4.1 (2025-01-16)
- No user-facing changes recorded

## v1.4.0 (2025-01-16)
- No user-facing changes recorded

## v1.3.0 (2025-01-16)
- No user-facing changes recorded

## v1.2.24 (2025-01-07)
- Fixed standby mode
- Added websocket ping-pong keepalives
- Enlarged the temperature display and added more plotting options (as requested by a customer)
- Added timezone conversion for temperature timestamps; backend timezone now updates together with the frontend
- Fixed several NTP/timezone-related issues
- Enforced the 0.01V hardware limit on bias voltage step and prevented bias voltage from being set to 0 (1uV minimum step)

## v1.2.23 (2024-09-23)
- Added last-channel-checked to the sync log, for troubleshooting

## v1.2.22 (2024-09-23)
- Fixed MAC address display

## v1.2.21 (2024-09-23)
- Added MAC address to the settings info screen
- Added an option to toggle which columns are hidden in the dev section
- Fixed a lock file issue

## v1.2.20 (2024-09-17)
- Experimental mode now requires dev mode to be enabled

## v1.2.19 (2024-09-16)
- Fixed the IV timestamp

## v1.2.18 (2024-09-13)
- Added more API getters and functions for easier external control

## v1.2.17 (2024-09-09)
- Added more functionality to the API

## v1.2.16 (2024-09-06)
- Fixed a path mistake

## v1.2.15 (2024-09-06)
- Added new examples and a small help page update

## v1.2.14 (2024-09-03)
- Fixed a floating point error
- Cleaned up leftover logging

## v1.2.13 (2024-08-26)
- No user-facing changes recorded

## v1.2.12 (2024-08-22)
- Removed dnsmasq
- Moved the controller to a new location
- Switched the base image to Bookworm
- Fixed the PyPI link

## v1.2.11 (2024-08-15)
- No user-facing changes recorded

## v1.2.10 (2024-08-15)
- Added a `.txt` temperature download for easier DeMap integration
- Fixed ctrl/shift selection logic on the homepage table
- Fixed the image download background color

## v1.2.9 (2024-08-14)
- Made the simulation a lot more realistic

## v1.2.8 (2024-08-12)
- No user-facing changes recorded

## v1.2.7 (2024-08-12)
- No user-facing changes recorded

## v1.2.6 (2024-08-12)
- No user-facing changes recorded

## v1.2.5 (2024-08-12)
- No user-facing changes recorded

## v1.2.4 (2024-08-12)
- No user-facing changes recorded

## v1.2.3 (2024-08-09)
- Allowed non-integer counts for normalized counts

## v1.2.2 (2024-08-08)
- Fixed a YAML issue
- Removed the `retina-package` git submodule

## v1.2.0 (2024-08-06)
- Fixed an upload bug

## v1.1.15 (2024-08-05)
- No user-facing changes recorded

## v1.1.14 (2024-08-05)
- No user-facing changes recorded

## 1.1.10 (2024-08-05)
- No user-facing changes recorded

## v1.1.9 (2024-08-01)
- No user-facing changes recorded

## v1.1.8 (2024-08-01)
- No user-facing changes recorded

## v1.1.7 (2024-08-01)
- No user-facing changes recorded

## v1.1.6 (2024-08-01)
- Initial tagged release, consolidating the pre-tagging development history (~2,900 commits) into the project's first tracked baseline.
