# Release Notes This document describes the changes that were included in the release of EPICS noted below. Release entries are now provided in a separate document for each version in the EPICS 7 series, but all are combined into a single page for publishing on the EPICS website. Separate release documents are also included from the older Base 3.15 and 3.16 series. The external PVA submodules continue to maintain their own release notes files as before, but the entries describing changes in those submodules since version 7.0.5 have been copied into the associated EPICS Release Notes files; they will also be manually added to new EPICS Release Notes published in the future. ## EPICS Release 7.0.10.1-DEV __This version of EPICS has not been released yet.__ __The version number used for the next release may be different to the one shown above.__ The changes described below have been merged into EPICS since the last published release. ### Fix undefined timestamp for NORD field When monitoring non-val fields such as `NORD` for several record types updates are not sent out correctly resulting in incorrect timestamps. This fixes this for the record types `aai`, `aao`, `subArray`. Note that support modules that already implement this in the device support layer will need to be updated to avoid doubled monitor updates. If those modules are to be built against older versions of EPICS base then they will need to use the defined macros `AAO_POSTS_NORD`, `AAI_POSTS_NORD`, `SA_POSTS_NORD`, or `WF_POSTS_NORD` as appropriate to detect this change. ### iocInit wait for local CA links to connect PR [768](https://github.com/epics-base/epics-base/pull/768) During iocInit(), wait for local CA links to connect. With this change, database authors can be certain that any local CA link is connected prior to `initHookAfterIocRunning` and `field(PINI, RUNNING)`. ### epicsThreadGetCPUs and callbackParallelThreads On systems that support it (e.g. recent Linux systems), `epicsThreadGetCPUs()` now takes the current cpu affinity mask of the calling thread into acount. That fixes the problem that an IOC which was started with a limited affinity mask (e.g. using `taskset`) and that called `callbackParallelThreads` with an argument of 0 in the startup script, had started more parallel callback threads than it has CPU cores available. The iocsh function `callbackParallelThreads` now also accepts positive or negative percentages for `count`, referring to the availabple number of cores and always rounding the number of used cores down with a minimum of 1. #### Examples ```text # use up to 25% of available cpu cores for callback threads callbackParallelThreads 25% # keep at least 10% of available cpu cores unused for callback threads callbackParallelThreads -10% ``` ### Expose `dbCreateRecord` in IOC shell Add a new IOC shell command `dbCreateRecord` allowing for records to be created from the shell. Only works when called before `iocInit` and will fail if called afterwards. The pdbbase variable, a record type, and the new record's name should be passed as arguments. Example usage: ```sh dbCreateRecord(pdbbase, "ai", "example:ai") iocInit() ``` ### AFTC for bi record The bi record now also supports the AFTC parameter. The AFTC field sets the time constant on a low-pass filter that delays the reporting of limit alarms until the signal has been within the alarm range for that number of seconds (the default AFTC value of zero retains the previous behavior). One has to make sure that the bi record is processed at a reasonably fast rate when using AFTC, so that the record can respond to changes in the input signal within the time constant. ### AFTC and LALM fix for mbbi record Fixed two issues in the mbbi record where the AFTC and LALM fields were not operating as expected. ----- ## EPICS Release 7.0.10 ```{include} ../../RELEASE-7.0.10.md :start-after: EPICS Release 7.0.10 ``` ----- ## EPICS Release 7.0.9 ```{include} ../../RELEASE-7.0.9.md :start-after: EPICS Release 7.0.9 ``` ----- ## EPICS Release 7.0.8.1 ```{include} ../../RELEASE-7.0.8.1.md :start-after: EPICS Release 7.0.8.1 ``` ----- ## EPICS Release 7.0.8 ```{include} ../../RELEASE-7.0.8.md :start-after: EPICS Release 7.0.8 ``` ----- ## EPICS Release 7.0.7 ```{include} ../../RELEASE-7.0.7.md :start-after: EPICS Release 7.0.7 ``` ----- ## EPICS Release 7.0.6.1 ```{include} ../../RELEASE-7.0.6.1.md :start-after: EPICS Release 7.0.6.1 ``` ----- ## EPICS Release 7.0.6 ```{include} ../../RELEASE-7.0.6.md :start-after: EPICS Release 7.0.6 ``` ----- ## EPICS Release 7.0.5 ```{include} ../../RELEASE-7.0.5.md :start-after: EPICS Release 7.0.5 ``` ----- ## EPICS Release 7.0.4.1 ```{include} ../../RELEASE-7.0.4.1.md :start-after: EPICS Release 7.0.4.1 ``` ----- ## EPICS Release 7.0.4 ```{include} ../../RELEASE-7.0.4.md :start-after: EPICS Release 7.0.4 ``` ----- ## EPICS Release 7.0.3.1 ```{include} ../../RELEASE-7.0.3.1.md :start-after: EPICS Release 7.0.3.1 ``` ----- ## EPICS Release 7.0.3 ```{include} ../../RELEASE-7.0.3.md :start-after: EPICS Release 7.0.3 ``` ----- ## EPICS Release 7.0.2.2 ```{include} ../../RELEASE-7.0.2.2.md :start-after: EPICS Release 7.0.2.2 ``` ----- ## EPICS Release 7.0.2.1 ```{include} ../../RELEASE-7.0.2.1.md :start-after: EPICS Release 7.0.2.1 ``` ----- ## EPICS Release 7.0.2 ```{include} ../../RELEASE-7.0.2.md :start-after: EPICS Release 7.0.2 ``` ----- ## EPICS Release 7.0.1.1 ```{include} ../../RELEASE-7.0.1.1.md :start-after: EPICS Release 7.0.1.1 ``` ----- ```{include} ../../RELEASE-3.16.md :heading-offset: 1 ``` ----- ```{include} ../../RELEASE-3.15.md :heading-offset: 1 ```