v2.8 releases¶
Version 2.8.15¶
New patch release, created on 10th October 2024. Milestone: v2.8.15 release
Stopped automated CentOS7 ARMv7 builds; no longer adding RPMs to ARMv7 EL7 YUM repo
uHAL, IPbus-over-mmap client: Added interprocess mutual exclusion, to ensure that multiple client interface instances do not issue transactions at the same time [issue #322]
ControlHub: Fix post-install & pre-uninstall scriptlets of EL8 & EL9 RPMs [issue #318]
Due to a makefile bug, these accidentally used SLC6 service management commands, e.g.
/sbin/service
and/sbin/chkconfig
CI: Update images (mainly to resolve CentOS7 EOL errors)
Version 2.8.14¶
New patch release, created on 27th April 2024. Milestone: v2.8.14 release
uHAL: Added ARM64 GCC8 CentOS7 build [issue #314]
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 theUHAL_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
andcontrolhub
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
andcactuscore-uhal-pythonXY-gui
(whereX
andY
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 toipbusudp
,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