From fe5429c69d96265796c225ef14b755cef8e5f2a7 Mon Sep 17 00:00:00 2001
From: "benjamin.franksen" <benjamin.franksen@helmholtz-berlin.de>
Date: Sun, 12 May 2013 18:53:01 +0000
Subject: [PATCH] docs: started adding release notes for 2.2.0

---
 documentation/Manual.txt           |  1 +
 documentation/ReleaseNotes-2-2.txt | 57 ++++++++++++++++++++++++++++++
 documentation/index.txt            |  1 +
 3 files changed, 59 insertions(+)
 create mode 100644 documentation/ReleaseNotes-2-2.txt

diff --git a/documentation/Manual.txt b/documentation/Manual.txt
index 899efcd3..703c8b84 100644
--- a/documentation/Manual.txt
+++ b/documentation/Manual.txt
@@ -11,6 +11,7 @@ Users' Guide
    Using
    Reference
    Examples
+   ReleaseNotes-2-2
    ReleaseNotes-2-1
    ReleaseNotes-2-0-and-older
    KnownProblems
diff --git a/documentation/ReleaseNotes-2-2.txt b/documentation/ReleaseNotes-2-2.txt
new file mode 100644
index 00000000..6a479749
--- /dev/null
+++ b/documentation/ReleaseNotes-2-2.txt
@@ -0,0 +1,57 @@
+Release Notes for Version 2.2
+=============================
+
+.. _Release_Notes_2.2.0:
+
+Release 2.2.0
+-------------
+
+PV Library
+^^^^^^^^^^
+
+The PV library has been almost completely eliminated. What remains is a
+very think layer over CA, implemented in C, and offering only the
+functionality that is actually needed by the sequencer. The API is similar
+(but not identical) to the old C API; particularly, all the pvStat, pvSevr,
+and pvType definitions are as before.
+
+The documentation for the PV layer has been removed, too. The only remaining
+user relevant part of the interface is contained in pvAlarm.h, see next
+paragraph.
+
+Built-in Constants
+^^^^^^^^^^^^^^^^^^
+
+All built-in constants are now known to *snc* and thus no longer give
+"undefined variable" warnings. They are also documented in the reference.
+
+The *snc*-generated C code for built-in constants now uses the name of the
+constant, instead of its value. This makes the code a bit more readable and
+slightly simplifies code generation.
+
+Foreign Types and Type Casts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+It is now possible to use foreign types (i.e. types declared in C code) in
+variable declarations and in type casts. All types definable in C *except
+function types* are supported. Note however, all uses of C *type aliases*
+(defined in C with ``typedef``) always need to be prefixed with the new
+keyword ``typename`` (which I borrowed from C++). Also note that type
+*definitions* are still not supported in SNL. Type casts are now allowed
+in expressions as in C and with the same precedence. The special sizeof
+function is now supported and can be used with a value (expression) or a
+type expression as in C.
+
+The words ``enum``, ``struct``, ``typename``, and ``union`` are reserved
+words and can no longer be used as identifiers.
+
+In order to make it possible to ``%%#include`` type declarations (so they
+appear in the generated C code but not in the code that SNL has to parse)
+*and* use them in global variable declarations, the generated variable
+block is now placed *after* escaped C code that appears before the first
+state set. In previous versions, this was the other way around. Note that
+this means that escaped C code that appears before the first state set
+cannot access global variables declared in SNL, even if the reentrant
+option is not in effect. Such C code should now be placed after the last
+state set.
+
diff --git a/documentation/index.txt b/documentation/index.txt
index b821780c..7538135b 100644
--- a/documentation/index.txt
+++ b/documentation/index.txt
@@ -26,6 +26,7 @@ download, build, and install the software.
    Using
    Reference
    Examples
+   ReleaseNotes-2-2
    ReleaseNotes-2-1
    ReleaseNotes-2-0-and-older
    KnownProblems
-- 
GitLab