diff --git a/documentation/Installation.txt b/documentation/Installation.txt index 1189dd4f7a41db88a3523621cf6a56d9008b2a36..e866d394756844ebab8e57d625e5ad937cce50df 100644 --- a/documentation/Installation.txt +++ b/documentation/Installation.txt @@ -28,7 +28,7 @@ Releases are available here: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/ -The current stable release is `2.1.12`_. Please take a look at the +The current stable release is `2.1.13`_. Please take a look at the :ref:`VersioningPolicy` if you are unsure whether to upgrade to a new release. @@ -41,40 +41,41 @@ In the releases directory there is always a symbolic link to the Older releases can be downloaded by following the links here: - ========= =========================== - Version Release Notes - --------- --------------------------- - `2.1.12`_ :ref:`Release_Notes_2.1.12` - `2.1.11`_ :ref:`Release_Notes_2.1.11` - `2.1.10`_ :ref:`Release_Notes_2.1.10` - `2.1.9`_ :ref:`Release_Notes_2.1.9` - `2.1.8`_ :ref:`Release_Notes_2.1.8` - `2.1.7`_ :ref:`Release_Notes_2.1.7` - `2.1.6`_ :ref:`Release_Notes_2.1.6` - `2.1.5`_ :ref:`Release_Notes_2.1.5` - `2.1.4`_ :ref:`Release_Notes_2.1.4` - `2.1.3`_ :ref:`Release_Notes_2.1.3` - `2.1.2`_ :ref:`Release_Notes_2.1.2` - `2.1.1`_ :ref:`Release_Notes_2.1.1` - `2.1.0`_ :ref:`Release_Notes_2.1.0` - `2.0.14`_ :ref:`Release_Notes_2.0.14` - `2.0.13`_ :ref:`Release_Notes_2.0.13` - `2.0.12`_ :ref:`Release_Notes_2.0.12` - `2.0.11`_ :ref:`Release_Notes_2.0.11` - `2.0.10`_ :ref:`Release_Notes_2.0.10` - `2.0.9`_ :ref:`Release_Notes_2.0.9` - `2.0.8`_ :ref:`Release_Notes_2.0.8` - `2.0.7`_ :ref:`Release_Notes_2.0.7` - `2.0.6`_ :ref:`Release_Notes_2.0.6` - `2.0.5`_ :ref:`Release_Notes_2.0.5` - `2.0.4`_ :ref:`Release_Notes_2.0.4` - `2.0.3`_ n/a - `2.0.2`_ n/a - `2.0.1`_ :ref:`Release_Notes_2.0.1` - `2.0.0`_ :ref:`Release_Notes_2.0` - `1.9.5`_ :ref:`Release_Notes_1.9` - `1.9.4`_ :ref:`Release_Notes_1.9` - ========= =========================== + ========= =========================== ============================ + Version Release Notes Known Problems + ========= =========================== ============================ + `2.1.13`_ :ref:`Release_Notes_2.1.13` n/a + `2.1.12`_ :ref:`Release_Notes_2.1.12` :ref:`Known_Problems_2.1.12` + `2.1.11`_ :ref:`Release_Notes_2.1.11` n/a + `2.1.10`_ :ref:`Release_Notes_2.1.10` :ref:`Known_Problems_2.1.10` + `2.1.9`_ :ref:`Release_Notes_2.1.9` n/a + `2.1.8`_ :ref:`Release_Notes_2.1.8` :ref:`Known_Problems_2.1.8` + `2.1.7`_ :ref:`Release_Notes_2.1.7` :ref:`Known_Problems_2.1.7` + `2.1.6`_ :ref:`Release_Notes_2.1.6` :ref:`Known_Problems_2.1.6` + `2.1.5`_ :ref:`Release_Notes_2.1.5` :ref:`Known_Problems_2.1.5` + `2.1.4`_ :ref:`Release_Notes_2.1.4` :ref:`Known_Problems_2.1.4` + `2.1.3`_ :ref:`Release_Notes_2.1.3` n/a + `2.1.2`_ :ref:`Release_Notes_2.1.2` n/a + `2.1.1`_ :ref:`Release_Notes_2.1.1` n/a + `2.1.0`_ :ref:`Release_Notes_2.1.0` n/a + `2.0.14`_ :ref:`Release_Notes_2.0.14` n/a + `2.0.13`_ :ref:`Release_Notes_2.0.13` n/a + `2.0.12`_ :ref:`Release_Notes_2.0.12` n/a + `2.0.11`_ :ref:`Release_Notes_2.0.11` n/a + `2.0.10`_ :ref:`Release_Notes_2.0.10` n/a + `2.0.9`_ :ref:`Release_Notes_2.0.9` n/a + `2.0.8`_ :ref:`Release_Notes_2.0.8` n/a + `2.0.7`_ :ref:`Release_Notes_2.0.7` n/a + `2.0.6`_ :ref:`Release_Notes_2.0.6` n/a + `2.0.5`_ :ref:`Release_Notes_2.0.5` n/a + `2.0.4`_ :ref:`Release_Notes_2.0.4` n/a + `2.0.3`_ n/a n/a + `2.0.2`_ n/a n/a + `2.0.1`_ :ref:`Release_Notes_2.0.1` n/a + `2.0.0`_ :ref:`Release_Notes_2.0` n/a + `1.9.5`_ :ref:`Release_Notes_1.9` n/a + `1.9.4`_ :ref:`Release_Notes_1.9` n/a + ========= =========================== ============================ (Not listed are alpha releases and repository snapshots.) @@ -101,6 +102,7 @@ patches. You can also follow development by using the `repository browser`_. .. _latest snapshot: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-snapshot-latest.tar.gz +.. _2.1.13: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.13.tar.gz .. _2.1.12: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.12.tar.gz .. _2.1.11: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.11.tar.gz .. _2.1.10: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.10.tar.gz diff --git a/documentation/KnownProblems.txt b/documentation/KnownProblems.txt index dca24f026699cdc2425a4bdfaf90df8fc2c645ce..206ee98cd61f389e076446ecac9fdaf580cec08e 100644 --- a/documentation/KnownProblems.txt +++ b/documentation/KnownProblems.txt @@ -17,27 +17,8 @@ the variable never recovers from the situation. This problem is probably present in all releases of the 2.1 branch. -A patch is available that fixes the problem. You can cherry-pick it -from the `darcs repository`_ or by downloading and manually applying -a patch file (using ``patch -p1 <patchfile>``): - -* seq: fix problem with synchronous pvPut/pvGet - - The problem was that that once a synchronous request times out, the - variable would never recover from the timeout state. This was because - the semaphores would not be signalled on timeout. However, in order - to correctly discard events (i.e. callbacks from CA) that belong to - timed out requests, we have to remember them. This is what the getReq - and putReq arrays in struct state_set are for. - - The fix assumes that CA will eventually call the callback for each - accepted request, even if the channel disconnects. If the assumption is - wrong then we have a memory leak. - - Download patch file here: `2.1.12-fix1.patch`_. - -.. _2.1.12-fix1.patch: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.12-fix1.patch -.. _darcs repository: http://www-csr.bessy.de/control/SoftDist/sequencer/repo/branch-2-1 +The problem has been fixed in version 2.1.13, see +:ref:`Release_Notes_2.1.13`. .. _Known_Problems_2.1.10: diff --git a/documentation/ReleaseNotes-2-1.txt b/documentation/ReleaseNotes-2-1.txt index 2ed48728ebc8b21016a50dab3f16aef421882326..6310be838abe5edb7a71ea4d0e98653b86b5fbc0 100644 --- a/documentation/ReleaseNotes-2-1.txt +++ b/documentation/ReleaseNotes-2-1.txt @@ -1,6 +1,85 @@ Release Notes for Version 2.1 ============================= +.. _Release_Notes_2.1.13: + +Release 2.1.13 +-------------- + +User relevant changes: + +* seq: fix problem with synchronous pvPut/pvGet + + The problem was that that once a synchronous request times out, the + variable would never recover from the timeout state. This was because + the semaphores would not be signalled on timeout. Thanks to + Carl Lionberger <calionberger@lbl.gov> for the original report and + initial analysis, and to J. Lewis Muir <jlmuir@imca-cat.org> who + suggested using unique IDs in order to correctly discard callbacks + for time out requests. See `this tech-talk thread + <http://www.aps.anl.gov/epics/tech-talk/2013/msg01164.php>`_. + + The fix assumes that CA will eventually call the callback for each + accepted request, even if the channel disconnects. The CA documentation + suggests that this is indeed the case. + +* seq: fixed a corner case in ASYNC put/get + + If epicsEventTryWait succeeds, there could still be a previous request + pending that has timed out. This happens e.g. if the user code did not + call pvGetComplete resp. pvPutComplete. In that case we must reset the + request pointer to NULL in order to invalidate the request so it gets + ignored whenever it finally arrives. + +* added regression tests for pvGet/pvPut (SYNC) timeout recovery + +* added a test for using event flag in C function + + This has been added after Joe Sullivan <sullivan@aps.anl.gov> + noted that in version 2.1 there are no #define'ed constants for + event flags, as was the case in version 2.0. See + `this thread on tech-talk + <http://www.aps.anl.gov/epics/tech-talk/2013/msg00891.php>`_. + +Internal changes to the test subsystem: + +* no longer use the softIoc binary from base + + Instead, we use the same binary we produce for the test case, and + add an extra switch -t that enables running the sequencer program. + +* for testing, add a backdoor to change the default timeout + + I plan to add extra timeout parameters to pvPut and pvGet in version + 2.2, which is why I do not want this to be part of the public + (documented) API. + +* separate testHarness from startup for vxWorks + + This is so I can first start up the IOC, then switch to telnet console, + and then start the tests. The console output (quite verbose for some of + the tests) will be much faster in this way and the tests accordingly + more realistic. + +Documentation changes: + +* added link to known problems in 2.1.12 to release notes page +* updated the known problems page +* fixed obsolete email address in latex options +* added rule for missing/excess PV names in array assign clause +* make footer style same as header (for html output) +* adapted README to ReleaseNotes split +* extended HZB copyright to 2013 (only front page and LICENSE) +* some html layout improvements +* some improvements/updates in the Installation chapter +* new layout and blurb for home page +* fixed a few bad todo and note items +* added link to talk slides to home page +* fixed a typo in the reference +* re-wrote the front page blurb +* split release notes into separate files (one per version) +* explain builtin delay as synonym for elapsed + .. _Release_Notes_2.1.12: Release 2.1.12