* `506 <https://github.com/BCDA-APS/apstools/pull/506>`_ ``spec2ophyd`` can now read SPEC config files from APS 17BM
* `504 <https://github.com/BCDA-APS/apstools/pull/504>`_ Overhaul of listruns() using pandas. Previous code renamed to listruns_v1_4().
* `503 <https://github.com/BCDA-APS/apstools/pull/503>`_ Unit tests with data now used msgpack-backed databroker.
* `495 <https://github.com/BCDA-APS/apstools/pull/495>`_ remove *hklpy* requirement since all diffractometer support code will be moved to [*hklpy*](https://github.com/bluesky/hklpy) package.
1.4.1
* add Area Detector configuration examples: Pilatus & Perkin-Elmer, both writing image to HDF5 file
* `488 <https://github.com/BCDA-APS/apstools/pull/488>`_ use first trigger_mode when priming AD plugin
* `487 <https://github.com/BCDA-APS/apstools/pull/487>`_ ensure spec2ophyd code is packaged
1.4.0
* `483 <https://github.com/BCDA-APS/apstools/pull/483>`_ Python code style must pass ``flake8`` test.
* `482 <https://github.com/BCDA-APS/apstools/pull/482>`_ specwriter: Fix bug when plan_args structure includes a numpy ndarray.
* `474 <https://github.com/BCDA-APS/apstools/pull/474>`_ :func:`apstools.utils.listruns()` now defaults to the current catalog in use.
* `472 <https://github.com/BCDA-APS/apstools/pull/472>`_ Respond to changes in upstream packages.
* package requirements * auto-detection of command list format (Excel or text) * use *openpyxl* []_ instead of *xlrd* []_ and *pandas* []_ to read Microsoft Excel `.xlsx` spreadsheet files
* `451 <https://github.com/BCDA-APS/apstools/pull/451>`_ Undulator and Kohzu monochromator functionalities
* :class:`apstools.devices.ApsUndulator()`
Adds some ``Signal`` components (such as setting `kind` kwarg) that are helpful in moving the undulator
1.3.9
* `459 <https://github.com/BCDA-APS/apstools/pull/459>`_ ``apsbss``: list ESAFs & proposals from other cycles * `457 <https://github.com/BCDA-APS/apstools/pull/457>`_ :func:`apstools.utils.rss_mem()`: show memory used by this process
1.3.8
* `449 <https://github.com/BCDA-APS/apstools/pull/449>`_ diffractometer wh() shows extra positioners * `446 <https://github.com/BCDA-APS/apstools/pull/446>`_ utils: device_read2table() renamed to listdevice() * `445 <https://github.com/BCDA-APS/apstools/pull/445>`_ synApps: add Device for iocStats * `437 <https://github.com/BCDA-APS/apstools/pull/437>`_ diffractometer add pa() report * `426 <https://github.com/BCDA-APS/apstools/pull/426>`_ diffractometer add simulated diffractometers * `425 <https://github.com/BCDA-APS/apstools/pull/425>`_ BUG fixed: listruns() when no stop document * `423 <https://github.com/BCDA-APS/apstools/pull/423>`_ BUG fixed: apsbss IOC starter script
1.3.7
* `422 <https://github.com/BCDA-APS/apstools/pull/422>`_ additional AD support from APS USAXS * `421 <https://github.com/BCDA-APS/apstools/pull/421>`_ wait for undulator when start_button pushed * `418 <https://github.com/BCDA-APS/apstools/pull/418>`_ apsbss: only update APS run cycle name after current cycle ends