diff --git a/ChangeLog b/ChangeLog
index 42deaf073..5355abaa6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2015-11-19 Peter Stephenson
+ * 37159: NEWS, README: update for next version.
+
* unposted: Doc/Zsh/params.yo: describe separators between
values in array assignment.
@@ -63,7 +65,7 @@
2015-11-12 Peter Stephenson
* 37096: Src/subst.c, Test/D04parameter.ztst: make top-level
- ${(P)...} with nested ${(P)...} to the right thing.
+ ${(P)...} with nested ${(P)...} do the right thing.
* 37094: Src/subst.c, Test/D04parameter.ztst: Further tweaks to
parameter name references: array safety; nested parameters; tests.
diff --git a/NEWS b/NEWS
index bc14a8beb..3964da732 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,36 @@ CHANGES FROM PREVIOUS VERSIONS OF ZSH
Note also the list of incompatibilities in the README file.
+Changes from 5.1.1 to 5.2
+-------------------------
+
+The new module zsh/param/private can be loaded to allow the shell
+to define parameters that are private to a function scope (i.e. are
+not propagated to nested functions called within this function).
+
+The parameter flag ${(P)...} is now more useful when it appears in
+a nested expansion. For example,
+
+ typeset -A assoc=(one un two deux three trois)
+ name=assoc
+ print ${${(P)name}[one]}
+
+now prints "un". In previous versions of the shell the value of the
+substitution was fully expanded on return from ${(P)name}, making
+associative array subscripting difficult. As a side effect, flags
+for formatting appearing in the inner substitution now affect the
+substitution of the name (into "assoc" in this case), which is not
+normally useful: flags that should apply to the value must be in the
+outer substitution.
+
+The GLOB_STAR_SHORT option allows the pattern **/* to be shortened to
+just ** if no / follows. so **.c searches recursively for a file whose
+name has the suffix ".c".
+
+The effect of the WARN_CREATE_GLOBAL option has been significantly
+extended, so expect it to cause additional warning messages about
+parameters created globally within function scope.
+
Changes from 5.1 to 5.1.1
-------------------------
diff --git a/README b/README
index 957152114..9cb352a5f 100644
--- a/README
+++ b/README
@@ -32,8 +32,16 @@ Zsh is a shell with lots of features. For a list of some of these, see the
file FEATURES, and for the latest changes see NEWS. For more
details, see the documentation.
-Incompatibilites between 5.0.8 and 5.1
---------------------------------------
+Incompatibilities between 5.1 and 5.2
+-------------------------------------
+
+The behaviour of the parameter flag (P) has changed when it appears
+in a nested parameter group, in order to make it more useful in
+such cases. A (P) in the outermost parameter group behaves as
+before. See NEWS for more.
+
+Incompatibilities between 5.0.8 and 5.1
+---------------------------------------
The default behaviour when text is pasted into an X Windows terminal has
changed significantly (unless you are using a very old terminal emulator