v2.8 releases

Version 2.8.13

New patch release, created on 7th March 2024. Milestone: v2.8.13 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • uHAL, Python bindings: Added Alma8 Python 3.9 build. [issue #313]

Version 2.8.12

New patch release, created on 31st August 2023. Milestone: v2.8.12 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • uHAL, Python bindings: Added Alma8 Python 3.11 build. [issue #306]

  • IPbus address decoder generator script: Fixed ‘undefined variable’ bug for 0 endpoints [issue #306]

Version 2.8.11

New patch release, created on 24th August 2023. Milestone: v2.8.11 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • Python bindings: Fix packaging issues with recent setuptools releases [issue #300]

  • IPbus address decoder generator script: Updated Python shebang for use on non-RHEL-based operating systems [issue #302]

  • IPbus address decoder generator script: Fixed bug in output for 1 endpoint [issue #303]

Version 2.8.10

New patch release, created on 15th June 2023. Milestone: v2.8.10 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • Moved ipbus2_udp_status.escript from the uHAL tests RPM to the ControlHub RPM, to remove dependency of uHAL tests on Erlang [issue #293]

  • uHAL, Python bindings: Added Alma9 Python 3.11 build. [issue #295]

    • This required updating to pybind v2.10.4 (which also brings support for GCC13).

  • CentOS7 GCC8 boost build: Enabled zlib components. [issue #296]

  • Updated the IPbus address decoder generator script to accept ‘empty nodes’ (Courtesy of Jeroen Hegeman.) [issue #297]

Version 2.8.9

New patch release, created on 22nd February 2023. Milestone: v2.8.9 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • uHAL, ipbusmmap-2.0 client: Updated size of memory map to support default FW settings [issue #285]

  • uHAL, ipbusmmap-2.0 client: Updated code to check that addresses accessed are inside the mmapped space [issue #286]

Version 2.8.8

New patch release, created on 11th February 2023. Milestone: v2.8.8 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • uHAL Python bindings: Automatically block SIGBUS on import [issue #284]

  • uHAL: Removed some supefluous semicolons [issue #283]

Version 2.8.7

New patch release, created on 5th February 2023. Milestone: v2.8.7 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • Created ARMv7 YUM repository for EL7

Version 2.8.6

New patch release, created on 4th January 2023. Milestone: v2.8.6 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

  • uHAL: Fixed bug in version macros.

Version 2.8.5

New patch release, created on 3rd January 2023. Milestone v2.8.5 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

Improvements

  • Fixed build error RedHat/Alma/Rocky 9 build errors, and created corresponding EL9 YUM repository

  • Created 64-bit ARM YUM repositories for EL7, 8 & 9

  • uHAL: Added support for handling during reads & writes for mmap’ed device files (i.e. a SIGBUS signal handler) [issue #278]

  • ControlHub: Added support for restricting devices to a specific set of IP addresses, and optionally also specific ports (the ‘device allowlist’) [issue #274]

Version 2.8.4

New patch release, created on 17th November 2022. Milestone v2.8.4 release

Compatability with respect to previous v2.8.x release: API and ABI compatible

Minor improvement

  • uHAL: Stopped mmap client from throwing exceptions for all successful transactions following a failed transaction [issue #271]

Version 2.8.3

New patch release, created on 1st April 2021. Milestone: v2.8.3 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

Minor improvement

  • uHAL: Fixed RPM build failure on Red Hat 8 [issue #261]

Version 2.8.2

New patch release, created on 10th February 2021. Milestone: v2.8.2 release

Compatability with respect to previous v2.8.x releases: API and ABI compatible

Minor improvement

  • uHAL: Removed requirement for users of ipbusmmap-2.0 client to set the UHAL_ENABLE_IPBUS_MMAP environment variable [issue #258]

Version 2.8.1

New patch release, created on 19th June 2021. Milesteone: v2.8.1 release

Compatability with respect to v2.8.0: API and ABI compatible

Bugfixes

  • uHAL (Python): Fixed __str__ method of uHAL exceptions (bug introduced in v2.8.0) [issue #250]

Minor improvements

  • uHAL (Python): Implemented Python buffer protocol for ValVector<uint32_t>, to allow for zero-copy access to underlying data (courtesy of Lukas Koch) [pull requests #238 and #253]

  • uHAL: Added version header, uhal/version.h [issue #252]

  • uHAL: Updated default LDFLAGS to resolve linkage problems on latest version of Ubuntu [pull requests #240 and #252]

  • uHAL: Added address to message of exception thrown when invalid bits are set in masked writes [#248]

Version 2.8.0

New minor release, created on 29th January 2021. Milestone: v2.8.0 release

Compatibility with respect to last release (v2.7.9) : API compatible, but ABI incompatible

Backward incompatible changes

  • We dropped support for SLC6 in this release (since support for the OS itself ceased in 2020).

  • Since uHAL and the ControlHub are often not used on the same machine in larger systems, we split up the previous YUM group (ipbus-sw) into three groups: uhal, uhal-debug and controlhub

  • Since the YUM repositories now provide Python bindings RPMs for multiple Python versions, we updated the name of the Python bindnings and GUI RPMs to cactuscore-uhal-pythonXY and cactuscore-uhal-pythonXY-gui (where X and Y are the major and minor Python version numbers).

Major improvements

  • uHAL: Added Python bindings for newer Python versions to official YUM repositories - specifically for Python 3.4 and 3.6 in CentOS7, and for Python 3.6 and 3.8 in CentOS8 [issues #227 and #235]

    • Note: Python bindings are now created using a header-only library (rather than boost Python), which allows for more flexibility in building the bindings for different Python versions on other operating systems as well (since boost does not need to be built against the same Python version).

  • uHAL: Updated source code to use C++11 features and libraries [issue #226]

Minor improvements

  • uHAL: Added optional max_payload_size attribute to ipbusudp, ipbustcp and chtcp` URIs, to enable full use of jumbo Ethernet frames [issue #221]

  • uHAL: Updated code to eliminate warnings encountered when building with stricter (non-default) compiler flags [issue #232]

Bugfixes

  • ControlHub: Fixed build errors encountered when using Erlang 23 [issues #222 and #223]