
History for the Lab-Measurement Perl distribution

This document is work in progress (in the sense of adding
historical information).

3.930 2025-04-12
  * Update the Cryomagnetics_4G driver to work with Sweep::Magnet

3.920 2024-11-05
  * First rough version of AttoCube motion controller driver
  * AMI_430 magnet supply: add check of attribute persistent_mode
  * Add a dummy L::M module that errors out, for 3.920 => 3.990
  * Minor documentation fixes

3.910 2024-09-19
  * AMI430 magnet supply: Add persistent mode features
  * KeysightB2901A: Check source range in set_level

3.904 2024-08-27
  * Fix problem with time() on Windows in linear step sweep

3.903 2024-08-09
  * Add Stabilizer feature to call sub on failure

3.902 2024-07-30
  * Add occasional nag message to encourage citation

3.901 2023-10-19
  * Typo fixes and minor cleanups

3.900 2023-10-14
  * Remove legacy non-Moose code (deprecated since 3.800)

3.881 2023-08-01
  * Fix manufacturer name of magnet power supply

3.880 2023-07-22
  * Add driver for Bluefors magnet power supply

3.872 2023-05-22
  * Fix driver for Keysight N9310A RF generator

3.871 2023-05-19
  * Add driver for Keysight N9310A RF generator
  * Add driver for Agilent 33210A AWG

3.870 2023-05-19
  * Add driver for Bluefors DR temperature control
  * Add driver for Zurich Instruments HDAWG generator
  * Add HTTP request connection
  * Add power sweep functionality to R&S ZVM

3.860 2023-03-09
  * Add both_directions option for sweeps
  * AH2700A: Bug fix
  * Nanonis Tramea: Further features
  * Code cleanups and additional example

3.851 2023-02-15
  * RS ZVA: add functions for power sweep
  * Agilent33120A: bug fix

3.850 2023-02-14
  * Keysight 33500B: more documentation
  * Lakeshore 372: add example curve handler script
  * New driver: Agilent33120A AWG, also as voltage source

3.842 2023-02-07
  * Nanonis Tramea: Bug fixes

3.841 2023-01-25
  * Nanonis Tramea: More functionality (timing, data transfer)
  * Lakeshore 372: Fixes

3.840 2022-12-12
  * New driver (work in progress): ProStep4 step motor
  * New driver (work in progress): HP83732A signal generator
  * Improve Synctek MCL1-540 code

3.831 2022-11-30
  * Nanonis Tramea: Add more functionality

3.830 2022-11-08
  * Nanonis Tramea: Fix timing issues, speed up a lot
  * R&S RTB2000 oscilloscope and Keysight 33500 AWG: initial driver stubs

3.823 2022-09-02
  * Nanonis Tramea: Sweeper 3d functionality expanded

3.822 2022-08-24
  * Nanonis Tramea: Add more functionality

3.821 2022-06-19
  * HP3458A: More functions for high-speed mode
  * Nanonis Tramea: Complete set of raw access functions

3.820 2022-06-06
  * New driver: Lakeshore 350 temperature controller
  * New WWW connection for REST-like interfaces
  * Improve Synctek MCL1-540 code
  * Lakeshore 372: Add function for sample heater output query
  * Add OI Mercury level plotter example script
  * New driver (work in progress): Cryomagnetics 4G magnet power supply
  * New driver (work in progress): Nanonis Tramea (1d sweep)

3.810 2022-02-14
  * New driver: Synctek MCL1-540 Lock-in Amplifier
  * New driver: Andeen-Hagerling AH2700A ultra-precision capacitance bridge
  * Lakeshore 372: many more functions (display, excitation power, scanner, ...)

3.803 2022-02-01
  * Lakeshore 340: Add example subclass (Helium3), manual output function
  * Lakeshore 372: Additional functions
  * OI ITC503: Allow fractional PID values
  * Allow custom comment string in data files

3.802 2021-12-28
  * Lakeshore 340: Add commands to set/get and configure analog outputs
  * Backends: Update LinuxGPIB install instructions
  * Fix for #59: Gnuplot pm3d palette gets overridden

3.801 2021-12-10
  * Fix syntax for Perl 2.26 and earlier
  * Lakeshore340: Support 4 thermometers (A B C D)
  * Add missing links to manual index

3.800 2021-12-08
  * New feature: obtain RFC3161 timestamps for the measurement data
  * Add support for Oxford Instruments IsoBus
  * Add support for the OI ILM210 helium level meter
  * Minor improvements for OI IPS and SignalRecovery Lock-In
  * The legacy, non-Moose API is now officially deprecated and unmaintained.
    Examples have been dropped from the distribution, and the
    manual index does not link the modules anymore.

3.792 2021-11-16
  * Keithley 2000: major rewrite and documentation fixes
  * SignalRecovery 7265: bug fixes
  * Socket connection: more verbose error messages

3.791 2021-10-28
  * SignalRecovery 7265, Keithley 2000 updates + bugfixes
  * DataFolder: Added boolean copy_script attribute
  * Documentation improvements (Rigol DG5000, Keysight DSOS604A)

3.790 2021-10-27
  * Ported Keithley 2000 DMM and SignalRecovery 7265 lock-in to Moose
  * Added Phase sweep; added sweeps on multiple instruments simultaneously
  * OI_Mercury/Magnet: Internally set currents not fields for precision
  * Updated Backends.pod with a new guide on how to use LinuxGPIB on Debian 11
  * Documentation improvements (Rigol DG5000, Keysight DSOS604A)

3.780 2021-10-09
  * New driver for the Lakeshore 372 temperature bridge
  * Socket connection: allow reuse of orphaned connections

3.772 2021-09-16
  * OI_IPS: Fix for device bug

3.771 2021-08-23
  * SR830: Add support for aux-in ports
  * SignalRecovery726x: Fix for device bug (spurious zero bytes)

3.770 2021-08-15
  * Port the TMRC2 driver to Moose
  * Documentation improvements

3.762 2021-07-07
  * Fix Yokogawa 7651 source driver

3.761 2021-07-06
  * Many improvements to Keysight DSOS604A and Rigol_DG5000 drivers
  * Add pulse delay and pulse width sweeps

3.760 2021-06-28
  * Additions for producing RPM of Lab::Measurement with Dist::Zilla
  * USBtmc: use interrupt i/o to check if transfer is complete
  * TDS2024B.pm: add get_datetime/set_datetime functions
  * 70-usbtmc.rules: use 'daq' group
  * usbtmc_protfix: script to apply permission changes in /dev/bus/usb
  * New driver for Keysight DSOS604A oscilloscope
  * Extensions to Rigol_DG5000 AWG driver

3.751 2021-06-01
  * Move IRC channel to Libera Chat
  * OI_IPS: add get_switch_heater
  * XPRESS: add phase sweep and osc. output sweep for SR lock in

3.750 2021-05-01
  * Start driver for SignalRecovery 7265 lock-in
  * Start driver for Keithley 2450 sourcemeter
  * HP3458A: add RANGE and ARANGE commands

3.741 2021-02-09
  * SR830: Fix and document the set_auto_sens function

3.740 2021-01-12
  * Add R&S ZNL network analyzer driver

3.731 2020-12-18
  * OI_Triton: ajust power ranges for temperature setters
  * SR830: Add method to automatically set optimal input range
  * Documentation improvements

3.730 2020-11-04
  * Support Tektronix TBS1000C oscilloscope
  * Support Rigol DG5000 series waveform generator
  * OI_IPS: Set default communications protocol to "extended resolution"
  * OI_IPS: fix error reporting
  * Tutorial: Document refresh type 'block'

3.722 2020-10-16
  * Agilent34460A: New driver
  * Countdown: Never sleep with a negative time
  * Fix bug in Lakeshore340 set_pid function

3.721 2020-08-17
  * HP34420A: Add setter/getter for input filter state
  * Countdown: Never call Time::HiRes::sleep with a negative argument
  * Documentation improvements

3.720 2020-07-26
  * ZI_MFLI: Add various setters/getters for the signal inputs

3.710 2020-07-12
  * Documentation improvements
  * Declare minimum Perl 5.20 and enable strict everywhere
  * Add ZI HF2LI driver, mostly alias of ZI_MFLI

3.703 2020-06-21
  * Bug fix in Moose::Sweep::Continuous so it can be called more
    than once
  * Dummysource: Add continous sweep functionality and test
  * Improve continuous sweep tests

3.702 2020-06-18
  * Documentation fixes
  * Fix for Sweep-Continuous.t test on slow machines

3.701 2020-05-10
  * HPE4400B driver requires PDL::Graphics::Gnuplot installed

3.700 2020-05-09
  * Add endian flag to instruments
  * Support HP E4400B spectrum analyzer series
  * OI magnet PSUs: add check for persistent mode
  * ZI MFLI: re-work driver; add input selection, RMS
  * Lakeshore 340: add resistance readout, ZONE functions
  * Make XPRESS data file header more configurable

3.692 2020-03-03
  * Lakeshore 340: add more functions
  * PD11042: Fix inifile and logfile for non-Activeperls

3.691 2019-11-14
  * VISA: fix _set_visa_attribute
  * Add warning when using backslashes in hard copy plots on Windows
  * OI Triton: Add temperature ramp control functions
  * OI Triton: Do net set temperature twice in set_T
  * OI Triton: Do not enable PID in set_T

3.690 2019-09-21
  * ZI_MFLI: add oscillator attribute
  * Tutorial: explain custom sweep setups without the 'Sweep' classes
  * Lab::Moose::Stabilizer: make 'stabilize' a non-method subroutine
  * VISA::USB: fix resource string creation

3.682 2019-07-02
  * OI_Triton: enable read out of thermometer resistances
  * Step magnet sweep: Enable persistent mode usage

3.681 2019-04-29
  * Add driver for KeysightE3633E current/voltage source
  * Fixes in Moose::Connection::VISA and the Lakeshore drivers

3.680 2019-03-11
  * Moose LinuxGPIB connection: add support for end-of-string byte
  * Moose VISA connection: add support for end-of-string byte
  * Add Moose driver for Oxford Instruments ITC503, including
    a Helium-3 system "heat_sorb" sub
  * Add Moose driver for Oxford Instruments IPS magnet power supply
  * KeysightB2901A: fix issue with USB::TMC interface
  * Zurich Instruments MFLI/MFIA: make compatible with
    frequency sweep, add support for DC bias voltage
  * Add general "level sweep"

3.671 2018-12-08
  * Live plots: Add support for minimal time interval between redraws
  * Add Moose Power sweep support
  * Documentation improvements

3.670 2018-11-22
  * Add Moose driver for Lakeshore340
  * Add driver for Keysight B2901A SMU
  * Add support for SCPI concurrent sense block
  * Add better support for live plots in high dimensional sweeps
  * Documentation improvements

3.664 2018-10-17
  * Fix pod error breaking tests

3.663 2018-10-17
  * Allow different data file compression types, use canonical
    file endings (.bz2, .gz, .xz, ...)
  * Add information about our journal article in the manual
  * Fix citation information

3.662 2018-10-07
  * Add information about our journal article in the README
  * Make live plot refresh more configurable
  * First attempt at automatically compressed datafiles
  * Documentation improvements

3.661 2018-09-07
  * Add Sense Impedance, Sense Null SCPI roles
  * Add AdjustRange role
  * Tutorial improvements
  * 2D plots: allow labeling of curve for each block

3.660 2018-07-09

  * SR830: Empty output buffer in device initialization
  * Step sweep: Allow sweeps with multiple segments
  * Tutorial improvements

3.653 2018-06-22

  * Documentation fixes
  * Add time_prefix option for data folders
  * Enable date_prefix and time_prefix by default

3.652 2018-06-15

  * Add Step::Repeat sweep for repeating something
  * Allow adding of arbitrary metadata to META.yml, ensure logging
    of command line arguments
  * Add Moose driver for Keithley 2400 (source and measurement function)
  * Add Moose driver for HP 34420A Nanovoltmeter
  * Language fixes in the manual

3.651 2018-05-22

  * OI_Triton: Make maximum T setpoint configurable
  * Add pretty print countdown function
  * Push deprecation of non-Moose code further in the future and
    make Lab::Measurement message more of a friendly recommendation

3.650 2018-05-18

  * Gnuplot: Allow multiple curves per plot
  * Documentation cleanup and updates
  * Add a deprecation warning in the legacy Lab::Measurement module
  * Add functions parsing *IDN? output

3.642 2018-05-11

  * Add generic Stabilizer role, waiting for something to converge
  * Factor out Oxford Instruments pseudo-SCPI support in separate role
  * Add temperature step sweep
  * Add Oxford Instruments Triton temperature control

3.641 2018-05-05

  * When PDL::Graphics::Gnuplot is not installed, skip tests that need it

3.640 2018-05-04

  * Add SpectrumAnalyzer role
  * Add Rigol_DSA815 spectrum analyzer driver
  * Convert HP8596E driver to use SpectrumAnalyzer role
  * Add DisplayXY trace display module
  * Add SCPI [:SENSe]:POWer subsystem
  * Add 'date_prefix' option to prefix output folders with 'YYYY-MM-DD_'
  * Disable gnuplot 'enhanced' text for png hard copy plots
  * Add 'refresh_plots' argument for log_block
  * Documentation and portability improvements
  * More examples for Moose-based interface

3.631 2018-04-18

  * Documentation improvements

3.630 2018-04-09

  * Enable continuous sweeps with multiple sections having different rates

3.624 2018-03-30

  * Also distribute META.yml
  * Fix continous sweep tests
  * Implement Yokogawa GS200 continuous sweeping
  * Several additions to SCPI roles
  * Add HP8596E spectrum analyzer driver

3.623 2018-03-17

  * Add VISA::USB connection: USB-TMC over NI-VISA
  * SR830: Do not cache measured values (!)

3.622 2018-03-07

  * Various minor documentation fixes
  * Simplify file name of archived live plot

3.621 2018-02-26

  * Enable creation of genereric Lab::Moose::Instrument objects
  * Improve sweep tutorial

3.620 2018-02-14

  * Add SignalRecovery lock-in driver
  * OI Mercury: enable axis selection
  * Add driver for Keysight 34470A digital multimeter
  * Add USB ids for YokogawaGS200 and SMB100A
  * Remove non-Moose RSSMB100A driver, superseded by RS_SMB
  * Remove non-Moose SpectrumSCPI driver, superseded by RS_FSV
  * Remove non-Moose OI_IPS and OI_Mercury drivers, superseded by Moose versions
  * VNA support: Add 'set_frq/get_frq' functions for single frequency 
    measurements
  * XPRESS: Update example scripts
  * Moose: support default connection options for instrument drivers
  * Moose: add abstract sweep framework (port of XPRESS)
  * Examples: add degaussing script, add FMR example
  * Documentation: Mention VXI-11 and USBTMC in the Linux installation 
    instructions

3.613 2017-12-09

  * Add DESTROY method in Lab::XPRESS::Sweep to avoid ugly warning
  * Improve metadata and documentation

3.612 2017-12-07

  * Re-upload without duplicate files

3.611 2017-12-07

  * Fix floating point precision issues in the tests

3.610 2017-12-07

  * Simplify network timeout handling
  * Add Moose version of NI VISA connection
  * Add Moose drivers of R&S SMB100A, HP3458A, YokogawaGS200, HP34410A
  * Moose datafile: Add support for pm3d plots, optimize
  * R&S SMB100A: Add device cache
  * Add initial OI Mercury magnet support
  * VNAs: Calculate amplitude and phase data directly in instrument driver
  * Autoload Lab::Moose instruments in XPRESS again
  * Fix harmless error messages and decrease terminal noise
  * Add more examples and more documentation

3.600 2017-09-21

  * Add vector cache functionality
  * Add device cache for the ZI MFLI
  * Add new connection backends: USB and VXI11
  * Socket connection: do non-blocking IO
  * Add driver for Zurich Instruments MFIA Impedance Analyzer

3.554 2017-07-25

  * Complete the PodWeaver conversion
  * Move Lab::XPRESS::Sweep::Sweep to Lab::XPRESS::Sweep
  * Documentation fixes and improvements
  * Start with OI Mercury magnet control support
  * Separate documentation build system into its own distro and repo
  * Adapt normal Perl directory structure
  * Clear executable bits of pm files in git

3.553 2017-07-03

  * More PodWeaver conversion of documentation

3.552 2017-07-02

  * Test release after converting a few files to PodWeaver

3.551 2017-06-29

  * Add some help on hacking Lab::Measurement (HACKING)
  * Re-add RPM building functionality, now via Dist::Zilla

3.550 2017-06-21

  * Port build system to Dist::Zilla
  * Fix lab-measurement/issues/4 (pgnuplot.exe became gnuplot.exe)

3.544 2017-06-12

  * Do not load of Lab::Moose instruments in XPRESS::hub
  * Lakeshore 340: Only use 6 digits for setpoint
  * XPRESS Datafile: Replace '#COLUMNS#' with '#' in file header
  * TRMC2: Enable XPRESS step/list temperature sweep
  * Add docs for DataFile::Gnuplot precision attribute
  * Moose Gnuplot Datafile: Use default precision of 10 digits
  * Add initial support for Zurich Instruments devices
  * Moose SR830: Fix and test 'calculate_settling_time'
  * Moose SR830: Add 'calculate_saturation_time' method

3.543 2017-05-19

  * Remove obsolete Lab::Data utility scripts
  * Add subclass example for IPS magnet control: IPSWeissDillFridge
  * Enable XPRESS sweeps (step or list) with Lakeshore340
  * Skip test Analysis/DataAnalysis.t if perl uses long doubles
  * Remove remaining Lab::Data and XPRESS::Xpression.pl legacy code, 
    fixes lab-measurement/issues/6

3.542 2017-05-01

  * Clean up module descriptions
  * Add explicit license texts
  * Move Lab::VISA, homepage, and poster files to separate git repositories
  * Fix VNA sweep example script

3.541 2017-04-10

  * Add VNA sweep example script
  * DataFile::Gnuplot::2D: Fix log_block: Do not replot for each added line
  * Moose/Connection/Socket: Do proper timeout handling with IO::Socket::Timeout
  * Fix t/Analysis/DataAnalysis.t on Windows
  * Early implementation of LeCroy WaveRunner 640 digital oscilloscope 
    Instrument code
  * Add TCP socket connection with support for binary transmissions
  * Fix DataFile/Read.pm
  * Fix frequency setter/getter of RS_SMB
  * Make read_2d_gnuplot_format a function
  * Add more docs for set_get_test and scpi_set_get_test
  * RS_FSV: Add getter and setter for resolution bandwidth
  * Add basic driver for Rohde & Schwarz SMB RF source
  * Moose::Developer: Add docs for automated testing
  * Add common setter/getter/cache test t/Lab/Test.pm and use it in RS_ZVA and 
    SR_830 tests
  * Add experimental support for Lakeshore 340 temperature controller
  * Fix tests with latest gnuplot 5.0.5
  * OI_ITC503: Allow manual setting of PID parameters
  * Time Sweep: Add missing return statement and fix status messages
  * Time Sweep: Add config option for get_value() arguments
  
3.540 2017-02-01

  * Fix tests on windows
  * Document several SCPI roles
  * Add help option in Moose MockTest
  * DataFile::Gnuplot::2D: Add hard-copy of plot in data folder
  * RS_ZVA: Add power and IF-bandwidth settings
  * Get started with pod file Lab::Moose::Developer
  * Delete Lab::Moose::BlockData and replace with PDL
  * Add DataFile::Gnuplot::2D
  * Moose: put plot_options into HashRef
  * Moose: Add driver for SR830 LIA
  * Add Lab::Moose::Plot: Moose based thin wrapper to PDL::Graphics::Gnuplot
  * fix bug in TDS2024 envelope waveform handling
  * scpi_parse_sequence bugfixes
  * Add docs for Lab::Moose::DataFile::Gnuplot
  * Add Lab::Moose
  * Skip Yokogawa7651 test, if the system printf is not C99 compatible
  * Yokogawa7651: Add more tests for set_level
  * Yokogawa7651: use %g instead of %e in set_level
  * DataFolder: Use getlogin instead of getpwuid for portability
  * Fix UTF-8 bug in POD
  * Do not use taint mode for t/Lab/Test/test.t
  * New Datafolder and Datafile modules
  * Add code for controlling a Tektronix TDS2024B digital oscilloscope over a 
    USBtmc interface
  * Do not require Term::ANSIScreen, allow Term::ReadKey >= 2.32
  * Remove GenericIO subsystem

3.531 2016-11-04

  * Use one package per source file
  * Clean up xt directory
  * Do not put code before 'use strict'

3.530 2016-11-04

  * XPRESS voltage sweep: Do not call active method for mode 'step' (speed gain)
  * Add minimal test for XPRESS voltage sweep with YokogawaGS200
  * Add Charles Lane to dist_author
  * Sweep/Voltage.pm: Do not check instrument activity for step/list sweeps
  * Fix Term::ReadKey version requirements
  * Minor edits to scpi parsing, to eliminate newlines
  * Clean up USBtmc code, add timeout handling
  * Fix LinuxGPIB and update tests
  * Many documentation and example improvements
  * Remove Test::Files dependency, as it breaks the tests on windows
  * Use Instrument function for VNA examples
  * Enable Lab::Moose::Instrument drivers in XPRESS::hub::Instrument
  * Remove all read_length stuff from Lab::Moose
  * Apply various workarounds for temperature sweep with one sensor and Socket 
    connection
  * Make OI_Triton able to do XPRESS temperature sweeps
  * Perltidy
  * Add Moose version of LinuxGPIB connection
  * Several improvements to SCPI parsing
  * Update MakeRPM to allow an (optional) parameter for setting the "release 
    number"
  * Use delegation to get connection methods in Lab::Moose::Instrument
  * Add RS_FSV: driver for Rohde & Schwartz FSV Signal and Spectrum Analyzer
  * Add files for automatically building rpm distribution packages from the 
    Lab::Measurement code
  * Add some more Perl::Critic policies from "Perl Best Practices"
  * Add a $self->{config}->{default_read_mode} to be applied to 
    get_{cache parameter} when read_mode is not otherwise specified
  * Add 'average' option to sparam_sweep
  * Fix command ordering in VNASweep
  * Moose tests: Add commandline options for mock tests
    shortening subsequent keywords
  * Add connection logging and mock connection
  * Get started with Moose version of RS_ZVM.
  * Add RS_ZVM driver. Factor out common code of RS_ZVA and RS_ZVM.
  * Fix path creation in XPRESS datafile

3.512 2016-07-08

  * Add Alexei Iankilevic and Simon Reinhard to dist_author
  * Remove Alois Dirnaichner from dist_author
  * Cleanup; remove unused test data
  * Fix gate_protect for sweeps with mode => 'step', jump => 1
  * YokogawaGS200: Fixes
  * Remove examples using old Lab::Measurement interface,
    corresponding metadata scripts and tutorial
  * Remove the old Measurement code that noone uses here anymore
  * Remove the KnickS252 driver
  * Increase Andeen-Hagerling timeout for measurements at low 
    frequencies
  * Documentation fixes

3.511 2016-06-27

  * Add tests for Yokogawa 7651 and SR830::AuxOut

3.510 2016-06-23

  * New driver SR830::AuxOut for the four rear panel DC outputs of 
    the SR830
  * New driver SR830::AuxIn for the four rear panel DC inputs of 
    the SR830
  * DEBUG bus, DummySource, and Source.pm bugfixes
  * Agilent34410A driver and documentation clean-up
  * Add support for SCPI keyword matching
  * Documentation improvements
  * Remove prototype '()' of stub methods in Source.pm (RT39745?)
  * Update Linux installation instructions
  * Add a generic Windows installation guide
  * Add pod test and compile test, fix pod errors and dependencies
  * Remove given/when constructs from code (now marked experimental)
  * Shut up all broken tests
  * Correct rate values of the 3 magnets of Cryo Weiss 3D
  * Moved N-dimensional sweep modules to correct directory

3.500 2016-02-02

  * Fix Yokogawa 7651 support again
  * Add instrument driver for Lakeshore224
  * Allow the user to change the IO interface, so background jobs
    work again
  * Update Oxford Instruments IPS driver
  * Enable (linear) sweeps in N-dimensional space (for the vector magnet)
  * ...
