diff --git a/docs/source/release_notes.rst b/docs/source/release_notes.rst index d2b0f1c1..7471198b 100644 --- a/docs/source/release_notes.rst +++ b/docs/source/release_notes.rst @@ -1,6 +1,110 @@ Release History ############### + +v3.0.0 (2023-09-27) +=================== + +API Breaks +---------- +- The deprecated ``TyphosConsole`` has been removed as discussed in issue #538. +- ``TyphosDeviceDisplay`` composite heuristics have been removed in favor of + simpler methods, described in the features section. +- The packaged IOC for benchmark testing is now in ``typhos.benchmark.ioc``. + +Features +-------- +- Added ``typhos --screenshot filename_pattern`` to take screenshots of typhos + displays prior to exiting early (in combination with ``--exit-after``). +- Added ``TyphosSuite.save_screenshot`` which takes a screenshot of the entire + suite as-displayed. +- Added ``TyphosSuite.save_device_screenshots`` which takes individual + screenshots of each device display in the suite and saves them to the + provided formatted filename. +- ``LazySubdisplay.get_subdisplay`` now provides the option to only get + existing widgets (by using the argument ``instantiate=False``). +- ``TyphosNoteEdit`` now supports ``.add_device()`` like other typhos widgets. + This is alongside its original ``setup_data`` API. +- ``TyphosNoteEdit`` is now a ``TyphosBase`` object and is accessible in the Qt + designer. +- Added new designable widget ``TyphosPositionerRowWidget``. This compact + positioner widget makes dense motor-heavy screens much more space efficient. +- The layout method for ``TyphosDeviceDisplay`` has changed. For large device trees, + it now favors showing the compact "embedded" screens over detailed screens. The order + of priority is now as follows: +- For top-level devices (e.g., ``at2l0``), the template load priority is as follows: + + * Happi-defined values (``"detailed_screen"``, ``embedded_screen"``, ``"engineering_screen"``) + * Device-specific screens, if available (named as ``ClassNameHere.detailed.ui``) + * The detailed tree, if the device has sub-devices + * The default templates + +- For nested displays in a device tree, sub-device (e.g., ``at2l0.blade_01``) + template load priority is as follows: + + * Device-specific screens, if available (named as ``ClassNameHere.embedded.ui``) + * The detailed tree, if the device has sub-devices + * The default templates (``embedded_screen.ui``) + +- Increase motor timeouts proportionally for longer moves. +- Added dynamic font sizer utility which can work with some Qt-provided widgets + as well as PyDM widgets. +- Qt object names for displays will now be set automatically to aid in + debugging. + +Bugfixes +-------- +- Fix an issue where setpoint widgets in the full positioner + widget had become zero-width. +- Creates new notes file if requested note file does not exist +- Typhos suites will now resize in width to fit device displays. +- For devices which do not require keyword arguments to instantiate, the typhos + CLI will no longer require an empty dictionary. That is, ``$ typhos + ophyd.sim.SynAxis[]`` is equivalent to ``$ typhos ophyd.sim.SynAxis[{}]``. + As before, ophyd's required "name" keyword argument is filled in by typhos by + default. +- Fix an issue where ophyd signals with floats would always display with a + precision of 0 without special manual configuration. Floating-point signals + now default to a precision of 3. +- Fix issues with running the CLI benchmarks in certain + conda installs, particularly python>=3.10. +- ``ophyd.Kind`` usage has been fixed for Python 3.11. Python 3.11 differs in + enumeration of ``IntFlag`` items, resulting in typhos only picking up + component kinds that were a power of 2. +- ``multiprocessing`` is no longer used to spawn the test suite benchmarking + IOC, as it was problematic for Python 3.11. The provided IOC is now spawned + using the same utilities provided by the caproto test suite. +- Vendored pydm ``load_ui_file`` and modified it so we can always get our + ``Display`` instance back in ``TyphosDeviceDisplay``. +- Ignore deleted qt objects on ``SignalConnection.remove_connection``, avoiding + teardown error tracebacks. +- Avoid creating subdisplays during a call to ``TyphosSuite.hide_subdisplays`` +- Added a pytest hook helper to aid in finding widgets that were not cleaned +- Avoid failing screenshot taking when widgets are garbage collected at the + same time. +- Avoid race condition in description cache if the cache is externally cleared + when a new description callback is received. +- Avoid uncaught ``TypeError`` when ``None`` is present in a positioner + ``.limits``. + +Maintenance +----------- +- adds TyphosDisplaySwitcher to TyphosPositionerRowWidget +- adds checklist to Pull Request Template +- Add pre-release notes scripts +- Update build requirements to use pip-provided extras for documentation and test builds +- Update PyDM pin to >=1.19.1 due to Display method being used. +- Avoid hundreds of warnings during line profiling profiling by intercepting + messages about profiling the wrapped function instead of the wrapper. +- The setpoint history menu on ``TyphosLineEdit`` is now only created on-demand. + +Contributors +------------ +- klauer +- tangkong +- zllentz + + v2.4.1 (2023-4-4) ================= diff --git a/docs/source/upcoming_release_notes/538-remove_typhos_console.rst b/docs/source/upcoming_release_notes/538-remove_typhos_console.rst deleted file mode 100644 index a9f7a483..00000000 --- a/docs/source/upcoming_release_notes/538-remove_typhos_console.rst +++ /dev/null @@ -1,22 +0,0 @@ -538 remove_typhos_console -######################### - -API Changes ------------ -- The deprecated ``TyphosConsole`` has been removed as discussed in issue #538. - -Features --------- -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/556-bld_pyproj_extras.rst b/docs/source/upcoming_release_notes/556-bld_pyproj_extras.rst deleted file mode 100644 index 91c37357..00000000 --- a/docs/source/upcoming_release_notes/556-bld_pyproj_extras.rst +++ /dev/null @@ -1,23 +0,0 @@ -556 bld_pyproj_extras -##################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- Add pre-release notes scripts -- Update build requirements to use pip-provided extras for documentation and test builds - -Contributors ------------- -- tangkong diff --git a/docs/source/upcoming_release_notes/558-fix_py310_benchmark.rst b/docs/source/upcoming_release_notes/558-fix_py310_benchmark.rst deleted file mode 100644 index 307d70b8..00000000 --- a/docs/source/upcoming_release_notes/558-fix_py310_benchmark.rst +++ /dev/null @@ -1,23 +0,0 @@ -558 fix_py310_benchmark -####################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- Fix issues with running the CLI benchmarks in certain - conda installs, particularly python>=3.10. - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/562-bug_notes_blank_env.rst b/docs/source/upcoming_release_notes/562-bug_notes_blank_env.rst deleted file mode 100644 index aba9968d..00000000 --- a/docs/source/upcoming_release_notes/562-bug_notes_blank_env.rst +++ /dev/null @@ -1,22 +0,0 @@ -562 bug_notes_blank_env -####################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- Creates new notes file if requested note file does not exist - -Maintenance ------------ -- N/A - -Contributors ------------- -- tangkong diff --git a/docs/source/upcoming_release_notes/563-row_positioner.rst b/docs/source/upcoming_release_notes/563-row_positioner.rst deleted file mode 100644 index ee449b21..00000000 --- a/docs/source/upcoming_release_notes/563-row_positioner.rst +++ /dev/null @@ -1,50 +0,0 @@ -563 row-positioner -################## - -API Changes ------------ -- ``TyphosNoteEdit`` now supports ``.add_device()`` like other typhos widgets. - This is alongside its original ``setup_data`` API. -- ``TyphosDeviceDisplay`` composite heuristics have been removed in favor of - simpler methods, described in the features section. - -Features --------- -- ``TyphosNoteEdit`` is now a ``TyphosBase`` object and is accessible in the Qt - designer. -- Added new designable widget ``TyphosPositionerRowWidget``. This compact - positioner widget makes dense motor-heavy screens much more space efficient. -- The layout method for ``TyphosDeviceDisplay`` has changed. For large device trees, - it now favors showing the compact "embedded" screens over detailed screens. The order - of priority is now as follows: -- For top-level devices (e.g., ``at2l0``), the template load priority is as follows: - - * Happi-defined values (``"detailed_screen"``, ``embedded_screen"``, ``"engineering_screen"``) - * Device-specific screens, if available (named as ``ClassNameHere.detailed.ui``) - * The detailed tree, if the device has sub-devices - * The default templates - -- For nested displays in a device tree, sub-device (e.g., ``at2l0.blade_01``) - template load priority is as follows: - - * Device-specific screens, if available (named as ``ClassNameHere.embedded.ui``) - * The detailed tree, if the device has sub-devices - * The default templates (``embedded_screen.ui``) - -Bugfixes --------- -- For devices which do not require keyword arguments to instantiate, the typhos - CLI will no longer require an empty dictionary. That is, ``$ typhos - ophyd.sim.SynAxis[]`` is equivalent to ``$ typhos ophyd.sim.SynAxis[{}]``. - As before, ophyd's required "name" keyword argument is filled in by typhos by - default. - - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer -- ZLLentz diff --git a/docs/source/upcoming_release_notes/565-poslimits.rst b/docs/source/upcoming_release_notes/565-poslimits.rst deleted file mode 100644 index f48a7553..00000000 --- a/docs/source/upcoming_release_notes/565-poslimits.rst +++ /dev/null @@ -1,23 +0,0 @@ -565 poslimits -############# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- Avoid uncaught ``TypeError`` when ``None`` is present in a positioner - ``.limits``. - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/566-screenshot.rst b/docs/source/upcoming_release_notes/566-screenshot.rst deleted file mode 100644 index e882cc8c..00000000 --- a/docs/source/upcoming_release_notes/566-screenshot.rst +++ /dev/null @@ -1,27 +0,0 @@ -566 screenshot -################# - -API Changes ------------ -- Added ``TyphosSuite.save_screenshot`` which takes a screenshot of the entire - suite as-displayed. -- Added ``TyphosSuite.save_device_screenshots`` which takes individual - screenshots of each device display in the suite and saves them to the - provided formatted filename. - -Features --------- -- Add ``typhos --screenshot filename_pattern`` to take screenshots of typhos - displays prior to exiting early (in combination with ``--exit-after``). - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/570-dynamic_fonts.rst b/docs/source/upcoming_release_notes/570-dynamic_fonts.rst deleted file mode 100644 index 076b116e..00000000 --- a/docs/source/upcoming_release_notes/570-dynamic_fonts.rst +++ /dev/null @@ -1,23 +0,0 @@ -570 dynamic_fontsize -#################### - -API Changes ------------ -- N/A - -Features --------- -- Added dynamic font sizer utility which can work with some Qt-provided widgets - as well as PyDM widgets. - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/571-width_resizing.rst b/docs/source/upcoming_release_notes/571-width_resizing.rst deleted file mode 100644 index 391cc12e..00000000 --- a/docs/source/upcoming_release_notes/571-width_resizing.rst +++ /dev/null @@ -1,22 +0,0 @@ -571 width_resizing -################## - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- typhos suites will now resize in width to fit device displays. - -Maintenance ------------ -- N/A - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/573-py311.rst b/docs/source/upcoming_release_notes/573-py311.rst deleted file mode 100644 index 7fa1db26..00000000 --- a/docs/source/upcoming_release_notes/573-py311.rst +++ /dev/null @@ -1,44 +0,0 @@ -573 py311 -################# - -API Changes ------------ -- The packaged IOC for benchmark testing is now in ``typhos.benchmark.ioc``. -- Qt object names for displays will now be set automatically to aid in - debugging. -- ``LazySubdisplay.get_subdisplay`` now provides the option to only get - existing widgets (by using the argument ``instantiate=False``). - -Features --------- -- Python 3.11 is now being targeted for support in typhos. - -Bugfixes --------- -- ``ophyd.Kind`` usage has been fixed for Python 3.11. Python 3.11 differs in - enumeration of ``IntFlag`` items, resulting in typhos only picking up - component kinds that were a power of 2. -- ``multiprocessing`` is no longer used to spawn the test suite benchmarking - IOC, as it was problematic for Python 3.11. The provided IOC is now spawned - using the same utilities provided by the caproto test suite. -- Vendored pydm ``load_ui_file`` and modified it so we can always get our - ``Display`` instance back in ``TyphosDeviceDisplay``. -- Ignore deleted qt objects on ``SignalConnection.remove_connection``, avoiding - teardown error tracebacks. -- Avoid creating subdisplays during a call to ``TyphosSuite.hide_subdisplays`` -- Added a pytest hook helper to aid in finding widgets that were not cleaned - up. -- Avoid failing screenshot taking when widgets are garbage collected at the - same time. -- Avoid race condition in description cache if the cache is externally cleared - when a new description callback is received. - -Maintenance ------------ -- Avoid hundreds of warnings during line profiling profiling by intercepting - messages about profiling the wrapped function instead of the wrapper. -- The setpoint history menu on ``TyphosLineEdit`` is now only created on-demand. - -Contributors ------------- -- klauer diff --git a/docs/source/upcoming_release_notes/582-enh_positioner_timeout_scale.rst b/docs/source/upcoming_release_notes/582-enh_positioner_timeout_scale.rst deleted file mode 100644 index 0a1dafd8..00000000 --- a/docs/source/upcoming_release_notes/582-enh_positioner_timeout_scale.rst +++ /dev/null @@ -1,22 +0,0 @@ -582 enh_positioner_timeout_scale -################################ - -API Changes ------------ -- N/A - -Features --------- -- Increase motor timeouts proportionally for longer moves. - -Bugfixes --------- -- N/A - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/585-fix_positioner_setpoint.rst b/docs/source/upcoming_release_notes/585-fix_positioner_setpoint.rst deleted file mode 100644 index 91da4fa2..00000000 --- a/docs/source/upcoming_release_notes/585-fix_positioner_setpoint.rst +++ /dev/null @@ -1,23 +0,0 @@ -585 fix_positioner_setpoint -########################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- Fix an issue where setpoint widgets in the full positioner - widget had become zero-width. - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/588-doc_checklist_prnotes.rst b/docs/source/upcoming_release_notes/588-doc_checklist_prnotes.rst deleted file mode 100644 index 48c462e1..00000000 --- a/docs/source/upcoming_release_notes/588-doc_checklist_prnotes.rst +++ /dev/null @@ -1,23 +0,0 @@ -588 doc_checklist_prnotes -######################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- adds TyphosDisplaySwitcher to TyphosPositionerRowWidget -- adds checklist to Pull Request Template - -Contributors ------------- -- tangkong diff --git a/docs/source/upcoming_release_notes/589-pydm_pin.rst b/docs/source/upcoming_release_notes/589-pydm_pin.rst deleted file mode 100644 index e204aa46..00000000 --- a/docs/source/upcoming_release_notes/589-pydm_pin.rst +++ /dev/null @@ -1,23 +0,0 @@ -589 pydm_pin -################# - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- N/A - -Maintenance ------------ -- Update PyDM pin to >=1.19.1 due to Display method being used. - -Contributors ------------- -- klauer -- zllentz diff --git a/docs/source/upcoming_release_notes/592-fix_signal_prec_default.rst b/docs/source/upcoming_release_notes/592-fix_signal_prec_default.rst deleted file mode 100644 index bb414334..00000000 --- a/docs/source/upcoming_release_notes/592-fix_signal_prec_default.rst +++ /dev/null @@ -1,24 +0,0 @@ -592 fix_signal_prec_default -########################### - -API Changes ------------ -- N/A - -Features --------- -- N/A - -Bugfixes --------- -- Fix an issue where ophyd signals with floats would always display with a - precision of 0 without special manual configuration. Floating-point signals - now default to a precision of 3. - -Maintenance ------------ -- N/A - -Contributors ------------- -- zllentz diff --git a/docs/source/upcoming_release_notes/template-full.rst b/docs/source/upcoming_release_notes/template-full.rst index 9f86b87e..31657f76 100644 --- a/docs/source/upcoming_release_notes/template-full.rst +++ b/docs/source/upcoming_release_notes/template-full.rst @@ -7,8 +7,8 @@ Your filename should be issuenumber-title.rst, substituting appropriately. Make sure to fill out any section that represents changes you have made, or replace the default bullet point with N/A. -API Changes ------------ +API Breaks +---------- - List backwards-incompatible changes here. Changes to PVs don't count as API changes for this library, but changing method and component names or changing default behavior does. diff --git a/docs/source/upcoming_release_notes/template-short.rst b/docs/source/upcoming_release_notes/template-short.rst index 5e544ecf..8349cd8a 100644 --- a/docs/source/upcoming_release_notes/template-short.rst +++ b/docs/source/upcoming_release_notes/template-short.rst @@ -1,8 +1,8 @@ IssueNumber Title ################# -API Changes ------------ +API Breaks +---------- - N/A Features