flipped (corrected) meaning of "collated_export" (still defaults to "original behavior")
restore installer COMPRESSION option
2024-02-27 4.0.44
deprecated Miniconda (python venv FTW)
built installer on Win11
ASTM tweak
DYK tweaks
convert timestamps to strings in JSON
fix pixel axis with ROI
disable KIA tips
2024-02-20 4.0.43
fixed XL temperature
fixed Peak Sharpening
2024-02-19 4.0.42
GUI tweaks
added DidYouKnowFeature
added session close button for KIA
fleshed-out WhatsThis docs
theme fixes
moved sounds checkbox to Settings view
added laser_steady.wav
tightened checks around StatusIndicators
2024-02-14 4.0.41 ❤️
RamanShiftCorrection: better support for ROI, tweaked peak windows
updated to Tensorflow 2.13.1
2024-02-09 4.0.40
Configuration cleanup
persist scans to average in enlighten.ini by serial number
move PluginController.autoload to PluginController QTimer to make sure it happens on GUI thread, but...previous call from initialize_new_device was already on a QTimer? Yet this seemed to fix bug?
2024-02-07 4.0.39
fixed ROI bug in Measurement.save_excel_file
properly apply ROI for loaded export and columnar csv files
2024-02-06 4.0.38
fixed load from export
fixed graph traces on loaded exports
fixed common.msgbox bug
moved to ctl
ColumnFileParser
DashFileParser
ExportFileParser
SPCFileParser
TextFileParser
2024-02-05 4.0.37
pylint
docs
fixed LaserControlFeature restriction bug
fixed Measurements export ROI bug
2024-01-30 4.0.36
Raman
ensured all Raman features available in Expert mode
renamed RamanModeFeature to AutoRaman
moving Raman Intensity Correction to its own widget visible in Raman view
extracted LaserWatchdogFeature
don't force Laser Watchdog unless XS SML w/o TEC (but support for any XS)
GUI
Guide tweaks
common.msgbox tweaks
cleanup
moved Filters and Authentication to ui
moved SpectrometerApplicationState, AccessoryControlFeature, DetectorTemperatureFeature, ExternalTriggerFeature, GainDBFeature, HighGainModeFeature, IntegrationTimeFeature, LaserControlFeature, LaserTemperatureFeature, MultiPos, RegionControlFeature and Spectrometer to device
renamed spectra_processes to post_processing
moved DarkFeature, ReferenceFeature, RamanMode to post_processing
renamed pluginExamples to plugins
renamed sfu to cfu
moved to ctl
HighGainModeFeature
ManufacturingFeature
CloudManager
RichardsonLucy
Sounds
2024-01-26 4.0.35
RamanModeFeature
prompt for confirmation
release restriction on LaserControlFeature when invisible
better handling of case where laser already firing when Raman Mode engaged
BatchCollection
bugfix (typo)
disable Guide during BatchCollection
enforce 2sec gap between subsequent Batches to allow manual "Stop" and stabilization
reset TakeOneFeature before calling TakeOne.complete observers
Refactored RamanModeFeature, VCRControls and TakeOneFeature around TakeOneRequest
moved to ctl
BatchCollection
RamanModeFeature
TakeOneFeature
VCRControls
2024-01-15 4.0.33
fix load bug
simplify common.msgbox api
simplify thumbnail removal prompt
correctly associate thumbnails with generating plugin
give Graphs names for tracking
make utf8 settings more explicit
default logfile to truncate
added SpectrometerApplicationState.received_reading_at_current_integration_time, in contention for ENLIGHTEN Longest Variable Name
2024-01-12 4.0.32
GUI
StatusBar only shows battery when appropriate
added common.msgbox(..., detail)
added GUI.msgbox_with_textedit
plugins
renamed logfile to plugin.log
truncate plugin logfile on load
updated peaks in RamanLines and ASTM-1840 configuration
2024-01-11 4.0.31
axis corner-cases
replaced InterpolatedProcessedReading with ProcessedReading.cropped and .interpolated
for now, prevent export from trying to mix different x-axes from the same serial number (ultimately we could extend the export format in different ways to support this)
GUI
allow visualizing SRM calibration
styled common.msgbox
expand ScrollStealFilter to include focused widgets
fixed bug graphing pixel axis
moved to ctl
Authentication
EEPROMWriter
MeasurementFactory
scripts
retain more metadata in split-spectra
2023-12-14 4.0.30
GUI
added battery to StatusBar
generalized PluginController.display_plugin_warning into GUI.msgbox_with_checkbox
simplified font sizes
added X series png's
fixed Hardware tab device image
optionally Export only displayed traces
moved to ctl
AbsorbanceFeature
Clipboard
Configuration
DetectorTemperatureFeature
EEPROMEditor
ExternalTriggerFeature
FileManager
FocusListener
GuideFeature
HardwareFileOutputManager
LoggingFeature
Marquee
ModelInfo
Multispec
ResourceMonitorFeature
SaveOptions
StatusBarFeature
ThumbnailWidget
TransmissionFeature
scripts
refreshed scripts/split-spectra
2023-12-13 4.0.29
stopped clearing dark/refs when changing interpolation
RamanShiftCorrection tweaks (fixed width unit, obey ROI, show nm hint)
refactoring
moved DarkFeature to ctl
2023-12-11 4.0.28
platforms
updating Raspberry Pi build docs
support both PySide6 and PySide2
GUI
laser button tooltip fix
fixed markers
added convenience laser button where permanently visible
added interpolation button above graph
restored original ordering of (lock, fullwidth) buttons
fixed multiple Factory items on multiple logins
2023-12-08 4.0.27
locked to Python 3.11 for Tensorflow
default to maximized
restore previous integration time up to 5sec (was 1sec)
plugins
all field types support callbacks
docs
updated Windows docs for 10/11
updated MacOS docs for ARM
2023-11-10 4.0.26
auto-resize pandas table columns
fix ctl issues in Measurement*
move jcamp from pip to PYTHONPATH until feature branch released
2023-11-06 4.0.25
added PresetFeature
plugins
hide plugin field frame if no fields
deprecate dependencies
support events in functional plugins
increase default plugin Marquee period
provide self.marquee_message for functional plugins
add combobox datatype for plugin fields
allow plugin fields to have stylesheets
auto-resize pandas table columns
file_io
persist custom spectra save location
save as JCAMP-DX
support loading columnar CSV files which don't happen to include 'Integration Time'
refactoring
moved RamanIntensityCorrection, ScanAveragingFeature, BaselineCorrection, BoxcarFeature, IntegrationTimeFeature to ctl
docs and cleanup around ScrollStealFilter and MouseWheelFilter
simplified Configuration.save
2023-10-09 4.0.24
Prod.BurnIn temperature fix
added run_from_root
restored hide_from_console (hide-early doesn't work on W11, hide-late doesn't on W10)
2023-10-06 4.0.23
temporarily changed PluginController autoload from "ctor + 1sec" to "first
spectrometer connection" (later rolled-back, as broke ID plugin)
2023-10-06 4.0.22
bundle libusb0.dll to Windows install folder :-(
2023-10-06 4.0.21
automatically retain previous 2MB of existing enlighten.log to aid in fault analysis
2023-09-30 4.0.20
updated dependency versions to resolve tensorflow import issue
Python 3.10 -> 3.11
PySide 2 -> 6
pyinstaller 4 -> 5
numpy -> 1.26 (1.24.3?)
tensorflow <- 2.13
let bootstrap pass compression to InnoSetup (default lzma/max)
change pyinstaller –noconsole to –hide-console to fix pexpect issue