Skip to content
Snippets Groups Projects
Commit 277d7ca1 authored by benjamin.franksen's avatar benjamin.franksen
Browse files

docs: added release notes for 2.1.13 and adapted Installation page

parent 1a92c71c
No related branches found
No related tags found
No related merge requests found
...@@ -28,7 +28,7 @@ Releases are available here: ...@@ -28,7 +28,7 @@ Releases are available here:
http://www-csr.bessy.de/control/SoftDist/sequencer/releases/ 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 :ref:`VersioningPolicy` if you are unsure whether to upgrade to
a new release. a new release.
...@@ -41,40 +41,41 @@ In the releases directory there is always a symbolic link to the ...@@ -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: Older releases can be downloaded by following the links here:
========= =========================== ========= =========================== ============================
Version Release Notes Version Release Notes Known Problems
--------- --------------------------- ========= =========================== ============================
`2.1.12`_ :ref:`Release_Notes_2.1.12` `2.1.13`_ :ref:`Release_Notes_2.1.13` n/a
`2.1.11`_ :ref:`Release_Notes_2.1.11` `2.1.12`_ :ref:`Release_Notes_2.1.12` :ref:`Known_Problems_2.1.12`
`2.1.10`_ :ref:`Release_Notes_2.1.10` `2.1.11`_ :ref:`Release_Notes_2.1.11` n/a
`2.1.9`_ :ref:`Release_Notes_2.1.9` `2.1.10`_ :ref:`Release_Notes_2.1.10` :ref:`Known_Problems_2.1.10`
`2.1.8`_ :ref:`Release_Notes_2.1.8` `2.1.9`_ :ref:`Release_Notes_2.1.9` n/a
`2.1.7`_ :ref:`Release_Notes_2.1.7` `2.1.8`_ :ref:`Release_Notes_2.1.8` :ref:`Known_Problems_2.1.8`
`2.1.6`_ :ref:`Release_Notes_2.1.6` `2.1.7`_ :ref:`Release_Notes_2.1.7` :ref:`Known_Problems_2.1.7`
`2.1.5`_ :ref:`Release_Notes_2.1.5` `2.1.6`_ :ref:`Release_Notes_2.1.6` :ref:`Known_Problems_2.1.6`
`2.1.4`_ :ref:`Release_Notes_2.1.4` `2.1.5`_ :ref:`Release_Notes_2.1.5` :ref:`Known_Problems_2.1.5`
`2.1.3`_ :ref:`Release_Notes_2.1.3` `2.1.4`_ :ref:`Release_Notes_2.1.4` :ref:`Known_Problems_2.1.4`
`2.1.2`_ :ref:`Release_Notes_2.1.2` `2.1.3`_ :ref:`Release_Notes_2.1.3` n/a
`2.1.1`_ :ref:`Release_Notes_2.1.1` `2.1.2`_ :ref:`Release_Notes_2.1.2` n/a
`2.1.0`_ :ref:`Release_Notes_2.1.0` `2.1.1`_ :ref:`Release_Notes_2.1.1` n/a
`2.0.14`_ :ref:`Release_Notes_2.0.14` `2.1.0`_ :ref:`Release_Notes_2.1.0` n/a
`2.0.13`_ :ref:`Release_Notes_2.0.13` `2.0.14`_ :ref:`Release_Notes_2.0.14` n/a
`2.0.12`_ :ref:`Release_Notes_2.0.12` `2.0.13`_ :ref:`Release_Notes_2.0.13` n/a
`2.0.11`_ :ref:`Release_Notes_2.0.11` `2.0.12`_ :ref:`Release_Notes_2.0.12` n/a
`2.0.10`_ :ref:`Release_Notes_2.0.10` `2.0.11`_ :ref:`Release_Notes_2.0.11` n/a
`2.0.9`_ :ref:`Release_Notes_2.0.9` `2.0.10`_ :ref:`Release_Notes_2.0.10` n/a
`2.0.8`_ :ref:`Release_Notes_2.0.8` `2.0.9`_ :ref:`Release_Notes_2.0.9` n/a
`2.0.7`_ :ref:`Release_Notes_2.0.7` `2.0.8`_ :ref:`Release_Notes_2.0.8` n/a
`2.0.6`_ :ref:`Release_Notes_2.0.6` `2.0.7`_ :ref:`Release_Notes_2.0.7` n/a
`2.0.5`_ :ref:`Release_Notes_2.0.5` `2.0.6`_ :ref:`Release_Notes_2.0.6` n/a
`2.0.4`_ :ref:`Release_Notes_2.0.4` `2.0.5`_ :ref:`Release_Notes_2.0.5` n/a
`2.0.3`_ n/a `2.0.4`_ :ref:`Release_Notes_2.0.4` n/a
`2.0.2`_ n/a `2.0.3`_ n/a n/a
`2.0.1`_ :ref:`Release_Notes_2.0.1` `2.0.2`_ n/a n/a
`2.0.0`_ :ref:`Release_Notes_2.0` `2.0.1`_ :ref:`Release_Notes_2.0.1` n/a
`1.9.5`_ :ref:`Release_Notes_1.9` `2.0.0`_ :ref:`Release_Notes_2.0` n/a
`1.9.4`_ :ref:`Release_Notes_1.9` `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.) (Not listed are alpha releases and repository snapshots.)
...@@ -101,6 +102,7 @@ patches. ...@@ -101,6 +102,7 @@ patches.
You can also follow development by using the `repository browser`_. 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 .. _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.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.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 .. _2.1.10: http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.1.10.tar.gz
......
...@@ -17,27 +17,8 @@ the variable never recovers from the situation. ...@@ -17,27 +17,8 @@ the variable never recovers from the situation.
This problem is probably present in all releases of the 2.1 branch. 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 The problem has been fixed in version 2.1.13, see
from the `darcs repository`_ or by downloading and manually applying :ref:`Release_Notes_2.1.13`.
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
.. _Known_Problems_2.1.10: .. _Known_Problems_2.1.10:
......
Release Notes for Version 2.1 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_Notes_2.1.12:
Release 2.1.12 Release 2.1.12
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment