diff --git a/Doc/lib/libnis.tex b/Doc/lib/libnis.tex
index 1d52868..cc1482d 100644
--- a/Doc/lib/libnis.tex
+++ b/Doc/lib/libnis.tex
@@ -15,7 +15,7 @@
 
 The \module{nis} module defines the following functions:
 
-\begin{funcdesc}{match}{key, mapname}
+\begin{funcdesc}{match}{key, mapname[, domain=default_domain]}
 Return the match for \var{key} in map \var{mapname}, or raise an
 error (\exception{nis.error}) if there is none.
 Both should be strings, \var{key} is 8-bit clean.
@@ -24,9 +24,13 @@
 
 Note that \var{mapname} is first checked if it is an alias to another
 name.
+
+\versionchanged[The \var{domain} argument allows to override
+the NIS domain used for the lookup. If unspecified, lookup is in the
+default NIS domain]{2.5}
 \end{funcdesc}
 
-\begin{funcdesc}{cat}{mapname}
+\begin{funcdesc}{cat}{mapname[, domain=default_domain]}
 Return a dictionary mapping \var{key} to \var{value} such that
 \code{match(\var{key}, \var{mapname})==\var{value}}.
 Note that both keys and values of the dictionary are arbitrary
@@ -34,12 +38,23 @@
 
 Note that \var{mapname} is first checked if it is an alias to another
 name.
+
+\versionchanged[The \var{domain} argument allows to override
+the NIS domain used for the lookup. If unspecified, lookup is in the
+default NIS domain]{2.5}
 \end{funcdesc}
 
-\begin{funcdesc}{maps}{}
+ \begin{funcdesc}{maps}{[domain=default_domain]}
 Return a list of all valid maps.
+
+\versionchanged[The \var{domain} argument allows to override
+the NIS domain used for the lookup. If unspecified, lookup is in the
+default NIS domain]{2.5}
 \end{funcdesc}
 
+ \begin{funcdesc}{get_default_domain}{}
+Return the system default NIS domain. \versionadded{2.5}
+\end{funcdesc}
 
 The \module{nis} module defines the following exception:
 
