pvget: Add -S option to pvget/pvmonitor to stringify byte arrays (Jeremy Lorelli)
Release 7.1.8 (December 2025)
Compatible changes
Capped the number and age of PVA beacons to avoid a resource leak. Beacons older than 360 seconds will be destroyed automatically, new beacons will be ignored if >=2048 exist already.
Various Clang, MSVC and GCC compiler warnings cleaned up.
Release 7.1.7 (December 2023)
Changes
Registering the PVA server with the IOC now sets the PVAS_SERVER_PORT variable in the environment.
Release 7.1.6 (September 2022)
Changes to caProvider
Bug fix related to enum values.
More internal changes to improve performance when connecting tens of thousands of CA channels.
Several minor internal improvements.
Release 7.1.5 (October 2021)
Changes to caProvider
Resolve issues with pv structures that don't have a value field
Add NULL checks for handling unusual structures
Speed up channel creation when using large numbers of channels
Release 7.1.4 (June 2021)
Changes
Adjust argument parsing with pvput (Jesus Vasquez).
Release 7.1.3 (Feb. 2021)
Bug fixes
Increase default TCP timeout to 40 seconds. Applies a 4/3 multiplier on $EPICS_PVA_CONN_TMO for compatibility.
CA Provider implementation restructured to simplify, reduce duplication and fix issues #163 and #165.
Changes
Enable building of pvtools to all except vxWorks, RTEMS and iOS.
Release 7.1.2 (July 2020)
Changes
Destroyable::destroy() is optional
Bug fixes
SharedPV::post() handle bad_weak_ptr
Release 7.1.1 (May 2020)
Changes
Add 'pval' iocsh command to list names from all providers of the running server.
Start protocol CID, SID, and IOID from different non-zero values.
Bug fixes
client: fix mixed up CID/SID in CMD_DESTROY_CHANNEL handler. Protocol decode error effecting all previous versions.
pvput fix JSON mode regression
Some error messages incorrectly showed "<IPA>" instead of an actual IP+port.
Peers claiming protocol minor version 0 are ignored. The change from 0 -> 1 included incompatible changes to CMD_BEACON and several others network messages, and inter-operation was never possible. Attempts resulted in printing error messages to console.
Implement idle timeout on TCP connections. Introduces minor protocol version 2. Connections between v2 peers send a CMD_ECHO message from client -> server. Either side will close the TCP connection if no message has been received within the past 30 seconds (by default). This can be configured with $EPICS_PVA_CONN_TMO .
Changes
The output of the 'pvasr' iocsh command has been expanded.
Release 6.1.2 (Apr 2019)
Changes
When available, use environment variable defaults from Base
Relax state check in epics::pvAccess::MonitorFIFO::post() and tryPost() to allow post() while closed. Allows user code to avoid extra synchronization during shutdown (just call close() ). Synchronization between open() and post() on type change is still required.
No longer install testServer, testGetPerformance, testMonitorPerformance, rpcServiceExample, rpcServiceAsyncExample, rpcWildServiceExample, rpcClientExample, and pipelineServiceExample. These will continue to be built, and may be found under testApp/O.* .
The eget CLI utility has moved to https://github.com/epics-base/eget The new pvcall and existing pvget replace its role as a low level troubleshooting tool.
Remove deprecated methods configure(), flush(), and poll() from ChannelProvider.
pvget -m shows time and alarm if available (thanks to Andrew Starritt)
PVA Server now handles pipeline=true automatically for all ChannelProviders. It is only necessary to implement epics::pvAccess::Monitor::reportRemoteQueueStatus() to receive notification of initial window size.
Most locking issues in the 'ca' provider should now be resolved.
Additions
Add pvmonitor execuable as an alias for 'pvget -m'.
Add new pvcall executable to make RPC calls with arguments encoded using the NTURI convention.
pvput to NTEnum via. string now supported
pvac::* add valid() method and boolean cast shorthand. Also reset() and operator<<(ostream, ...)
Add pvac::GetEvent::valid to determine fields actually transfered during a Get operation.
Add new library pvAccessIOC for use with PVAClientRegister.dbd and PVAServerRegister.dbd. Necessary to avoid having pvAccess library depend on all IOC core libraries.
Added new library pvAccessCA with "ca" provider. Main pvAccess library no longer depends on libca. Applications needing the "ca" provider must link against pvAccessCA and pvAccess. See examples/Makefile in the source tree. The headers associated with this library are: caChannel.h, caProvider.h, and caStatus.h
A number of headers which were previously installed, but considered "private", are no longer installed.