texlive[61868] Master/texmf-dist: biblatex (3feb22)

commits+karl at tug.org commits+karl at tug.org
Thu Feb 3 23:11:47 CET 2022


Revision: 61868
          http://tug.org/svn/texlive?view=revision&revision=61868
Author:   karl
Date:     2022-02-03 23:11:47 +0100 (Thu, 03 Feb 2022)
Log Message:
-----------
biblatex (3feb22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst
    trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
    trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates.tex
    trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def
    trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
    trunk/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
    trunk/Master/texmf-dist/tex/latex/biblatex/blx-compat.def
    trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/basque.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/romanian.lbx

Modified: trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst	2022-02-03 22:11:47 UTC (rev 61868)
@@ -184,7 +184,7 @@
            last.name last.hash last.year last.extra }
 
 FUNCTION {initialize} {
-  "$Revision: 3.16 $"
+  "$Revision: 3.17 $"
   #12 entry.max$ substring$
   #-3 entry.max$ substring$
   "Biblatex version: " swap$ * top$
@@ -692,10 +692,12 @@
 }
 
 FUNCTION {format:name:initials} {
+  "\." "[[[DOT ACCENT]]]" str:replace
   ".-" "\bibinithyphendelim " str:replace
   ".~" "\bibinitperiod\bibinitdelim " str:replace
   ". " "\bibinitperiod\bibinitdelim " str:replace
   "." "\bibinitperiod" str:replace
+  "[[[DOT ACCENT]]]" "\." str:replace
 }
 
 FUNCTION {is.number} {
@@ -1926,7 +1928,7 @@
 % This version corresponds to the .bcf version, *not* the biblatex version!
 FUNCTION {input:control:version} {
   input:control:parse
-  "$Revision: 3.7 $"
+  "$Revision: 3.8 $"
   #12 entry.max$ substring$
   #-3 entry.max$ substring$
   'tempstrga :=
@@ -2769,7 +2771,7 @@
 % This version corresponds to the .bbl version, *not* the biblatex version!
 FUNCTION {output:main:begin} {
   "% $ biblatex auxiliary file $"                               write$ newline$
-  "% $ biblatex bbl format version " "$Revision: 3.1 $"
+  "% $ biblatex bbl format version " "$Revision: 3.2 $"
   #12 entry.max$ substring$ #-3 entry.max$ substring$ * " $" *  write$ newline$
   "% Do not modify the above lines!"                            write$ newline$
   "%"                                                           write$ newline$

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md	2022-02-03 22:11:47 UTC (rev 61868)
@@ -1,3 +1,65 @@
+# RELEASE NOTES FOR VERSION 3.17
+- **INCOMPATIBLE CHANGE**
+  The behaviour of index-less granular xdata references to list fields has
+  changed. Before, a reference to an XDATA list field would select the
+  first element in the XDATA field list if no index was given but now this
+  will splice in all elements of the XDATA list field. To ensure the
+  previous behaviour, simply add "-1" (assuming the default value of "-"
+  for the biber 'xdatasep' option) to the end of all granaular list
+  XDATA references.
+- Added helper macros to enable calculations with non-ASCII numerals.
+  This is necessary to properly support languages like Marathi.
+  At the moment the 'translation' is very basic and uses a one-to-one
+  correspondence of US-ASCII (Arabic) digits and non-ASCII digits.
+  The translation also needs additional post-processing steps.
+  Use `\blx at defcomputableequivalent{<numeral digit>}{<ASCII digit>}` to
+  make `<numeral digit>` an equivalent of `<ASCII digit>`
+  (presumably this command will be used in `.lbx` files if the language
+  requires it).
+  `\hascomputableequivalent{<string>}` can be used to check if `<string>`
+  is a number that can be converted to a number with ASCII digits.
+  `\getcomputableequivalent{<string>}{<macro>}` does the conversion
+  and saves the number in `<macro>`.
+  There is `\ifiscomputable{<string>}` to check if a `<string>`
+  is an ASCII number OR has a computable equivalent.
+  There are analogous macros for fields instead of strings.
+- Added `\textouterlang` to select the last active language that
+  was not selected by `biblatex` itself.
+  This may help in multilingual setups where `biblatex` also changes the
+  language quite heavily.
+- Added `\DeclareBibstringSet`, `\DeclareBibstringSetFormat` etc.
+  to allow injecting additional formatting for a set of bibstrings.
+  Sets can be defined arbitrarily. These commands are primarily
+  intended for use in localisation modules.
+- Changed the definition of `\bibnamedelimi` to `\isdot\addnbspace`.
+  Previously the definition was just `\addnbspace`, which meant the `.`
+  would be treated as a period/full stop.
+- **BREAKING CHANGE**
+  `\DeclareDelimFormat` no longer accepts a list of names as argument.
+  It only accepts a single delimiter name.
+  A list of contexts is still supported.
+  Note that previously the optional argument would not work correctly
+  with a list of names.
+- **CRITICAL CHANGE**
+  `biblatex` no longer writes tracking and refsection initialisation code
+  to aux files.
+  Instead the `\...cite` commands are redefined locally to do that on demand.
+  This should keep the auxiliary files much cleaner of `biblatex`
+  intervention.
+- **CRITICAL CHANGE**
+  Generalised `season` date part to `yeardivision`. It can now also
+  hold quarter, quadrimester, semestral or seasons with hemisphere
+  designation.
+  Helper macros have been renamed accordingly. Limited backwards
+  compatibility is in place.
+- **(Possibly) CRITICAL CHANGE**
+  `\notecite` and friends no longer issue an explicit `\nocite`.
+  Since the commands are defined with `\DeclareCiteCommand`, they
+  already issue a normal cite request.
+  The additional `\nocite` from the loop code was superfluous
+  and would result in slightly instable `.bcf` files.
+
+
 # RELEASE NOTES FOR VERSION 3.16
 - Fixed an infinite loop caused by excessive aliasing of the `volcitepages`
   format.
@@ -115,7 +177,8 @@
   `\multicitesubentryrangedelim`, `\superciterangedelim`,
   `\supercitesubentrydelim`, and `\supercitesubentryrangedelim` for
   finer control over (compressed) subentry citations in `numeric-comp`.
-- **CRITICAL CHANGE** The structure of the bibmacros in `numeric-comp`
+- **CRITICAL CHANGE**
+  The structure of the bibmacros in `numeric-comp`
   has been reworked to make it easier to customise the printed output.
   Documents that relied on patching internal bibmacros or heavily
   redefined them may have to adapt.

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex	2022-02-03 22:11:47 UTC (rev 61868)
@@ -7,6 +7,10 @@
 \setmonofont{Courier New}
 \setmainfont[Ligatures=TeX]{Linux Libertine O}
 \setsansfont[Ligatures=TeX]{Linux Biolinum O}
+\newfontfamily\devanagarifont{Shobhika}[%
+  Script=Devanagari,
+  Renderer=Harfbuzz]
+\newcommand*{\textdevanagari}[1]{{\devanagarifont #1}}
 \usepackage[american]{babel}
 \usepackage[strict]{csquotes}
 \usepackage{tabularx}
@@ -64,7 +68,7 @@
   url={\biblatexhome},
   author={Philip Kime, Moritz Wemheuer, Philipp Lehman},
   email={},
-  revision={3.16},
+  revision={3.17},
   date={\today}}
 
 \hypersetup{%
@@ -218,9 +222,11 @@
 Enrico Gregorio, Andrea Marchitelli (Italian);
 Rihards Skuja (Latvian);
 Valdemaras Klumbys (Lithuanian);
+\textdevanagari{निरंजन} (Marathi);
 Håkon Malmedal, Hans Fredrik Nordhaug (Norwegian);
 Anastasia Kandulina, Yuriy Chernyshov (Polish);
 José Carlos Santos (Portuguese);
+Patrick Danilevici (Romanian);
 Oleg Domanov (Russian);
 Andrej Radović (Serbian);
 Martin Vrábel, Dávid Lupták (Slovak);
@@ -529,7 +535,7 @@
 
 A contribution to a collection which forms a self"=contained unit with a distinct author and title. The \bibfield{author} refers to the \bibfield{title}, the \bibfield{editor} to the \bibfield{booktitle}, \ie the title of the collection.
 
-\reqitem{author, title, booktitle, year/date}
+\reqitem{author, title, editor, booktitle, year/date}
 \optitem{editor, editora, editorb, editorc, translator, annotator, commentator, introduction, foreword, afterword, subtitle, titleaddon, maintitle, mainsubtitle, maintitleaddon, booksubtitle, booktitleaddon, language, origlanguage, volume, part, edition, volumes, series, number, note, publisher, location, isbn, eid, chapter, pages, addendum, pubstate, doi, eprint, eprintclass, eprinttype, url, urldate}
 
 \typeitem{suppcollection}
@@ -657,7 +663,7 @@
 \subsubsection{Type Aliases}
 \label{bib:typ:als}
 
-The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. Bibliography styles will see the entry type the alias points to, not the alias name. This <hard alias> is unlike the <soft alias> relation in the previous subsection. The relevant mappings for the \opt{bibtex} driver can be found in~\secref{apx:maps:bibtex}.
+The entry types listed in this section are provided for backwards compatibility with traditional \bibtex styles. These aliases are resolved by the backend as the data is processed. \biblatex and the styles will see only the entry type the alias points to (the target), not the alias name (the source). In particular \biblatex-side per-type operations like type-specific formatting and filtering only work for the target type, not the source type. This <hard alias> is unlike the <soft alias> relation in the previous subsection. The relevant mappings for the \opt{bibtex} driver can be found in~\secref{apx:maps:bibtex}.
 
 \begin{typelist}
 
@@ -924,8 +930,10 @@
 
 \fielditem{eid}{literal}
 
-The electronic identifier of an \bibtype{article} or chapter-like section of a larger work. This field may replace the \bibfield{pages} field for journals deviating from the classic pagination scheme of printed journals by only enumerating articles or papers and not pages.
+The electronic identifier of an \bibtype{article} or chapter-like section of a larger work often called <article number>, <paper number> or the like. This field may replace the \bibfield{pages} field for journals deviating from the classic pagination scheme of printed journals by only enumerating articles or papers and not pages.
 
+Not to be confused with \bibfield{number}, which for \bibtype{article}s subdivides the \bibfield{volume}.
+
 \fielditem{entrysubtype}{literal}
 
 This field, which is not used by the standard styles, may be used to specify a subtype of an entry type. This may be useful for bibliography styles which support a finer"=grained set of entry types.
@@ -1083,6 +1091,8 @@
 
 Since \bibfield{number} is---maybe counterintuitively given its name---a literal field, sorting templates will not treat its contents as integers, but as literal strings, which means that «11» may sort between «1» and «2». If integer sorting is desired, the field can be declared an integer field in a custom data model (see \secref{aut:ctm:dm}). But then the sorting of non-integer values is not well defined.
 
+The <article number> or <paper number>, which can be used instead of---or along with---a page range to pinpoint a specific article within another work, goes into the \bibfield{eid} field.
+
 \listitem{organization}{literal}
 
 The organization(s) that published a \bibtype{manual} or an \bibtype{online} resource, or sponsored a conference. See also \secref{bib:use:and}.
@@ -1280,11 +1290,13 @@
 Italian      & Italy          & \opt{italian} \\
 Latvian      & Latvia         & \opt{latvian} \\
 Lithuanian   & Lithuania      & \opt{lithuanian} \\
+Marathi      & India          & \opt{marathi} \\
 Norwegian (Bokmål)  & Norway  & \opt{norsk} \\
 Norwegian (Nynorsk) & Norway  & \opt{nynorsk} \\
 Polish       & Poland         & \opt{polish} \\
 Portuguese   & Brazil         & \opt{brazil} \\
              & Portugal       & \opt{portuguese}, \opt{portuges} \\
+Romanian     & Romania        & \opt{romanian} \\
 Russian      & Russia         & \opt{russian} \\
 Serbian (Latin)    & Serbia   & \opt{serbian} \\
 Serbian (Cyrillic) & Serbia   & \opt{serbianc} \\
@@ -1795,8 +1807,8 @@
 1723\textasciitilde & circa 1723 & using \cmd{ifdatecirca} test\\
 1723? & 1723? & using \cmd{ifdateuncertain} test\\
 1723\% & circa 1723? & using \cmd{ifdateuncertain} and \cmd{ifdatecirca} tests\\
-2004-22 & 2004 & also, \bibfield{season} is set to the localisation string <summer>\\
-2004-24 & 2004 & also, \bibfield{season} is set to the localisation string <winter>\\
+2004-22 & 2004 & also, \bibfield{yeardivision} is set to the localisation string <summer>\\
+2004-24 & 2004 & also, \bibfield{yeardivision} is set to the localisation string <winter>\\
 \bottomrule
 \end{tabularx}
 \end{table}
@@ -1814,8 +1826,10 @@
 \subsubsection{Journal Numbers and Issues}
 \label{bib:use:issnum}
 
-The words <number> and <issue> are often used synonymously by journals to refer to the subdvision of a \bibfield{volume}. The fact that \biblatex's data model has fields of both names can sometimes lead to confusion about which field should be used. First and foremost the word that the journal uses for the subdivsion of a \bibfield{volume} should be of minor importance, what matters is the role in the data model. As a rule of thumb \bibfield{number} is the right field in most circumstances. In the standard styles \bibfield{number} modifies \bibfield{volume}, whereas \bibfield{issue} modifies the date (year) of the entry. Numeric identifiers and short designators that are not necessarily (entirely) numeric such as <A>, <S1>, <C2>, <Suppl.\ 3>, <4es> would go into the \bibfield{number} field, because they usually modify the \bibfield{volume}. The output of---especially longer---non-numeric input for \bibfield{number} should be checked since it could potentially look odd with some styles. The field \bibfield{issue} can be used for designations such as <Spring>, <Winter> or <Michaelmas term> if that is commonly used to refer to the journal.
+The terms <number>, <issue> and even <issue number> are often used synonymously by journals to refer to the subdvision of a \bibfield{volume}. The fact that \biblatex's data model has fields of both names can sometimes lead to confusion about which field should be used. First and foremost the word that the journal uses for the subdivsion of a \bibfield{volume} should be of minor importance, what matters is the role in the data model. As a rule of thumb \bibfield{number} is the right field in most circumstances. In the standard styles \bibfield{number} modifies \bibfield{volume}, whereas \bibfield{issue} modifies the date (year) of the entry. Numeric identifiers and short designators that are not necessarily (entirely) numeric such as <A>, <S1>, <C2>, <Suppl.\ 3>, <4es> would go into the \bibfield{number} field, because they usually modify the \bibfield{volume}. The output of---especially longer---non-numeric input for \bibfield{number} should be checked since it could potentially look odd with some styles. The field \bibfield{issue} can be used for designations such as <Spring>, <Winter> or <Michaelmas term> if that is commonly used to refer to the journal.
 
+The <article number> or <paper number>, which can be used instead of---or along with---a page range to pinpoint a specific article within another work, goes into the \bibfield{eid} field, whose placement in the standard styles is similar to the analogous \bibfield{pages} field.
+
 \subsubsection{Pagination}
 \label{bib:use:pag}
 
@@ -1885,7 +1899,7 @@
 \subsubsection{Sorting and Encoding Issues}
 \label{bib:cav:enc}
 
-\biber handles Ascii, 8-bit encodings such as Latin\,1, and \utf. It features true Unicode support and is capable of reencoding the \file{bib} data on the fly in a robust way. For sorting, \biber uses a Perl implementation of the Unicode Collation Algorithm (\acr{UCA}), as outlined in Unicode Technical Standard \#10.\fnurl{https://unicode.org/reports/tr10/} Collation tailoring based on the Unicode Common Locale Data Repository (\acr{CLDR}) is also supported.\fnurl{http://cldr.unicode.org/}
+\biber handles \acr{US-ASCII}, 8-bit encodings such as Latin\,1, and \utf. It features true Unicode support and is capable of reencoding the \file{bib} data on the fly in a robust way. For sorting, \biber uses a Perl implementation of the Unicode Collation Algorithm (\acr{UCA}), as outlined in Unicode Technical Standard \#10.\fnurl{https://unicode.org/reports/tr10/} Collation tailoring based on the Unicode Common Locale Data Repository (\acr{CLDR}) is also supported.\fnurl{http://cldr.unicode.org/}
 
 Supporting Unicode implies much more than handling \utf input. Unicode is a complex standard covering more than its most well-known parts, the Unicode character encoding and transport encodings such as \utf. It also standardizes aspects such as string collation, which is required for language-sensitive sorting. For example, by using the Unicode Collation Algorithm, \biber can handle the character <ß> without any manual intervention. All you need to do to get localised sorting is specify the locale:
 
@@ -1912,18 +1926,18 @@
 
 \paragraph{Specifying Encodings}
 \label{bib:cav:enc:enc}
-When using a non-Ascii encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option (or the datasource specific override for this, see \secref{use:bib:res}) is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases, are required. Here are a few typical usage scenarios along with the relevant lines from the document preamble:
+When using a non-\acr{US-ASCII} encoding in the \file{bib} file, it is important to understand what \biblatex can do for you and what may require manual intervention. The package takes care of the \latex side, \ie it ensures that the data imported from the \file{bbl} file is interpreted correctly, provided that the \opt{bibencoding} package option (or the datasource specific override for this, see \secref{use:bib:res}) is set properly. All of this is handled automatically and no further steps, apart from setting the \opt{bibencoding} option in certain cases (namely when the encoding of the \file{bib} file differs from the encoding of the \file{tex} file), are required provided that you set up your document encoding (\ie load \sty{inputenc} or related packages if required) \emph{before} \biblatex is loaded. Here are a few typical usage scenarios along with the relevant lines from the document preamble:
 
 \begin{itemize}
 \setlength{\itemsep}{0pt}
 
-\item Ascii notation in both the \file{tex} and the \file{bib} file with \pdftex or traditional \tex:
+\item \acr{US-ASCII} notation in both the \file{tex} and the \file{bib} file with \pdftex or traditional \tex:
 
 \begin{ltxexample}
 \usepackage{biblatex}
 \end{ltxexample}
 
-\item Latin\,1 encoding (\acr{ISO}-8859-1) in the \file{tex} file, Ascii notation in the \file{bib} file with \pdftex or traditional \tex :
+\item Latin\,1 encoding (\acr{ISO}-8859-1) in the \file{tex} file, \acr{US-ASCII} notation in the \file{bib} file with \pdftex or traditional \tex :
 
 \begin{ltxexample}
 \usepackage[latin1]{inputenc}
@@ -1959,7 +1973,7 @@
 
 \end{itemize}
 
-\biber can handle Ascii notation, 8-bit encodings such as Latin\,1, and \utf. It is also capable of reencoding the \file{bib} data on the fly (replacing the limited macro-level reencoding feature of \biblatex). This will happen automatically if required, provided that you specify the encoding of the \file{bib} files properly. In addition to the scenarios discussed above, \biber can also handle the following cases:
+\biber can handle \acr{US-ASCII} notation, 8-bit encodings such as Latin\,1, and \utf. It is also capable of reencoding the \file{bib} data on the fly (replacing the limited macro-level reencoding feature of \biblatex). This will happen automatically if required, provided that you specify the encoding of the \file{bib} files properly. In addition to the scenarios discussed above, \biber can also handle the following cases:
 
 \begin{itemize}
 
@@ -2003,11 +2017,11 @@
 \usepackage[safeinputenc]{biblatex}
 \end{ltxexample}
 %
-If this option is enabled, \biblatex will ignore \sty{inputenc}'s \opt{utf8} option and use Ascii. \biber will then try to convert the \file{bib} data to Ascii notation. For example, it will convert \k{S} to |\k{S}|. This option is similar to setting \kvopt{texencoding}{ascii} but will only take effect in this specific scenario (\sty{inputenc}\slash \sty{inputenx} with \utf). This workaround takes advantage of the fact that both Unicode and the \utf transport encoding are backwards compatible with Ascii.
+If this option is enabled, \biblatex will ignore \sty{inputenc}'s \opt{utf8} option and use \acr{US-ASCII}. \biber will then try to convert the \file{bib} data to \acr{US-ASCII} notation. For example, it will convert \k{S} to |\k{S}|. This option is similar to setting \kvopt{texencoding}{ascii} but will only take effect in this specific scenario (\sty{inputenc}\slash \sty{inputenx} with \utf). This workaround takes advantage of the fact that both Unicode and the \utf transport encoding are backwards compatible with \acr{US-ASCII}.
 
 \end{itemize}
 
-This solution may be acceptable as a workaround if the data in the \file{bib} file is mostly Ascii anyway, with only a few strings, such as some authors' names, causing problems. However, keep in mind that it will not magically make traditional \tex or \pdftex support Unicode. It may help if the occasional odd character is not supported by \sty{inputenc}, but may still be processed by \tex when using an accent command (\eg |\d{S}| instead of \d{S}). If you need full Unicode support, however, switch to \xetex or \luatex.
+This solution may be acceptable as a workaround if the data in the \file{bib} file is mostly \acr{US-ASCII} anyway, with only a few strings, such as some authors' names, causing problems. However, keep in mind that it will not magically make traditional \tex or \pdftex support Unicode. It may help if the occasional odd character is not supported by \sty{inputenc}, but may still be processed by \tex when using an accent command (\eg |\d{S}| instead of \d{S}). If you need full Unicode support, however, switch to \xetex or \luatex.
 
 Typical errors when \sty{inputenc} cannot handle a certain UTF-8 character are:
 
@@ -2045,11 +2059,11 @@
 
 \begin{valuelist}
 
-\item[biber] \biber, the default backend of \biblatex, supports Ascii, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively.
+\item[biber] \biber, the default backend of \biblatex, supports \acr{US-ASCII}, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively.
 
-\item[bibtex] Legacy \bibtex. Traditional \bibtex supports Ascii encoding only. Sorting is always case"=insensitive.
+\item[bibtex] Legacy \bibtex. Traditional \bibtex supports \acr{US-ASCII} encoding only. Sorting is always case"=insensitive.
 
-\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports Ascii and 8-bit encodings such as Latin~1.
+\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports \acr{US-ASCII} and 8-bit encodings such as Latin~1.
 
 
 \end{valuelist}
@@ -2078,7 +2092,7 @@
 
 \optitem[auto]{casechanger}{\opt{auto}, \opt{latex2e}, \opt{expl3}}
 
-This option selects the implementation of \biblatex's case changing functions, most prominently \cmd{MakeSentenceCase*}. \opt{expl3} selects the new implementation based on the \latex3 module \sty{l3text}. Note that the \sty{l3text} module assumes \utf input and that your \sty{expl3} version should be new enough (at least version 2020-04-06). \opt{latex2e} selects the original implementation, which has tricky brace protection behaviour and some shortcomings when dealing with non-ASCII characters. The default \opt{auto} selects the case changing code based on the available \sty{expl3} version and detected document encoding (\opt{expl3} is selected if \sty{expl3} is at least version 2020-04-06 and the document encoding is detected as \utf).
+This option selects the implementation of \biblatex's case changing functions, most prominently \cmd{MakeSentenceCase*}. \opt{expl3} selects the new implementation based on the \latex3 module \sty{l3text}. Note that the \sty{l3text} module assumes \utf input and that your \sty{expl3} version should be new enough (at least version 2020-04-06). \opt{latex2e} selects the original implementation, which has tricky brace protection behaviour and some shortcomings when dealing with non-\acr{US-ASCII} characters. The default \opt{auto} selects the case changing code based on the available \sty{expl3} version and detected document encoding (\opt{expl3} is selected if \sty{expl3} is at least version 2020-04-06 and the document encoding is detected as \utf).
 
 \end{optionlist}
 
@@ -2092,7 +2106,7 @@
 
 \begin{optionlist}
 
-\optitem[nty]{sorting}{\opt{nty}, \opt{nyt}, \opt{nyvt}, \opt{anyt}, \opt{anyvt}, \opt{ynt}, \opt{ydnt}, \opt{none}, \opt{debug}, \prm{name}}
+\optitem[nty]{sorting}{\opt{nty}, \opt{nyt}, \opt{nyvt}, \opt{anyt}, \opt{anyvt}, \opt{ynt}, \opt{ydnt}, \opt{none}, \opt{count}, \opt{debug}, \prm{name}}
 
 The sorting order of the bibliography. Unless stated otherwise, the entries are sorted in ascending order. The following choices are available by default:
 
@@ -2105,6 +2119,7 @@
 \item[ynt] Sort by year, name, title.
 \item[ydnt] Sort by year (descending), name, title.
 \item[none] Do not sort at all. All entries are processed in citation order.
+\item[count] Sort in descending order of number of times cited
 \item[debug] Sort by entry key. This is intended for debugging only.
 \item[\prm{name}] Use \prm{name}, as defined with \cmd{DeclareSortingTemplate} (\secref{aut:ctm:srt})
 \end{valuelist}
@@ -2407,7 +2422,7 @@
 
 Similar to the \opt{date} option but controls the format of the \bibfield{$<$datetype$>$date} field in the datamodel.
 
-\optitem{alldates}{\opt{year}, \opt{short}, \opt{long}, \opt{terse}, \opt{comp}, \opt{iso}}
+\optitem{alldates}{\opt{year}, \opt{short}, \opt{long}, \opt{terse}, \opt{comp}, \opt{ymd}, \opt{iso}}
 
 Sets the option for all dates in the datamodel to the same value. The date fields in the default data model are \bibfield{date}, \bibfield{origdate}, \bibfield{eventdate} and \bibfield{urldate}.
 
@@ -2437,7 +2452,7 @@
 
 \boolitem[true]{dateabbrev}
 
-This option controls whether \texttt{long} and \texttt{comp} dates are printed with long or abbreviated month/season names. The option is similar to the generic \opt{abbreviate} option but specific to the date formatting.
+This option controls whether \texttt{long} and \texttt{comp} dates are printed with long or abbreviated month/yeardivision names. The option is similar to the generic \opt{abbreviate} option but specific to the date formatting.
 This option is also settable on a per-type and per-entry basis.
 
 \boolitem[false]{datecirca}
@@ -2533,7 +2548,7 @@
 
 \begin{valuelist}
 
-\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if a \latex format using at least the April 2018 version of the kernel, \xetex or \luatex has been detected, and Ascii otherwise.
+\item[auto] Try to auto-detect the input encoding. If the \sty{inputenc}\slash \sty{inputenx}\slash \sty{luainputenc} package is available, \biblatex will get the main encoding from that package. If not, it assumes \utf encoding if a \latex format using at least the April 2018 version of the kernel, \xetex or \luatex has been detected, and \acr{US-ASCII} otherwise.
 
 \item[\prm{encoding}] Specifies the \prm{encoding} explicitly. This is for odd cases in which auto-detection fails or you want to force a certain encoding for some reason.
 
@@ -2557,7 +2572,7 @@
 
 \boolitem[false]{safeinputenc}
 
-If this option is enabled, \biblatex will automatically force \kvopt{texencoding}{ascii} if the \sty{inputenc}\slash \sty{inputenx} package has been loaded and the input encoding is \utf, \ie it will ignore any macro-based \utf support and use Ascii only. \biber will then try to convert any non-Ascii data in the \file{bib} file to Ascii. For example, it will convert \texttt{\d{S}} to |\d{S}|. See \secref{bib:cav:enc:enc} for an explanation of why you may want to enable this option.
+If this option is enabled, \biblatex will automatically force \kvopt{texencoding}{ascii} if the \sty{inputenc}\slash \sty{inputenx} package has been loaded and the input encoding is \utf, \ie it will ignore any macro-based \utf support and use \acr{US-ASCII} only. \biber will then try to convert any non-\acr{US-ASCII} data in the \file{bib} file to \acr{US-ASCII}. For example, it will convert \texttt{\d{S}} to |\d{S}|. See \secref{bib:cav:enc:enc} for an explanation of why you may want to enable this option.
 
 \boolitem[true]{bibwarn}
 
@@ -2873,7 +2888,7 @@
 
 \boolitem[false]{labeldateparts}
 
-Whether or not to provide the special fields \bibfield{labelyear}, \bibfield{labelmonth}, \bibfield{labelday}, \bibfield{labelendyear}, \bibfield{labelendmonth}, \bibfield{labelendday}, \bibfield{labelhour}, \bibfield{labelendhour}, \bibfield{labelminute}, \bibfield{labelendminute}, \bibfield{labelsecond}, \bibfield{labelendsecond}, \bibfield{labelseason}, \bibfield{labelendseason}, \bibfield{labeltimezone}, \bibfield{labelendtimeone} and \bibfield{extradate}, see \secref{aut:bbx:fld} for details.
+Whether or not to provide the special fields \bibfield{labelyear}, \bibfield{labelmonth}, \bibfield{labelday}, \bibfield{labelendyear}, \bibfield{labelendmonth}, \bibfield{labelendday}, \bibfield{labelhour}, \bibfield{labelendhour}, \bibfield{labelminute}, \bibfield{labelendminute}, \bibfield{labelsecond}, \bibfield{labelendsecond}, \bibfield{labelyeardivision}, \bibfield{labelendyeardivision}, \bibfield{labeltimezone}, \bibfield{labelendtimeone} and \bibfield{extradate}, see \secref{aut:bbx:fld} for details.
 This option is also settable on a per-type and per-entry basis. Table \ref{use:opt:tab1} summarises the various \opt{extra*} disambiguation counters and what they track.
 
 \begin{table}
@@ -3021,23 +3036,23 @@
 \multicolumn{1}{@{}H}{Enabled counter} &
 \multicolumn{1}{@{}H}{Counter tracks} \\
 \cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule(r){3-3}\cmidrule{4-4}
-labelalpha      & labelalpha       & extraalpha     &  label\\
-labeldateparts  & labelyear        & extradate      &  labelname+\\
-                & labelmonth       &                &  labelyear\\
-                & labelday         &                &  \\
-                & labelendyear     &                &  \\
-                & labelendmonth    &                &  \\
-                & labelendday      &                &  \\
-                & labelhour        &                &  \\
-                & labelminute      &                &  \\
-                & labelsecond      &                &  \\
-                & labelendhour     &                &  \\
-                & labelendminute   &                &  \\
-                & labelendsecond   &                &  \\
-                & labelseason      &                &  \\
-                & labelendseason   &                &  \\
-                & labeltimezone    &                &  \\
-                & labelendtimezone &                &  \\
+labelalpha      & labelalpha           & extraalpha     &  label\\
+labeldateparts  & labelyear            & extradate      &  labelname+\\
+                & labelmonth           &                &  labelyear\\
+                & labelday             &                &  \\
+                & labelendyear         &                &  \\
+                & labelendmonth        &                &  \\
+                & labelendday          &                &  \\
+                & labelhour            &                &  \\
+                & labelminute          &                &  \\
+                & labelsecond          &                &  \\
+                & labelendhour         &                &  \\
+                & labelendminute       &                &  \\
+                & labelendsecond       &                &  \\
+                & labelyeardivision    &                &  \\
+                & labelendyeardivision &                &  \\
+                & labeltimezone        &                &  \\
+                & labelendtimezone     &                &  \\
 labeltitle      & {\rmfamily ---}  & extratitle     &  labelname+labeltitle\\
 labeltitleyear  & {\rmfamily ---}  & extratitleyear &  labeltitle+labelyear\\
 {\rmfamily ---} & {\rmfamily ---}  & extraname      &  labelname\\
@@ -3329,7 +3344,7 @@
 AUTHOR = {Hans Harman and Simon de Beumont}
 AUTHOR = {given=Hans, family=Harman and given=Simon, prefix=de, family=Beumont}
 \end{lstlisting}
-% 
+%
 These two name specifications are equivalent but the extended format
 explicitly names the parts. The supported parts are those specified by the
 \biblatex data mode constant \opt{nameparts}, see \secref{aut:bbx:drv}. As
@@ -3340,7 +3355,7 @@
 AUTHOR = {given=Jean, prefix=de la, prefix-i=d, family=Rousse}
 AUTHOR = {given={Jean Pierre Simon}, given-i=JPS}
 \end{lstlisting}
-% 
+%
 Initials are specified by adding the suffix \verb+-i+ to the namepart name.
 Compound parts may be protected with braces:
 
@@ -3347,7 +3362,7 @@
 \begin{lstlisting}[style=bibtex]{}
 AUTHOR = {given={Jean Pierre}}
 \end{lstlisting}
-% 
+%
 If a namepart contains a comma, the whole namepart should be protected with
 quotes:
 
@@ -3354,13 +3369,13 @@
 \begin{lstlisting}[style=bibtex]{}
 AUTHOR = {"family={Robert and Sons, Inc.}"}
 \end{lstlisting}
-% 
+%
 Traditional \bibtex name formats and the extended form may be used together:
 
 \begin{lstlisting}[style=bibtex]{}
 AUTHOR = {Hans Harman and given=Simon, prefix=de, family=Beumont}
 \end{lstlisting}
-% 
+%
 Per-namelist and per-name options may be specified in the extended name
 format, see \secref{use:opt:bib:hyb}:
 
@@ -3368,7 +3383,7 @@
 AUTHOR = {nosortothers=true and Hans Harman and
           given=Simon, family=Beumont, prefix=de, useprefix=true}
 \end{lstlisting}
-      
+
 \subsection{Related Entries}
 \label{use:rel}
 
@@ -4738,7 +4753,7 @@
 \cmditem{notecite}[prenote][postnote]{key}
 \cmditem{Notecite}[prenote][postnote]{key}
 
-These commands print the \prm{prenote} and \prm{postnote} arguments but no citation. Instead, a \cmd{nocite} command is issued for every \prm{key}. This may be useful for authors who incorporate implicit citations in their writing, only giving information not mentioned before in the running text, but who still want to take advantage of the automatic \prm{postnote} formatting and the implicit \cmd{nocite} function. This is a generic, style"=independent citation command. Special citation styles may provide smarter facilities for the same purpose. The capitalized version forces capitalization (note that this is only applicable if the note starts with a command which is sensitive to \biblatex's punctuation tracker).
+These commands print the \prm{prenote} and \prm{postnote} arguments but no citation. This may be useful for authors who incorporate implicit citations in their writing, only giving information not mentioned before in the running text, but who still want to take advantage of the automatic \prm{postnote} formatting and citation tracking. This is a generic, style"=independent citation command. Special citation styles may provide smarter facilities for the same purpose. The capitalized version forces capitalization (note that this is only applicable if the note starts with a command which is sensitive to \biblatex's punctuation tracker).
 
 \cmditem{pnotecite}[prenote][postnote]{key}
 \cmditem{Pnotecite}[prenote][postnote]{key}
@@ -5314,10 +5329,10 @@
 
 \begin{ltxsyntax}
 
-\cmditem{DeclareDelimFormat}[context, \dots]{name, \dots}{code}
-\cmditem*{DeclareDelimFormat}*[context, \dots]{name, \dots}{code}
+\cmditem{DeclareDelimFormat}[context, \dots]{name}{code}
+\cmditem*{DeclareDelimFormat}*[context, \dots]{name}{code}
 
-Declares the delimiter macros in the comma"=separated list \prm{names} with the replacement text \prm{code}. If the optional comma"=separated list of \prm{contexts} is given, declare the \prm{names} only for those contexts. \prm{names} defined without any \prm{contexts} behave just like the global delimiter definitions which \cmd{newcommand} gives---just a plain macro with a replacement which can be used as \cmd{name}. However, you can also call delimiter macros defined in this way by using \cmd{printdelim}, which is context-aware. The starred version clears all \prm{context} specific declarations for all \prm{names} first.
+Declares the delimiter macro \prm{name} with the replacement text \prm{code}. If the optional comma"=separated list of \prm{contexts} is given, declare \prm{name} only for those contexts. \prm{name} defined without any \prm{contexts} behaves just like the global delimiter definitions which \cmd{newcommand} gives---just a plain macro with a replacement which can be used as \cmd{name}. However, you can also call delimiter macros defined in this way by using \cmd{printdelim}, which is context-aware. The starred version clears all \prm{context} specific declarations for all \prm{names} first.
 
 \cmditem{DeclareDelimAlias}[alias context, \dots]{alias}[delim context]{delim}
 
@@ -5376,6 +5391,10 @@
 \cmd{cbx at textcite} citation command, the context is in fact \opt{textcite}
 as expected.
 
+\cmditem{UndeclareDelimcontextAlias}{alias}
+
+Removes the delimiter context alias declared for \prm{alias}.
+
 \end{ltxsyntax}
 %
 \biblatex\ has several default contexts which are established automatically in various places:
@@ -5656,7 +5675,7 @@
 \autocap{s}pecial issue
 \end{ltxexample}
 %
-will yield <Special issue> or <special issue>, as appropriate. If the string to be capitalized starts with an inflected character given in Ascii notation, include the accent command in the \prm{character} argument as follows:
+will yield <Special issue> or <special issue>, as appropriate. If the string to be capitalized starts with an inflected character given in \acr{US-ASCII} notation, include the accent command in the \prm{character} argument as follows:
 
 \begin{ltxexample}
 \autocap{\'e}dition sp\'eciale
@@ -5705,12 +5724,12 @@
 \subsubsection{Hungarian}
 \label{use:loc:hun}
 
-The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Hungarian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Hungarian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it.
+The Hungarian localisation module needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Hungarian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Hungarian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Hungarian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals.
 
 \subsubsection{Latvian}
 \label{use:loc:lav}
 
-The Latvian localisation module, like the Hungarian language module, needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Latvian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Latvian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Latvian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals. The Latvian localisation module will print a warning to remind you of these changes whenever it is loaded in a document. The warning tells you how to silence it.
+The Latvian localisation module, like the Hungarian language module, needs to redefine certain field formats to obtain the grammatically correct word order. This means that these field formats are overwritten whenever the Latvian localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Latvian localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}. In particular \cmd{mkpageprefix} is redefined to output the <page> or <pages> string as a suffix after the page number following Latvian conventions, and all formats of fields involving pages, chapters and volumes were modified so that numbers are printed as ordinals.
 
 \subsubsection{Lithuanian}
 \label{use:loc:lit}
@@ -5717,6 +5736,22 @@
 
 The Lithuanian localisation module needs \utf support and will only work with this encoding.
 
+\subsubsection{Marathi}
+\label{use:loc:mar}
+
+The Marathi localisation module needs \utf support and will only work with this encoding, but users typesetting significant portions of Marathi will probably be using a Unicode engine anyway.
+
+Like the Hungarian language module, the Marathi localisation needs to redefine certain field formats and internal formatting macros to obtain acceptable output. This means that these field formats are overwritten whenever the Marathi localisation is active, no matter whether they were defined in the preamble or by a custom style. So please be aware that using the Marathi localisation module may cause the bibliography output to deviate from the format dictated by the loaded style and preamble definitions. Changes to this behaviour need to be made using \cmd{DefineBibliographyExtras}.
+
+There is some limited support for numeric operations with non-\acr{US-ASCII} Devanagari numerals. Due to the limitations of arithmetic operations to \acr{US-ASCII} numerals and backwards compatibility reasons additional work may be needed to support Devanagari numerals in places where they do not work at the moment.
+
+\subsubsection{Romanian}
+\label{use:loc:ron}
+
+The Romanian localisation module needs \utf support and will only work with this encoding.
+
+Like the Hungarian and Latvian localisation modules, the Romanian \file{lbx} file applies some changes to macros that are usually not affected by localisation. \cmd{newunitpunct} is set to produce a comma followed by a space. \cmd{intitlepunct} only produces a space.
+
 \subsubsection{Russian}
 \label{use:loc:rus}
 
@@ -6077,7 +6112,7 @@
 }
 @Book{...,
   author     = {Alan Drudge and xdata=someauthors-author-2},
-  editor     = {xdata=someauthors-author},
+  editor     = {xdata=someauthors-author and Ann Editor},
   location   = {xdata=somelocations-location-1 and Location3},
   note       = {xdata=somenotes-note}
 }
@@ -6104,7 +6139,7 @@
 \begin{lstlisting}[style=bibtex]{}
 @Book{...,
   author     = {Alan Drudge and Brian Brown},
-  editor     = {John Smith},
+  editor     = {John Smith and Brian Brown and Ann Editor},
   location   = {Location1 and Location3},
   note       = {A note}
 }
@@ -6113,11 +6148,13 @@
 Things to note with granular \bibtype{xdata} references:
 
 \begin{itemize}
-  \item References must be made only to \bibtype{xdata} fields. An warning will be generated otherwise and the reference will not be resolved
-  \item References must be made only to \bibtype{xdata} fields of the same type (list/name and datatype) as the referencing field. An warning will be generated otherwise and the reference will not be resolved
+  \item References must be made only to \bibtype{xdata} fields. A warning will be generated otherwise and the reference will not be resolved
+  \item References must be made only to \bibtype{xdata} fields of the same type (list/name and datatype) as the referencing field. A warning will be generated otherwise and the reference will not be resolved
   \item References to fields of datatype 'date' are not possible. References to legacy \bibfield{year} and \bibfield{month} fields are possible
   \item References to missing entries, fields or list/name indices will generate a warning and the reference will not be resolved
-  \item If an index is missing for a reference to a list/name field, 1 is assumed
+  \item If an index is missing for a reference to a list/name field, the
+    entire xdata name/list field will be spliced into the referencing field
+    at the desired position.
 \end{itemize}
 %
 See also \secref{bib:typ:blx,bib:fld:spc}.
@@ -6431,7 +6468,7 @@
 \subsubsection{Active Characters in Bibliography Headings}
 \label{use:cav:act}
 
-Packages using active characters, such as \sty{babel}, \sty{polyglossia}, \sty{csquotes}, or \sty{underscore}, usually do not make them active until the beginning of the document body to avoid interference with other packages. A typical example of such an active character is the Ascii quote |"|, which is used by various language modules of the \sty{babel}/\sty{polyglossia} packages. If shorthands such as |"<| and |"a| are used in the argument to \cmd{defbibheading} and the headings are defined in the document preamble, the non-active form of the characters is saved in the heading definition. When the heading is typeset, they do not function as a command but are simply printed literally. The most straightforward solution consists in moving \cmd{defbibheading} after |\begin{document}|. Alternatively, you may use \sty{babel}'s \cmd{shorthandon} and \cmd{shorthandoff} commands to temporarily make the shorthands active in the preamble. The above also applies to bibliography notes and the \cmd{defbibnote} command.
+Packages using active characters, such as \sty{babel}, \sty{polyglossia}, \sty{csquotes}, or \sty{underscore}, usually do not make them active until the beginning of the document body to avoid interference with other packages. A typical example of such an active character is the \acr{US-ASCII} quote |"|, which is used by various language modules of the \sty{babel}/\sty{polyglossia} packages. If shorthands such as |"<| and |"a| are used in the argument to \cmd{defbibheading} and the headings are defined in the document preamble, the non-active form of the characters is saved in the heading definition. When the heading is typeset, they do not function as a command but are simply printed literally. The most straightforward solution consists in moving \cmd{defbibheading} after |\begin{document}|. Alternatively, you may use \sty{babel}'s \cmd{shorthandon} and \cmd{shorthandoff} commands to temporarily make the shorthands active in the preamble. The above also applies to bibliography notes and the \cmd{defbibnote} command.
 
 \subsubsection{Grouping in Reference Sections and Segments}
 \label{use:cav:grp}
@@ -6466,7 +6503,7 @@
 
 Key limitations of the \bibtex backend are:
 \begin{itemize}
-\item Sorting is global and is limited to Ascii ordering
+\item Sorting is global and is limited to \acr{US-ASCII} ordering
 \item No re-encoding is possible and thus database entries must be in
   LICR form to work reliably
 \item The data model is fixed
@@ -6895,10 +6932,10 @@
 The entry key of an item in the \file{bib} file. This is the string used by \biblatex and the backend to identify an entry in the \file{bib} file.
 
 Note that the set of characters allowed and usable in the string for \bibfield{entrykey} depends on the backend (\biber, \bibtex) as well as the \latex engine (\pdflatex, \lualatex, \xelatex).
-Generally, ASCII-letters (\texttt{a-z}, \texttt{A-Z}) and numbers (\texttt{0-9}) are safe, so are the punctuation characters full stop (\texttt{.}) and solidus (\texttt{/}). The punctuation characters \texttt{-\_:;!?} are also safe even if they are made active by \sty{babel}/\sty{polyglossia}. If a Unicode engine is used, non-ASCII characters are also acceptable.
+Generally, \acr{US-ASCII}-letters (\texttt{a-z}, \texttt{A-Z}) and numbers (\texttt{0-9}) are safe, so are the punctuation characters full stop (\texttt{.}) and solidus (\texttt{/}). The punctuation characters \texttt{-\_:;!?} are also safe even if they are made active by \sty{babel}/\sty{polyglossia}. If a Unicode engine is used, non-\acr{US-ASCII} characters are also acceptable.
 Curly braces (\texttt{\{\}}), commas, spaces, backslashes (\texttt{\textbackslash}), hashes (\texttt{\#}), percent characters (\texttt{\%}) and tildes (\texttt{\textasciitilde}) are always forbidden. \biber additionally forbids round brackets (\texttt{()}), quotation marks (\texttt{\textquotedbl}, \texttt{\textquotesingle}), and the equals sign (\texttt{=}).
 The \bibfield{entrykey} is case sensitive, but it is not recommended to exploit that fact too much by introducing two different entries whose key differs only in capitalisation (\eg\ \texttt{sigfridsson} and \texttt{Sigfridsson}).
-For full portability it is advisable to stick to a scheme of lowercase (and if so desired uppercase) ASCII-letters, numbers and a small set of acceptable punctuation characters, say \texttt{.:-}.
+For full portability it is advisable to stick to a scheme of lowercase (and if so desired uppercase) \acr{US-ASCII}-letters, numbers and a small set of acceptable punctuation characters, say \texttt{.:-}.
 
 \fielditem{childentrykey}{string}
 
@@ -7137,11 +7174,11 @@
 date		& 1988			& day		& undefined \\
 		&			& month		& undefined \\
 		&			& year		& 1988 \\
-		&			& season  & undefined \\
+		&			& yeardivision  & undefined \\
 		&			& endday	& undefined \\
 		&			& endmonth	& undefined \\
 		&			& endyear	& undefined \\
-		&			& endseason  & undefined \\
+		&			& endyeardivision  & undefined \\
 		&			& hour	& undefined \\
 		&			& minute	& undefined \\
 		&			& second	& undefined \\
@@ -7153,11 +7190,11 @@
 date		& 1997/			& day		& undefined \\
 		&			& month		& undefined \\
 		&			& year		& 1997 \\
-		&			& season  & undefined \\
+		&			& yeardivision  & undefined \\
 		&			& endday	& undefined \\
 		&			& endmonth	& undefined \\
 		&			& endyear	& empty \\
-		&			& endseason  & undefined \\
+		&			& endyeardivision  & undefined \\
 		&			& hour	& undefined \\
 		&			& minute	& undefined \\
 		&			& second	& undefined \\
@@ -7169,11 +7206,11 @@
 urldate		& 2009-01-31		& urlday	& 31 \\
 		&			& urlmonth	& 01 \\
 		&			& urlyear	& 2009 \\
-		&			& urlseason  & undefined \\
+		&			& urlyeardivision  & undefined \\
 		&			& urlendday	& undefined \\
 		&			& urlendmonth	& undefined \\
 		&			& urlendyear	& undefined \\
-		&			& urlendseason  & undefined \\
+		&			& urlendyeardivision  & undefined \\
 		&			& urlhour	& undefined \\
 		&			& urlminute	& undefined \\
 		&			& urlsecond	& undefined \\
@@ -7185,11 +7222,11 @@
 urldate		& 2009-01-31T15:34:04Z		& urlday	& 31 \\
 		&			& urlmonth	& 01 \\
 		&			& urlyear	& 2009 \\
-		&			& urlseason  & undefined \\
+		&			& urlyeardivision  & undefined \\
 		&			& urlendday	& undefined \\
 		&			& urlendmonth	& undefined \\
 		&			& urlendyear	& undefined \\
-		&			& urlendseason  & undefined \\
+		&			& urlendyeardivision  & undefined \\
 		&			& urlhour	& 15 \\
 		&			& urlminute	& 34 \\
 		&			& urlsecond	& 04 \\
@@ -7201,11 +7238,11 @@
 urldate		& 2009-01-31T15:34:04+05:00		& urlday	& 31 \\
 		&			& urlmonth	& 01 \\
 		&			& urlyear	& 2009 \\
-		&			& urlseason  & undefined \\
+		&			& urlyeardivision  & undefined \\
 		&			& urlendday	& undefined \\
 		&			& urlendmonth	& undefined \\
 		&			& urlendyear	& undefined \\
-		&			& urlendseason  & undefined \\
+		&			& urlendyeardivision  & undefined \\
 		&			& urlhour	& 15 \\
 		&			& urlminute	& 34 \\
 		&			& urlsecond	& 04 \\
@@ -7217,11 +7254,11 @@
 urldate		& \parbox[t]{0.4\textwidth}{2009-01-31T15:34:04/\\2009-01-31T16:04:34}& urlday	& 31 \\
 		&			& urlmonth	& 1 \\
 		&			& urlyear	& 2009 \\
-		&			& urlseason  & undefined \\
+		&			& urlyeardivision  & undefined \\
 		&			& urlendday	& 31 \\
 		&			& urlendmonth	& 1 \\
 		&			& urlendyear	& 2009 \\
-		&			& urlendseason  & undefined \\
+		&			& urlendyeardivision  & undefined \\
 		&			& urlhour	& 15 \\
 		&			& urlminute	& 34 \\
 		&			& urlsecond	& 4 \\
@@ -7233,11 +7270,11 @@
 origdate	& 2002-21/2002-23	& origday	& undefined \\
 		&			& origmonth	& 01 \\
 		&			& origyear	& 2002 \\
-		&			& origseason  & spring \\
+		&			& origyeardivision  & spring \\
 		&			& origendday	& undefined \\
 		&			& origendmonth	& 02 \\
 		&			& origendyear	& 2002 \\
-		&			& origendseason  & autumn \\
+		&			& origendyeardivision  & autumn \\
 		&			& orighour	& undefined \\
 		&			& origminute	& undefined \\
 		&			& origsecond	& undefined \\
@@ -7249,11 +7286,11 @@
 eventdate	& 1995-01-31/1995-02-05	& eventday	& 31 \\
 		&			& eventmonth	& 01 \\
 		&			& eventyear	& 1995 \\
-		&			& eventseason  & undefined \\
+		&			& eventyeardivision  & undefined \\
 		&			& eventendday	& 05 \\
 		&			& eventendmonth	& 02 \\
 		&			& eventendyear	& 1995 \\
-		&			& eventendseason  & undefined \\
+		&			& eventendyeardivision  & undefined \\
 		&			& eventhour	& undefined \\
 		&			& eventminute	& undefined \\
 		&			& eventsecond	& undefined \\
@@ -7296,10 +7333,14 @@
 
 This field is the \bibfield{year} as given in the database file or it holds the year component of the \bibfield{date} field. If the date is a range, it holds the year component of the start date.
 
-\fielditem{season}{datepart}
+\fielditem{yeardivision}{datepart}
 
-This field holds the season component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a  localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
 
+\fielditem{season}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{date} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date. This is deprecated in favour of \bibfield{yeardivision} which is more generalised.
+
 \fielditem{endhour}{datepart}
 
 If the date specification in the \bibfield{date} field is a range, this field holds the hour component of the end date.
@@ -7328,10 +7369,14 @@
 
 If the date specification in the \bibfield{date} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{endyear} component indicates an open ended \bibfield{date} range.
 
-\fielditem{endseason}{datepart}
+\fielditem{endyeardivision}{datepart}
 
-If the date specification in the \bibfield{date} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endseason} component indicates an open ended \bibfield{date} range.
+If the date specification in the \bibfield{date} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endyeardivision} component indicates an open ended \bibfield{date} range.
 
+\fielditem{endseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{date} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{endseason} component indicates an open ended \bibfield{date} range. This is deprecated in favour of \bibfield{endyeardivision} which is more generalised.
+
 \fielditem{orighour}{datepart}
 
 This field holds the hour component of the \bibfield{origdate} field. If the date is a range, it holds the hour component of the start date.
@@ -7360,10 +7405,14 @@
 
 This field holds the year component of the \bibfield{origdate} field. If the date is a range, it holds the year component of the start date.
 
-\fielditem{origseason}{datepart}
+\fielditem{origyeardivision}{datepart}
 
-This field holds the season component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.  This is deprecated in favour of \bibfield{origyeardivision} which is more generalised.
 
+\fielditem{origseason}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{origdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.  This is deprecated in favour of \bibfield{origyeardivision} which is more generalised.
+
 \fielditem{origendhour}{datepart}
 
 If the date specification in the \bibfield{origdate} field is a range, this field holds the hour component of the end date.
@@ -7392,10 +7441,14 @@
 
 If the date specification in the \bibfield{origdate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{origendyear} component indicates an open ended \bibfield{origdate} range.
 
-\fielditem{origendseason}{datepart}
+\fielditem{origendyeardivision}{datepart}
 
-If the date specification in the \bibfield{origdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendseason} component indicates an open ended \bibfield{origdate} range.
+If the date specification in the \bibfield{origdate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendyeardivision} component indicates an open ended \bibfield{origdate} range.
 
+\fielditem{origendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{origdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{origendseason} component indicates an open ended \bibfield{origdate} range.  This is deprecated in favour of \bibfield{origendyeardivision} which is more generalised.
+
 \fielditem{eventhour}{datepart}
 
 This field holds the hour component of the \bibfield{eventdate} field. If the date is a range, it holds the hour component of the start date.
@@ -7424,10 +7477,14 @@
 
 This field holds the year component of the \bibfield{eventdate} field. If the date is a range, it holds the year component of the start date.
 
-\fielditem{eventseason}{datepart}
+\fielditem{eventyeardivision}{datepart}
 
-This field holds the season component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
 
+\fielditem{eventseason}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{eventdate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.  This is deprecated in favour of \bibfield{eventyeardivision} which is more generalised.
+
 \fielditem{eventendhour}{datepart}
 
 If the date specification in the \bibfield{eventdate} field is a range, this field holds the hour component of the end date.
@@ -7456,10 +7513,14 @@
 
 If the date specification in the \bibfield{eventdate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{eventendyear} component indicates an open ended \bibfield{eventdate} range.
 
-\fielditem{eventendseason}{datepart}
+\fielditem{eventendyeardivision}{datepart}
 
-If the date specification in the \bibfield{eventdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendseason} component indicates an open ended \bibfield{eventdate} range.
+If the date specification in the \bibfield{eventdate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendyeardivision} component indicates an open ended \bibfield{eventdate} range.
 
+\fielditem{eventendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{eventdate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{eventendseason} component indicates an open ended \bibfield{eventdate} range.  This is deprecated in favour of \bibfield{eventendyeardivision} which is more generalised.
+
 \fielditem{urlhour}{datepart}
 
 This field holds the hour component of the \bibfield{urldate} field. If the date is a range, it holds the hour component of the start date.
@@ -7488,10 +7549,14 @@
 
 This field holds the year component of the \bibfield{urldate} field.
 
-\fielditem{urlseason}{datepart}
+\fielditem{urlyeardivision}{datepart}
 
-This field holds the season component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.
+This field holds the year division (season, quarter, quadrimester etc.) component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the year division component of the start date.
 
+\fielditem{urlseason}{datepart}\DeprecatedMark
+
+This field holds the season component of the \bibfield{urldate} field as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). If the date is a range, it holds the season component of the start date.  This is deprecated in favour of \bibfield{urlyeardivision} which is more generalised.
+
 \fielditem{urlendhour}{datepart}
 
 If the date specification in the \bibfield{urldate} field is a range, this field holds the hour component of the end date.
@@ -7520,10 +7585,14 @@
 
 If the date specification in the \bibfield{urldate} field is a range, this field holds the year component of the end date. A blank (but defined) \bibfield{urlendyear} component indicates an open ended \bibfield{urldate} range.
 
-\fielditem{urlendseason}{datepart}
+\fielditem{urlendyeardivision}{datepart}
 
-If the date specification in the \bibfield{urldate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.7 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendseason} component indicates an open ended \bibfield{urldate} range.
+If the date specification in the \bibfield{urldate} field is a range, this field holds the year division (season, quarter, quadrimester etc.) component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a year division localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendyeardivision} component indicates an open ended \bibfield{urldate} range.
 
+\fielditem{urlendseason}{datepart}\DeprecatedMark
+
+If the date specification in the \bibfield{urldate} field is a range, this field holds the season component of the end date as specified by \acr{ISO8601-2} 4.8 (\secref{bib:use:dat}). It contains a season localisation string (\secref{aut:lng:key:dt}). A blank (but defined) \bibfield{urlendseason} component indicates an open ended \bibfield{urldate} range.  This is deprecated in favour of \bibfield{urlendyeardivision} which is more generalised.
+
 \end{fieldlist}
 
 \subsection{Citation Styles}
@@ -7666,7 +7735,7 @@
 When an attempt is made to print \prm{field}, \prm{list}, \prm{name}, a
 deprecation warning is issued with the additional \prm{message}.  This aids
 style authors who are changing field names in their style. Note that the
-deprecated item must no longer be defined in the datamodel for this work;
+deprecated item must no longer be defined in the datamodel for this to work;
 \prm{field}, \prm{list} or \prm{name} cannot be listed anywhere as an
 argument to \cmd{DeclareDatamodelFields}.
 
@@ -8135,6 +8204,8 @@
 \valitem{matchi}{regexp}
 \valitem{notmatch}{regexp}
 \valitem{notmatchi}{regexp}
+\valitem{matches}{regexp}
+\valitem{matchesi}{regexp}
 \valitem{replace}{regexp}
 \valitem{fieldset}{entryfield}
 \valitem{fieldvalue}{string}
@@ -8221,6 +8292,7 @@
   \texttt{replace} is not, only apply the step if the \texttt{fieldsource} \prm{entryfield} matches the
   \texttt{match} regular expression (logic is reversed if you use \texttt{notmatch} and case-insensitive if you use the versions ending in <i>)\footnote{Regular expressions are full Perl 5.16 regular expressions. This means you may need to deal with special characters, see examples.}. You may use capture parenthesis as usual and refer to these (\$1\ldots\$9) in later \texttt{fieldvalue} specifications. This allows you to pull out parts of some fields and put these parts in other fields.
 \item Perform a regular expression match and replace on the value of the \texttt{fieldsource} \prm{entryfield} if \texttt{match} and \texttt{replace} are defined.
+\item If \texttt{matches} is defined, it should be a comma-separated list of literal strings which are replaced by corresponding locations in a comma-separated list provided in \texttt{replace}. The lists must have the same number of elements or the step will be skipped. \texttt{matchesi} is the same but case-insensitive.
 \item If \texttt{fieldset} is defined, then its value is \prm{entryfield}
   which will be set to a value specified by further options. If
   \texttt{overwrite} is false for this step and the field to set already
@@ -8266,6 +8338,14 @@
 
 \end{ltxsyntax}
 
+\begin{ltxsyntax}
+
+\cmditem{regexp}{PCRE}
+
+This command can be used with any command accepting a regular expression key to protect a regular expression from being interpreted by \TeX\ so that it is passed through to \biber correctly. Regular expressions often contain sequences of characters that are also valid \TeX\ commands but which should not be interpreted as such. The argument is a normal PCRE (Perl Compatible Regular Expression\fnurl{https://perldoc.perl.org/perlre}). Perl escape sequences like \cmd{t} for a tab, \cmd{n} for a newline, \cmd{A} for the start of a string or \cmd{d} for a digit can be used, without \TeX\ trying to execute them as commands, as can be special characters like \verb|^|, \verb|_| or \verb|{..}| and \verb|#|. Only the \% must be protected: to match a single \% in the bib, use \textbackslash\% in the regular expression, a \textbackslash\% is matched by \textbackslash\textbackslash\%.
+
+\end{ltxsyntax}
+
 Here are some data source mapping examples:
 
 \begin{ltxexample}
@@ -8561,6 +8641,20 @@
 %
 Here, a clone of an entry from the specified data source will be created. The entry key of the clone will be the same as the original but prefixed by the value of the \texttt{entryclone} parameter. The cloned entry would still need to be cited in the document using its new entry key. This type of mapping step should be used with care as it may produce labelling problems in authoryear styles which use, for example, \opt{extradate}. One use case is for numeric styles which contain multiple bibliographies containing the same entry. In this case, you may need different bibliography number labeld for the same entry and this is very tricky when there is only one entry which needs different labels. Creating clones with different entry keys solves this problem.
 
+\begin{ltxexample}
+\DeclareSourcemap{
+  \maps[datatype=bibtex]{
+    \map{
+      \step[fieldsource=<<note>>]
+      \step[fieldset=<<usera>>, origfieldval]
+      \step[fieldsource=<<usera>>, matchesi={string1,string2,StriNg3}, replace={1,2,3}]
+    }
+  }
+}
+\end{ltxexample}
+%
+Here, any \bibfield{note} field is copied to \bibfield{usera} and then <string1>, <string2> and <string3> are matched case-insensitively in the \bibfield{usera} field and replaced with <1>, <2> and <3> respectively. The value of \texttt{matches} and \texttt{matchesi} are not regular expressions, they are CSV lists of literal strings, as is the value of \texttt{replace} when either of \texttt{matches} or \texttt{matchesi} are used. The lengths of the match/replace CSV lists must be the same. This is useful when creating a new field to sort by in a custom sorting scheme when the field you wish to sort by has a defined order which is not alphabetical or numeric, such as when sorting by level of court in legal bibliographies. Using \texttt{matches} is simply more efficient than using many individual \texttt{match} maps in serial.
+
 \biblatexml\ datasources are more structured than \bibtex\ since they are XML. Sourcemapping is possible with \biblatexml\ too but the specifications of source and target fields etc. also support XPath 1.0 paths in order to be able to work with the structured data. Fields can be specified as per the \bibtex\ examples above and these are converted into XPath 1.0 queries internally as necessary. For example:
 
 \begin{ltxexample}
@@ -9250,7 +9344,7 @@
 
 \cmditem{sort}{elements}
 
-Specifies the elements considered in the sorting process. The \prm{elements} are an undelimited list of \cmd{field}, \cmd{literal}, and \cmd{citeorder} commands which are evaluated in the order in which they are given. If an element is defined, it is added to the sort key and the sorting routine skips to the next \cmd{sort} directive. If it is undefined, the next element is evaluated. Since literal strings are always defined, any \cmd{literal} commands should be the sole or the last element in a \cmd{sort} directive. All \prm{elements} should be the same datatype as described in \secref{bib:fld:dat} since they will be potentially compared to any of the other \prm{elements} in other entries.. The \cmd{sort} command supports the following optional arguments:
+Specifies the elements considered in the sorting process. The \prm{elements} are an undelimited list of \cmd{field}, \cmd{literal}, \cmd{citecount} and \cmd{citeorder} commands which are evaluated in the order in which they are given. If an element is defined, it is added to the sort key and the sorting routine skips to the next \cmd{sort} directive. If it is undefined, the next element is evaluated. Since literal strings are always defined, any \cmd{literal} commands should be the sole or the last element in a \cmd{sort} directive. All \prm{elements} should be the same datatype as described in \secref{bib:fld:dat} since they will be potentially compared to any of the other \prm{elements} in other entries.. The \cmd{sort} command supports the following optional arguments:
 
 \begin{optionlist*}
 
@@ -9308,6 +9402,10 @@
 
 The \cmd{literal} element adds a literal \prm{string} to the sorting specification. This is useful as a fallback if some fields are not available.
 
+\csitem{citecount}
+
+The \cmd{citecount} element has a special meaning. It requests a sort based on the number of times an item was cited. The standard \texttt{count} sorting template uses this to provide a sort in descending order of number of citations. Note that the option \opt{citecounter} must also be enabled for this to work. In addition, an additional \biber run is required in order to calculate the data for this option correctly and so the typical invocation sequence for this option is \emph{latex}$\rightarrow$\emph{biber}$\rightarrow$\emph{latex}$\rightarrow$\emph{latex}$\rightarrow$\emph{biber}$\rightarrow$\emph{latex}.
+
 \csitem{citeorder}
 
 The \cmd{citeorder} element has a special meaning. It requests a sort based on the lexical order of the actual citations. For entries cited within the same citation command like:
@@ -9660,7 +9758,7 @@
 
 \cmditem{nosort}{field or datafield set}{regexp}
 
-Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{datafield set}. A \prm{datafield set} is simply a convenience grouping of semantically similar fields from which you might want to remove a regexp. See \secref{aut:ctm:dsets} for the avaiable sets, their members and customisation. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly.
+Any number of \cmd{nosort} commands can be given each of which specifies to remove the \prm{regexp} from the \prm{field} or \prm{datafield set}. A \prm{datafield set} is simply a convenience grouping of semantically similar fields from which you might want to remove a regexp. See \secref{aut:ctm:dsets} for the available sets, their members and customisation. Since regular expressions usually contain special characters, it is best to enclose them in the provided \cmd{regexp} macro as shown---this will pass the expression through to \biber correctly.
 
 \end{ltxsyntax}
 
@@ -9691,6 +9789,44 @@
 }
 \end{ltxexample}
 
+\subsubsection{Fine Tuning hashing and uniquename}
+\label{aut:ctm:nonamestring}
+
+\begin{ltxsyntax}
+\cmditem{DeclareNonamestring}{specification}
+
+Defines regular expressions to strip from name fields when
+generating \bibfield{fullhash} and \bibfield{uniquename}. The \prm{specification} is an undelimited list of \cmd{nonamestring} directives which specify the regular expressions to remove from particular name fields. Spaces, tabs and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble.
+
+\cmditem{nonamestring}{namefield or datafield name set}{regexp}
+
+Any number of \cmd{nonamestring} commands can be given each of which
+specifies to remove the \prm{regexp} from the \prm{namefield} or
+\prm{datafield name set}. A \prm{datafield name set} is simply a
+convenience grouping of semantically similar fields from which you might
+want to remove a regexp. See \secref{aut:ctm:dsets} for the available sets,
+their members and customisation. Only set of name lists are relevant to
+this command. Since regular expressions usually contain special characters,
+it is best to enclose them in the provided \cmd{regexp} macro as
+shown---this will pass the expression through to \biber correctly.
+
+\end{ltxsyntax}
+
+Suppose you wanted to ignore square brackets in names in the
+\bibfield{author} name field and treat <D[onald] Knuth> the same as <Donald
+Knuth> for purposes \bibfield{uniquename} and hashing so that both variants
+appeared together in a dashed bibliography style and were also treated the
+same when calculating \bibfield{uniquename}:
+
+\begin{ltxexample}
+\DeclareNonamestring{
+  \nonamestring{<<author>>}{\regexp{<<[\[\]]>>}}
+}
+\end{ltxexample}
+%
+For consistency, it is often desirable to use the same regexp in \cmd{DeclareNosort}.
+
+
 \subsubsection{Special Fields}
 \label{aut:ctm:fld}
 
@@ -10494,6 +10630,19 @@
 
 Executes \prm{true} if the \prm{string} is a positive integer, and \prm{false} otherwise. This command is robust.
 
+\cmditem{hascomputableequivalent}{string}{true}{false}
+
+Executes \prm{true} if the \prm{string} can be transformed into a \latex-computable integer consisting only of \acr{US-ASCII} characters via \cmd{getcomputableequivalent} and \prm{false} otherwise.
+The mapping from non-\acr{US-ASCII} to \acr{US-ASCII} numerals will usually be given in the \file{lbx} file.
+
+\cmditem{ifiscomputable}{string}{true}{false}
+
+Returns \prm{true} if \cmd{ifinteger} or \cmd{hascomputableequivalent} retrurns \prm{true} on \prm{string} and \prm{false} otherwise.
+
+\cmditem{getcomputableequivalent}{string}{macro}
+
+Saves the \acr{US-ASCII} representation of the number given as \prm{string} in \prm{macro}.
+
 \cmditem{ifnumeral}{string}{true}{false}
 
 Executes \prm{true} if the \prm{string} is an Arabic or Roman numeral, and \prm{false} otherwise. This command is robust. See also \cmd{DeclareNumChars} and \cmd{NumCheckSetup} in \secref{aut:aux:msc}.
@@ -10510,6 +10659,14 @@
 
 Similar to \cmd{ifinteger}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
 
+\cmditem{fieldhascomputableequivalent}{field}{true}{false}
+
+Similar to \cmd{hascomputableequivalent}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
+
+\cmditem{iffieldiscomputable}{field}{true}{false}
+
+Similar to \cmd{ifiscomputable}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
+
 \cmditem{iffieldnum}{field}{true}{false}
 
 Similar to \cmd{ifnumeral}, but uses the value of a \prm{field} rather than a literal string in the test. If the \prm{field} is undefined, it executes \prm{false}.
@@ -10711,6 +10868,21 @@
 
 Expands to \prm{true} if the bibliography macro \prm{name} is undefined, and to \prm{false} otherwise.
 
+This bibliography macro can be used in the following idiom to make a bibliography macro more type specific.
+%
+\begin{ltxexample}
+\letbibmacro{cite:*}{cite}
+\newbibmacro{cite:patent}{%
+  \printtext{\color{red}%
+    Some citation format specific to patents}}
+
+\renewbibmacro*{cite}{%
+  \ifbibmacroundef{cite:\thefield{entrytype}}
+    {\usebibmacro{cite:*}}
+    {\usebibmacro*{cite:\thefield{entrytype}}}%
+}
+\end{ltxexample}
+
 \cmditem{iffieldformatundef}[entry type]{name}{true}{false}
 \cmditem{iflistformatundef}[entry type]{name}{true}{false}
 \cmditem{ifnameformatundef}[entry type]{name}{true}{false}
@@ -10750,7 +10922,7 @@
 
 \cmditem{MakeCapital}{text}
 
-Similar to \cmd{MakeUppercase} but only converts the first printable character in \prm{text} to uppercase. Note that the restrictions that apply to \cmd{MakeUppercase} also apply to this command. Namely, all commands in \prm{text} must either be robust or prefixed with \cmd{protect} since the \prm{text} is expanded during capitalization. Apart from Ascii characters and the standard accent commands, this command also handles the active characters of the \sty{inputenc} package as well as the shorthands of the \sty{babel} package. If the \prm{text} starts with a control sequence, nothing is capitalized. This command is robust.
+Similar to \cmd{MakeUppercase} but only converts the first printable character in \prm{text} to uppercase. Note that the restrictions that apply to \cmd{MakeUppercase} also apply to this command. Namely, all commands in \prm{text} must either be robust or prefixed with \cmd{protect} since the \prm{text} is expanded during capitalization. Apart from \acr{US-ASCII} characters and the standard accent commands, this command also handles the active characters of the \sty{inputenc} package as well as the shorthands of the \sty{babel} package. If the \prm{text} starts with a control sequence, nothing is capitalized. This command is robust.
 
 \cmditem{MakeSentenceCase}{text}
 \cmditem*{MakeSentenceCase*}{text}
@@ -10786,13 +10958,13 @@
 \end{lstlisting}
 
 %
-The behaviour of \cmd{MakeSentenceCase} differs slightly between the \opt{latex2e} and \opt{expl3} implementation. Generally speaking, the \opt{expl3} code is closer to the \bibtex behaviour of \texttt{change.case\$}. It is also better equipped to deal with non-ASCII input and macros than the \opt{latex2e} implementation. \cmd{MakeSentenceCase} behaves as follows.
+The behaviour of \cmd{MakeSentenceCase} differs slightly between the \opt{latex2e} and \opt{expl3} implementation. Generally speaking, the \opt{expl3} code is closer to the \bibtex behaviour of \texttt{change.case\$}. It is also better equipped to deal with non-\acr{US-ASCII} input and macros than the \opt{latex2e} implementation. \cmd{MakeSentenceCase} behaves as follows.
 \begin{itemize}\setlength{\labelsep}{1em}
   \item The first letter of its argument is capitalised with \cmd{MakeUppercase}. This is different from \bibtex's \texttt{change.case\$}, which does not touch the first letter of its argument.
-  
+
   Note that with the \opt{latex2e} code a pair of braces that starts with a control sequence will be treated as a single character for capitalisation purposes. This means that the entire argument of a command protected with a single pair of braces is capitalised.
   \item With the \opt{latex2e} code expandable commands are expanded before the case change, which means that the case change applies to the replacement text. Unexpandable commands are not touched.
-  
+
   \bibtex does not interpret macros and therefore passes commands through unchanged (this does not necessarily apply to the \emph{arguments} of those commands). The \opt{expl3} implementation also does not expand commands and only applies case change to the arguments.
   \item Text wrapped in one or more pairs of braces is protected from case change \emph{unless} it starts with a control sequence. This is the same behaviour as with \bibtex. Note that the braces could either be explicit groups or argument delimiters.
   \item Text in a single pair of braces that starts with a control sequence is not protected and will be subject to case changes. Note that this need not apply to braces that are argument delimiters, in fact the \opt{latex2e} implementation of \cmd{MakeSentenceCase} may in some cases produce an error or otherwise undesirable output if the argument of a command starts with a control sequence. \bibtex's case change function does not differentiate between argument delimiters and brace groups and always subjects text at brace level~1 to case change if it starts with a control sequence.
@@ -10948,7 +11120,7 @@
 \begin{itemize}
 \item Calculate the total of multiple ranges in the same field such as <1-10, 20-30>
 \item Handle implicit ranges such as <22-4> and <130-33>
-\item Handle roman numeral ranges in upper and lower case and consisting of both ASCII and Unicode roman numeral representations.
+\item Handle roman numeral ranges in upper and lower case and consisting of both \acr{US-ASCII} and Unicode roman numeral representations.
 \end{itemize}
 %
 Here are some examples:
@@ -11455,8 +11627,57 @@
 
 Locally switches from the current language to the main document language to typeset \prm{text}. This can be used the \prm{wrapper} argument in the localisation string commands above.
 
+\cmditem{texouterlang}{text}
+
+Locally switches from the current language to the surrounding language (which was not selected by \sty{biblatex}) to typeset \prm{text}. This can be used the \prm{wrapper} argument in the localisation string commands above.
+
 \end{ltxsyntax}
 
+It is possible to add bibliography strings to a bibliography string set to apply additional formatting.
+
+\begin{ltxsyntax}
+
+\cmditem{DeclareBibstringSet}{setname}{key, \dots}
+
+This commands assigns all \prm{key}s to the bibliography string set \prm{setname}.
+
+\cmditem{UndeclareBibstringSet}{setname}
+
+Remove the bibliography string set \prm{setname}. Any formatting definitions will also be cleared.
+
+\cmditem{UndeclareBibstringSets}
+
+Remove all existing bibliography string sets with \cmd{UndeclareBibstringSet}.
+
+\cmditem{DeclareBibstringSetFormat}{setname}{code}
+
+Defines the bibliography string format for \prm{setname}. The format works exactly like an additional \prm{wrapper} format for \cmd{bibstring}. \prm{code} is executed whenever a bibliography string of \prm{setname} is printed. The text of the bibliography string is passed to \prm{code} as first and only argument.
+
+\cmditem{UneclareBibstringSetFormat}{setname}
+
+Remove any bibliography string set format defined for \prm{setname}.
+
+\end{ltxsyntax}
+
+Bibliography string sets can be useful to apply additional formatting to a number of bibliography strings at the same time. These commands are intended for use in language modules. For example in French typography it is customary to italicise Latin terms. The French language module can define a new bibliography string set called \texttt{latin} for all Latin strings and apply additional formatting only to these strings. It is not recommended to apply the formatting dierctly in the bibliography string definitions, since that can interfere with the capitalisation function. Assuming that the French language \texttt{.lbx} file only defines two Latin strings, \texttt{andothers} and \texttt{andothers}, the \texttt{.lbx} file would contain.
+
+\begin{ltxexample}[escapeinside={(*@}{@*)}]
+\DeclareBibliographyExtras{%
+  (*@\dots@*)
+  \DeclareBibstringSet{latin}{andothers,ibidem}%
+  \DeclareBibstringSetFormat{latin}{\mkbibemph{#1}}%
+  (*@\dots@*)
+}
+
+\UndeclareBibliographyExtras{%
+  (*@\dots@*)
+  \UndeclareBibstringSet{latin}%
+  (*@\dots@*)
+}
+\end{ltxexample}
+Note that the defined sets should be undeclared after use to avoid side effects for other languages.
+
+
 \subsection{Localization Modules}
 \label{aut:lng}
 
@@ -12054,9 +12275,11 @@
 \item[langlatin] The language <Latin>.
 \item[langlatvian] The language <Latvian>.
 \item[langlithuanian] The language <Lithuanian>.
+\item[langmarathi] The language <Marathi>.
 \item[langnorwegian] The language <Norwegian>.
 \item[langpolish] The language <Polish>.
 \item[langportuguese] The language <Portuguese>.
+\item[langromanian] The language <Romanian>.
 \item[langrussian] The language <Russian>.
 \item[langserbian] The language <Serbian>.
 \item[langslovak] The language <Slovak>.
@@ -12091,9 +12314,11 @@
 \item[fromlatin] The expression <from [the] Latin>.
 \item[fromlatvian] The expression <from [the] Latvian>.
 \item[fromlithuanian] The language <from [the] Lithuanian>.
+\item[frommarathi] The expression <from [the] Marathi>.
 \item[fromnorwegian] The expression <from [the] Norwegian>.
 \item[frompolish] The expression <from [the] Polish>.
 \item[fromportuguese] The expression <from [the] Portuguese>.
+\item[fromromanian] The expression <from [the] Romanian>.
 \item[fromrussian] The expression <from [the] Russian>.
 \item[fromserbian] The expression <from [the] Serbian>.
 \item[fromslovak] The expression <from [the] Slovak>.
@@ -12162,7 +12387,7 @@
 \item[circa] The string <circa>
 \end{keymarglist}
 
-Abbreviation strings for seasons parsed from \acr{ISO8601-2} Extended Format dates:
+Abbreviation strings for year divisions parsed from \acr{ISO8601-2} Extended Format dates:
 
 \begin{keymarglist}
 \item[spring] The string <spring>
@@ -12169,6 +12394,23 @@
 \item[summer] The string <summer>
 \item[autumn] The string <autumn>
 \item[winter] The string <winter>
+\item[springN] The string <spring (Northern Hemisphere)>
+\item[summerN] The string <summer (Northern Hemisphere)>
+\item[autumnN] The string <autumn (Northern Hemisphere)>
+\item[winterN] The string <winter (Northern Hemisphere)>
+\item[springS] The string <spring (Southern Hemisphere)>
+\item[summerS] The string <summer (Southern Hemisphere)>
+\item[autumnS] The string <autumn (Southern Hemisphere)>
+\item[winterS] The string <winter (Southern Hemisphere)>
+\item[Q1] The string <Quarter 1>
+\item[Q2] The string <Quarter 2>
+\item[Q3] The string <Quarter 3>
+\item[Q4] The string <Quarter 3>
+\item[QD1] The string <Quadrimester 1>
+\item[QD2] The string <Quadrimester 2>
+\item[QD3] The string <Quadrimester 3>
+\item[S1] The string <Semestral 1>
+\item[S2] The string <Semestral 2>
 \end{keymarglist}
 
 Abbreviation strings for AM/PM:
@@ -12715,8 +12957,12 @@
 
 This command takes an integer argument and prints it as a month name. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
 
-\cmditem{mkbibseason}{string}
+\cmditem{mkbibyeardivision}{string}\DeprecatedMark
 
+This command takes a year division localisation string and prints the version of the string corresponding to the setting of the \opt{dateabbrev} package option. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
+
+\cmditem{mkbibseason}{string}\DeprecatedMark
+
 This command takes a season localisation string and prints the version of the string corresponding to the setting of the \opt{dateabbrev} package option. Even though the output of this command is language specific, its definition is not, hence it is normally not redefined in localisation modules.
 
 \cmditem{mkyearzeros}{integer}
@@ -14520,7 +14766,23 @@
 This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. More technical details are to be found in the \file{CHANGES.md} file. The numbers on the right indicate the relevant section of this manual.
 
 \begin{changelog}
-\begin{release}{3.16}{2020-12}
+\begin{release}{3.17}{2022-01-25}
+\item Changed behaviour of index-less granular XDATA references\see{use:use:xdat}
+\item Added \cmd{DeclareNonamestring} \see{aut:ctm:nonamestring}
+\item Added new \cmd{citecount} sort option and
+      associated default sorting scheme\see{aut:ctm:srt} and \see{use:opt:pre:gen}
+\item Added new sourcemap verbs \texttt{matches} and \texttt{matchesi}\see{aut:ctm:map}
+\item Deprecated season fields and macros in favour of generalised year
+      divisions\see{aut:bbx:fld:dat}
+\item Added \cmd{textouterlang}\see{aut:str}
+\item Added \cmd{UndeclareDelimcontextAlias}\see{use:fmt:csd}
+\item Added \cmd{DeclareBibstringSet}, \cmd{DeclareBibstringSetFormat} etc.\see{aut:str}
+\item Added Marathi localisation (\textdevanagari{निरंजन})
+\item Added Romanian localisation (Patrick Danilevici)
+\item Added some support for calculating with non-\acr{US-ASCII} numerals\see{aut:aux:tst}
+\item Removed list support for \prm{name} argument of \cmd{DeclareDelimFormat}\see{use:fmt:csd}
+\end{release}
+\begin{release}{3.16}{2020-12-31}
 \item Added named refcontext support to \cmd{assignrefcontext*}\see{use:bib:context}
 \item Fixed infinite loop with \bibfield{volcitepages} field format
 \item Added Extended Name Format documentation\see{use:enf}

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex	2022-02-03 22:11:47 UTC (rev 61868)
@@ -604,9 +604,11 @@
 \keyitem{langlatin} The language <Latin>.
 \keyitem{langlatvian} The language <Latvian>.
 \keyitem{langlithuanian} The language <Lithuanian>.
+\keyitem{langmarathi} The language <Marathi>.
 \keyitem{langnorwegian} The language <Norwegian>.
 \keyitem{langpolish} The language <Polish>.
 \keyitem{langportuguese} The language <Portuguese>.
+\keyitem{langromanian} The language <Romanian>.
 \keyitem{langrussian} The language <Russian>.
 \keyitem{langserbian} The language <Serbian>.
 \keyitem{langslovak} The language <Slovak>.
@@ -641,9 +643,11 @@
 \keyitem{fromlatin} The expression <from [the] Latin>.
 \keyitem{fromlatvian} The expression <from [the] Latvian>.
 \keyitem{fromlithuanian} The expression <from [the] Lithuanian>.
+\keyitem{frommarathi} The expression <from [the] Marathi>.
 \keyitem{fromnorwegian} The expression <from [the] Norwegian>.
 \keyitem{frompolish} The expression <from [the] Polish>.
 \keyitem{fromportuguese} The expression <from [the] Portuguese>.
+\keyitem{fromromanian} The expression <from [the] Romanian>.
 \keyitem{fromrussian} The expression <from [the] Russian>.
 \keyitem{fromserbian} The expression <from [the] Serbian>.
 \keyitem{fromslovak} The expression <from [the] Slovak>.
@@ -716,5 +720,6 @@
 \keyitem{pm} The string <PM>
 \end{keylist}
 
+\clearpage
 \printbibliography
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates.tex	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates.tex	2022-02-03 22:11:47 UTC (rev 61868)
@@ -18,10 +18,10 @@
 @misc{date2,
   note      = {Dates with circa and uncertain markers},
   author    = {Author2},
-  date      = {1723%},        % year with EDTF approximate (circa) and uncertainty markers
+  date      = {1723%},        % year with ISO8601-2 approximate (circa) and uncertainty markers
   origdate  = {1934-02~},      % year and month with circa marker
   eventdate = {1976?},         % year with uncertainty marker
-  urldate   = {1922~},         % year with EDTF approximate (circa) marker
+  urldate   = {1922~},         % year with ISO8601-2 approximate (circa) marker
 }
 @misc{date3,
   note      = {Date ranges},
@@ -42,7 +42,7 @@
 @misc{date5,
   note      = {Seasons},
   author    = {Author5},
-  date      = {1723-21},          % season (21=spring, 22=summer, 23=autumn, 24=winter)
+  date      = {1723-21},          % year divisions (21=spring)
   origdate  = {1934-24~},         % uncertain year plus season
   eventdate = {1934-22/1934-23},  % range with seasons
 }
@@ -83,7 +83,7 @@
 }
 \end{filecontents}
 \usepackage[style=authoryear,%
-            % dateabbrev=false,% when false, don't abbreviate months/seasons
+            % dateabbrev=false,% when false, don't abbreviate months/year divisions
             % julian=true,% convert dates before gregorianstart to Julian Calendar
             % gregorianstart=1582-10-15,% Default
             alldates=short,%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def	2022-02-03 22:11:47 UTC (rev 61868)
@@ -210,6 +210,11 @@
 % \bibsetup is a generic hook controlling the (low-level) layout of
 % the bibliography and bibliography lists. The default
 % definition should work fine in most cases.
+% There are a few other penalties and parameters that could be adjusted
+% here, but we don't do that by default for backwards compatibility
+% reasons.
+% * \finalhyphendemerits can be set to 0 to allow hyphenation
+%   in the penultimate line
 
 \newcommand*{\bibsetup}{%
   \interlinepenalty=5000\relax
@@ -1469,6 +1474,10 @@
   \sort{\citeorder}
 }
 
+\DeclareSortingTemplate{count}{
+  \sort[direction=descending]{\citecount}
+}
+
 \DeclareSortingTemplate{debug}{
   \sort{
     \field{entrykey}
@@ -2247,22 +2256,22 @@
 \DeclareCiteCommand{\notecite}
   {\printfield{prenote}%
    \setunit*{\printdelim{prenotedelim}}}
-  {\nocite{\thefield{entrykey}}}
   {}
+  {}
   {\printfield{postnote}}
 
 \DeclareCiteCommand{\pnotecite}[\mkbibparens]
   {\printfield{prenote}%
    \setunit*{\printdelim{prenotedelim}}}
-  {\nocite{\thefield{entrykey}}}
   {}
+  {}
   {\printfield{postnote}}
 
 \DeclareCiteCommand{\fnotecite}[\mkbibfootnote]
   {\printfield{prenote}%
    \setunit*{\printdelim{prenotedelim}}}
-  {\nocite{\thefield{entrykey}}}
   {}
+  {}
   {\printfield{postnote}}
 
 \newrobustcmd*{\volcite}{\volcitecmd\cite}
@@ -2979,13 +2988,21 @@
          {\ifnamesequal{author}{savedauthor}
             {\clearname{author}}
             {}}%
-       \renewbibmacro*{related:init}{}%
        \DeclareNameAlias{sortname}{default}%
+       % from authortitle and authoryear
+       \ifbibmacroundef{bbx:dashcheck}
+         {}
+         {\renewbibmacro*{bbx:dashcheck}[2]{##2}}%
+       % authoryear
+       \ifbibmacroundef{labeltitle}
+         {}
+         {\renewbibmacro*{labeltitle}{}}%
        \ifbibmacroundef{date+extradate}
          {}
          {\renewbibmacro*{date+extradate}{}%
           \renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}}%
-       \renewbibmacro*{pageref}{}}
+       \renewbibmacro*{pageref}{}%
+       \renewbibmacro*{related:init}{}}
       {\thefield{entrytype}}}}
 
 \newbibmacro*{related:bytranslator}[1]{%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty	2022-02-03 22:11:47 UTC (rev 61868)
@@ -12,8 +12,8 @@
 % particular purpose.
 
 % Set up the version strings here
-\def\abx at date{2020/12/31}
-\def\abx at version{3.16}
+\def\abx at date{2022/02/02}
+\def\abx at version{3.17}
 \def\abx at bbxid{\abx at date\space v\abx at version\space biblatex bibliography style (PK/MW)}
 \def\abx at cbxid{\abx at date\space v\abx at version\space biblatex citation style (PK/MW)}
 \def\abx at lbxid{\abx at date\space v\abx at version\space biblatex localization (PK/MW)}
@@ -22,12 +22,12 @@
 % This is not updated by build script as the control file version
 % does not necessarily change with the package version.
 % This is used when writing the .bcf
-\def\blx at bcfversion{3.7}
+\def\blx at bcfversion{3.8}
 
 % This is not updated by build script as the bbl version
 % does not necessarily change with the package version.
 % This is used when checking the .bbl
-\def\blx at bblversion{3.1}
+\def\blx at bblversion{3.2}
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{biblatex}
@@ -64,8 +64,10 @@
 \providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion}
 \IfFormatAtLeastTF{2020/10/01}
   {\def\blx at AfterPreamble{\AddToHook{begindocument}[biblatex/afterpreamble]}%
-   \DeclareHookRule{begindocument}{biblatex/afterpreamble}{after}{biblatex}}
-  {\def\blx at AfterPreamble{\AfterPreamble}}
+   \DeclareHookRule{begindocument}{biblatex/afterpreamble}{after}{biblatex}%
+   \def\blx at AtEndDocument{\AddToHook{enddocument/afterlastpage}}}
+  {\def\blx at AfterPreamble{\AfterPreamble}%
+   \def\blx at AtEndDocument{\AtEndDocument}}
 
 % generalised keyval interface
 % define a new key (possibly with a default value)
@@ -206,6 +208,14 @@
   {\global\cslet{blx at pkgloaded@polyglossia}\@empty}
   {}
 
+\@ifpackageloaded{inputenc}
+  {\global\cslet{blx at pkgloaded@inputenc}\@empty}
+  {}
+
+\@ifpackageloaded{inputenx}
+  {\global\cslet{blx at pkgloaded@inputenx}\@empty}
+  {}
+
 % this part is deferred to \AtEndPreamble
 \def\blx at packageincompatibility@endpreambleonly{%
   % people should not be abusing noerroretextools,
@@ -219,6 +229,17 @@
           Please do not define '\string\blx at noerroretextools'\MessageBreak
           unless you really need it}}}
     {}%
+  \@ifpackageloaded{inputenc}
+    {\ifcsundef{blx at pkgloaded@inputenc}
+       {\blx at warning@noline{Load 'inputenc' before biblatex}}
+       {}}
+    {}%
+  \@ifpackageloaded{inputenx}
+    {\ifcsundef{blx at pkgloaded@inputenx}
+       {}
+       {\blx at warning@noline{Load 'inputenx' before biblatex}}
+       {}}
+    {}%
   % polyglossia pretends to be babel, so the nested structure helps
   % to make sure that babel really is babel
   \@ifpackageloaded{polyglossia}
@@ -582,44 +603,39 @@
      {}%
 }
 
-% our copy of \addtocontents with \immediate (not @protected,
-% so a bit different, but we are only going to use it for very
-% specific input, so that doesn't matter)
-\def\blx at immediate@addtocontents#1#2{%
-  \blx at auxwrite\@auxout
-    {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
-    {\string\@writefile{#1}{#2}}}
 
-\AtBeginDocument{%
-  \blx at immediate@addtocontents{toc}{%
-     \boolfalse{citerequest}%
-     \boolfalse{citetracker}%
-     \boolfalse{pagetracker}%
-     \boolfalse{backtracker}\relax}%
-  \blx at immediate@addtocontents{lof}{%
-     \boolfalse{citerequest}%
-     \boolfalse{citetracker}%
-     \boolfalse{pagetracker}%
-     \boolfalse{backtracker}\relax}%
-  \blx at immediate@addtocontents{lot}{%
-     \boolfalse{citerequest}%
-     \boolfalse{citetracker}%
-     \boolfalse{pagetracker}%
-     \boolfalse{backtracker}\relax}}
-
-\begingroup
-\@makeother\#
-% \relax: gobble newline -> titletoc.sty
-\AtEndPreamble{%
-  \patchcmd\addtocontents
-    {\string\@writefile}
-    {\string\@writefile{#1}{\defcounter{refsection}{\the\c at refsection}\relax}%
-     \string\@writefile}
+\protected\def\blx at providecounter#1{%
+  \ifltxcounter{#1}
     {}
-    {\blx at err@patch{\string\addtocontents}}}
-\endgroup
+    {\newcounter{#1}}}
 
+\def\blx at citecmds{}
+% \autocite and \autocites are not defined via \DeclareCiteCommand
+\listadd\blx at citecmds{autocite}
+\listadd\blx at citecmds{autocites}
 
+\newcommand*{\blx at contentssafe@citecommands}{%
+  \forlistloop{\blx at mkcitecmd@contentssafe}{\blx at citecmds}}
+
+\def\blx at mkcitecmd@contentssafe#1{%
+  \csdef{#1}{%
+    \blx at tocontentsinit{\the\c at refsection}%
+    \noexpand\csuse{#1}}}
+
+\protected\def\blx at tocontentsinit#1{%
+  \boolfalse{citerequest}%
+  \boolfalse{citetracker}%
+  \boolfalse{pagetracker}%
+  \boolfalse{backtracker}%
+  \defcounter{refsection}{#1}}
+
+\patchcmd\addtocontents
+  {\let\glossary\@gobble}
+  {\let\glossary\@gobble
+   \blx at contentssafe@citecommands}
+  {}
+  {\blx at err@patch{\addtocontents}}
+
 % trick hyperref into believing we're natbib
 \let\NAT at parse\@empty
 % trick showkeys into believing we're havard
@@ -637,7 +653,7 @@
   \begingroup
     \def\blx at tempa{\endgroup
       \@secondoftwo}%
-    \renewcommand*{\do}[1]{%
+    \def\do##1{%
       \ifstrequal{##1}{#1}
         {\def\blx at tempa{\endgroup
            \@firstoftwo}%
@@ -835,12 +851,13 @@
 \newcount\blx at tempcnta
 \newcount\blx at tempcntb
 \newcount\blx at tempcntc
-\newcount\blx at maxsection
-\expandafter\newcount\csname blx at maxsegment@0\endcsname
+\newcounter{blx at maxsection}
+\def\theblx at maxsection{\the\c at blx@maxsection}
+\newcounter{blx at maxsegment@0}
 \newcount\blx at notetype
 \newcount\blx at parenlevel@text
 \newcount\blx at parenlevel@foot
-\expandafter\newcount\csname blx at sectionciteorder@0\endcsname
+\newcounter{blx at sectionciteorder@0}
 \newcount\blx at entrysetcounter
 \newcount\blx at biblioinstance
 
@@ -868,8 +885,6 @@
 \newlength{\bibparsep}
 \newlength{\bibhang}
 
-\newbool{refcontextdefaults}
-\booltrue{refcontextdefaults}%
 \newbool{sourcemap}
 \newbool{citetracker}
 \newbool{pagetracker}
@@ -954,6 +969,7 @@
 % Used to track default refcontexts for citations
 \cslet{blx at defaultrefcontexts@0}\@empty
 \listadd\blx at allrefsections{0}
+\listadd\blx at alllastrefsections{0}
 
 % Used to track defernumbers from .aux
 \global\let\blx at localnumbers\@empty
@@ -970,14 +986,8 @@
 % Used to track transliterations
 \global\let\blx at translits\@empty
 
-% Use to track every entry found in .bbl
-% Used to issue defernumbers warning about missing keys because this causes
-% defernumbers labelling to fail.
-\global\let\blx at entries\@empty
-
 % Initialise some lists which track changing citations/sortingtemplates
 % etc. between runs
-\global\let\blx at cites\@empty
 \global\let\blx at nocites\@empty
 \global\let\blx at directcites\@empty
 \global\let\blx at refcontexts\@empty
@@ -986,8 +996,8 @@
 \global\let\blx at dlistnames\@empty
 \global\let\blx at biblists\@empty
 \global\let\blx at lastbiblists\@empty
-\global\let\blx at lastcites\@empty
 \global\let\blx at localnumaux\@empty
+\global\cslet{blx at cites@0}\@empty
 
 \newread\blx at bcfin
 \newwrite\blx at bcfout
@@ -1618,7 +1628,7 @@
 
 \def\blx at addchecksum{\blx at checksum\blx at checksum@old}
 \def\blx at addpagesum{\blx at checksum\blx at pagesum@old}
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \def\blx at addchecksum{\blx at checksum\blx at checksum@new}%
   \def\blx at addpagesum{\blx at checksum\blx at pagesum@new}}
 
@@ -2233,9 +2243,13 @@
 
 % {<entry type>}{<driverdef>}
 \newrobustcmd*{\DeclareBibliographyDriver}[1]{%
-  \long\csdef{blx at bbx@#1}}
+  \blx at declarebibdriver{#1}}
 \@onlypreamble\DeclareBibliographyDriver
 
+\long\def\blx at declarebibdriver#1#2{\long\csdef{blx at bbx@#1}{#2}}
+
+
+
 % {<entry type>}
 \def\blx at driver#1{%
   \ifcsdef{blx at bbx@#1}
@@ -3145,6 +3159,44 @@
   \fi
   \endgroup}
 
+% {\<non-ASCII numeral>}{\<ASCII number>}
+\protected\def\blx at defcomputableequivalent#1#2{%
+  \appto\blx at dononasciicomputablenumerals{\do#1}%
+  \appto\blx at initcomputableequivs{\uccode`#1=`#2}}
+
+% {<string>}{<true>}{<false>}
+\protected\long\def\blx at imc@hascomputableequivalent#1{%
+  \begingroup
+  \def\do##1{\uccode`##1=`\%}%
+  \blx at dononasciicomputablenumerals
+  \catcode`\@=11
+  \catcode`\%=9
+  \endlinechar\m at ne
+  \uppercase{\scantokens{\def\blx at tempa{#1}}}%
+  \ifx\blx at tempa\@empty
+    \aftergroup\@firstoftwo
+  \else
+    \aftergroup\@secondoftwo
+  \fi
+  \endgroup}
+
+% {<string>}{<true>}{<false>}
+\protected\long\def\blx at imc@ifiscomputable#1{%
+  \blx at imc@ifinteger{#1}
+    {\@firstofone}
+    {\blx at imc@hascomputableequivalent{#1}}}
+
+% {<string>}{<macro>}
+\protected\long\def\blx at imc@getcomputableequivalent#1#2{%
+  \blx at imc@hascomputableequivalent{#1}
+    {\begingroup
+     \blx at initcomputableequivs
+     \uppercase{\def\blx at tempa{#1}}%
+     \edef\blx at tempb{\endgroup
+       \noexpand\def\noexpand#2{\expandonce{\blx at tempa}}}%
+      \blx at tempb}
+    {\def#2{#1}}}
+
 % {<field>}{<true>}{<false>}
 \protected\def\blx at imc@iffieldint#1{%
   \blx at imc@iffieldundef{#1}
@@ -3154,6 +3206,24 @@
      \expandafter\expandafter
      \expandafter{\csname abx at field@#1\endcsname}}}
 
+% {<field>}{<true>}{<false>}
+\protected\def\blx at imc@fieldhascomputableequivalent#1{%
+  \blx at imc@iffieldundef{#1}
+    {\@secondoftwo}
+    {\expandafter\expandafter
+     \expandafter\blx at imc@hascomputableequivalent
+     \expandafter\expandafter
+     \expandafter{\csname abx at field@#1\endcsname}}}
+
+% {<field>}{<true>}{<false>}
+\protected\def\blx at imc@iffieldiscomputable#1{%
+  \blx at imc@iffieldundef{#1}
+    {\@secondoftwo}
+    {\expandafter\expandafter
+     \expandafter\blx at imc@ifiscomputable
+     \expandafter\expandafter
+     \expandafter{\csname abx at field@#1\endcsname}}}
+
 % {<string>}{<true>}{<false>}
 \protected\def\blx at imc@ifnumeral{%
   \blx at ifnum\blx at hook@ifnum}
@@ -3184,11 +3254,15 @@
   \fi
   \endgroup}
 
+% valid numerals set by the lbx file
+\let\lbx at dononasciinumerals\relax
+
 \def\blx at hook@ifnum{%
   \def\do##1{\uccode`##1=`\%}%
   \do\ \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9%
   \do\i\do\v\do\x\do\l\do\c\do\d\do\m
   \do\I\do\V\do\X\do\L\do\C\do\D\do\M
+  \lbx at dononasciinumerals
   \blx at donumchars
   \let\RN\@firstofone
   \let\Rn\@firstofone}
@@ -3750,7 +3824,7 @@
 
 % Delimiter interface
 
-% [<contextname, ...>]{<name, ...>}{<code>}
+% [<contextname, ...>]{<name>}{<code>}
 \newrobustcmd*{\DeclareDelimFormat}{%
   \@ifstar
     {\blx at declaredelimclear}
@@ -3778,12 +3852,10 @@
      \docsvlist{#1}}}%
 
 \def\blx at declaredelim@i#1#2#3#4{%
-  \def\do at i##1{%
-    \ifcsdef{#1##1}
-      {\blx at inf@delimdeclare{##1}{#2}}
-      {}%
-    \csdef{#1##1}{#4}}%
-  \forcsvlist{\do at i}{#3}}
+  \ifcsdef{#1#3}
+    {\blx at inf@delimdeclare{#3}{#2}}
+    {}%
+  \csdef{#1#3}{#4}}
 
 % [<alias context, ...>]{<alias>}[<delim context>]{<delim>}
 % deprecated: *[<alias context, ...>]{<alias>}[<delim context>]{<delim>}
@@ -3851,34 +3923,40 @@
 % {<alias>}{<source>}
 \def\blx at declaredelimalias@auto#1#2{%
   \blx at cleardelim{#1}%
-  \blx at declaredelimalias@def{}{#1}{}{#2}%
+  \blx at declaredelimalias@manual{}{#1}{}{#2}%
   \ifcsvoid{blx at declaredelimcontexts@#2}
     {}
     {\def\do##1{%
-       \blx at declaredelimalias@def
-         {blx at printdelim@##1@}{#1}{blx at printdelim@##1@}{#2}}%
+       \blx at declaredelimalias@manual{##1}{#1}{##1}{#2}}%
      \dolistcsloop{blx at declaredelimcontexts@#2}}}
 
 % {<alias context>}{<alias>}{<source context>}{<source>}
 \def\blx at declaredelimalias@manual#1#2#3#4{%
+  \begingroup
   \ifblank{#1}
-    {\ifblank{#3}
-       {\blx at declaredelimalias@def{}{#2}{}{#4}}
-       {\blx at declaredelimalias@def{}{#2}{blx at printdelim@#3@}{#4}}}
-    {\ifblank{#3}
-       {\blx at declaredelimalias@def{blx at printdelim@#1@}{#2}{}{#4}}}
-       {\blx at declaredelimalias@def{blx at printdelim@#1@}{#2}{blx at printdelim@#3@}{#4}}}
+    {\def\blx at tempa{{}{}}}
+    {\def\blx at tempa{{blx at printdelim@#1@}{#1}}}%
+  \ifblank{#3}
+    {\def\blx at tempb{{}{}}}
+    {\def\blx at tempb{{blx at printdelim@#3@}{#3}}}%
+  \edef\blx at tempc{\endgroup
+    \noexpand\blx at declaredelimalias@def%
+    \expandonce\blx at tempa {\unexpanded{#2}}%
+    \expandonce\blx at tempb {\unexpanded{#4}}}%
+  \blx at tempc}
 
-\def\blx at declaredelimalias@def#1#2#3#4{%
-  \ifcsdef{#1#2}
-    {\blx at inf@delimdeclare{#2}{#1}}
+% {<alias context internal id>}{<alias context name>}{<alias>}
+% {<source context internal id>}{<source context name>}{<source>}
+\def\blx at declaredelimalias@def#1#2#3#4#5#6{%
+  \ifcsdef{#1#3}
+    {\blx at inf@delimdeclare{#3}{#2}}
     {}%
-  \ifblank{#1}
+  \ifblank{#2}
     {}
-    {\ifinlistcs{#1}{blx at declaredelimcontexts@#2}
+    {\ifinlistcs{#2}{blx at declaredelimcontexts@#3}
        {}
-       {\listcsadd{blx at declaredelimcontexts@#2}{#1}}}%
-  \csdef{#1#2}{\ifcsundef{#3#4}{\csuse{#4}}{\csuse{#3#4}}}}
+       {\listcsadd{blx at declaredelimcontexts@#3}{#2}}}%
+  \csdef{#1#3}{\ifcsundef{#4#6}{\csuse{#6}}{\csuse{#4#6}}}}
 
 \def\blx at delimcontext{none}
 \newcommand*{\printdelim}[2][]{%
@@ -3903,6 +3981,9 @@
 \newcommand*{\DeclareDelimcontextAlias}[2]{%
   \csdef{blx at delimcontextalias@#1}{#2}}
 
+\newcommand*{\UndeclareDelimcontextAlias}[1]{%
+  \csundef{blx at delimcontextalias@#1}}
+
 \newrobustcmd*{\AtUsedriver}{%
   \@ifstar
     {\global\undef\blx at hook@usedriver
@@ -4053,7 +4134,7 @@
     {\ifcsstring{blx at dateformat@#1date}{year}
        {\@firstoftwo}
        {\iffieldundef{#1month}
-          {\iffieldundef{#1season}}
+          {\iffieldundef{#1yeardivision}}
           {\@secondoftwo}}}}
 
 \def\blx at imc@ifdatehastime#1{%
@@ -4081,7 +4162,7 @@
     {\@secondoftwo}}
 
 \def\blx at reconstruct@comparabledate#1{%
-  \thefield{#1year}-\thefield{#1month}(\thefield{#1season})-%
+  \thefield{#1year}-\thefield{#1month}(\thefield{#1yeardivision})-%
     \thefield{#1day}T%
   \thefield{#1hour}:\thefield{#1minute}:\thefield{#1second}Z%
     \thefield{#1timezone}//%
@@ -4121,8 +4202,10 @@
   \ifnameequalcs \ifnameequals \ifnamesequal \ifnameundef \ifnamexref
   \iffirstonpage \ifsamepage \savefield \savefieldcs \savelist
   \savelistcs \savename \savenamecs \usedriver
-  \ifinteger \ifnumeral \ifnumerals \ifpages
-  \iffieldint \iffieldnum \iffieldnums \iffieldpages
+  \ifinteger \hascomputableequivalent \ifiscomputable \getcomputableequivalent
+  \ifnumeral \ifnumerals \ifpages
+  \iffieldint \fieldhascomputableequivalent \iffieldiscomputable
+  \iffieldnum \iffieldnums \iffieldpages
   \iflabeldateisdate \ifdatehasyearonlyprecision \ifdatehastime
   \ifdateshavedifferentprecision
   \ifdateyearsequal \ifdatesequal \ifdaterangesequal
@@ -4527,7 +4610,7 @@
 \newrobustcmd*{\bibnamedelimb}{\addlowpenspace}
 \newrobustcmd*{\bibnamedelimc}{\addhighpenspace}
 \newrobustcmd*{\bibnamedelimd}{\addlowpenspace}
-\newrobustcmd*{\bibnamedelimi}{\addnbspace}
+\newrobustcmd*{\bibnamedelimi}{\isdot\addnbspace}
 
 % [<format>][<start>-<stop>]{<namelist>}
 \protected\def\blx at imc@indexnames{%
@@ -4750,6 +4833,44 @@
   \printtext \printfield \printlist \printnames \printfile
   \indexfield \indexlist \indexnames \entrydata \entryset}
 
+\let\blx at bibstringsets\@empty
+
+% {<set>}{<bibstring_1>,...,<bibstring_n>}
+\newrobustcmd*{\DeclareBibstringSet}[1]{%
+  \listadd\blx at bibstringsets{#1}%
+  \def\do##1{%
+    \csdef{blx at bibstringset@string@##1}{#1}%
+    \listcsadd{blx at bibstringset@set@#1}{##1}}%
+  \docsvlist}
+
+% {<set>}
+\newrobustcmd*{\UndeclareBibstringSet}[1]{%
+  \def\do##1{\csundef{blx at bibstringset@string@##1}}%
+  \dolistcsloop{blx at bibstringset@set@#1}%
+  \csundef{blx at bibstringset@set@#1}%
+  \UndeclareBibstringSetFormat{#1}}
+
+\newrobustcmd*{\UndeclareBibstringSets}{%
+  \forlistloop{\UndeclareBibstringSet}{\blx at bibstringsets}%
+  \let\blx at bibstringsets\@empty}
+
+% {<set>}{<code>}
+\newrobustcmd*{\DeclareBibstringSetFormat}[1]{%
+  \csdef{blx at bibstringsetformat@#1}##1}
+
+% {<set>}
+\newrobustcmd*{\UndeclareBibstringSetFormat}[1]{%
+  \csundef{blx at bibstringsetformat@#1}}
+
+% {<wrapper>}{<string (name)>}{<text (derived from string)>}
+\def\blx at wrapbibstring#1#2#3{%
+  \ifcsundef{blx at bibstringset@string@#2}
+    {#1{#3}}
+    {\ifcsundef{blx at bibstringsetformat@\csuse{blx at bibstringset@string@#2}}
+       {#1{#3}}
+       {#1{\csuse{blx at bibstringsetformat@\csuse{blx at bibstringset@string@#2}}
+             {#3}}}}}
+
 %% Localization
 
 % {<wrapper>}{<long/short>}{<string>}{<print code>}
@@ -4789,8 +4910,8 @@
 \protected\def\blx at bibstring#1#2#3{%
   \blx at met@bibstring{#1}{#2}{#3}
     {\blx at imc@ifcapital
-       {#1{\MakeCapital{\csuse{#2@\blx at tempa}}}}
-       {#1{\csuse{#2@\blx at tempa}}}%
+       {\blx at wrapbibstring{#1}{\blx at tempa}{\MakeCapital{\csuse{#2@\blx at tempa}}}}
+       {\blx at wrapbibstring{#1}{\blx at tempa}{\csuse{#2@\blx at tempa}}}%
      \blx at endunit}}
 
 % [<wrapper>]{<string>}
@@ -4805,7 +4926,7 @@
 
 \protected\def\blx at bibncpstring#1#2#3{%
   \blx at met@bibstring{#1}{#2}{#3}
-    {#1{\csuse{#2@\blx at tempa}}%
+    {\blx at wrapbibstring{#1}{\blx at tempa}{\csuse{#2@\blx at tempa}}%
      \blx at endunit}}
 
 % [<wrapper>]{<string>}
@@ -4820,7 +4941,7 @@
 
 \protected\def\blx at bibcpstring#1#2#3{%
   \blx at met@bibstring{#1}{#2}{#3}
-    {#1{\MakeCapital{\csuse{#2@\blx at tempa}}}%
+    {\blx at wrapbibstring{#1}{\blx at tempa}{\MakeCapital{\csuse{#2@\blx at tempa}}}%
      \blx at endunit}}
 
 % [<wrapper>]{<string>}
@@ -4835,7 +4956,7 @@
 
 \protected\def\blx at biblcstring#1#2#3{%
   \blx at met@bibstring{#1}{#2}{#3}
-    {#1{\blx at maketext@lowercase{\csuse{#2@\blx at tempa}}}%
+    {\blx at wrapbibstring{#1}{\blx at tempa}{\blx at maketext@lowercase{\csuse{#2@\blx at tempa}}}%
      \blx at endunit}}
 
 % [<wrapper>]{<string>}
@@ -4850,7 +4971,7 @@
 
 \protected\def\blx at bibucstring#1#2#3{%
   \blx at met@bibstring{#1}{#2}{#3}
-    {#1{\blx at maketext@uppercase{\csuse{#2@\blx at tempa}}}%
+    {\blx at wrapbibstring{#1}{\blx at tempa}{\blx at maketext@uppercase{\csuse{#2@\blx at tempa}}}%
      \blx at endunit}}
 
 % {<string>}
@@ -5259,10 +5380,12 @@
   \do{langlatin}%
   \do{langlatvian}%
   \do{langlithuanian}%
+  \do{langmarathi}%
   \do{langnorwegian}%
   \do{langpolish}%
   \do{langportuguese}%
   \do{langserbian}%
+  \do{langromanian}%
   \do{langrussian}%
   \do{langslovak}%
   \do{langslovene}%
@@ -5292,9 +5415,11 @@
   \do{fromlatin}%
   \do{fromlithuanian}%
   \do{fromlatvian}%
+  \do{frommarathi}%
   \do{fromnorwegian}%
   \do{frompolish}%
   \do{fromportuguese}%
+  \do{fromromanian}%
   \do{fromrussian}%
   \do{fromserbian}%
   \do{fromslovak}%
@@ -5330,6 +5455,23 @@
   \do{summer}%
   \do{autumn}%
   \do{winter}%
+  \do{springN}%
+  \do{summerN}%
+  \do{autumnN}%
+  \do{winterN}%
+  \do{springS}%
+  \do{summerS}%
+  \do{autumnS}%
+  \do{winterS}%
+  \do{Q1}%
+  \do{Q2}%
+  \do{Q3}%
+  \do{Q4}%
+  \do{QD1}%
+  \do{QD2}%
+  \do{QD3}%
+  \do{S1}%
+  \do{S2}%
   \do{am}%
   \do{pm}%
 }
@@ -5800,13 +5942,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             % Optionally print the time after the date
             \blx at printtime{#2}{}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#2year}%
          \iffieldundef{#2endyear}
@@ -5815,11 +5957,11 @@
               {\mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
                   % Optionally print the time after the date
                   \blx at printtime{#2}{end}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -5831,13 +5973,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             % Optionally print the time after the date
             \blx at printtime{#2}{}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#2year}%
          \iffieldundef{#2endyear}
@@ -5847,11 +5989,11 @@
                \mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
                   % Optionally print the time after the date
                   \blx at printtime{#2}{end}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}%
@@ -5869,9 +6011,9 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
               {\iffieldsequal{#2month}{#2endmonth}
                  {\csuse{mkbibdate#1}{}{}{#2day}}
@@ -5880,8 +6022,8 @@
                \iffieldsequal{#2dateera}{#2enddateera}{}
                  {\dateeraprint{#2year}}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \iffieldsequal{#2dateera}{#2enddateera}{}
                 {\dateeraprint{#2year}}}}%
          \dateuncertainprint
@@ -5891,9 +6033,9 @@
               {\mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -5910,9 +6052,9 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
               {\iffieldsequal{#2month}{#2endmonth}
                  {\csuse{mkbibdate#1}{}{}{#2day}}
@@ -5921,8 +6063,8 @@
                \iffieldsequal{#2dateera}{#2enddateera}{}
                  {\dateeraprint{#2year}}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \iffieldsequal{#2dateera}{#2enddateera}{}
                 {\dateeraprint{#2year}}}}%
          \dateuncertainprint
@@ -5933,9 +6075,9 @@
                \mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}%
@@ -5943,7 +6085,7 @@
 
 \newrobustcmd*{\mkdaterangeyear}[1]{%
   \begingroup
-    \blx at imc@clearfield{#1season}%
+    \blx at imc@clearfield{#1yeardivision}%
     \blx at imc@clearfield{#1month}%
     \blx at imc@clearfield{#1day}%
     \blx at imc@clearfield{#1hour}%
@@ -5950,7 +6092,7 @@
     \blx at imc@clearfield{#1minute}%
     \blx at imc@clearfield{#1second}%
     \blx at imc@clearfield{#1timezone}%
-    \blx at imc@clearfield{#1endseason}%
+    \blx at imc@clearfield{#1endyeardivision}%
     \blx at imc@clearfield{#1endmonth}%
     \blx at imc@clearfield{#1endday}%
     \blx at imc@clearfield{#1endhour}%
@@ -5971,13 +6113,13 @@
       {\blx at nounit}
       {\printtext[{#1date}]{%
          \datecircaprint
-         % Such a season component can only come from an  ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#1season}
+         \iffieldundef{#1yeardivision}
            {\blx at ymddate{#1}{}%
             % Optionally print the time after the date
             \blx at printtime{#1}{}}
-           {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+           {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#1year}%
          \iffieldundef{#1endyear}
@@ -5986,11 +6128,11 @@
               {\mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#1season}
+               \iffieldundef{#1yeardivision}
                  {\blx at ymddate{#1}{end}%
                   % Optionally print the time after the date
                   \blx at printtime{#1}{end}}
-                 {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
+                 {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}%
                \enddateuncertainprint
                \dateeraprint{#1endyear}}}}}%
   \endgroup}
@@ -6003,13 +6145,13 @@
       {\blx at nounit}
       {\printtext[{#1date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a year division component can only come from an ISO8601 year division which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#1season}
+         \iffieldundef{#1yeardivision}
            {\blx at ymddate[extradate]{#1}{}%
             % Optionally print the time after the date
             \blx at printtime{#1}{}}
-           {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+           {\csuse{mkbibyeardivisiondateshort}{#1year}{#1yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#1year}%
          \iffieldundef{#1endyear}
@@ -6018,11 +6160,11 @@
               {\mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#1season}
+               \iffieldundef{#1yeardivision}
                  {\blx at ymddate{#1}{end}%
                   % Optionally print the time after the date
                   \blx at printtime{#1}{end}}
-                 {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+                 {\csuse{mkbibyeardivisiondateshort}{#1endyear}{#1endyeardivision}}}%
                \enddateuncertainprint
                \dateeraprint{#1endyear}}}}%
   \endgroup}
@@ -6036,7 +6178,7 @@
 
 \newrobustcmd*{\mkdaterangeyearextra}[1]{%
   \begingroup
-    \blx at imc@clearfield{#1season}%
+    \blx at imc@clearfield{#1yeardivision}%
     \blx at imc@clearfield{#1month}%
     \blx at imc@clearfield{#1day}%
     \blx at imc@clearfield{#1hour}%
@@ -6043,7 +6185,7 @@
     \blx at imc@clearfield{#1minute}%
     \blx at imc@clearfield{#1second}%
     \blx at imc@clearfield{#1timezone}%
-    \blx at imc@clearfield{#1endseason}%
+    \blx at imc@clearfield{#1endyeardivision}%
     \blx at imc@clearfield{#1endmonth}%
     \blx at imc@clearfield{#1endday}%
     \blx at imc@clearfield{#1endhour}%
@@ -6124,14 +6266,14 @@
 \newrobustcmd*{\blx at isodate}[3][]{%
   \dateeraprintpre{#2#3year}%
   \blx at imc@forcezerosy{\thefield{#2#3year}}\ifblank{#1}{}{\printfield{#1}}%
-  % Such a season component can only come from an ISO8601 season which replaces
+  % Such a year division component can only come from an ISO8601 year division which replaces
   % a normal month so if it exists, we know that a normal date print is ruled out
-  \iffieldundef{#2#3season}
+  \iffieldundef{#2#3yeardivision}
     {\iffieldundef{#2#3month}{}{\hyphen\blx at imc@forcezerosmdt{\thefield{#2#3month}}}%
      \iffieldundef{#2#3day}{}{\hyphen\blx at imc@forcezerosmdt{\thefield{#2#3day}}}}
-    {\hyphen\blx at seasonmap{\thefield{#2#3season}}}}
+    {\hyphen\blx at yeardivisionmap{\thefield{#2#3yeardivision}}}}
 
-\def\blx at seasonmap#1{%
+\def\blx at yeardivisionmap#1{%
   \blx at xifstrequal{#1}{spring}{21}
     {\blx at xifstrequal{#1}{summer}{22}
       {\blx at xifstrequal{#1}{autumn}{23}
@@ -6259,29 +6401,39 @@
      {\space\bibtimezonesep
       \mkbibparens{\mkbibtimezone{\thefield{#4}}}}}
 
-\newrobustcmd*{\mkbibseasondateshort}[2]{%
+\newrobustcmd*{\mkbibyeardivisiondateshort}[2]{%
   \blx at warning@noline{%
-    Using fallback definition for \string\mkbibseasondateshort.\MessageBreak
+    Using fallback definition for \string\mkbibyeardivisiondateshort.\MessageBreak
     The command should be defined in the .lbx file.\MessageBreak
     If you see this message, the .lbx file could not be\MessageBreak
     loaded, is faulty or does not contain a definition\MessageBreak
-    for \string\mkbibseasondateshort
+    for \string\mkbibyeardivisiondateshort
   }%
-  \mkbibseason{\thefield{#2}}%
+  \mkbibyeardivision{\thefield{#2}}%
   \iffieldundef{#1}{}{\space}%
   \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}
+\def\mkbibseasondateshort{% LEGACY
+  \blx at warning@noline{%
+    '\string\mkbibseasondateshort' is deprecated in favour of\MessageBreak
+    '\string\mkbibyeardivisiondateshort'}%
+  \mkbibyeardivisiondateshort}
 
-\newrobustcmd*{\mkbibseasondatelong}[2]{%
+\newrobustcmd*{\mkbibyeardivisiondatelong}[2]{%
   \blx at warning@noline{%
-    Using fallback definition for \string\mkbibseasondatelong.\MessageBreak
+    Using fallback definition for \string\mkbibyeardivisiondatelong.\MessageBreak
     The command should be defined in the .lbx file.\MessageBreak
     If you see this message, the .lbx file could not be\MessageBreak
     loaded, is faulty or does not contain a definition\MessageBreak
-    for \string\mkbibseasondatelong
+    for \string\mkbibyeardivisiondatelong
   }%
-  \mkbibseason{\thefield{#2}}%
+  \mkbibyeardivision{\thefield{#2}}%
   \iffieldundef{#1}{}{\space}%
   \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}
+\def\mkbibseasondatelong{% LEGACY
+  \blx at warning@noline{%
+    '\string\mkbibseasondatelong' is deprecated in favour of\MessageBreak
+    '\string\mkbibyeardivisiondatelong'}%
+  \mkbibyeardivisiondatelong}
 
 \newrobustcmd*{\bibdatedash}{\bibrangedash}
 \newrobustcmd*{\finalandcomma}{}
@@ -6300,7 +6452,12 @@
 \newrobustcmd*{\mkbibfemord}{\mkbibordinal}
 \newrobustcmd*{\mkbibneutord}{\mkbibordinal}
 % the following is usually not redefined in an .lbx
-\newrobustcmd*{\mkbibseason}[1]{\abx at bibseason{#1}}
+\newrobustcmd*{\mkbibyeardivision}[1]{\abx at bibyeardivision{#1}}
+\newrobustcmd*\mkbibseason{% LEGACY
+  \blx at warning@noline{%
+    '\string\mkbibseason' is deprecated in favour of\MessageBreak
+    '\string\mkbibyeardivision'}%
+  \mkbibyeardivision}
 \newrobustcmd*{\mkbibmonth}[1]{%
   \ifcase0#1\relax
     \blx at warning@entry{Month out of range or not an integer}%
@@ -6455,6 +6612,7 @@
 \let\blx at hook@initlang\@empty
 \let\blx at imc@mainlang\@empty
 \let\blx at imc@textmainlang\@firstofone
+\let\blx at imc@textouterlang\@firstofone
 \def\blx at hyphenreset{%
   \blx at ifhyphenationundef{\blx at languagename}
     {}
@@ -6475,6 +6633,7 @@
       {No default 'babel' language defined}
       {You must define a default language for 'babel'}}
     {\let\blx at main@language\bbl at main@language}%
+  \let\blx at outer@language\blx at main@language
   % use afterreset to get in a bit earlier
   % we want to be there before \captions... is issued
   % beforeextras is before extras, but captions come before extras
@@ -6486,6 +6645,11 @@
     {\def\blx at beglang{%
        \blx at clearlang
        \begingroup
+       % track outer language (i.e. language not selected by biblatex)
+       \ifundef\blx at outer@language at set
+         {\let\blx at outer@language\blx at languagename
+          \let\blx at outer@language at set\@empty}
+         {}%
          % Need to override all entries, regardless of if there is a
          % langid if language=<language> option is given
          \ifboolexpr { test {\ifdef\abx at field@langid }
@@ -6528,6 +6692,8 @@
     \expandafter\selectlanguage\expandafter{\blx at main@language}}%
   \def\blx at imc@textmainlang##1{%
     {{\expandafter\selectlanguage\expandafter{\blx at main@language}##1}}}%
+  \def\blx at imc@textouterlang##1{%
+    {{\expandafter\selectlanguage\expandafter{\blx at outer@language}##1}}}%
   \expandafter\blx at langsetup@from at pkglist\expandafter{\blx at main@language}%
 }
 
@@ -6541,6 +6707,7 @@
           {You must define a default language for 'polyglossia'}}
        {\let\blx at main@language\bbl at main@language}}
     {\let\blx at main@language\mainbabelname}%
+  \let\blx at outer@language\blx at main@language
   \ifundef\polyglossia at language@switched
     {\apptocmd\select at language
        {\expandafter\blx at langsetup@indoc\expandafter{\babelname}}
@@ -6553,6 +6720,11 @@
      {\def\blx at beglang{%
         \blx at clearlang
         \begingroup
+        % track outer language (i.e. language not selected by biblatex)
+        \ifundef\blx at outer@language at set
+          {\let\blx at outer@language\blx at languagename
+           \let\blx at outer@language at set\@empty}
+          {}%
         % Need to override all entries, regardless of if there is a
         % langid if language=<language> option is given
         \ifboolexpr { test {\ifdef\abx at field@langid }
@@ -6603,6 +6775,7 @@
       {}%
     \select at language{\blx at main@language}}%
   \def\blx at imc@textmainlang##1{{{\select at language{\blx at main@language}##1}}}%
+  \def\blx at imc@textouterlang##1{{{\select at language{\blx at outer@language}##1}}}%
   \expandafter\blx at langsetup@from at pkglist\expandafter{\blx at main@language}}
 
 \def\blx at mknoautolang{%
@@ -6610,7 +6783,7 @@
     {}
     {\blx at err@nolang{\blx at languagename}}}
 
-\blx at regimcs{\mainlang \textmainlang}
+\blx at regimcs{\mainlang \textmainlang \textouterlang}
 
 \newrobustcmd*{\DeclareRedundantLanguages}[2]{%
   \begingroup
@@ -6962,6 +7135,7 @@
   \listxadd\blx at datemetafields{#1dateunspecified}}
 \abx at dodatetypes
 
+
 \def\do#1{%
   \listxadd\blx at datemetabooleans{#1datecirca}%
   \listxadd\blx at datemetabooleans{#1enddatecirca}%
@@ -7003,8 +7177,8 @@
   \do{labelendsecond}%
   \do{labeltimezone}%
   \do{labelendtimezone}%
-  \do{labelseason}%
-  \do{labelendseason}%
+  \do{labelyeardivision}%
+  \do{labelendyeardivision}%
   \do{entrykey}%
   \do{entryset}%
   \do{entrysetcount}%
@@ -8120,8 +8294,8 @@
         \letcs\abx at field@labelendsecond{abx at field@\abx at field@labeldatesource endsecond}%
         \letcs\abx at field@labeltimezone{abx at field@\abx at field@labeldatesource timezone}%
         \letcs\abx at field@labelendtimezone{abx at field@\abx at field@labeldatesource endtimezone}%
-        \letcs\abx at field@labelseason{abx at field@\abx at field@labeldatesource season}%
-        \letcs\abx at field@labelendseason{abx at field@\abx at field@labeldatesource endseason}%
+        \letcs\abx at field@labelyeardivision{abx at field@\abx at field@labeldatesource yeardivision}%
+        \letcs\abx at field@labelendyeardivision{abx at field@\abx at field@labeldatesource endyeardivision}%
         \letcs\abx at field@labeldateunspecified{abx at field@\abx at field@labeldatesource dateunspecified}%
         \letcs\etb at tgl@abx at bool@labeldatecirca{etb at tgl@abx at bool@\abx at field@labeldatesource datecirca}%
         \letcs\etb at tgl@abx at bool@labelenddatecirca{etb at tgl@abx at bool@\abx at field@labeldatesource enddatecirca}%
@@ -8244,7 +8418,7 @@
 % so that biber can correctly use and resolve them too.
 \protected\def\blx at bbl@keyalias#1#2{%
   \csxdef{blx at keyalias@\the\c at refsection @#1}{\detokenize{#2}}%
-  \listcsgadd{blx at keyaliases@\the\c at refsection}{#1}}
+  \listcsxadd{blx at keyaliases@\the\c at refsection}{\detokenize{#1}}}
 
 % blx at dlist@list@<section>@<refcontext> - a list of list items in a refcontext in a
 %                                     section (for tracking bibliography lists,
@@ -8266,7 +8440,7 @@
   \blx at setoptions@entry
   \edef\blx at bbl@data{blx at data@\the\c at refsection @\blx at dlist@name @\abx at field@entrykey}%
   \blx at bbl@addfield{entrykey}{\abx at field@entrykey}%
-  \listxadd\blx at entries{\abx at field@entrykey}%
+  \listcsxadd{blx at entries@\the\c at refsection}{\abx at field@entrykey}%
   \blx at bbl@addfield{entrytype}{#2}%
   \csuse\blx at bbl@data
   \blx at imc@iffieldundef{options}
@@ -8284,14 +8458,14 @@
      \toggletrue{blx at skipbib}%
      \toggletrue{blx at skipbiblist}%
      \toggletrue{blx at skiplab}}%
-  \nottoggle{blx at skipbib}
-    {\expandafter\ifstrequal\expandafter{\blx at dlist@type}{entry}
+  \expandafter\ifstrequal\expandafter{\blx at dlist@type}{entry}
+    {\listcsxadd{blx at type@\the\c at refsection @\abx at field@entrytype}{\abx at field@entrykey}%
+     \ifdef\abx at field@entrysubtype
+       {\listcsxadd{blx at subt@\the\c at refsection @\abx at field@entrysubtype}{\abx at field@entrykey}}
+       {}%
+     \nottoggle{blx at skipbib}
        {\listcsxadd{blx at dlist@entry@\the\c at refsection @\blx at dlist@name}{\abx at field@entrykey}%
-        \listcsxadd{blx at dlist@centry@\the\c at refsection @\blx at dlist@name}{\abx at field@entrykey}%
-        \listcsxadd{blx at type@\the\c at refsection @\abx at field@entrytype}{\abx at field@entrykey}%
-        \ifdef\abx at field@entrysubtype
-          {\listcsxadd{blx at subt@\the\c at refsection @\abx at field@entrysubtype}{\abx at field@entrykey}}
-          {}}
+        \listcsxadd{blx at dlist@centry@\the\c at refsection @\blx at dlist@name}{\abx at field@entrykey}}
        {}}%
     {}%
   \nottoggle{blx at skipbiblist}
@@ -8361,13 +8535,11 @@
   \csgdef{blx at locallabelwidth@#1@#2}{#3}}
 
 \def\blx at locallabelwidth@write at length#1{%
-  \ifdimequal{\csname local#1width\endcsname}{0pt}
-    {}
-    {\blx at auxwrite\@mainaux{}
-       {\string\abx at aux@locallabelwidth
-         {\the\blx at biblioinstance}%
-         {#1}%
-         {\the\csname local#1width\endcsname}}}}
+  \blx at auxwrite\@mainaux{}
+    {\string\abx at aux@locallabelwidth
+       {\the\blx at biblioinstance}%
+       {#1}%
+       {\the\csname local#1width\endcsname}}}
 
 \def\blx at locallabelwidth@write{%
   \let\do\blx at locallabelwidth@write at length
@@ -8603,21 +8775,39 @@
   \let\annotation\blx at bbl@annotationdef}
 
 \def\blx at bblend{%
+  \def\blx at do@outer##1{%
+    \ifcsundef{blx at prelim@lastcites@##1}
+      {}
+      {\def\blx at do@inner####1{%
+         \ifinlistcs{####1}{blx at keyaliases@##1}
+           {\listcsxadd{blx at lastcites@##1}
+              {\csuse{blx at keyalias@##1@####1}}}
+           {\listcsgadd{blx at lastcites@##1}{####1}}}%
+       \forlistcsloop\blx at do@inner{blx at prelim@lastcites@##1}}}%
+  \forlistloop\blx at do@outer\blx at alllastrefsections
   % Special warning for defernumbers when a citation cannot be found
   \iftoggle{blx at defernumbers}
-    {\def\do##1{\ifinlist{##1}\blx at entries
-                 {}
-                 {\blx at warning@noline{%
-                     citation '##1' was not found at all in the .bbl, bibliography labels cannot be generated, please correct the citation}}}%
-     \dolistloop\blx at lastcites}
+    {\def\blx at do@outer##1{%
+       \ifcsundef{blx at lastcites@##1}
+         {}
+         {\def\blx at do@inner####1{%
+            \ifinlistcs{####1}{blx at entries@##1}
+              {}
+              {\blx at warning@noline{%
+                 citation '####1'\MessageBreak
+                 was not found at all in the .bbl file,\MessageBreak
+                 bibliography labels cannot be generated,\MessageBreak
+                 please correct the citation}}}%
+          \forlistcsloop\blx at do@inner{blx at lastcites@##1}}}%
+     \forlistloop\blx at do@outer\blx at alllastrefsections}
     {}}
 
 % {<entrykey>}
 % Get the saved information on which citations were mentioned last run
-\protected\def\abx at aux@cite#1{%
-  \xifinlist{\detokenize{#1}}\blx at lastcites
+\protected\def\abx at aux@cite#1#2{%
+  \xifinlistcs{\detokenize{#2}}{blx at prelim@lastcites@#1}
     {}
-    {\listxadd\blx at lastcites{\detokenize{#1}}}}
+    {\listcsxadd{blx at prelim@lastcites@#1}{\detokenize{#2}}}}
 
 % {<refcontext>}
 % Get the saved information on which refcontexts were mentioned last run
@@ -8637,7 +8827,7 @@
 % .aux file as this means that deferred numbering is
 % complete. Otherwise we get in an endless rerun loop because the
 % checksum due to number changes is always different.
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \def\abx at aux@number#1#2#3#4#5{%
     \ifblank{#5}
       {}
@@ -8645,7 +8835,7 @@
          {\blx at addchecksum{#1}{#5}}
          {}}}}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   % Here we run some tests to decide if we need to issue re-run
   % messages in certain circumstances. In general, if we add/remove
   % any citations or add/remove any sorting templates, we need to re-run
@@ -8656,15 +8846,29 @@
   % information which are no longer in the .bbl. This is to catch
   % when .bib entries are removed when using \nocite{*}. In this case,
   % We need another run to remove the .aux localnumber info
-  \def\do#1{\xifinlist{#1}\blx at entries{}{\blx at rerun@latex}}%
-  \dolistloop\blx at localnumbers
+  \def\blx at do@outer#1{%
+    \def\blx at do@inner##1{%
+      \xifinlistcs{##1}{blx at entries@#1}
+        {}
+        {\blx at rerun@latex
+         \listbreak}}%
+    \forlistloop\blx at do@inner\blx at localnumbers}%
+  \forlistloop\blx at do@outer\blx at allrefsections
   % Test to see if we *removed* any citations since last run
   % (adding citations is dealt with naturally in \blx at citation@entry)
   % If so, give a rerun biber message. This also sets the
   % rerun biber toggle so defernums doesn't consume the localnumbers
   % in the .aux but instead, re-writes them, which is what we need.
-  \def\do#1{\ifinlist{#1}\blx at cites{}{\blx at logreq@active{}}\relax}%
-  \dolistloop\blx at lastcites
+  \def\blx at do@outer#1{%
+    \ifcsundef{blx at lastcites@#1}
+      {}
+      {\def\blx at do@inner##1{%
+         \ifinlistcs{##1}{blx at cites@#1}
+           {}
+           {\blx at logreq@active{}%
+            \listbreak}}%
+       \forlistcsloop\blx at do@inner{blx at lastcites@#1}}}%
+  \forlistloop\blx at do@outer\blx at alllastrefsections
   % Special case - if we are using sortingtemplate with \citeorder anywhere,
   % then changes in citation order matter and we need to re-run biber.
   % So a special test to see if the cites from last run are identical in order.
@@ -8681,10 +8885,36 @@
        \listbreak}}%
   \dolistloop\blx at sortingtemplatenames
   \iftoggle{blx at tempa}
-    {\ifdefstrequal{\blx at cites}{\blx at lastcites}
-      {}
-      {\blx at logreq@active{}}}
+    {\ifdefstrequal\blx at allrefsections\blx at alllastrefsections
+       {\def\do#1{%
+          \ifcsundef{blx at cites@#1}
+            {\cslet{blx at cites@#1}\@empty}
+            {}%
+          \ifcsundef{blx at lastcites@#1}
+            {\cslet{blx at lastcites@#1}\@empty}
+            {}%
+          \ifcsstrequal{blx at cites@#1}{blx at lastcites@#1}
+            {}
+            {\blx at logreq@active{}%
+             \listbreak}}%
+        \dolistloop\blx at allrefsections}
+       {\blx at logreq@active{}}}
     {}%
+  % if citecount is enabled we pass the counter on to Biber via the bcf
+  % for sorting, we need to rerun if anything here changed
+  \ifundef\blx at citecounter
+    {}
+    {\def\blx at do@outer#1{%
+       \ifcsundef{blx at cites@#1}
+         {}
+         {\def\blx at do@inner##1{%
+            \ifnumequal{0\csuse{blx at currcount@#1@\detokenize{##1}}}
+                       {0\csuse{blx at count@#1@\detokenize{##1}}}
+              {}
+              {\blx at logreq@active{}%
+               \listbreak}}%
+          \forlistcsloop\blx at do@inner{blx at cites@#1}}}%
+     \forlistloop\blx at do@outer\blx at allrefsections}%
   % Test if we removed any mention of a reference context since last run
   % If we did, we need to re-run biber
   \def\do#1{\ifinlist{#1}\blx at refcontexts{}{\blx at logreq@active{}}\relax}%
@@ -8729,7 +8959,9 @@
   \blx at bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}{#5}%
   \blx at bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}{#5}%
   \csgdef{blx at localnumber@#3@\detokenize{#2}}{#5}%
-  \xifinlist{\detokenize{#2}}\blx at localnumbers{}{\listxadd\blx at localnumbers{\detokenize{#2}}}%
+  \xifinlistcs{\detokenize{#2}}{blx at localnumbers@#3}
+    {}
+    {\listcsxadd{blx at localnumbers@#3}{\detokenize{#2}}}%
   \global\toggletrue{blx at localnumber}%
   \ifblank{#5}
     {}
@@ -8894,8 +9126,11 @@
 
 % {<name>}{<text>}
 \newrobustcmd*{\defbibnote}[1]{%
-  \long\csdef{blx at note@#1}}
+  \blx at defbibnote{#1}}
 
+\long\def\blx at defbibnote#1#2{%
+  \long\csdef{blx at note@#1}{#2}}
+
 % {<name>}{<code>}
 \newrobustcmd*{\defbibfilter}[2]{%
   \begingroup
@@ -9375,7 +9610,7 @@
 \newrobustcmd*{\bibbysection}{%
   \begingroup
   \delimcontext{bib}%
-  \ifnum\blx at maxsection=\z@
+  \ifnum\c at blx@maxsection=\z@
     \blx at warning{No reference sections found}%
   \fi
   \edef\on at line{\on at line}%
@@ -9403,7 +9638,7 @@
     {\toggletrue{blx at tempa}%
      \begingroup
      \expandafter\blx at bibliography\csname blx at dlist@entry@\the\c at refsection @\blx at refcontext@context\endcsname}%
-  \ifnum\c at refsection<\blx at maxsection
+  \ifnum\c at refsection<\c at blx@maxsection
     \advance\c at refsection\@ne
     \expandafter\blx at refsections
   \else
@@ -9416,7 +9651,7 @@
   \begingroup
   \delimcontext{bib}%
   \edef\on at line{\on at line}%
-  \ifnum\csname blx at maxsegment@\the\c at refsection\endcsname=\z@
+  \ifnum\csname c at blx@maxsegment@\the\c at refsection\endcsname=\z@
     \blx at warning{No reference segments found}%
   \fi
   \@ifnextchar[%]
@@ -9448,7 +9683,7 @@
        {\letcs\blx at tempa{blx at dlist@entry@\the\c at refsection @\blx at refcontext@context}}%
      \blx at filter\blx at tempa{blx at segm@\the\c at refsection @\the\c at refsegment}%
      \blx at bibliography\blx at tempa}%
-  \ifnum\c at refsegment<\csname blx at maxsegment@\the\c at refsection\endcsname
+  \ifnum\c at refsegment<\csname c at blx@maxsegment@\the\c at refsection\endcsname
     \advance\c at refsegment\@ne
     \expandafter\blx at refsegments
   \else
@@ -9632,35 +9867,31 @@
 % bibliography list in standard cases where entries are not listed in
 % multiple bibliographies
 \def\blx at setdefaultrefcontext#1{%
-  \ifbool{refcontextdefaults}
-    {\blx at rerun@latex}%
-    {}%
   \ifinlistcs{#1}{blx at defaultrefcontexts@\the\c at refsection}
     {}
     {\listcsgadd{blx at defaultrefcontexts@\the\c at refsection}{#1}}%
-  \csxdef{blx at assignedrefcontextbib@\the\c at refsection @#1}{\blx at refcontext@context}}
+  \global\cslet{blx at assignedrefcontextbib@\the\c at refsection @#1}%
+    \blx at refcontext@context}
 % <refsection><key><refcontext>
 \def\abx at aux@defaultrefcontext#1#2#3{%
-  \global\boolfalse{refcontextdefaults}%
-  \csxdef{blx at assignedrefcontextbib@#1@#2}{\detokenize{#3}}}
-\def\abx at aux@refcontextdefaultsdone{%
-  \global\boolfalse{refcontextdefaults}}
+  \csxdef{blx at assignedrefcontextbib@aux@#1@#2}{\detokenize{#3}}}
 % \abx at aux@defaultlabelprefix is a dummy only used by BibTeX to implement a
 % simple labelprefix not based on full refcontexts, which BibTeX does not
 % support.
 \let\abx at aux@defaultlabelprefix\@gobblethree
 
-\AtEndDocument{%
-  % write the .aux to say we don't need to re-run to consume refcontext defaults
-  \ifbool{refcontextdefaults}
-    {}
-    {\blx at auxwrite\@mainaux{}{\string\abx at aux@refcontextdefaultsdone}}%
+\blx at AtEndDocument{%
   % always add default refcontext declarations to .aux after biber run
   \iftoggle{blx at bbldone}
     {\def\do#1{%
        \begingroup
        \def\do##1{%
-         \blx at auxwrite\@mainaux{}{\string\abx at aux@defaultrefcontext{#1}{##1}{\csuse{blx at assignedrefcontextbib@#1@##1}}}}%
+         \blx at auxwrite\@mainaux{}{\string\abx at aux@defaultrefcontext{#1}{##1}{%
+           \csuse{blx at assignedrefcontextbib@#1@##1}}}%
+         \ifcsequal{blx at assignedrefcontextbib@#1@##1}
+                   {blx at assignedrefcontextbib@aux@#1@##1}
+           {}
+           {\blx at rerun@latex}}%
        \dolistcsloop{blx at defaultrefcontexts@#1}%
        \endgroup}
      \dolistloop\blx at allrefsections}
@@ -9735,7 +9966,7 @@
   \fi
   \blx at addpagesum{#1}{#2}}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \def\abx at aux@page#1#2{\blx at addpagesum{#1}{#2}}%
   \def\abx at aux@fnpage#1#2{\blx at addpagesum{#1}{#2}}}
 
@@ -10156,8 +10387,8 @@
 
 \def\blx at refsection@i[#1]{%
   \endgroup
-  \global\advance\blx at maxsection\@ne
-  \global\c at refsection\blx at maxsection
+  \stepcounter{blx at maxsection}%
+  \setcounter{refsection}{\value{blx at maxsection}}%
   \xifinlist{\the\c at refsection}\blx at allrefsections
     {}
     {\listxadd\blx at allrefsections{\the\c at refsection}}%
@@ -10164,8 +10395,8 @@
   \ifcsdef{blx at defaultrefcontexts@\the\c at refsection}
     {}
     {\global\cslet{blx at defaultrefcontexts@\the\c at refsection}\@empty}%
-  \expandafter\newcount\csname blx at maxsegment@\the\c at refsection\endcsname
-  \expandafter\newcount\csname blx at sectionciteorder@\the\c at refsection\endcsname
+  \blx at providecounter{blx at maxsegment@\the\c at refsection}%
+  \blx at providecounter{blx at sectionciteorder@\the\c at refsection}%
   \blx at inf@refsec
   \blx at secinit
   \if at filesw
@@ -10213,6 +10444,7 @@
 
 \def\blx at endrefsection{%
   \blx at endrefsegment
+  \blx at providecounter{blx at sectionciteorder@\the\c at refsection}%
   % make sure we always output aliases to the .bcf otherwise after their
   % first resolution by biber, they will be invisible to subsequent biber
   % runs since biblatex will resolve the \keyalias{} macro to the main
@@ -10219,15 +10451,29 @@
   % entry key, biber won't put \keyalias{}in the .bbl on subsequent runs
   % and biblatex will report a missing citekey
   \def\do##1{%
+    \blx at xmlsanitizeafter{\def\blx at tempa}{##1}%
     % Make sure this counter exists. Sometimes it might not when using, e.g:
     % refsection=chapter and \includeonly to put in the chapters or when
     % inserting citations into table of contents
-    \ifcscounter{blx at sectionciteorder@\the\c at refsection}
-      {}
-      {\expandafter\newcount\csname blx at sectionciteorder@\the\c at refsection\endcsname}%
-    \global\advance\csname blx at sectionciteorder@\the\c at refsection\endcsname\@ne
-    \blx at auxwrite\blx at bcfout{}{\blx at xml@citekey{##1}{}{\expandafter\the\csname blx at sectionciteorder@\the\c at refsection\endcsname}}}%
-  \dolistcsloop{blx at keyaliases@\the\c at refsection}%
+    \stepcounter{blx at sectionciteorder@\the\c at refsection}%
+    \blx at auxwrite\blx at bcfout{}{%
+      \blx at xml@citekey{\blx at tempa}{}
+      {\expandafter\the\csname c at blx@sectionciteorder@\the\c at refsection\endcsname}}}%
+  \ifcsundef{blx at keyaliases@\the\c at refsection}
+    {}
+    {\dolistcsloop{blx at keyaliases@\the\c at refsection}}%
+  % output key counts (for \citecount sorting) if citecounter option is not false
+  \ifcsundef{blx at cites@\the\c at refsection}
+    {}
+    {\ifundef\blx at citecounter
+       {}
+       {\def\do##1{%
+         \ifcsundef{blx at currcount@\the\c at refsection @##1}
+           {\csdef{blx at currcount@\the\c at refsection @##1}{0}}
+           {}%
+         \blx at auxwrite\blx at bcfout{}
+           {\blx at xml@citekeycount{##1}{\csuse{blx at currcount@\the\c at refsection @##1}}}}}%
+     \dolistcsloop{blx at cites@\the\c at refsection}}%
   \ifnum\c at refsection>\z@
     \blx at auxwrite\blx at bcfout{}{%
       \blx at xml@endsection\blx at nl
@@ -10236,7 +10482,7 @@
   \fi
   \global\c at refsection\z@}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \endrefcontext
   % close non-0 refsection if active
   \ifnum\c at refsection>\z@
@@ -10247,8 +10493,9 @@
   \def\abx at aux@refsection#1#2{\blx at addchecksum{#1}{#2}}}
 
 \protected\def\abx at aux@refsection#1#2{%
-  \ifnum#1>\blx at maxsection
-    \global\blx at maxsection#1\relax
+  \listgadd\blx at alllastrefsections{#1}%
+  \ifnum#1>\c at blx@maxsection
+    \setcounter{blx at maxsection}{#1}%
   \fi
   \blx at addchecksum{#1}{#2}}
 
@@ -10265,8 +10512,8 @@
     \blx at err@nestenv{refsegment}%
     \blx at endrefsegment
   \fi
-  \global\advance\csname blx at maxsegment@\the\c at refsection\endcsname\@ne
-  \global\c at refsegment\csname blx at maxsegment@\the\c at refsection\endcsname
+  \stepcounter{blx at maxsegment@\the\c at refsection}%
+  \setcounter{refsegment}{\value{blx at maxsegment@\the\c at refsection}}%
   \blx at inf@refseg
   \blx at info{Setting label 'refsegment:\the\c at refsection\the\c at refsegment'}%
   \label{refsegment:\the\c at refsection\the\c at refsegment}%
@@ -10599,7 +10846,7 @@
     {}
     {\listcsxadd{blx at catg@#1}{\detokenize{#2}}}}
 
-\AtEndDocument{\let\abx at aux@category\@gobbletwo}
+\blx at AtEndDocument{\let\abx at aux@category\@gobbletwo}
 
 % [<options>]{<resource>,...}
 \renewrobustcmd*{\bibliography}[1]{%
@@ -10829,10 +11076,10 @@
 
 \def\blx at citation@entry#1#2{%
   \blx at bibreq{#1}%
-  \ifinlist{#1}\blx at cites
+  \ifinlistcs{#1}{blx at cites@\the\c at refsection}
     {}
-    {\listgadd{\blx at cites}{#1}}%
-  \blx at auxwrite\@mainaux{}{\string\abx at aux@cite{#1}}%
+    {\listcsgadd{blx at cites@\the\c at refsection}{#1}}%
+  \blx at auxwrite\@mainaux{}{\string\abx at aux@cite{\the\c at refsection}{#1}}%
   \ifinlistcs{#1}{blx at segm@\the\c at refsection @\the\c at refsegment}
     {}
     {\listcsgadd{blx at segm@\the\c at refsection @\the\c at refsegment}{#1}}%
@@ -10843,7 +11090,7 @@
     {}
     {\ifcsdef{blx at miss@\the\c at refsection}
        {\ifinlistcs{#1}{blx at miss@\the\c at refsection}
-          {}
+          {\@latex at warning{#2{#1}}}
           {\blx at logreq@active{#2{#1}}}}
        {\blx at logreq@active{#2{#1}}}}%
   \blx at hook@entrykey{#1}}
@@ -10891,11 +11138,11 @@
   % ignores all other citekeys in the section if citeall is present
   \ifstrequal{*}{#1}
     {\blx at auxwrite\blx at bcfout{}{\blx at xml@citekey{\blx at tempa}{\blx at tempb}{0}}}
-    {\blx at auxwrite\blx at bcfout{}{\blx at xml@citekey{\blx at tempa}{\blx at tempb}{\expandafter\the\csname blx at sectionciteorder@\the\c at refsection\endcsname}}}%
+    {\blx at auxwrite\blx at bcfout{}{\blx at xml@citekey{\blx at tempa}{\blx at tempb}{%
+       \expandafter\the\csname c at blx@sectionciteorder@\the\c at refsection\endcsname}}}%
   \endgroup}
 
 % {<set>}{<key1,key2,key3>}
-
 \newrobustcmd*{\defbibentryset}[2]{%
   \@bsphack
   \begingroup
@@ -10947,10 +11194,8 @@
   % Make sure this counter exists. Sometimes it might not when using, e.g:
   % refsection=chapter and \includeonly to put in the chapters or when
   % inserting citations into table of contents
-  \ifcscounter{blx at sectionciteorder@\the\c at refsection}
-    {}
-    {\expandafter\newcount\csname blx at sectionciteorder@\the\c at refsection\endcsname}%
-  \global\advance\csname blx at sectionciteorder@\the\c at refsection\endcsname\@ne
+  \blx at providecounter{blx at sectionciteorder@\the\c at refsection}%
+  \stepcounter{blx at sectionciteorder@\the\c at refsection}%
   \blx at tempcnta\z@
   \blx at tempcntb\z@
   \let\blx at tempa\@empty
@@ -11018,8 +11263,8 @@
   % made (a bit strangely but some styles do this) inside a biblist
   % which never appear in any printed bib/biblist and therefore have no default
   % refcontext defined
-  \ifcsdef{blx at assignedrefcontextbib@\the\c at refsection @#1}
-    {\letcs\blx at refcontext@context{blx at assignedrefcontextbib@\the\c at refsection @#1}}
+  \ifcsdef{blx at assignedrefcontextbib@aux@\the\c at refsection @#1}
+    {\letcs\blx at refcontext@context{blx at assignedrefcontextbib@aux@\the\c at refsection @#1}}
     {\blx at edef@refcontext{\blx at sorting/global//global/global}}%
   % assignment via keyword list
   \ifdef\blx at assignedrefcontextkeywlist
@@ -11118,7 +11363,8 @@
 \def\blx at citecounter@global{%
   \ifbool{@filesw}
     {\ifbool{citetracker}
-       {\immediate\write\@mainaux{%
+       {\abx at curr@count{\the\c at refsection}{\abx at field@entrykey}%
+        \immediate\write\@mainaux{%
           \string\abx at aux@count
           {\the\c at refsection}{\abx at field@entrykey}}}
        {}}
@@ -11127,7 +11373,11 @@
 \def\blx at citecounter@context{%
   \ifbool{@filesw}
     {\ifbool{citetracker}
-       {\immediate\write\@mainaux{%
+       {\iftoggle{blx at footnote}
+          {\abx at curr@fncount}
+          {\abx at curr@count}
+          {\the\c at refsection}{\abx at field@entrykey}%
+        \immediate\write\@mainaux{%
           \iftoggle{blx at footnote}
             {\string\abx at aux@fncount}
             {\string\abx at aux@count}%
@@ -11169,9 +11419,22 @@
 \let\abx at aux@count\@gobbletwo
 \let\abx at aux@fncount\@gobbletwo
 
-\AtEndDocument{%
+\protected\def\blx at curr@count#1#2{%
+  \csnumgdef{blx at currcount@#1@#2}{%
+    \csuse{blx at currcount@#1@#2}+1}}
+
+\protected\def\blx at curr@fncount#1#2{%
+  \csnumgdef{blx at currfncount@#1@#2}{%
+    \csuse{blx at currfncount@#1@#2}+1}}
+
+\let\abx at curr@count\@gobbletwo
+\let\abx at curr@fncount\@gobbletwo
+
+\blx at AtEndDocument{%
   \let\abx at aux@count\@gobbletwo
-  \let\abx at aux@fncount\@gobbletwo}
+  \let\abx at aux@fncount\@gobbletwo
+  \let\abx at curr@count\@gobbletwo
+  \let\abx at curr@fncount\@gobbletwo}
 
 \protected\def\blx at setcitecounter@global{%
   \c at citecounter0%
@@ -11574,7 +11837,7 @@
     {\listcsgadd{blx at pref@#3@\detokenize{#2}}{#4}}%
   \blx at addpagesum{#1}{#5}}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \def\abx at aux@backref#1#2#3#4#5{\blx at addpagesum{#1}{#5}}}
 
 % {<true>}{<false>}
@@ -11650,10 +11913,8 @@
     % Make sure this counter exists. Sometimes it might not when using, e.g:
     % refsection=chapter and \includeonly to put in the chapters or when
     % inserting citations into table of contents
-    \ifcscounter{blx at sectionciteorder@\the\c at refsection}
-      {}
-      {\expandafter\newcount\csname blx at sectionciteorder@\the\c at refsection\endcsname}%
-  \global\advance\csname blx at sectionciteorder@\the\c at refsection\endcsname\@ne
+  \blx at providecounter{blx at sectionciteorder@\the\c at refsection}%
+  \stepcounter{blx at sectionciteorder@\the\c at refsection}%
   \blx at nocitation{#1}\blx at msg@cundef}
 
 % {<macro>}[<arg1>][<arg2>]{<arg3>}
@@ -11763,6 +12024,7 @@
   \blx at tempa}
 
 \def\blx at defcitecmd@i#1#2{%
+  \listadd\blx at citecmds{#2}%
   \blx at checkcitecmd{#2}{#1}%
   \protected\csdef{#2}{%
     \blx at citecmdinit
@@ -11911,6 +12173,7 @@
   \begingroup
   \escapechar\m at ne
   \edef\blx at tempa{\endgroup
+    \listadd\noexpand\blx at citecmds{\string#1}%
     \protected\def\noexpand#1{%
       \blx at citecmdinit
       \noexpand\@ifstar
@@ -11930,7 +12193,8 @@
         {\unexpanded{#2}}%
         {\string#3####1}%
         {\unexpanded{#4}}}%
-    \protected\long\csdef{blx at mcitei@\string#1}}%
+    \protected\long\csdef{blx at mcitei@\string#1}%
+  }%
   \blx at tempa##1##2##3{##1{##2}##3\endgroup}}
 
 % {<command>}{<wrapper>}{<citecmd>}{<delimiter>} =>
@@ -12108,6 +12372,7 @@
     \expandafter{\blx at autopunct}}%
   \endgroup}
 
+\listadd\blx at citecmds{citename}
 % [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<namelist>}<punct>
 \newrobustcmd*{\citename}{\blx at citexpunct{citename}}
 \long\csdef{blx at cite@citename}#1#2#3#4#5#6{%
@@ -12136,6 +12401,8 @@
   \blx at citeloop{#3}%
   \endgroup}
 
+
+\listadd\blx at citecmds{citelist}
 % [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<list>}<punct>
 \newrobustcmd*{\citelist}{\blx at citexpunct{citelist}}
 \long\csdef{blx at cite@citelist}#1#2#3#4#5#6{%
@@ -12164,6 +12431,7 @@
   \blx at citeloop{#3}%
   \endgroup}
 
+\listadd\blx at citecmds{citefield}
 % [<prenote>][<postnote>]{<entrykey>,...}[<format>]{<field>}<punct>
 
 \newrobustcmd*{\citefield}{\blx at citexpunct{citefield}}
@@ -12494,7 +12762,7 @@
 \protected\def\blx at errormark{%
   \rule[0.25ex]{1.25ex}{1.25ex}}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   \unless\ifnum\blx at parenlevel@text=\z@
     \blx at err@matchparen{%
       Unbalanced parentheses or brackets in the document body}%
@@ -12789,6 +13057,13 @@
 \xdef\blx at xml@nosort#1#2{%
   ~~~~<bcf:nosort field="#1" value="#2"/>\blx at nl}
 
+\xdef\blx at xml@nonamestrings#1{%
+  ~~<bcf:nonamestrings>\blx at nl
+  #1%
+  ~~</bcf:nonamestrings>\blx at nl}
+\xdef\blx at xml@nonamestring#1#2{%
+  ~~~~<bcf:nonamestring field="#1" value="#2"/>\blx at nl}
+
 \xdef\blx at xml@noinits#1{%
   ~~<bcf:noinits>\blx at nl
   #1%
@@ -12895,6 +13170,8 @@
   ~~~~<bcf:citekey order="#3"#2>#1</bcf:citekey>}
 \xdef\blx at xml@citeset#1#2{%
   ~~~~<bcf:citekey type="set" members="#2">#1</bcf:citekey>}
+\xdef\blx at xml@citekeycount#1#2{%
+  ~~~~<bcf:citekeycount count="#2">#1</bcf:citekeycount>}
 \xdef\blx at xml@svalue#1#2{%
   \blx at xml@option{singlevalued}{%
   ~~~~~~<bcf:key>#1</bcf:key>\blx at nl
@@ -13175,6 +13452,13 @@
       \blx at xml@nosorts{%
         \csuse{blx at nosort}}}}%
     {}%
+  % nonamestrings
+  \ifcsdef{blx at nonamestring}
+    {\eappto\blx at tempa{%
+      \blx at xml@comment{NONAMESTRING}%
+      \blx at xml@nonamestrings{%
+        \csuse{blx at nonamestring}}}}%
+    {}%
   % transliteration
   \ifdefempty\blx at translits
     {}
@@ -13296,6 +13580,20 @@
   \eappto\blx at tempa{%
     \blx at xml@nosort{#1}{#2}}}
 
+% nonamestring
+\newrobustcmd*{\DeclareNonamestring}[1]{%
+  \begingroup
+  \let\nonamestring\blx at nonamestring@setup
+  \let\blx at tempa\@empty
+  #1%
+  \global\let\blx at nonamestring\blx at tempa
+  \endgroup}
+\@onlypreamble\DeclareNonamestring
+
+\newcommand*{\blx at nonamestring@setup}[2]{%
+  \eappto\blx at tempa{%
+    \blx at xml@nonamestring{#1}{#2}}}
+
 % noinit
 \newrobustcmd*{\DeclareNoinit}[1]{%
   \begingroup
@@ -13562,6 +13860,10 @@
   \appto\blx at tempf{ map\string_match="#1"}}
 \blx at kv@defkey{blx at sourcemap@step}{matchi}{% characters
   \appto\blx at tempf{ map\string_matchi="#1"}}
+\blx at kv@defkey{blx at sourcemap@step}{matches}{% characters
+  \appto\blx at tempf{ map\string_matches="#1"}}
+\blx at kv@defkey{blx at sourcemap@step}{matchesi}{% characters
+  \appto\blx at tempf{ map\string_matchesi="#1"}}
 \blx at kv@defkey{blx at sourcemap@step}{notmatch}{% characters
   \appto\blx at tempf{ map\string_notmatch="#1"}}
 \blx at kv@defkey{blx at sourcemap@step}{notmatchi}{% characters
@@ -14011,6 +14313,8 @@
   \def\citeorder{%
     \global\cslet{blx at sortingtemplate@citeorder at relevant@#2}\@empty
     \blx at sortdef@field{citeorder}}%
+  \def\citecount{%
+    \blx at sortdef@field{citecount}}%
   \blx at tempcnta\z@
   \let\blx at tempa\@empty
   #3%
@@ -14345,8 +14649,8 @@
 
 \DeclareBibliographyOption[string]{texencoding}{%
   \ifstrequal{#1}{auto}
-    {\undef\blx at texencoding}
-    {\def\blx at texencoding{#1}}}
+    {\undef\blx at texencoding@fromoption}
+    {\def\blx at texencoding@fromoption{#1}}}
 
 \DeclareBibliographyOption[string]{bibencoding}{%
   \ifcsdef{blx at bibenc@#1}
@@ -14530,9 +14834,9 @@
 \DeclareBiblatexOption{global,type,entry}[boolean]{dateabbrev}[true]{%
   \ifstrequal{#1}{true}
     {\let\abx at bibmonth\blx at imc@bibsstring
-     \let\abx at bibseason\blx at imc@bibsstring}
+     \let\abx at bibyeardivision\blx at imc@bibsstring}
     {\let\abx at bibmonth\blx at imc@biblstring
-     \let\abx at bibseason\blx at imc@biblstring}}
+     \let\abx at bibyeardivision\blx at imc@biblstring}}
 
 \DeclareBibliographyOption[string]{sortlocale}{%
   \edef\blx at sortlocale{\detokenize{#1}}}
@@ -14797,6 +15101,8 @@
   \let\blx at citecounter\blx at citecounter@global
   \let\abx at aux@count\blx at aux@count
   \let\abx at aux@fncount\blx at aux@fncount
+  \let\abx at curr@count\blx at curr@count
+  \let\abx at curr@fncount\blx at curr@fncount
   \booltrue{citetracker}}
 \def\blx at opt@citecounter at context{%
   \let\blx at setcitecounter\blx at setcitecounter@context
@@ -14803,12 +15109,17 @@
   \let\blx at citecounter\blx at citecounter@context
   \let\abx at aux@count\blx at aux@count
   \let\abx at aux@fncount\blx at aux@fncount
+  \let\abx at curr@count\blx at curr@count
+  \let\abx at curr@fncount\blx at curr@fncount
   \booltrue{citetracker}}
 \def\blx at opt@citecounter at false{%
   \let\blx at setcitecounter\relax
   \let\blx at citecounter\relax
   \let\abx at aux@count\@gobbletwo
-  \let\abx at aux@fncount\@gobbletwo}
+  \let\abx at aux@fncount\@gobbletwo
+  \let\abx at curr@count\@gobbletwo
+  \let\abx at curr@fncount\@gobbletwo
+  \boolfalse{citetracker}}
 
 \DeclareBiblatexOption{global,type,entry}[string]{citetracker}[true]{%
   \ifcsdef{blx at opt@citetracker@#1}
@@ -15133,10 +15444,8 @@
     \blx at kv@setkeys{blx at opt@pre}{#1time=24h}%
     % Boolean to determine if times are printed with dates
     \newtoggle{blx@#1dateusetime}%
-    \DeclareBibliographyOption[boolean]{#1dateusetime}{%
-      \ifstrequal{##1}{true}
-        {\toggletrue{blx@#1dateusetime}}
-        {\togglefalse{blx@#1dateusetime}}}}
+    \DeclareBibliographyOption[boolean]{#1dateusetime}[true]{%
+      \settoggle{blx@#1dateusetime}{##1}}}
 \abx at dodatetypes
 
 \DeclareBibliographyOption[string]{alldatesusetime}{%
@@ -15418,8 +15727,15 @@
   \edef\blx at tempa{%
     \expandafter\blx at tempa\CurrentOption=&}%
   \blx at kv@ifkeyundef{blx at opt@ldt}{\blx at tempa}
-    {\endgroup
-     \eappto\blx at theoptions{\CurrentOption,}}
+    {% now it becomes messy,
+     % we need to intercept the bibtexcaseprotection option
+     % because it is only defined by the case changing code
+     % which is loaded after load-time options are processed
+     \ifdefstring\blx at tempa{bibtexcaseprotection}
+       {\endgroup
+        \edef\blx at deferoption@bibtexcaseprotection{\CurrentOption}}
+       {\endgroup
+        \eappto\blx at theoptions{\CurrentOption,}}}
     {\edef\blx at tempa{\endgroup
        \noexpand\blx at kv@setkeys{blx at opt@ldt}{\CurrentOption}}%
      \blx at tempa}}
@@ -15510,7 +15826,16 @@
   % Textcase defines \NoCaseChange as \let\NoCaseChange\@firstofone
   \ifundef\NoCaseChange
     {\let\NoCaseChange\@firstofone}
-    {}}
+    {}%
+  % we also need to defer the bibtexcaseprotection option until after we load
+  % the case changing code
+  \ifundef\blx at deferoption@bibtexcaseprotection
+    {}
+    {\begingroup
+     \edef\blx at tempa{\endgroup
+       \noexpand\blx at kv@setkeys{blx at opt@pre}{%
+         \blx at deferoption@bibtexcaseprotection}}%
+     \blx at tempa}}
 % That's it for the case change code
 
 % Set defaults
@@ -15553,7 +15878,6 @@
 % Process load-time options
 \ProcessOptions*
 
-
 % Switch to BibTeX support if requested
 \iftoggle{blx at bibtex}
   {\blx at inputonce{blx-bibtex.def}{BibTeX backend compatibility}{}{}{}{}}
@@ -15576,6 +15900,42 @@
 % Process preamble options
 \blx at processoptions
 
+% first stab at guessing the file encoding
+\def\blx at guesstexencoding{%
+  \ifdef\blx at texencoding@fromoption
+    {\let\blx at texencoding\blx at texencoding@fromoption
+     \blx at info@noline{%
+       Input encoding '\blx at texencoding' specified}}
+    {\ifundef\inputencodingname
+       {\ifundef\XeTeXrevision
+          {\ifundef\luatexversion
+             {\def\blx at texencoding{ascii}%
+              \blx at info@noline{%
+                No input encoding detected.\MessageBreak
+                Assuming '\blx at texencoding'}}
+             {\def\blx at texencoding{utf8}%
+              \blx at info@noline{%
+                LuaTeX detected.\MessageBreak
+                Assuming input encoding '\blx at texencoding'}}}
+          {\def\blx at texencoding{utf8}%
+           \blx at info@noline{%
+             XeTeX detected.\MessageBreak
+             Assuming input encoding '\blx at texencoding'}}}
+       {\ifcsdef{blx at inpenc@\inputencodingname}
+          {\letcs\blx at texencoding{blx at inpenc@\inputencodingname}}
+          {\let\blx at texencoding\inputencodingname}%
+        \blx at info@noline{%
+          Input encoding '\blx at texencoding' detected}}}}
+
+\blx at guesstexencoding
+\let\blx at texencoding@firstguess\blx at texencoding
+
+% this ultimately loads either
+% blx-case-expl3.def or blx-case-latex2e.def
+\blx at deferoption@casechanger
+\blx at casechange@postload
+
+
 % Deferred setup at end of preamble
 \AtEndPreamble{%
   \blx at checkoptions@global
@@ -15656,30 +16016,18 @@
     \abx at dodates
     \do{labeldate}}
 
+
+
 \def\blx at checkencoding{%
-  \ifdef\blx at texencoding
-    {\blx at info@noline{%
-       Input encoding '\blx at texencoding' specified}}
-    {\ifundef\inputencodingname
-       {\ifundef\XeTeXrevision
-          {\ifundef\luatexversion
-             {\def\blx at texencoding{ascii}%
-              \blx at info@noline{%
-                No input encoding detected.\MessageBreak
-                Assuming '\blx at texencoding'}}
-             {\def\blx at texencoding{utf8}%
-              \blx at info@noline{%
-                LuaTeX detected.\MessageBreak
-                Assuming input encoding '\blx at texencoding'}}}
-          {\def\blx at texencoding{utf8}%
-           \blx at info@noline{%
-             XeTeX detected.\MessageBreak
-             Assuming input encoding '\blx at texencoding'}}}
-       {\ifcsdef{blx at inpenc@\inputencodingname}
-          {\letcs\blx at texencoding{blx at inpenc@\inputencodingname}}
-          {\let\blx at texencoding\inputencodingname}%
-        \blx at info@noline{%
-          Input encoding '\blx at texencoding' detected}}}%
+  \blx at guesstexencoding
+  \ifdefstrequal\blx at texencoding@firstguess\blx at texencoding
+    {}
+    {\blx at warning@noline{%
+      Initial guess for file encoding (\blx at texencoding@firstguess)\MessageBreak
+      and new guess (\blx at texencoding) do not match.\MessageBreak
+      Please set up your document encoding *before*\MessageBreak
+      loading biblatex.\MessageBreak
+      The case changing code might not work as expected}}%
   \ifdef\blx at bibencoding
     {\ifdefstring\blx at bibencoding{ascii}
        {\blx at info@noline{%
@@ -15718,15 +16066,11 @@
 \AtBeginDocument{%
   \blx at auxwrite\@mainaux{}{\string\abx at aux@refcontext{\blx at refcontext@context}}
   \blx at checkencoding
-  % this ultimately loads either
-  % blx-case-expl3.def or blx-case-latex2e.def
-  \blx at deferoption@casechanger
-  \blx at casechange@postload
   \if at filesw
     \blx at ctrlwrite
   \fi
   \blx at bblinput
-  \blx at maxsection\z@
+  \setcounter{blx at maxsection}{0}%
   \csuse{abx at preamble}%
   \blx at inf@refsec
   \blx at inf@refseg}

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/blx-bibtex.def	2022-02-03 22:11:47 UTC (rev 61868)
@@ -244,7 +244,7 @@
 
 \def\blx at bblsecs{%
   \advance\c at refsection\@ne
-  \ifnum\c at refsection>\blx at maxsection
+  \ifnum\c at refsection>\c at blx@maxsection
   \else
     \blx at bblfile
     \expandafter\blx at bblsecs
@@ -677,7 +677,7 @@
       \MessageBreak
       Please report this bug}}
 
-\AtEndDocument{%
+\blx at AtEndDocument{%
   % always add default labelprefix declarations to .aux
   \iftoggle{blx at bbldone}
     {\def\do#1{%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/blx-compat.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/blx-compat.def	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/blx-compat.def	2022-02-03 22:11:47 UTC (rev 61868)
@@ -6,13 +6,13 @@
 \AtBeginDocument{%
   \renewrobustcmd*{\bibliography}[1]{%
     \blx at error
-      {'\string\bibliography' invalid}
+      {'\string\bibliography' invalid in 'document' env}
       {Use '\string\addbibresource' instead.\MessageBreak
        I'm ignoring this command}}}
 
 \renewrobustcmd*{\bibliographystyle}[1]{%
   \blx at error
-    {'\string\bibliographystyle' invalid}
+    {'\string\bibliographystyle' invalid for 'biblatex'}
     {Use the package option 'style' instead.\MessageBreak
      I'm ignoring this command}}
 
@@ -356,4 +356,18 @@
 % and \mkrelatedstring for \mkrelatedstringtext
 \newcommand{\mkrelatedstring}{\mainlang}
 
+% 3.17
+% ------------------------------------------------------------------
+% Deprecations for ISO8601 year divisions
+% ------------------------------------------------------------------
+
+% can't use \DeprecateFieldWithReplacement here because we do some
+% testing on the field values, so injecting warnings breaks things
+\def\do#1{%
+  \appto\blx at aliasfields{%
+    \csletcs{abx at field@#1season}{abx at field@#1yeardivision}%
+    \csletcs{abx at field@#1endseason}{abx at field@#1endyeardivision}}}
+\abx at dodatetypes
+
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def	2022-02-03 22:11:47 UTC (rev 61868)
@@ -116,7 +116,7 @@
     {}}
 
 % Valid dateparts
-\def\blx at notnulldateparts{month,day,hour,minute,second,timezone,season,endmonth,endday,endhour,endminute,endsecond,endtimezone,endseason}
+\def\blx at notnulldateparts{month,day,hour,minute,second,timezone,yeardivision,endmonth,endday,endhour,endminute,endsecond,endtimezone,endyeardivision}
 \def\blx at nullokdateparts{endyear,year}
 \edef\blx at dateparts{\blx at notnulldateparts,\blx at nullokdateparts}
 
@@ -246,7 +246,7 @@
        \expandafter\docsvlist\expandafter{\blx at nullokdateparts}%
        % dateparts which are not ok to be null by default:
        % *year, *(end)month, *(end)day, *(end)hour, *(end)minute, *(end)second, *(end)timezone
-       % *(end)season
+       % *(end)yeardivision
        \def\do####1{%
          \let\blx at tempa\@empty% reset setkeys buffer due to loop calls
          \xifinlistcs{\blx at datetype ####1}{blx at datamodel@fields}
@@ -643,10 +643,10 @@
   endhour,
   endminute,
   endmonth,
-  endseason,
   endsecond,
   endtimezone,
   endyear,
+  endyeardivision,
   entryset,
   entrysubtype,
   execute,
@@ -685,17 +685,17 @@
   origendhour,
   origendminute,
   origendmonth,
-  origendseason,
   origendsecond,
   origendtimezone,
   origendyear,
+  origendyeardivision,
   orighour,
   origminute,
   origmonth,
-  origseason,
   origsecond,
   origtimezone,
   origyear,
+  origyeardivision,
   origlocation,
   origpublisher,
   origtitle,
@@ -705,7 +705,6 @@
   relatedoptions,
   relatedstring,
   relatedtype,
-  season,
   second,
   shortauthor,
   shorteditor,
@@ -746,7 +745,8 @@
   verbc,
   xdata,
   xref,
-  year}
+  year,
+  yeardivision}
 
 \DeclareDatamodelEntryfields[set]{
   entryset}
@@ -1151,12 +1151,12 @@
   note,
   number,
   pubstate,
-  season,
   series,
   subtitle,
   title,
   titleaddon,
-  volume}
+  volume,
+  yeardivision}
 
 \DeclareDatamodelEntryfields[mvproceedings]{
   addendum,
@@ -1167,17 +1167,17 @@
   eventendhour,
   eventendminute,
   eventendmonth,
-  eventendseason,
   eventendsecond,
   eventendtimezone,
   eventendyear,
+  eventendyeardivision,
   eventhour,
   eventminute,
   eventmonth,
-  eventseason,
   eventsecond,
   eventtimezone,
   eventyear,
+  eventyeardivision,
   eventtitle,
   eventtitleaddon,
   isbn,
@@ -1207,17 +1207,17 @@
   eventendhour,
   eventendminute,
   eventendmonth,
-  eventendseason,
   eventendsecond,
   eventendtimezone,
   eventendyear,
+  eventendyeardivision,
   eventhour,
   eventminute,
   eventmonth,
-  eventseason,
   eventsecond,
   eventtimezone,
   eventyear,
+  eventyeardivision,
   eventtitle,
   eventtitleaddon,
   isbn,
@@ -1257,17 +1257,17 @@
   eventendhour,
   eventendminute,
   eventendmonth,
-  eventendseason,
   eventendsecond,
   eventendtimezone,
   eventendyear,
+  eventendyeardivision,
   eventhour,
   eventminute,
   eventmonth,
-  eventseason,
   eventsecond,
   eventtimezone,
   eventyear,
+  eventyeardivision,
   eventtitle,
   eventtitleaddon,
   isbn,
@@ -1336,17 +1336,17 @@
   eventendhour,
   eventendminute,
   eventendmonth,
-  eventendseason,
   eventendsecond,
   eventendtimezone,
   eventendyear,
+  eventendyeardivision,
   eventhour,
   eventminute,
   eventmonth,
-  eventseason,
   eventsecond,
   eventtimezone,
   eventyear,
+  eventyeardivision,
   eventtitle,
   eventtitleaddon,
   howpublished,

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/australian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -13,12 +13,12 @@
       {\mkbibmonth{\thefield{#2}}%
        \iffieldundef{#1}{}{\space}}%
     \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}{\stripzeros{\thefield{#1}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \mkyearzeros{\thefield{#1}}}%
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/basque.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/basque.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/basque.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -72,12 +72,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -241,17 +241,17 @@
                       {ed.,\addabbrvspace ohk\adddotspace eta hitzaur\adddot}},%
   byeditoranaf     = {{edizioa, oharrak eta hitzatzea}%
                       {ed.,\addabbrvspace ohk\adddotspace eta hitzatz\adddot}},%
-  byeditortrcoin   = {{edizioa, \lbx at lfromlang itzulpena, iruzkinak eta sarrera}%
+  byeditortrcoin   = {{edizioa, \lbx at lfromlang\ itzulpena, iruzkinak eta sarrera}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},%
-  byeditortrcofo   = {{edizioa, \lbx at lfromlang itzulpena, iruzkinak eta hitzaurrea}%
+  byeditortrcofo   = {{edizioa, \lbx at lfromlang\ itzulpena, iruzkinak eta hitzaurrea}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, irzk\adddotspace eta hitzaur\adddot}},%
-  byeditortrcoaf   = {{edizioa, \lbx at lfromlang itzulpena, iruzkinak eta hitzatzea}%
+  byeditortrcoaf   = {{edizioa, \lbx at lfromlang\ itzulpena, iruzkinak eta hitzatzea}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
-  byeditortranin   = {{edizioa, \lbx at lfromlang itzulpena, oharrak eta sarrera}%
+  byeditortranin   = {{edizioa, \lbx at lfromlang\ itzulpena, oharrak eta sarrera}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},%
-  byeditortranfo   = {{edizioa, \lbx at lfromlang itzulpena, oharrak eta hitzaurrea}%
+  byeditortranfo   = {{edizioa, \lbx at lfromlang\ itzulpena, oharrak eta hitzaurrea}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, ohk\adddotspace eta hitzaur\adddot}},%
-  byeditortranaf   = {{edizioa, \lbx at lfromlang itzulpena, oharrak eta hitzatzea}%
+  byeditortranaf   = {{edizioa, \lbx at lfromlang\ itzulpena, oharrak eta hitzatzea}%
                       {ed.,\addabbrvspace \lbx at sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
   bytranslatorco   = {{\lbx at lfromlang\ itzulpena eta iruzkinak}%
                       {\lbx at sfromlang\ itz\adddot\ eta irzk\adddot}},%
@@ -263,18 +263,18 @@
                       {\lbx at sfromlang\ itz\adddot\ eta hitzaur\adddot}},%
   bytranslatoraf   = {{\lbx at lfromlang\ itzulpena eta hitzatzea}%
                       {\lbx at sfromlang\ itz\adddot\ eta hitzatz\adddot}},%
-  bytranslatorcoin = {{\lbx at lfromlang itzulpena, iruzkinak eta sarrera}%
-                      {\lbx at sfromlang itz\adddot, irzk\adddotspace eta sar\adddot}},%
-  bytranslatorcofo = {{\lbx at lfromlang itzulpena, iruzkinak eta hitzaurrea}%
-                      {\lbx at sfromlang itz\adddot, irzk\adddotspace eta pr\'ol\adddot}},%
-  bytranslatorcoaf = {{\lbx at lfromlang itzulpena, iruzkinak eta hitzatzea}%
-                      {\lbx at sfromlang itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
-  bytranslatoranin = {{\lbx at lfromlang itzulpena, oharrak eta sarrera}%
-                      {\lbx at sfromlang itz\adddot, ohk\adddotspace eta sar\adddot}},%
-  bytranslatoranfo = {{\lbx at lfromlang itzulpena, oharrak eta hitzaurrea}%
-                      {\lbx at sfromlang itz\adddot, ohk\adddotspace eta pr\'ol\adddot}},%
-  bytranslatoranaf = {{\lbx at lfromlang itzulpena, oharrak eta hitzatzea}%
-                      {\lbx at sfromlang itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
+  bytranslatorcoin = {{\lbx at lfromlang\ itzulpena, iruzkinak eta sarrera}%
+                      {\lbx at sfromlang\ itz\adddot, irzk\adddotspace eta sar\adddot}},%
+  bytranslatorcofo = {{\lbx at lfromlang\ itzulpena, iruzkinak eta hitzaurrea}%
+                      {\lbx at sfromlang\ itz\adddot, irzk\adddotspace eta pr\'ol\adddot}},%
+  bytranslatorcoaf = {{\lbx at lfromlang\ itzulpena, iruzkinak eta hitzatzea}%
+                      {\lbx at sfromlang\ itz\adddot, irzk\adddotspace eta hitzatz\adddot}},%
+  bytranslatoranin = {{\lbx at lfromlang\ itzulpena, oharrak eta sarrera}%
+                      {\lbx at sfromlang\ itz\adddot, ohk\adddotspace eta sar\adddot}},%
+  bytranslatoranfo = {{\lbx at lfromlang\ itzulpena, oharrak eta hitzaurrea}%
+                      {\lbx at sfromlang\ itz\adddot, ohk\adddotspace eta pr\'ol\adddot}},%
+  bytranslatoranaf = {{\lbx at lfromlang\ itzulpena, oharrak eta hitzatzea}%
+                      {\lbx at sfromlang\ itz\adddot, ohk\adddotspace eta hitzatz\adddot}},%
   and              = {{eta}{eta}},%
   andothers        = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},%
   andmore          = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},%
@@ -473,6 +473,23 @@
   summer           = {{uda}{uda}},%
   autumn           = {{udazkena}{udaz\adddot}},%
   winter           = {{negua}{neg\adddot}},%
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddotspace m\adddot}{a\adddot m\adddot}},%
   pm               = {{p\adddotspace m\adddot}{p\adddot m\adddot}},%
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -70,12 +70,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -287,11 +287,11 @@
   byeditortran     = {{editado, traduzido \lbx at lfromlang\ e anotado por}%
                       {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ e anot\adddot\ por}},
   byeditortrin     = {{editado, traduzido \lbx at lfromlang\ e introduzido por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e introd\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e introd\adddot\ por}},
   byeditortrfo     = {{editado, traduzido \lbx at lfromlang\ e prefaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e pref\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e pref\adddot\ por}},
   byeditortraf     = {{editado, traduzido \lbx at lfromlang\ e posfaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e posf\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e posf\adddot\ por}},
   byeditorcoin     = {{editado, comentado e introduzido por}%
                       {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}},
   byeditorcofo     = {{editado, comentado e prefaciado por}%
@@ -542,6 +542,23 @@
   summer           = {{ver\~ao}{ver\~ao}},
   autumn           = {{outono}{outono}},
   winter           = {{inverno}{inverno}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/british.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -70,12 +70,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -97,12 +97,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -578,6 +578,23 @@
   summer           = {{лято}{лято}},
   autumn           = {{есен}{есен}},
   winter           = {{зима}{зима}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{преди обяд}{преди обяд}},
   pm               = {{след обяд}{сдед обяд}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -93,12 +93,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -282,7 +282,7 @@
   byfounder        = {{fundat per}{fund\adddotspace per}},
   bycontinuator    = {{continuat per}{cont\adddotspace per}},
   bycollaborator   = {{amb la co\l.laboraci\'o\smartof}{amb la co\l.l\adddot\smartof}},
-  bytranslator     = {{traducci\'o \lbx at fromlang\ a cura\smartof}{trad\adddotspace\lbx at fromlang\smartof}},
+  bytranslator     = {{tradu\"{\i}t \lbx at lfromlang\ per}{trad\adddotspace\lbx at sfromlang\ per}},
   bycommentator    = {{comentari a cura\smartof}{com\adddot\smartof}},
   byannotator      = {{notes a cura\smartof}{n\adddot\smartof}},
   withcommentator  = {{amb un comentari a cura\smartof}{amb un com\adddot\smartof}},
@@ -290,8 +290,8 @@
   withintroduction = {{amb una introducci\'o a cura\smartof}{amb una intr\adddot\smartof}},
   withforeword     = {{amb un pr\`oleg a cura\smartof}{amb un pr\`ol\adddot\smartof}},
   withafterword    = {{amb un ep\'{\i}leg a cura\smartof}{amb un ep\adddot\smartof}},
-  byeditortr       = {{edici\'o i traducci\'o \lbx at fromlang\ a cura\smartof}%
-                      {ed\adddotspace i trad\adddotspace\lbx at fromlang\smartof}},
+  byeditortr       = {{edici\'o i traducci\'o \lbx at lfromlang\ a cura\smartof}%
+                      {ed\adddotspace i trad\adddotspace\lbx at sfromlang\smartof}},
   byeditorco       = {{edici\'o i comentari a cura\smartof}%
                       {ed\adddotspace i com\adddot\smartof}},
   byeditoran       = {{edici\'o i notes a cura\smartof}%
@@ -302,16 +302,16 @@
                       {ed\adddotspace i pr\`ol\adddot\smartof}},
   byeditoraf       = {{edici\'o i ep\'{\i}leg a cura\smartof}%
                       {ed\adddotspace i ep\adddot\smartof}},
-  byeditortrco     = {{edici\'o, traducci\'o \lbx at fromlang\ i comentari a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace\lbx at fromlang\ i com\adddot\smartof}},
-  byeditortran     = {{edici\'o, traducci\'o \lbx at fromlang\ i notes a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace\lbx at fromlang\ i n\adddot\smartof}},
-  byeditortrin     = {{edici\'o, traducci\'o \lbx at fromlang\ i introducci\'o a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace\lbx at fromlang\ i intr\adddot\smartof}},
-  byeditortrfo     = {{edici\'o, traducci\'o \lbx at fromlang\ i pr\`oleg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace\lbx at fromlang\ i pr\`ol\adddot\smartof}},
-  byeditortraf     = {{edici\'o, traducci\'o \lbx at fromlang\ i ep\'{\i}leg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace\lbx at fromlang\ i ep\adddot\smartof}},
+  byeditortrco     = {{edici\'o, traducci\'o \lbx at lfromlang\ i comentari a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace\lbx at sfromlang\ i com\adddot\smartof}},
+  byeditortran     = {{edici\'o, traducci\'o \lbx at lfromlang\ i notes a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace\lbx at sfromlang\ i n\adddot\smartof}},
+  byeditortrin     = {{edici\'o, traducci\'o \lbx at lfromlang\ i introducci\'o a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace\lbx at sfromlang\ i intr\adddot\smartof}},
+  byeditortrfo     = {{edici\'o, traducci\'o \lbx at lfromlang\ i pr\`oleg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace\lbx at sfromlang\ i pr\`ol\adddot\smartof}},
+  byeditortraf     = {{edici\'o, traducci\'o \lbx at lfromlang\ i ep\'{\i}leg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace\lbx at sfromlang\ i ep\adddot\smartof}},
   byeditorcoin     = {{edici\'o, comentari i introducci\'o a cura\smartof}
                       {ed.,\addabbrvspace com\adddotspace i intr\adddot\smartof}},
   byeditorcofo     = {{edici\'o, comentari i pr\`oleg a cura\smartof}
@@ -324,40 +324,40 @@
                       {ed.,\addabbrvspace n\adddotspace i pr\`ol\adddot\smartof}},
   byeditoranaf     = {{edici\'o, notes i ep\'{\i}leg a cura\smartof}%
                       {ed.,\addabbrvspace n\adddotspace i ep\adddot\smartof}},
-  byeditortrcoin   = {{edici\'o, traducci\'o \lbx at fromlang, comentari i introducci\'o a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace \lbx at fromlang, com\adddotspace i intr\adddot\smartof}},
-  byeditortrcofo   = {{edici\'o, traducci\'o \lbx at fromlang, comentari i pr\`oleg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddotspace \lbx at fromlang, com\adddotspace i pr\`ol\adddot\smartof}},
-  byeditortrcoaf   = {{edici\'o, traducci\'o \lbx at fromlang, comentari i ep\'{\i}leg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddot\ \lbx at fromlang, com\adddot\ i ep\adddot\smartof}},
-  byeditortranin   = {{edici\'o, traducci\'o \lbx at fromlang, notes i introducci\'o a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddot\ \lbx at fromlang, n\adddot\ i intr\adddot\smartof}},
-  byeditortranfo   = {{edici\'o, traducci\'o \lbx at fromlang, notes i pr\`oleg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddot\ \lbx at fromlang, n\adddot\ i pr\`ol\adddot\smartof}},
-  byeditortranaf   = {{edici\'o, traducci\'o \lbx at fromlang, notes i ep\'{\i}leg a cura\smartof}%
-                      {ed.,\addabbrvspace trad\adddot\ \lbx at fromlang, n\adddot\ i ep\adddot\smartof}},
-  bytranslatorco   = {{traducci\'o \lbx at fromlang\ i comentari a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang\ i com\adddot\smartof}},
-  bytranslatoran   = {{traducci\'o \lbx at fromlang\ i notes a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang\ i n\adddot\smartof}},
-  bytranslatorin   = {{traducci\'o \lbx at fromlang\ i introducci\'o a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang\ i intr\adddot\smartof}},
-  bytranslatorfo   = {{traducci\'o \lbx at fromlang\ i pr\`oleg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang\ i pr\`ol\adddot\smartof}},
-  bytranslatoraf   = {{traducci\'o \lbx at fromlang\ i ep\'{\i}leg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang\ i ep\adddot\smartof}},
-  bytranslatorcoin = {{traducci\'o \lbx at fromlang, comentari i introducci\'o a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, com\adddot\ i intr\adddot\smartof}},
-  bytranslatorcofo = {{traducci\'o \lbx at fromlang, comentari i pr\`oleg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, com\adddot\ i pr\`ol\adddot\smartof}},
-  bytranslatorcoaf = {{traducci\'o \lbx at fromlang, comentari i ep\'{\i}leg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, com\adddot\ i ep\adddot\smartof}},
-  bytranslatoranin = {{traducci\'o \lbx at fromlang, notes i introducci\'o a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, n\adddot\ i intr\adddot\smartof}},
-  bytranslatoranfo = {{traducci\'o \lbx at fromlang, notes i pr\`oleg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, n\adddot\ i pr\`ol\adddot\smartof}},
-  bytranslatoranaf = {{traducci\'o \lbx at fromlang, notes i ep\'{\i}leg a cura\smartof}%
-                      {trad\adddot\ \lbx at fromlang, n\adddot\ i ep\adddot\smartof}},
+  byeditortrcoin   = {{edici\'o, traducci\'o \lbx at lfromlang, comentari i introducci\'o a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang, com\adddotspace i intr\adddot\smartof}},
+  byeditortrcofo   = {{edici\'o, traducci\'o \lbx at lfromlang, comentari i pr\`oleg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang, com\adddotspace i pr\`ol\adddot\smartof}},
+  byeditortrcoaf   = {{edici\'o, traducci\'o \lbx at lfromlang, comentari i ep\'{\i}leg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang, com\adddot\ i ep\adddot\smartof}},
+  byeditortranin   = {{edici\'o, traducci\'o \lbx at lfromlang, notes i introducci\'o a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang, n\adddot\ i intr\adddot\smartof}},
+  byeditortranfo   = {{edici\'o, traducci\'o \lbx at lfromlang, notes i pr\`oleg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang, n\adddot\ i pr\`ol\adddot\smartof}},
+  byeditortranaf   = {{edici\'o, traducci\'o \lbx at lfromlang, notes i ep\'{\i}leg a cura\smartof}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang, n\adddot\ i ep\adddot\smartof}},
+  bytranslatorco   = {{traducci\'o \lbx at lfromlang\ i comentari a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang\ i com\adddot\smartof}},
+  bytranslatoran   = {{traducci\'o \lbx at lfromlang\ i notes a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang\ i n\adddot\smartof}},
+  bytranslatorin   = {{traducci\'o \lbx at lfromlang\ i introducci\'o a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang\ i intr\adddot\smartof}},
+  bytranslatorfo   = {{traducci\'o \lbx at lfromlang\ i pr\`oleg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang\ i pr\`ol\adddot\smartof}},
+  bytranslatoraf   = {{traducci\'o \lbx at lfromlang\ i ep\'{\i}leg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang\ i ep\adddot\smartof}},
+  bytranslatorcoin = {{traducci\'o \lbx at lfromlang, comentari i introducci\'o a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, com\adddot\ i intr\adddot\smartof}},
+  bytranslatorcofo = {{traducci\'o \lbx at lfromlang, comentari i pr\`oleg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, com\adddot\ i pr\`ol\adddot\smartof}},
+  bytranslatorcoaf = {{traducci\'o \lbx at lfromlang, comentari i ep\'{\i}leg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, com\adddot\ i ep\adddot\smartof}},
+  bytranslatoranin = {{traducci\'o \lbx at lfromlang, notes i introducci\'o a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, n\adddot\ i intr\adddot\smartof}},
+  bytranslatoranfo = {{traducci\'o \lbx at lfromlang, notes i pr\`oleg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, n\adddot\ i pr\`ol\adddot\smartof}},
+  bytranslatoranaf = {{traducci\'o \lbx at lfromlang, notes i ep\'{\i}leg a cura\smartof}%
+                      {trad\adddot\ \lbx at sfromlang, n\adddot\ i ep\adddot\smartof}},
   and              = {{i}{i}},
   andothers        = {{et al\adddot}{et al\adddot}},
   andmore          = {{i m\'es}{i m\'es}},
@@ -467,7 +467,8 @@
   october          = {{octubre}{oct\adddot}},
   november         = {{novembre}{nov\adddot}},
   december         = {{desembre}{des\adddot}},
-  langamerican     = {{angl\`es americ\`a}{ang\adddotspace amer\adddot}},
+  langamerican     = {{angl\`es americ\`a}{angl\adddotspace am\adddot}},
+  langbasque       = {{\`euscar}{\`eusc\adddot}},
   langbrazilian    = {{portugu\`es brasiler}{port\adddotspace bras\adddot}},
   langbulgarian    = {{b\'ulgar}{b\'ulg\adddot}},
   langcatalan      = {{catal\`a}{cat\adddot}},
@@ -475,28 +476,34 @@
   langcroatian     = {{croat}{croat}},
   langdanish       = {{dan\`es}{dan\adddot}},
   langdutch        = {{neerland\`es}{neerl\adddot}},
-  langenglish      = {{angl\`es}{ang\adddot}},
-  langestonian     = {{estoni\`a}{eston\adddot}},
+  langenglish      = {{angl\`es}{angl\adddot}},
+  langestonian     = {{estoni\`a}{est\adddot}},
   langfinnish      = {{fin\`es}{fin\adddot}},
   langfrench       = {{franc\`es}{fr\adddot}},
-  langgalician     = {{gallec}{gal\adddot}},
+  langgalician     = {{gallec}{gall\adddot}},
   langgerman       = {{alemany}{al\adddot}},
   langgreek        = {{grec}{grec}},
-% langhungarian    = {{}{}}, % FIXME: missing
+  langhungarian    = {{hongar\`es}{hong\adddot}},
   langitalian      = {{itali\`a}{it\adddot}},
   langjapanese     = {{japon\`es}{jap\adddot}},
   langlatin        = {{llat\'{\i}}{ll\adddot}},
-  langlatvian      = {{litu\`a}{lit\adddot}},
+  langlatvian      = {{let\'o}{let\'o}},
+  langlithuanian   = {{litu\`a}{lit\adddot}},
+  langmarathi      = {{marathi}{mar\adddot}},
   langnorwegian    = {{noruec}{nor\adddot}},
   langpolish       = {{polon\`es}{pol\adddot}},
   langportuguese   = {{portugu\`es}{port\adddot}},
+  langromanian     = {{roman\`es}{rom\adddot}},
   langrussian      = {{rus}{rus}},
+  langserbian      = {{serbi}{serbi}},
   langslovak       = {{eslovac}{eslovac}},
   langslovene      = {{eslov\`e}{eslov\`e}},
   langspanish      = {{castell\`a}{cast\adddot}},
   langswedish      = {{suec}{suec}},
+  langturkish      = {{turc}{turc}},
   langukrainian    = {{ucra\"{\i}n\`es}{ucr\adddot}},
-  fromamerican     = {{de l'angl\`es americ\`a}{de l'ang\adddotspace amer\adddot}},
+  fromamerican     = {{de l'angl\`es americ\`a}{de l'angl\adddotspace am\adddot}},
+  frombasque       = {{de l'\`euscar}{de l'\`eusc\adddot}},
   frombrazilian    = {{del portugu\`es brasiler}{del port\adddotspace bras\adddot}},
   frombulgarian    = {{del b\'ulgar}{del bulg\adddot}},
   fromcatalan      = {{del catal\`a}{del cat\adddot}},
@@ -504,26 +511,31 @@
   fromczech        = {{del txec}{del txec}},
   fromdanish       = {{del dan\`es}{del dan\adddot}},
   fromdutch        = {{del neerland\`es}{del neerl\adddot}},
-  fromenglish      = {{de l'angl\`es}{de l'ang\adddot}},
-  fromestonian     = {{de l'estoni\`a}{de l'eston\adddot}},
+  fromenglish      = {{de l'angl\`es}{de l'angl\adddot}},
+  fromestonian     = {{de l'estoni\`a}{de l'est\adddot}},
   fromfinnish      = {{del fin\`es}{del fin\adddot}},
   fromfrench       = {{del franc\`es}{del fr\adddot}},
   fromgalician     = {{del gallec}{del gall\adddot}},
   fromgerman       = {{de l'alemany}{de l'al\adddot}},
   fromgreek        = {{del grec}{del grec}},
-% fromhungarian    = {{}{}}, % FIXME: missing
+  fromhungarian    = {{de l'hongar\`es}{de l'hong\adddot}},
   fromitalian      = {{de l'itali\`a}{de l'it\adddot}},
   fromjapanese     = {{del japon\`es}{del jap\adddot}},
   fromlatin        = {{del llat\'{\i}}{del ll\adddot}},
-  fromlatvian      = {{del litu\`a}{del lit\adddot}},
+  fromlatvian      = {{del let\'o}{del let\'o}},
+  fromlithuanian   = {{del litu\`a}{del lit\adddot}},
+  frommarathi      = {{del marathi}{del mar\adddot}},
   fromnorwegian    = {{del noruec}{del nor\adddot}},
   frompolish       = {{del polon\`es}{del pol\adddot}},
   fromportuguese   = {{del portugu\`es}{del port\adddot}},
+  fromromanian     = {{del roman\`es}{del rom\adddot}},
   fromrussian      = {{del rus}{del rus}},
+  fromserbian      = {{del serbi}{del serbi}},
   fromslovak       = {{de l'eslovac}{de l'eslovac}},
   fromslovene      = {{de l'eslov\`e}{de l'eslov\`e}},
   fromspanish      = {{del castell\`a}{del cast\adddot}},
   fromswedish      = {{del suec}{del suec}},
+  fromturkish      = {{del turc}{del turc}},
   fromukrainian    = {{de l'ucra\"{\i}n\`es}{de l'ucr\adddot}},
   countryde        = {{Alemanya}{DE}},
   countryeu        = {{Uni\'o Europea}{UE}},
@@ -556,6 +568,23 @@
   summer           = {{estiu}{est\adddot}},
   autumn           = {{tardor}{tard\adddot}},
   winter           = {{hivern}{hiv\adddot}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddotspace m\adddot}{a\adddotspace m\adddot}},
   pm               = {{p\adddotspace m\adddot}{p\adddotspace m\adddot}},
 }
@@ -606,13 +635,13 @@
       \if i\noexpand\lbx at tempa 1\fi
       \if o\noexpand\lbx at tempa 1\fi
       \if u\noexpand\lbx at tempa 1\fi
-      \if y\noexpand\lbx at tempa 1\fi
+%      \if y\noexpand\lbx at tempa 1\fi
       \if A\noexpand\lbx at tempa 1\fi
       \if E\noexpand\lbx at tempa 1\fi
       \if I\noexpand\lbx at tempa 1\fi
       \if O\noexpand\lbx at tempa 1\fi
       \if U\noexpand\lbx at tempa 1\fi
-      \if Y\noexpand\lbx at tempa 1\fi
+%      \if Y\noexpand\lbx at tempa 1\fi
       >0 %
     \let\lbx at tempa\lbx at ca@smartof at d
   \else

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -72,12 +72,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -567,6 +567,23 @@
   summer           = {{ljeto}{ljeto}},
   autumn           = {{jesen}{jesen}},
   winter           = {{zima}{zima}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{prije podne}{AM}},
   pm               = {{poslije podne}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -65,12 +65,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -528,6 +528,23 @@
   summer           = {{l\'{e}to}{l\'{e}to}},
   autumn           = {{podzim}{podzim}},
   winter           = {{zima}{zima}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -63,12 +63,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -251,7 +251,7 @@
   bycontinuator    = {{videref\o rt af}{videref\adddotspace af}},
   bycollaborator   = {{i samarbejde med}{i samarb\adddotspace m\adddot}},
   bytranslator     = {{oversat \lbx at lfromlang\ af}%
-  		      {overs\adddot \lbx at sfromlang\ af}},
+  		      {overs\adddot\ \lbx at sfromlang\ af}},
   bycommentator    = {{kommenteret af}{komm\adddot\ af}},
   byannotator      = {{annoteret af}{ann\adddot\ af}},
   withcommentator  = {{med kommentarer af}{m\adddotspace komm\adddot\ af}},
@@ -260,7 +260,7 @@
   withforeword     = {{med forord af}{m\adddotspace forord af}},
   withafterword    = {{med efterord af}{m\adddotspace efterord af}},
   byeditortr       = {{redigeret og oversat \lbx at lfromlang\ af}%
-                      {red\adddotspace og overs\adddot \lbx at sfromlang\ af}},
+                      {red\adddotspace og overs\adddot\ \lbx at sfromlang\ af}},
   byeditorco       = {{redigeret og kommenteret af}%
                       {red\adddotspace og komm\adddot\ af}},
   byeditoran       = {{redigeret med annoteringer af}%
@@ -530,6 +530,23 @@
   summer           = {{sommer}{sommer}},
   autumn           = {{efter\aa r}{efter\aa r}},
   winter           = {{vinter}{vinter}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{formiddag}{form\adddot}},
   pm               = {{eftermiddag}{efterm\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -84,12 +84,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -286,11 +286,11 @@
   byeditortran     = {{geredigeerd, vertaald \lbx at lfromlang\ en geannoteerd door}%
                       {red., vert\adddotspace \lbx at sfromlang\ en annot\adddotspace door}},
   byeditortrin     = {{geredigeerd en vertaald \lbx at lfromlang, met een inleiding, door}%
-                      {red\adddotspace en vert. \lbx at sfromlang, met een inl., door}},
+                      {red\adddotspace en vert\adddotspace \lbx at sfromlang, met een inl., door}},
   byeditortrfo     = {{geredigeerd en vertaald \lbx at lfromlang, met een voorwoord, door}%
-                      {red\adddotspace en vert. \lbx at sfromlang, met een voorw., door}},
+                      {red\adddotspace en vert\adddotspace \lbx at sfromlang, met een voorw., door}},
   byeditortraf     = {{geredigeerd en vertaald \lbx at lfromlang, met een nawoord, door}%
-                      {red\adddotspace en vert. \lbx at sfromlang, met een naw., door}},
+                      {red\adddotspace en vert\adddotspace \lbx at sfromlang, met een naw., door}},
   byeditorcoin     = {{geredigeerd en becommentarieerd, met een inleiding, door}%
                       {red\adddotspace en comm., met een inl., door}},
   byeditorcofo     = {{geredigeerd en becommentarieerd, met een voorwoord, door}%
@@ -320,11 +320,11 @@
   bytranslatoran   = {{vertaald \lbx at lfromlang\ en geannoteerd door}%
                       {vert\adddotspace \lbx at sfromlang\ en annot.\adddotspace door}},
   bytranslatorin   = {{vertaald \lbx at lfromlang, met een inleiding, door}%
-                      {vert. \lbx at sfromlang, met een inl., door}},
+                      {vert\adddotspace \lbx at sfromlang, met een inl., door}},
   bytranslatorfo   = {{vertaald \lbx at lfromlang, met een voorwoord, door}%
-                      {vert. \lbx at sfromlang, met een voorw., door}},
+                      {vert\adddotspace \lbx at sfromlang, met een voorw., door}},
   bytranslatoraf   = {{vertaald \lbx at lfromlang, met een nawoord, door}%
-                      {vert. \lbx at sfromlang, met een naw., door}},
+                      {vert\adddotspace \lbx at sfromlang, met een naw., door}},
   bytranslatorcoin = {{vertaald \lbx at lfromlang\ en becommentarieerd, met een inleiding, door}%
                       {vert\adddotspace \lbx at sfromlang\ en comm., met een inl., door}},
   bytranslatorcofo = {{vertaald \lbx at lfromlang\ en becommentarieerd, met een voorwoord, door}%
@@ -549,6 +549,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddot m\adddot}{a\adddot m\adddot}},
   pm               = {{p\adddot m\adddot}{p\adddot m\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -78,12 +78,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
   \savecommand\mkdaterangecomp
@@ -491,9 +491,11 @@
   langlatin        = {{Latin}{Latin}},
   langlatvian      = {{Latvian}{Latvian}},
   langlithuanian   = {{Lithuanian}{Lithuanian}},
+  langmarathi      = {{Marathi}{Marathi}},
   langnorwegian    = {{Norwegian}{Norwegian}},
   langpolish       = {{Polish}{Polish}},
   langportuguese   = {{Portuguese}{Portuguese}},
+  langromanian     = {{Romanian}{Romanian}},
   langrussian      = {{Russian}{Russian}},
   langserbian      = {{Serbian}{Serbian}},
   langslovak       = {{Slovak}{Slovak}},
@@ -524,9 +526,11 @@
   fromlatin        = {{from the Latin}{from the Latin}},
   fromlatvian      = {{from the Latvian}{from the Latvian}},
   fromlithuanian   = {{from the Lithuanian}{from the Lithuanian}},
+  frommarathi      = {{from the Marathi}{from the Marathi}},
   fromnorwegian    = {{from the Norwegian}{from the Norwegian}},
   frompolish       = {{from the Polish}{from the Polish}},
   fromportuguese   = {{from the Portuguese}{from the Portuguese}},
+  fromromanian     = {{from the Romanian}{from the Romanian}},
   fromrussian      = {{from the Russian}{from the Russian}},
   fromserbian      = {{from the Serbian}{from the Serbian}},
   fromslovak       = {{from the Slovak}{from the Slovak}},
@@ -566,6 +570,23 @@
   summer           = {{Summer}{Sum\adddot}},
   autumn           = {{Autumn}{Aut\adddot}},
   winter           = {{Winter}{Win\adddot}},
+  springN          = {{Spring (Northern Hemisphere)}{Spr\adddotspace NH}},
+  summerN          = {{Summer (Northern Hemisphere)}{Sum\adddotspace NH}},
+  autumnN          = {{Autumn (Northern Hemisphere)}{Aut\adddotspace NH}},
+  winterN          = {{Winter (Northern Hemisphere)}{Win\adddotspace NH}},
+  springS          = {{Spring (Southern Hemisphere)}{Spr\adddotspace SH}},
+  summerS          = {{Summer (Southern Hemisphere)}{Sum\adddotspace SH}},
+  autumnS          = {{Autumn (Southern Hemisphere)}{Aut\adddotspace SH}},
+  winterS          = {{Winter (Southern Hemisphere)}{Win\adddotspace SH}},
+  Q1               = {{Quarter~1}{Q1}},
+  Q2               = {{Quarter~2}{Q2}},
+  Q3               = {{Quarter~3}{Q3}},
+  Q4               = {{Quarter~4}{Q4}},
+  QD1              = {{Quadrimester~1}{Q1}},
+  QD2              = {{Quadrimester~2}{Q2}},
+  QD3              = {{Quadrimester~3}{Q3}},
+  S1               = {{Semestral~1}{S1}},
+  S2               = {{Semestral~2}{S2}},
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }
@@ -582,14 +603,14 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\csuse{mkbibdate#1}{}{#2month}{#2day}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
               \dateeraprint{#2year}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \dateeraprint{#2year}}}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -598,13 +619,13 @@
              {\mbox{\bibdaterangesep}}
              {\bibdaterangesep
               \enddatecircaprint
-              \iffieldundef{#2endseason}
+              \iffieldundef{#2endyeardivision}
                 {\ifdateyearsequal{#2}{#2end}
                   {\iffieldsequal{#2month}{#2endmonth}
                     {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
                     {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-                {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
               \enddateuncertainprint
               \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -621,14 +642,14 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\csuse{mkbibdate#1}{}{#2month}{#2day}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
               \dateeraprint{#2year}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \dateeraprint{#2year}}}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -637,9 +658,9 @@
               {\mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -656,14 +677,14 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\csuse{mkbibdate#1}{}{#2month}{#2day}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
               \dateeraprint{#2year}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \dateeraprint{#2year}}}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -673,13 +694,13 @@
                \mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\ifdateyearsequal{#2}{#2end}
                    {\iffieldsequal{#2month}{#2endmonth}
                       {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
                       {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
@@ -697,14 +718,14 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\csuse{mkbibdate#1}{}{#2month}{#2day}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
               \dateeraprint{#2year}}}
            {\ifdateyearsequal{#2}{#2end}
-             {\csuse{mkbibseasondate#1}{}{#2season}}
-             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
               \dateeraprint{#2year}}}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -714,9 +735,9 @@
             \mbox{\bibdaterangesep}}
            {\bibdaterangesep
             \enddatecircaprint
-            \iffieldundef{#2endseason}
+            \iffieldundef{#2endyeardivision}
               {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-              {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+              {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
             \printfield{extradate}%
             \enddateuncertainprint
             \dateeraprint{#2endyear}}}}}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -88,12 +88,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -557,6 +557,23 @@
   summer           = {{suvel}{suvel}},
   autumn           = {{s\"{u}gisel}{s\"{u}gisel}},
   winter           = {{talvel}{talvel}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -107,12 +107,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -582,6 +582,23 @@
   summer           = {{kes\"a}{kes\"a}},% Or kes\"all\"a ?
   autumn           = {{syksy}{syksy}},% Or syksyll\"a ?
   winter           = {{talvi}{talvi}},% Or talvella ?
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{ap\adddot}{ip\adddot}},
   pm               = {{ip\adddot}{ip\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -91,12 +91,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -561,6 +561,23 @@
   summer           = {{\'et\'e}{\'et\'e}},
   autumn           = {{automne}{automne}},
   winter           = {{hiver}{hiver}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -70,12 +70,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -287,11 +287,11 @@
   byeditortran     = {{editado, traducido \lbx at lfromlang\ e anotado por}%
                       {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ e anot\adddot\ por}},
   byeditortrin     = {{editado, traducido \lbx at lfromlang\ e introducido por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e introd\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e introd\adddot\ por}},
   byeditortrfo     = {{editado, traducido \lbx at lfromlang\ e prefaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e pref\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e pref\adddot\ por}},
   byeditortraf     = {{editado, traducido \lbx at lfromlang\ e posfaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e posf\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e posf\adddot\ por}},
   byeditorcoin     = {{editado, comentado e introducido por}%
                       {ed.,\addabbrvspace com\adddot\ e introd\adddot\ por}},
   byeditorcofo     = {{editado, comentado e prefaciado por}%
@@ -531,6 +531,24 @@
   summer           = {{ver\'an}{ver\'an}},
   autumn           = {{outono}{outono}},
   winter           = {{inverno}{inverno}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
+
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -77,12 +77,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -479,6 +479,7 @@
   langnorwegian    = {{Norwegisch}{Norwegisch}},
   langpolish       = {{Polnisch}{Polnisch}},
   langportuguese   = {{Portugiesisch}{Portugiesisch}},
+  langromanian     = {{Rum\"anisch}{Rum\"anisch}},
   langrussian      = {{Russisch}{Russisch}},
   langserbian      = {{Serbisch}{Serbisch}},
   langslovak       = {{Slowakisch}{Slowakisch}},
@@ -512,6 +513,7 @@
   fromnorwegian    = {{aus dem Norwegischen}{aus dem Norwegischen}},
   frompolish       = {{aus dem Polnischen}{aus dem Polnischen}},
   fromportuguese   = {{aus dem Portugiesischen}{aus dem Portugiesischen}},
+  fromromanian     = {{aus dem Rum\"anischen}{aus dem Rum\"anischen}},
   fromrussian      = {{aus dem Russischen}{aus dem Russischen}},
   fromserbian      = {{aus dem Serbian}{aus dem Serbian}},
   fromslovak       = {{aus dem Slowakischen}{aus dem Slowakischen}},
@@ -551,6 +553,23 @@
   summer           = {{Sommer}{Sommer}},
   autumn           = {{Herbst}{Herbst}},
   winter           = {{Winter}{Winter}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{vorm\adddot}{vorm\adddot}},
   pm               = {{nachm\adddot}{nachm\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -105,12 +105,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -570,6 +570,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{π\adddot μ\adddot}{π\adddot μ\adddot}},
   pm               = {{μ\adddot μ\adddot}{μ\adddot μ\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -83,12 +83,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -481,6 +481,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{f\adddot h\adddot}{f\adddot h\adddot}},
   pm               = {{e\adddot h\adddot}{e\adddot h\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -70,12 +70,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -464,6 +464,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
 }
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -1,20 +1,6 @@
 \ProvidesFile{latvian.lbx}
 [\abx at lbxid]
 
-\ifundef{\lbx at lv@loadinfo}
-  {\blx at warning@noline{%
-     Latvian localisation module for biblatex loaded.\MessageBreak
-     This module changes more definitions than usual.\MessageBreak
-     Please refer to the documentation for hints and\MessageBreak
-     check the output carefully, especially with non-\MessageBreak
-     standard styles or customisations to field formats.\MessageBreak
-     This warning can be disabled by calling\MessageBreak
-     '\string\BiblatexLatvianWarningOff'\MessageBreak
-     after 'biblatex' has been loaded, but before\MessageBreak
-     the localisation is loaded for the first time}%
-   \global\let\lbx at lv@loadinfo\@empty}
-  {}
-
 \DeclareRedundantLanguages{latvian}{latvian}
 
 \NewBibliographyString{%
@@ -110,7 +96,7 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
     \iffieldundef{#1}
       {}
       {\iffieldbibstring{#1}
@@ -122,9 +108,9 @@
                {\stripzeros{\thefield{#1}}}}
             {\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}%
     \iftoggle{lbx at lv@datewhen}
-      {\mkbibseason{date\thefield{#2}}}
-      {\mkbibseason{\thefield{#2}}}}%
-  \let\mkbibseasondatelong\mkbibseasondateshort
+      {\mkbibyeardivision{date\thefield{#2}}}
+      {\mkbibyeardivision{\thefield{#2}}}}%
+  \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
   \savecommand\mkdaterangecomp
   \savecommand\mkdaterangecompextra
   \protected\def\mkdaterangecomp{%
@@ -681,6 +667,23 @@
   summer           = {{vasara}{vas\adddot}},
   autumn           = {{rudens}{rud\adddot}},
   winter           = {{ziema}{ziema}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   locspring        = {{pavasar\={\i}}{pav\adddot}},
   locsummer        = {{vasar\={a}}{vas\adddot}},
   locautumn        = {{ruden\={\i}}{rud\adddot}},
@@ -722,13 +725,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\iffieldsequal{#2month}{#2endmonth}
                 {\csuse{mkbibdate#1}{#2year}{}{#2day}}
                 {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -737,13 +740,13 @@
              {\mbox{\bibdaterangesep}}
              {\bibdaterangesep
               \enddatecircaprint
-              \iffieldundef{#2season}
+              \iffieldundef{#2yeardivision}
                 {\ifdateyearsequal{#2}{#2end}
                   {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
                 {\ifdateyearsequal{#2}{#2end}
-                   {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                   {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                   {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
               \enddateuncertainprint
               \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -760,13 +763,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\ifdateyearsequal{#2}{#2end}
              {\iffieldsequal{#2month}{#2endmonth}
                 {\csuse{mkbibdate#1}{#2year}{}{#2day}}
                 {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -776,13 +779,13 @@
                \mbox{\bibdaterangesep}}
               {\bibdaterangesep
                \enddatecircaprint
-               \iffieldundef{#2season}
+               \iffieldundef{#2yeardivision}
                  {\ifdateyearsequal{#2}{#2end}
                    {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
                  {\ifdateyearsequal{#2}{#2end}
-                   {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                   {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                   {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/lithuanian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -91,7 +91,7 @@
       {\iffieldundef{#2}{}{\bibdatesep}%
        \forcezerosmdt{\thefield{#3}}}%
   }%
-  \let\mkbibseasondatelong\mkbibseasondateshort
+  \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
   \savecommand\mkdaterangefull
   \savecommand\mkdaterangefullextra
   \savecommand\mkdaterangetrunc
@@ -122,12 +122,12 @@
         {\bibtimezonesep
          \mkbibtimezone{\thefield{#4}}}}%
   \csletcs{mkbibtime12h}{mkbibtime24h}%
-  \protected\def\mkbibseasondateshort#1#2{%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
     \iffieldundef{#1}{}{\addspace}%
-    \mkbibseason{\thefield{#2}}%
+    \mkbibyeardivision{\thefield{#2}}%
   }%
-  \let\mkbibseasondatelong\mkbibseasondateshort
+  \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
 }%
 
 \UndeclareBibliographyExtras{%
@@ -627,8 +627,25 @@
   summer           = {{vasara}{vas\adddot}},
   autumn           = {{ruduo}{ruduo}},
   winter           = {{žiema}{žiema}},
-%  am               = {{}{}},
-%  pm               = {{}{}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
+% am               = {{}{}},
+% pm               = {{}{}},
   year             = {{m\adddot}{m\adddot}},
   month            = {{mėn\adddot}{mėn\adddot}},
   day              = {{d\adddot}{d\adddot}},
@@ -692,10 +709,10 @@
       {}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             \blx at printtime{#2}{}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -709,7 +726,7 @@
                \let\lbx at lt@ifdropmonthstring\@secondoftwo
                \let\lbx at lt@ifdropyearstring\@secondoftwo
                \enddatecircaprint
-               \iffieldundef{#2season}
+               \iffieldundef{#2yeardivision}
                  {\iffieldsequal{#2year}{#2endyear}
                    {\iffieldsequal{#2month}{#2endmonth}
                       {\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -717,8 +734,8 @@
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
                   \blx at printtime{#2}{end}}
                  {\iffieldsequal{#2year}{#2endyear}
-                    {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                    {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                    {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                    {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -738,10 +755,10 @@
       {}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             \blx at printtime{#2}{}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -756,7 +773,7 @@
                \let\lbx at lt@ifdropmonthstring\@secondoftwo
                \let\lbx at lt@ifdropyearstring\@secondoftwo
                \enddatecircaprint
-               \iffieldundef{#2season}
+               \iffieldundef{#2yeardivision}
                  {\iffieldsequal{#2year}{#2endyear}
                    {\iffieldsequal{#2month}{#2endmonth}
                       {\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -764,8 +781,8 @@
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
                   \blx at printtime{#2}{end}}
                  {\iffieldsequal{#2year}{#2endyear}
-                    {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                    {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                    {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                    {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
@@ -778,13 +795,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             % Optionally print the time after the date
             \blx at printtime{#2}{}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#2year}%
          \iffieldundef{#2endyear}
@@ -793,11 +810,11 @@
               {\mbox{\csuse{lbx at lt@bibdaterangesep#1}}}
               {\csuse{lbx at lt@bibdaterangesep#1}%
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
                   % Optionally print the time after the date
                   \blx at printtime{#2}{end}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -809,13 +826,13 @@
       {\blx at nounit}
       {\printtext[{#2date}]{%
          \datecircaprint
-         % Such a season component can only come from an ISO8601 season which replaces
+         % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
          % a normal month so if it exists, we know that a normal date print is ruled out
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             % Optionally print the time after the date
             \blx at printtime{#2}{}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateuncertainprint
          \dateeraprint{#2year}%
          \iffieldundef{#2endyear}
@@ -825,11 +842,11 @@
                \mbox{\csuse{lbx at lt@bibdaterangesep#1}}}
               {\csuse{lbx at lt@bibdaterangesep#1}%
                \enddatecircaprint
-               \iffieldundef{#2endseason}
+               \iffieldundef{#2endyeardivision}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
                   % Optionally print the time after the date
                   \blx at printtime{#2}{end}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/magyar.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -1,20 +1,6 @@
 \ProvidesFile{magyar.lbx}
 [\abx at lbxid]
 
-\ifundef{\lbx at hu@loadinfo}
-  {\blx at warning@noline{%
-     Hungarian localisation module for biblatex loaded.\MessageBreak
-     This module changes more definitions than usual.\MessageBreak
-     Please refer to the documentation for hints and\MessageBreak
-     check the output carefully, especially with non-\MessageBreak
-     standard styles or customisations to field formats.\MessageBreak
-     This warning can be disabled by calling\MessageBreak
-     '\string\BiblatexHungarianWarningOff'\MessageBreak
-     after 'biblatex' has been loaded, but before\MessageBreak
-     the localisation is loaded for the first time}%
-   \global\let\lbx at hu@loadinfo\@empty}
-  {}
-
 \DeclareRedundantLanguages{magyar}{magyar,hungarian}
 
 \DeclareBibliographyExtras{%
@@ -65,7 +51,7 @@
       {}
       {\mkdayzeros{\thefield{#3}}\lbx at hu@ifdayrange{}{\adddot}}%
   }%
-  \let\mkbibseasondatelong\mkbibseasondateshort
+  \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
   \savecommand\mkdaterangecomp
   \savecommand\mkdaterangecompextra
   \savecommand\mkdaterangeterse
@@ -94,12 +80,12 @@
         {\bibtimezonesep
          \mkbibtimezone{\thefield{#4}}}}%
   \csletcs{mkbibtime12h}{mkbibtime24h}%
-  \protected\def\mkbibseasondateshort#1#2{%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
     \iffieldundef{#1}{}{\adddot\space}%
-    \mkbibseason{\thefield{#2}}%
+    \mkbibyeardivision{\thefield{#2}}%
   }%
-  \let\mkbibseasondatelong\mkbibseasondateshort
+  \let\mkbibyeardivisiondatelong\mkbibyeardivisiondateshort
   \savecommand\lbx at lfromlang
   \savecommand\lbx at sfromlang
   \def\lbx at lfromlang{%
@@ -642,6 +628,23 @@
   summer           = {{ny\'ar}{ny\'ar}},
   autumn           = {{\H{o}sz}{\H{o}sz}},
   winter           = {{t\'el}{t\'el}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{d\'elel\H{o}tt}{de\adddot}},
   pm               = {{d\'elut\'an}{du\adddot}},
 }
@@ -666,10 +669,10 @@
       {}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             \blx at printtime{#2}{}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -679,7 +682,7 @@
               {\lbx at hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
                \let\lbx at hu@ifplainday\@secondoftwo
                \enddatecircaprint
-               \iffieldundef{#2season}
+               \iffieldundef{#2yeardivision}
                  {\iffieldsequal{#2year}{#2endyear}
                    {\iffieldsequal{#2month}{#2endmonth}
                       {\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -687,8 +690,8 @@
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
                   \blx at printtime{#2}{end}}
                  {\iffieldsequal{#2year}{#2endyear}
-                    {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                    {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                    {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                    {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%
   \endgroup}
@@ -706,10 +709,10 @@
       {}
       {\printtext[{#2date}]{%
          \datecircaprint
-         \iffieldundef{#2season}
+         \iffieldundef{#2yeardivision}
            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
             \blx at printtime{#2}{}}%
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+           {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}}%
          \dateeraprint{#2year}%
          \dateuncertainprint
          \iffieldundef{#2endyear}
@@ -720,7 +723,7 @@
               {\lbx at hu@ifdayrange{\bibrangedash}{\bibdaterangesep}%
                \let\lbx at hu@ifplainday\@secondoftwo
                \enddatecircaprint
-               \iffieldundef{#2season}
+               \iffieldundef{#2yeardivision}
                  {\iffieldsequal{#2year}{#2endyear}
                    {\iffieldsequal{#2month}{#2endmonth}
                       {\csuse{mkbibdate#1}{}{}{#2endday}}
@@ -728,8 +731,8 @@
                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}%
                   \blx at printtime{#2}{end}}
                  {\iffieldsequal{#2year}{#2endyear}
-                    {\csuse{mkbibseasondate#1}{}{#2endseason}}
-                    {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                    {\csuse{mkbibyeardivisiondate#1}{}{#2endyeardivision}}
+                    {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
                \printfield{extradate}%
                \enddateuncertainprint
                \dateeraprint{#2endyear}}}}}%

Added: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx	2022-02-03 22:11:47 UTC (rev 61868)

Property changes on: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/marathi.lbx
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/newzealand.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -15,12 +15,12 @@
     \iffieldbibstring{#1}
       {\bibstring{\thefield{#1}}}
       {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -63,12 +63,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -529,6 +529,23 @@
   summer           = {{sommer}{sommer}},
   autumn           = {{h{\o}st}{h{\o}st}},
   winter           = {{vinter}{vinter}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddot m\adddot}{a\adddot m\adddot}},
   pm               = {{p\adddot m\adddot}{p\adddot m\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -310,6 +310,23 @@
   summer           = {{sommar}{sommar}},
   autumn           = {{haust}{haust}},
   winter           = {{vinter}{vinter}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddot m\adddot}{a\adddot m\adddot}},
   pm               = {{p\adddot m\adddot}{p\adddot m\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -71,12 +71,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -289,10 +289,10 @@
   byeditorin       = {{zredagowany, z wst\c{e}pem}{zred., z wst\adddot}},
   byeditorfo       = {{zredagowany, z przedmow\c{a}}{zred., z przedm\adddot}},
   byeditoraf       = {{zredagowany, z pos\l owiem}{zred., z pos\l \adddot}},
-  byeditortrco     = {{zredagowany, t\l umaczenie \lbx at lfromlang i komentarze}%
-                      {zred., t\l um\adddotspace \lbx at sfromlang i kom\adddot}},
-  byeditortran     = {{zredagowany, t\l umaczenie \lbx at lfromlang i uwagi}%
-                      {zred., t\l um\adddotspace \lbx at sfromlang i uw\adddot}},
+  byeditortrco     = {{zredagowany, t\l umaczenie \lbx at lfromlang\ i komentarze}%
+                      {zred., t\l um\adddotspace \lbx at sfromlang\ i kom\adddot}},
+  byeditortran     = {{zredagowany, t\l umaczenie \lbx at lfromlang\ i uwagi}%
+                      {zred., t\l um\adddotspace \lbx at sfromlang\ i uw\adddot}},
   byeditortrin     = {{zredagowany, t\l umaczenie \lbx at lfromlang, wst\c{e}p}%
                       {zred., t\l um\adddotspace \lbx at sfromlang, wst\adddot}},
   byeditortrfo     = {{zredagowany, t\l umaczenie \lbx at lfromlang, przedmowa}%
@@ -317,16 +317,16 @@
                       {zred., t\l um\adddotspace \lbx at sfromlang, uw\adddotspace i przedm\adddot}},
   byeditortranaf   = {{zredagowany, t\l umaczenie \lbx at lfromlang, uwagi i pos\l owie}%
                       {zred., t\l um\adddotspace \lbx at sfromlang, uw\adddotspace i pos\l \adddot}},
-  bytranslatorco   = {{t\l umaczenie \lbx at lfromlang i komentarze}%
-                      {t\l um\adddotspace \lbx at sfromlang i kom\adddot}},
-  bytranslatoran   = {{t\l umaczenie \lbx at lfromlang i uwagi}%
-                      {t\l um\adddotspace \lbx at sfromlang i uw\adddot}},
-  bytranslatorin   = {{t\l umaczenie \lbx at lfromlang i wst\c{e}p}%
-                      {t\l um\adddotspace \lbx at sfromlang i wst\adddot}},
-  bytranslatorfo   = {{t\l umaczenie \lbx at lfromlang i przedmowa}%
-                      {t\l um\adddotspace \lbx at sfromlang i przedm\adddot}},
-  bytranslatoraf   = {{t\l umaczenie \lbx at lfromlang i pos\l owie}%
-                      {t\l um\adddotspace \lbx at sfromlang i pos\l \adddot}},
+  bytranslatorco   = {{t\l umaczenie \lbx at lfromlang\ i komentarze}%
+                      {t\l um\adddotspace \lbx at sfromlang\ i kom\adddot}},
+  bytranslatoran   = {{t\l umaczenie \lbx at lfromlang\ i uwagi}%
+                      {t\l um\adddotspace \lbx at sfromlang\ i uw\adddot}},
+  bytranslatorin   = {{t\l umaczenie \lbx at lfromlang\ i wst\c{e}p}%
+                      {t\l um\adddotspace \lbx at sfromlang\ i wst\adddot}},
+  bytranslatorfo   = {{t\l umaczenie \lbx at lfromlang\ i przedmowa}%
+                      {t\l um\adddotspace \lbx at sfromlang\ i przedm\adddot}},
+  bytranslatoraf   = {{t\l umaczenie \lbx at lfromlang\ i pos\l owie}%
+                      {t\l um\adddotspace \lbx at sfromlang\ i pos\l \adddot}},
   bytranslatorcoin = {{t\l umaczenie \lbx at lfromlang, komentarze i wst\c{e}p}%
                       {t\l um\adddotspace \lbx at sfromlang, kom\adddotspace i wst\adddot}},
   bytranslatorcofo = {{t\l umaczenie \lbx at lfromlang, komentarze i przedmowa}%
@@ -550,6 +550,23 @@
   summer           = {{lato}{lato}},
   autumn           = {{jesie\'{n}}{jesie\'{n}}},
   winter           = {{zima}{zima}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -70,12 +70,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -287,11 +287,11 @@
   byeditortran     = {{editado, traduzido \lbx at lfromlang\ e anotado por}%
                       {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ e anot\adddot\ por}},
   byeditortrin     = {{editado, traduzido \lbx at lfromlang\ e introduzido por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e introd\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e introd\adddot\ por}},
   byeditortrfo     = {{editado, traduzido \lbx at lfromlang\ e prefaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e pref\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e pref\adddot\ por}},
   byeditortraf     = {{editado, traduzido \lbx at lfromlang\ e posfaciado por}%
-                      {ed.,\addabbrvspace trad. \lbx at sfromlang\ e posf\adddot\ por}},
+                      {ed.,\addabbrvspace trad\adddotspace \lbx at sfromlang\ e posf\adddot\ por}},
   byeditorcoin     = {{editado, comentado e introduzido por}%
                       {ed.,\addabbrvspace coment\adddot\ e introd\adddot\ por}},
   byeditorcofo     = {{editado, comentado e prefaciado por}%
@@ -534,6 +534,23 @@
   summer           = {{ver\~ao}{ver\~ao}},
   autumn           = {{outono}{outono}},
   winter           = {{inverno}{inverno}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Added: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/romanian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/romanian.lbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/romanian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -0,0 +1,683 @@
+\ProvidesFile{romanian.lbx}
+[\abx at lbxid]
+
+\DeclareRedundantLanguages{romanian}{romanian}
+
+\lbx at ifutfinput
+  {}
+  {\PackageError{biblatex}
+     {Romanian requires UTF-8 support}
+     {The file 'romanian.lbx' requires UTF-8 encoding but you
+      seem\MessageBreak to be using a different encoding.
+      This is a fatal error. I will\MessageBreak abort loading
+      romanian.lbx now.}%
+   \endinput}
+
+\DeclareBibliographyExtras{%
+  \savecommand\newunitpunct
+  \renewcommand*{\newunitpunct}{\addcomma\space}%
+  \savecommand\intitlepunct
+  \renewcommand*{\intitlepunct}{\addspace}%
+  \savecommand\subtitlepunct
+  \renewcommand*{\subtitlepunct}{\addperiod\space}%
+  \DeclareCapitalPunctuation{.:!?}%
+  \protected\def\bibrangedash{%
+    \textendash\penalty\hyphenpenalty}% breakable dash
+  \savecommand\bibdaterangesep
+  \protected\def\bibdaterangesep{%
+    \iftoggle{lbx at ro@dayrange}
+      {\textendash}
+      {\addnbspace\textendash\addnbspace}}%
+  \let\finalandcomma=\empty
+  \let\finalandsemicolon=\empty
+  \protected\def\mkbibmascord#1{%
+    \ifnumgreater{#1}{1}
+      {\autocap{a}~}
+      {}%
+    #1-lea}%
+  \protected\def\mkbibfemord#1{%
+    \ifnumgreater{#1}{1}
+      {\autocap{a}~}
+      {}%
+    #1-a}%
+  \protected\def\mkbibneutord{\mkbibmascord}%
+  \savecommand\mkbibordedition
+  \savecommand\mkbibordseries
+  \def\mkbibordedition{\mkbibfemord}%
+  \def\mkbibordseries{\mkbibfemord}%
+  \protected\def\mkbibdatelong#1#2#3{%
+    \iffieldundef{#3}
+      {}
+      {\thefield{#3}%
+       \iffieldundef{#2}{}{\nobreakspace}}%
+    \iffieldundef{#2}
+      {}
+      {\mkbibmonth{\thefield{#2}}%
+       \iffieldundef{#1}{}{\space}}%
+    \iffieldbibstring{#1}
+      {\bibstring{\thefield{#1}}}
+      {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
+  \protected\def\mkbibdateshort#1#2#3{%
+    \iffieldundef{#3}
+      {}
+      {\thefield{#3}\adddot}%
+    \iffieldundef{#2}
+      {}
+      {\thefield{#2}\adddot}%
+    \iffieldbibstring{#1}
+      {\bibstring{\thefield{#1}}}
+      {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
+  \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+      \iffieldundef{#1}
+        {}
+        {\mktimezeros{\thefield{#1}}%
+         \iffieldundef{#2}{}{\bibtimesep}}%
+      \iffieldundef{#2}
+        {}
+        {\mktimezeros{\thefield{#2}}%
+         \iffieldundef{#3}{}{\bibtimesep}}%
+      \iffieldundef{#3}
+        {}
+        {\mktimezeros{\thefield{#3}}}%
+      \iffieldundef{#4}{}
+        {\bibtimezonesep
+         \mkbibtimezone{\thefield{#4}}}}%
+  \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+      \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep
+      \forcezerosmdt{\thefield{#2}}%
+      \iffieldundef{#3}{}
+        {\bibtimesep
+         \forcezerosmdt{\thefield{#3}}}%
+       \space
+       \ifnumless{\thefield{#1}}{12}
+         {\bibstring{am}}
+         {\bibstring{pm}}%
+      \iffieldundef{#4}{}
+       {\space\bibtimezonesep
+        \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
+    \iffieldundef{#1}{}{\space}%
+    \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
+    \iffieldundef{#1}{}{\space}%
+    \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
+  \savecommand\mkdaterangetrunc at i
+  \savecommand\mkdaterangetruncextra at i
+  \def\mkdaterangetrunc at i{\lbx at ro@mkdaterangetrunc at i}%
+  \def\mkdaterangetruncextra at i{\lbx at ro@mkdaterangetruncextra at i}%
+}
+
+\UndeclareBibliographyExtras{%
+  \restorecommand\bibdaterangesep
+  \restorecommand\newunitpunct
+  \restorecommand\intitlepunct
+  \restorecommand\subtitlepunct
+  \restorecommand\mkbibordedition
+  \restorecommand\mkbibordseries
+  \restorecommand\mkdaterangetrunc at i
+  \restorecommand\mkdaterangetruncextra at i
+}
+
+\DeclareBibliographyStrings{%
+  bibliography     = {{Bibliografie}{Bibliografie}},
+  references       = {{Referințe}{Referințe}},
+  shorthands       = {{Lista Abrevierilor}{Abrevieri}},
+  editor           = {{editor}{ed\adddot}},
+  editors          = {{editori}{ed\adddot}},
+  compiler         = {{redactor}{red\adddot}},
+  compilers        = {{redactori}{red\adddot}},
+  redactor         = {{redactor}{red\adddot}},
+  redactors        = {{redactori}{red\adddot}},
+  reviser          = {{revizor}{rev\adddot}},
+  revisers         = {{revizori}{rev\adddot}},
+  founder          = {{fondator}{fond\adddot}},
+  founders         = {{fondatori}{fond\adddot}},
+  continuator      = {{continuator}{cont\adddot}},% FIXME: unsure
+  continuators     = {{continuatori}{cont\adddot}},% FIXME: unsure
+  collaborator     = {{colaborator}{colab\adddot}},% FIXME: unsure
+  collaborators    = {{colaboratori}{colab\adddot}},% FIXME: unsure
+  translator       = {{traducător}{trad\adddot}},
+  translators      = {{traducători}{trad\adddot}},
+  commentator      = {{comentator}{coment\adddot}},
+  commentators     = {{comentatori}{coment\adddot}},
+  annotator        = {{adnotator}{adnot\adddot}},
+  annotators       = {{adnotatori}{adnot\adddot}},
+  commentary       = {{comentariu}{com\adddot}},
+  annotations      = {{note}{note}},
+  introduction     = {{introducere}{introd\adddot}},
+  foreword         = {{prefață}{pref\adddot}},
+  afterword        = {{postfață}{postf\adddot}},
+  editortr         = {{editor și traducător}%
+                      {ed\adddotspace și trad\adddot}},
+  editorstr        = {{editori și traducători}%
+                      {ed\adddotspace și trad\adddot}},
+  editorco         = {{editor și comentator}%
+                      {ed\adddotspace și coment\adddot}},
+  editorsco        = {{editori și comentatori}%
+                      {ed\adddotspace și coment\adddot}},
+  editoran         = {{editor și adnotator}%
+                      {ed\adddotspace și adnot\adddot}},
+  editorsan        = {{editori și adnotatori}%
+                      {ed\adddotspace și adnot\adddot}},
+  editorin         = {{editor și introducere}%
+                      {ed\adddotspace și introd\adddot}},
+  editorsin        = {{editori și introducere}%
+                      {ed\adddotspace și introd\adddot}},
+  editorfo         = {{editor și prefață}%
+                      {ed\adddotspace și pref\adddot}},
+  editorsfo        = {{editori și prefață}%
+                      {ed\adddotspace și pref\adddot}},
+  editoraf         = {{editor și postfață}%
+                      {ed\adddotspace și postf\adddot}},
+  editorsaf        = {{editori și postfață}%
+                      {ed\adddotspace și postf\adddot}},
+  editortrco       = {{editor, traducător\ și comentator}%
+                      {ed.,\addabbrvspace trad\adddot\ și coment\adddot}},
+  editorstrco      = {{editori, traducători\ și comentatori}%
+                      {ed.,\addabbrvspace trad\adddot\ și coment\adddot}},
+  editortran       = {{editor, traducător\ și adnotator}%
+                      {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}},
+  editorstran      = {{editori, traducători\ și adnotatori}%
+                      {ed.,\addabbrvspace trad\adddot\ și adnot\adddot}},
+  editortrin       = {{editor, traducător\ și introducere}%
+                      {ed.,\addabbrvspace trad\adddot\ și introd\adddot}},
+  editorstrin      = {{editori, traducători\ și introducere}%
+                      {ed.,\addabbrvspace trad\adddot\ și introd\adddot}},
+  editortrfo       = {{editor, traducător\ și prefață}%
+                      {ed.,\addabbrvspace trad\adddot\ și pref\adddot}},
+  editorstrfo      = {{editori, traducători\ și prefață}%
+                      {ed.,\addabbrvspace trad\adddot\ și pref\adddot}},
+  editortraf       = {{editor, traducător\ și postfață}%
+                      {ed.,\addabbrvspace trad\adddot\ și postf\adddot}},
+  editorstraf      = {{editori, traducători\ și postfață}%
+                      {ed.,\addabbrvspace trad\adddot\ și postf\adddot}},
+  editorcoin       = {{editor, comentator\ și introducere}%
+                      {ed.,\addabbrvspace coment\adddot\ și introd\adddot}},
+  editorscoin      = {{editori, comentatori\ și introducere}%
+                      {ed.,\addabbrvspace coment\adddot\ și introd\adddot}},
+  editorcofo       = {{editor, comentator\ și prefață}%
+                      {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+  editorscofo      = {{editori, comentatori\ și prefață}%
+                      {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+  editorcoaf       = {{editor, comentator\ și postfață}%
+                      {ed.,\addabbrvspace coment\adddot\ și postf\adddot}},
+  editorscoaf      = {{editori, comentatori\ și prefață}%
+                      {ed.,\addabbrvspace coment\adddot\ și pref\adddot}},
+  editoranin       = {{editor, adnotator\ și introducere}%
+                      {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}},
+  editorsanin      = {{editori, adnotatori\ și introducere}%
+                      {ed.,\addabbrvspace adnot\adddot\ și introd\adddot}},
+  editoranfo       = {{editor, adnotator\ și prefață}%
+                      {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}},
+  editorsanfo      = {{editori, adnotatori\ și prefață}%
+                      {ed.,\addabbrvspace adnot\adddot\ și pref\adddot}},
+  editoranaf       = {{editor, adnotator\ și postfață}%
+                      {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}},
+  editorsanaf      = {{editori, adnotatori\ și postfață}%
+                      {ed.,\addabbrvspace adnot\adddot\ și postf\adddot}},
+  editortrcoin     = {{editor, traducător, comentator\ și introducere}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}},
+  editorstrcoin    = {{editori, traducători, comentatori\ și introducere}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și introd\adddot}},
+  editortrcofo     = {{editor, traducător, comentator\ și prefață}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}},
+  editorstrcofo    = {{editori, traducători, comentatori\ și prefață}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și pref\adddot}},
+  editortrcoaf     = {{editor, traducător, comentator\ și postfață}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}},
+  editorstrcoaf    = {{editori, traducători, comentatori\ și postfață}%
+                      {ed.,\addabbrvspace trad., coment\adddot\ și postf\adddot}},
+  editortranin     = {{editor, traducător, adnotator\ și introducere}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}},
+  editorstranin    = {{editori, traducători, adnotatori\ și introducere}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și introd\adddot}},
+  editortranfo     = {{editor, traducător, adnotator\ și prefață}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}},
+  editorstranfo    = {{editori, traducători, adnotatori\ și prefață}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și pref\adddot}},
+  editortranaf     = {{editor, traducător, adnotator\ și postfață}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}},
+  editorstranaf    = {{editori, traducători, adnotatori\ și postfață}%
+                      {ed.,\addabbrvspace trad., adnot\adddot\ și postf\adddot}},
+  translatorco     = {{traducător și comentator}%
+                      {trad\adddot\ și coment\adddot}},
+  translatorsco    = {{traducători și comentatori}%
+                      {trad\adddot\ și coment\adddot}},
+  translatoran     = {{traducător și adnotator}%
+                      {trad\adddot\ și adnot\adddot}},
+  translatorsan    = {{traducători și adnotatori}%
+                      {trad\adddot\ și adnot\adddot}},
+  translatorin     = {{traducere și introducere}%
+                      {trad\adddot\ și introd\adddot}},
+  translatorsin    = {{traducere și introducere}%
+                      {trad\adddot\ și introd\adddot}},
+  translatorfo     = {{traducere și prefață}%
+                      {trad\adddot\ și pref\adddot}},
+  translatorsfo    = {{traducere și prefață}%
+                      {trad\adddot\ și pref\adddot}},
+  translatoraf     = {{traducere și postfață}%
+                      {trad\adddot\ și postf\adddot}},
+  translatorsaf    = {{traducere și postfață}%
+                      {trad\adddot\ și postf\adddot}},
+  translatorcoin   = {{traducere, comentarii\ și introducere}%
+                      {trad., coment\adddot\ și introd\adddot}},
+  translatorscoin  = {{traducere, comentarii\ și introducere}%
+                      {trad., coment\adddot\ și introd\adddot}},
+  translatorcofo   = {{traducere, comentarii\ și prefață}%
+                      {trad., coment\adddot\ și pref\adddot}},
+  translatorscofo  = {{traducere, comentarii\ și prefață}%
+                      {trad., coment\adddot\ și pref\adddot}},
+  translatorcoaf   = {{traducere, comentarii\ și postfață}%
+                      {trad., coment\adddot\ și postf\adddot}},
+  translatorscoaf  = {{traducere, comentarii\ și postfață}%
+                      {trad., coment\adddot\ și postf\adddot}},
+  translatoranin   = {{traducere, note\ și introducere}%
+                      {trad., note\ și introd\adddot}},
+  translatorsanin  = {{traducere, note\ și introducere}%
+                      {trad., note\ și introd\adddot}},
+  translatoranfo   = {{traducere, note\ și prefață}%
+                      {trad., note\ și pref\adddot}},
+  translatorsanfo  = {{traducere, note\ și prefață}%
+                      {trad., note\ și pref\adddot}},
+  translatoranaf   = {{traducere, note\ și postfață}%
+                      {trad., note\ și postf\adddot}},
+  translatorsanaf  = {{traducere, note\ și postfață}%
+                      {trad., note\ și postf\adddot}},
+  organizer        = {{organizator}{org\adddot}},
+  organizers       = {{organizatori}{org\adddot}},
+  byorganizer      = {{organizat de}{org\adddotspace de}},
+  byauthor         = {{de}{de}},
+  byeditor         = {{editat de}{ed\adddotspace de}},
+  bycompiler       = {{redactat de}{red\adddotspace de}},
+  byredactor       = {{redactat de}{red\adddotspace de}},
+  byreviser        = {{revizuit de}{rev\adddotspace de}},
+  byreviewer       = {{revizuit de}{rev\adddotspace de}},
+  byfounder        = {{fondat de}{fond\adddotspace de}},
+  bycontinuator    = {{continuat de}{cont\adddotspace de}},
+  bycollaborator   = {{în colaborare cu}{în colab\adddotspace cu}},% FIXME: unsure
+  bytranslator     = {{traducere \lbx at lfromlang\ de}{trad\adddot\ \lbx at sfromlang\ de}},
+  bycommentator    = {{comentarii de}{coment\adddot\ de}},
+  byannotator      = {{note de}{note de}},
+  withcommentator  = {{cu comentarii de}{cu coment\adddot\ de}},
+  withannotator    = {{cu note de}{cu note de}},
+  withintroduction = {{cu o introducere de}{cu o introd\adddot\ de}},
+  withforeword     = {{cu o prefață de}{cu o pref\adddot\ de}},
+  withafterword    = {{cu o postfață de}{cu o postf\adddot\ de}},
+  byeditortr       = {{editare și traducere \lbx at lfromlang\ de}%
+                      {ed\adddotspace și trad\adddot\ \lbx at sfromlang\ de}},
+  byeditorco       = {{editare și comentarii de}%
+                      {ed\adddotspace și coment\adddot\ de}},
+  byeditoran       = {{editare și note de}%
+                      {ed\adddotspace și note de}},
+  byeditorin       = {{editare, cu o introducere, de}%
+                      {ed.,\addabbrvspace cu o introd., de}},
+  byeditorfo       = {{editare, cu o prefață, de}%
+                      {ed.,\addabbrvspace cu o pref., de}},
+  byeditoraf       = {{editare, cu o postfață, de}%
+                      {ed.,\addabbrvspace cu o postf., de}},
+  byeditortrco     = {{editare, traducere \lbx at lfromlang\ și comentarii de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și coment\adddot\ de}},
+  byeditortran     = {{editare, traducere \lbx at lfromlang\ și note de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și note de}},
+  byeditortrin     = {{editare și traducere \lbx at lfromlang, cu o introducere, de}%
+                      {ed\adddotspace și trad\adddot\ \lbx at sfromlang, cu o introd., de}},
+  byeditortrfo     = {{editare și traducere \lbx at lfromlang, cu o prefață, de}%
+                      {ed\adddotspace și trad\adddot\ \lbx at sfromlang, cu o pref., de}},
+  byeditortraf     = {{editare și traducere \lbx at lfromlang, cu o postfață, de}%
+                      {ed\adddotspace și trans\adddot\ \lbx at sfromlang, cu o postf., de}},
+  byeditorcoin     = {{editare și comentarii, cu o introducere, de}%
+                      {ed\adddotspace și coment., cu o introd., de}},
+  byeditorcofo     = {{editare și comentarii, cu o prefață, de}%
+                      {ed\adddotspace și coment., cu o pref., de}},
+  byeditorcoaf     = {{editare și comentarii, cu o postfață, de}%
+                      {ed\adddotspace și coment., cu o postf., de}},
+  byeditoranin     = {{editare și note, cu o introducere, de}%
+                      {ed\adddotspace și note, cu o introd., de}},
+  byeditoranfo     = {{editare și note, cu o prefață, de}%
+                      {ed\adddotspace și note, cu o pref., de}},
+  byeditoranaf     = {{editare și note, cu o postfață, de}%
+                      {ed\adddotspace și note, cu o postf., de}},
+  byeditortrcoin   = {{editare, traducere \lbx at lfromlang\ și comentarii, cu o introducere, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și coment., cu o introd., de}},
+  byeditortrcofo   = {{editare, traducere \lbx at lfromlang\ și comentarii, cu o prefață, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și coment., cu o pref., de}},
+  byeditortrcoaf   = {{editare, traducere \lbx at lfromlang\ și comentarii, cu o postfață, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și coment., cu o postf., de}},
+  byeditortranin   = {{editare, traducere \lbx at lfromlang\ și note, cu o introducere, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și note, cu o introd., de}},
+  byeditortranfo   = {{editare, traducere \lbx at lfromlang\ și note, cu o prefață, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și note, cu o pref., de}},
+  byeditortranaf   = {{editare, traducere \lbx at lfromlang\ și note, cu o postfață, de}%
+                      {ed.,\addabbrvspace trad\adddot\ \lbx at sfromlang\ și note, cu o postf., de}},
+  bytranslatorco   = {{traducere \lbx at lfromlang\ și comentarii de}%
+                      {trad\adddot\ \lbx at sfromlang\ și coment\adddot\ de}},
+  bytranslatoran   = {{traducere \lbx at lfromlang\ și note de}%
+                      {trad\adddot\ \lbx at sfromlang\ și note de}},
+  bytranslatorin   = {{traducere \lbx at lfromlang, cu o introducere, de}%
+                      {trad\adddot\ \lbx at sfromlang, cu o introd., de}},
+  bytranslatorfo   = {{traducere \lbx at lfromlang, cu o prefață, de}%
+                      {trad\adddot\ \lbx at sfromlang, cu o pref., de}},
+  bytranslatoraf   = {{traducere \lbx at lfromlang, cu o postfață, de}%
+                      {trad\adddot\ \lbx at sfromlang, cu o postf., de}},
+  bytranslatorcoin = {{traducere \lbx at lfromlang\ și comentarii, cu o introducere, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și coment., cu o introd., de}},
+  bytranslatorcofo = {{traducere \lbx at lfromlang\ și comentarii, cu o prefață, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și coment., cu o pref., de}},
+  bytranslatorcoaf = {{traducere \lbx at lfromlang\ și comentarii, cu o postfață, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și coment., cu o postf., de}},
+  bytranslatoranin = {{traducere \lbx at lfromlang\ și note, cu o introducere, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și note, cu o introd., de}},
+  bytranslatoranfo = {{traducere \lbx at lfromlang\ și note, cu o prefață, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și note, cu o pref., de}},
+  bytranslatoranaf = {{traducere \lbx at lfromlang\ și note, cu o postfață, de}%
+                      {trad\adddot\ \lbx at sfromlang\ și note, cu o postf., de}},
+  and              = {{și}{și}},
+  andothers        = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+  andmore          = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
+  volume           = {{volum}{vol\adddot}},
+  volumes          = {{volume}{vol\adddot}},
+  involumes        = {{în}{în}},
+  jourvol          = {{volumul}{vol\adddot}},
+  jourser          = {{serii}{ser\adddot}},
+  book             = {{carte}{carte}},
+  part             = {{partea}{partea}},
+  issue            = {{număr}{nr\adddot}},
+  newseries        = {{serie nouă}{ser\adddotspace nouă}},
+  oldseries        = {{serie anterioară}{ser\adddotspace anterioară}},
+  edition          = {{ediție}{ed\adddot}},
+  reprint          = {{republicat}{repub\adddot}},
+  reprintof        = {{republicat în}{repub\adddotspace în}},
+  reprintas        = {{republicat ca}{repub\adddotspace ca}},
+  reprintfrom      = {{republicat din}{repub\adddotspace din}},
+  reviewof         = {{revizuit în}{rev\adddotspace în}},
+  translationof    = {{traducere în}{trad\adddotspace în}},
+  translationas    = {{traducere ca}{trad\adddotspace ca}},
+  translationfrom  = {{traducere din}{trad\adddotspace din}},
+  origpubas        = {{publicat original ca}{publ\adddotspace orig\adddotspace ca}},
+  origpubin        = {{publicat original în}{pub\adddotspace orig\adddotspace în}},
+  astitle          = {{ca}{ca}},
+  bypublisher      = {{de}{de}},
+  nodate           = {{fără dată}{f\adddot d\adddot}},
+  page             = {{pagina}{p\adddot}},
+  pages            = {{paginile}{pp\adddot}},
+  column           = {{coloana}{col\adddot}},
+  columns          = {{coloanele}{col\adddot}},
+  line             = {{linia}{l\adddot}},
+  lines            = {{liniile}{ll\adddot}},
+  verse            = {{versul}{v\adddot}},
+  verses           = {{versuri}{vv\adddot}},
+  section          = {{secțiunea}{\S}},
+  sections         = {{secțiuni}{\S\S}},
+  paragraph        = {{paragraf}{par\adddot}},
+  paragraphs       = {{paragrafe}{par\adddot}},
+  pagetotal        = {{pagină}{p\adddot}},
+  pagetotals       = {{pagini}{pp\adddot}},
+  columntotal      = {{coloană}{col\adddot}},
+  columntotals     = {{coloane}{col\adddot}},
+  linetotal        = {{linia}{l\adddot}},
+  linetotals       = {{linii}{ll\adddot}},
+  versetotal       = {{vers}{v\adddot}},
+  versetotals      = {{versuri}{vv\adddot}},
+  sectiontotal     = {{secțiune}{\S}},
+  sectiontotals    = {{secțiuni}{\S\S}},
+  paragraphtotal   = {{paragrafe}{par\adddot}},
+  paragraphtotals  = {{paragrafe}{par\adddot}},
+  in               = {{în}{în}},
+  inseries         = {{în}{în}},
+  ofseries         = {{din}{din}},
+  number           = {{număr}{nr\adddot}},
+  chapter          = {{capitol}{cap\adddot}},
+  bathesis         = {{Teză de licență}{Teză de lic\adddot}},
+  mathesis         = {{Teză de dizertație}{Teză de dizert\adddot}},
+  phdthesis        = {{Teză de doctorat}{Teză de doct\adddot}},
+  candthesis       = {{Teză de abilitare}{Teză de abilit\adddot}}, % not sure
+  resreport        = {{raport de cercetare}{rap\adddotspace de cercet\adddot}},
+  techreport       = {{raport tehnic}{rap\adddotspace teh\adddot}},
+  software         = {{computer software}{comp\adddotspace software}},
+  datacd           = {{CD-ROM}{CD-ROM}},
+  audiocd          = {{CD audio}{CD audio}},
+  version          = {{versiunea}{versiunea}},
+  url              = {{adresa}{adresa}},
+  urlfrom          = {{disponibil la}{disponibil la}},
+  urlseen          = {{accesat în}{accesat în}},
+  inpreparation    = {{în pregătire}{în pregătire}},
+  submitted        = {{depus}{depus}},
+  forthcoming      = {{în curs de apariție}{în curs de apariție}},
+  inpress          = {{bun de tipar}{bun de tipar}},
+  prepublished     = {{prepublicat}{prepublicat}},
+  citedas          = {{în continuare citat ca}{în cont\adddotspace cit\adddotspace ca}},
+  thiscite         = {{în special}{în spec\adddot}},
+  seenote          = {{vezi nota}{vezi n\adddot}},
+  quotedin         = {{citat în}{cit\adddotspace în}},
+  idem             = {{idem}{idem}},
+  idemsm           = {{idem}{idem}},
+  idemsf           = {{eadem}{eadem}},
+  idemsn           = {{idem}{idem}},
+  idempm           = {{eidem}{eidem}},
+  idempf           = {{eaedem}{eaedem}},
+  idempn           = {{eadem}{eadem}},
+  idempp           = {{eidem}{eidem}},
+  ibidem           = {{ibidem}{ibid\adddot}},
+  opcit            = {{op\adddotspace cit\adddot}{op\adddotspace cit\adddot}},
+  loccit           = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}},
+  confer           = {{cf\adddot}{cf\adddot}},
+  sequens          = {{sq\adddot}{sq\adddot}},
+  sequentes        = {{sqq\adddot}{sqq\adddot}},
+  passim           = {{passim}{pass\adddot}},
+  see              = {{vezi}{vezi}},
+  seealso          = {{vezi de asemenea}{vezi de asemenea}},
+  backrefpage      = {{citat în pagina}{cit\adddotspace în p\adddot}},
+  backrefpages     = {{citat în paginile}{cit\adddotspace în pp\adddot}},
+  january          = {{Ianuarie}{Ian\adddot}},
+  february         = {{Februarie}{Feb\adddot}},
+  march            = {{Martie}{Mar\adddot}},
+  april            = {{Aprilie}{Apr\adddot}},
+  may              = {{Mai}{Mai}},
+  june             = {{Iunie}{Iun\adddot}},
+  july             = {{Iulie}{Iul\adddot}},
+  august           = {{August}{Aug\adddot}},
+  september        = {{Septembrie}{Sept\adddot}},
+  october          = {{Octombrie}{Oct\adddot}},
+  november         = {{Noiembrie}{Nov\adddot}},
+  december         = {{Decembrie}{Dec\adddot}},
+  langamerican     = {{Engleză}{Engleză}},
+  langbasque       = {{Bască}{Bască}},
+  langbrazilian    = {{Braziliană}{Braziliană}},
+  langbulgarian    = {{Bulgară}{Bulgară}},
+  langcatalan      = {{Catalană}{Catalană}},
+  langcroatian     = {{Croată}{Croată}},
+  langczech        = {{Cehă}{Cehă}},
+  langdanish       = {{Daneză}{Daneză}},
+  langdutch        = {{Olandeză}{Olandeză}},
+  langenglish      = {{Engleză}{Engleză}},
+  langestonian     = {{Estonă}{Estonă}},
+  langfinnish      = {{Finlandeză}{Finlandeză}},
+  langfrench       = {{Franceză}{Franceză}},
+  langgalician     = {{Galeză}{Galeză}},
+  langgerman       = {{Germană}{Germană}},
+  langgreek        = {{Greacă}{Greacă}},
+  langhungarian    = {{Maghiară}{Maghiară}},
+  langitalian      = {{Italiană}{Italiană}},
+  langjapanese     = {{Japoneză}{Japoneză}},
+  langlatin        = {{Latină}{Latină}},
+  langlatvian      = {{Letonă}{Letonă}},
+  langlithuanian   = {{Lituaniană}{Lituaniană}},
+  langnorwegian    = {{Norvegiană}{Norvegiană}},
+  langpolish       = {{Polonă}{Polonă}},
+  langportuguese   = {{Portugheză}{Portugheză}},
+  langamerican     = {{Engleză}{Engleză}},
+  langromanian     = {{Română}{Română}},
+  langrussian      = {{Rusă}{Rusă}},
+  langserbian      = {{Sârbă}{Sârbă}},
+  langslovak       = {{Slovacă}{Slovacă}},
+  langslovene      = {{Slovenă}{Slovenă}},
+  langspanish      = {{Spaniolă}{Spaniolă}},
+  langswedish      = {{Suedeză}{Suedeză}},
+  langturkish      = {{Turcă}{Turcă}},
+  langukrainian    = {{Ucraineană}{Ucraineană}},
+  fromamerican     = {{din engleză}{din engleză}},
+  frombasque       = {{din bască}{din bască}},
+  frombrazilian    = {{din braziliană}{din braziliană}},
+  frombulgarian    = {{din bulgară}{din bulgară}},
+  fromcatalan      = {{din catalană}{din catalană}},
+  fromcroatian     = {{din Croatian}{din Croatian}},
+  fromczech        = {{din cehă}{din cehă}},
+  fromdanish       = {{din daneză}{din daneză}},
+  fromdutch        = {{din olandeză}{din olandeză}},
+  fromenglish      = {{din engleză}{din engleză}},
+  fromestonian     = {{din estonă}{din estonă}},
+  fromfinnish      = {{din finlandeză}{din finlandeză}},
+  fromfrench       = {{din franceză}{din franceză}},
+  fromgalician     = {{din galiciană}{din galiciană}},
+  fromgerman       = {{din germană}{din germană}},
+  fromgreek        = {{din greacă}{din greacă}},
+  fromhungarian    = {{din maghiară}{din maghiară}},
+  fromitalian      = {{din italiană}{din italiană}},
+  fromjapanese     = {{din japoneză}{din japoneză}},
+  fromlatin        = {{din latină}{din latină}},
+  fromlatvian      = {{din letonă}{din letonă}},
+  fromlithuanian   = {{din lituaniană}{din lituaniană}},
+  fromnorwegian    = {{din norvegiană}{din norvegiană}},
+  frompolish       = {{din poloneză}{din poloneză}},
+  fromportuguese   = {{din portugheză}{din portugheză}},
+  fromrussian      = {{din rusă}{din rusă}},
+  fromserbian      = {{din sârbă}{din sârbă}},
+  fromslovak       = {{din slovacă}{din slovacă}},
+  fromslovene      = {{din slovenă}{din slovenă}},
+  fromspanish      = {{din spaniolă}{din slovenă}},
+  fromswedish      = {{din suedeză}{fdin suedeză}},
+  fromturkish      = {{din turcă}{din turcă}},
+  fromukrainian    = {{din ucraineană}{din ucraineană}},
+  countryde        = {{Germania}{DE}},
+  countryeu        = {{Uniunea Europeană}{UE}},
+  countryep        = {{Uniunea Europeană}{EP}},
+  countryfr        = {{Franța}{FR}},
+  countryuk        = {{Marea Britanie}{GB}},
+  countryus        = {{Statele Unite ale Americii}{SUA}},
+  patent           = {{brevet}{brev\adddot}},
+  patentde         = {{brevet german}{brev\adddotspace german}},
+  patenteu         = {{brevet european}{brev\adddotspace european}},
+  patentfr         = {{brevet francez}{brev\adddotspace francez}},
+  patentuk         = {{brevet englezesc}{brev\adddotspace englezesc}},
+  patentus         = {{brevet american}{brev\adddotspace american}},
+  patreq           = {{cerere brevet}{cerere brev\adddot}},
+  patreqde         = {{cerere brevet german}{cerere brev\adddot\ germ\adddot}},
+  patreqeu         = {{cerere brevet european}{cerere brev\adddot\ europ\adddot}},
+  patreqfr         = {{cerere brevet francez}{cerere brev\adddot\ franc\adddot}},
+  patrequk         = {{cerere brevet englezesc}{cerere brev\adddot\ engl\adddot}},
+  patrequs         = {{cerere brevet american}{cerere brev\adddot\ americ\adddot}},
+  file             = {{filă}{filă}},
+  library          = {{bibliotecă}{bibliotecă}},
+  abstract         = {{rezumat}{rezumat}},
+  annotation       = {{note}{note}},
+  commonera        = {{era noastră}{e\adddot n\adddot}},
+  beforecommonera  = {{înaintea erei noastre}{î\adddot e\adddot n\adddot}},
+  annodomini       = {{Anul Domnului}{AD}},
+  beforechrist     = {{înainte de Hristos}{î\adddot Hr\adddot}},
+  circa            = {{circa}{cca\adddot}},
+  spring           = {{Primăvara}{Primăvara}},
+  summer           = {{Vara}{Vara}},
+  autumn           = {{Toamna}{Toamna}},
+  winter           = {{Iarna}{Iarna}},
+  springN          = {{Primăvara (Emisfera Nordică)}{Primăvara (Emisf\adddotspace Nordică)}},
+  summerN          = {{Vara (Emisfera Nordică)}{Vara (Emisf\adddotspace Nordică)}},
+  autumnN          = {{Toamna (Emisfera Nordică)}{Toamna (Emisf\adddotspace Nordică)}},
+  winterN          = {{Iarna (Emisfera Nordică)}{Iarna (Emisf\adddotspace Nordică)}},
+  springS          = {{Primăvara (Emisfera Sudică)}{Primăvara (Emisf\adddotspace Sudică)}},
+  summerS          = {{Vara (Emisfera Sudică)}{Vara (Emisf\adddotspace Sudică)}},
+  autumnS          = {{Toamna (Emisfera Sudică)}{Toamna (Emisf\adddotspace Sudică)}},
+  winterS          = {{Iarna (Emisfera Sudică)}{Iarna (Emisf\adddotspace Sudică)}},
+  Q1               = {{Trimestrul~1}{Trim\adddot~1}},
+  Q2               = {{Trimestrul~2}{Trim\adddot~2}},
+  Q3               = {{Trimestrul~3}{Trim\adddot~3}},
+  Q4               = {{Trimestrul~4}{Trim\adddot~4}},
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+  S1               = {{Semestrul~1}{Sem\adddot~1}},
+  S2               = {{Semestrul~2}{Sem\adddot~2}},
+  am               = {{am}{a\adddot m\adddot}},
+  pm               = {{pm}{p\adddot m\adddot}},
+}
+
+\global\blx at etb@inittoggle{lbx at ro@dayrange}
+
+\protected\gdef\lbx at ro@mkdaterangetrunc at i#1#2{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {\blx at nounit}
+      {\printtext[{#2date}]{%
+         \datecircaprint
+         % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2yeardivision}
+           {\ifdateyearsequal{#2}{#2end}
+              {\iffieldsequal{#2month}{#2endmonth}
+                 {\toggletrue{lbx at ro@dayrange}%
+                  \csuse{mkbibdate#1}{}{}{#2day}}
+                 {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+               \iffieldsequal{#2dateera}{#2enddateera}{}
+                 {\dateeraprint{#2year}}}}
+           {\ifdateyearsequal{#2}{#2end}
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
+              \iffieldsequal{#2dateera}{#2enddateera}{}
+                {\dateeraprint{#2year}}}}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\bibdaterangesep
+               \enddatecircaprint
+               \iffieldundef{#2endyeardivision}
+                 {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}%
+               \enddateuncertainprint
+               \dateeraprint{#2endyear}}}}}%
+  \endgroup}
+
+\protected\gdef\lbx at ro@mkdaterangetruncextra at i#1#2{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {\blx at nounit}
+      {\printtext[{#2date}]{%
+         \datecircaprint
+         % Such a yeardivision component can only come from an ISO8601 yeardivision which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2yeardivision}
+           {\ifdateyearsequal{#2}{#2end}
+              {\iffieldsequal{#2month}{#2endmonth}
+                 {\toggletrue{lbx at ro@dayrange}%
+                  \csuse{mkbibdate#1}{}{}{#2day}}
+                 {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+               \iffieldsequal{#2dateera}{#2enddateera}{}
+                 {\dateeraprint{#2year}}}}
+           {\ifdateyearsequal{#2}{#2end}
+             {\csuse{mkbibyeardivisiondate#1}{}{#2yeardivision}}
+             {\csuse{mkbibyeardivisiondate#1}{#2year}{#2yeardivision}%
+              \iffieldsequal{#2dateera}{#2enddateera}{}
+                {\dateeraprint{#2year}}}}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+               \mbox{\bibdaterangesep}}
+              {\bibdaterangesep
+               \enddatecircaprint
+               \iffieldundef{#2endyeardivision}
+                 {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+                 {\csuse{mkbibyeardivisiondate#1}{#2endyear}{#2endyeardivision}}}%
+               \printfield{extradate}%
+               \enddateuncertainprint
+               \dateeraprint{#2endyear}}}}%
+  \endgroup}
+
+\endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -97,12 +97,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -580,6 +580,23 @@
   summer           = {{лето}{лето}},
   autumn           = {{осень}{осень}},
   winter           = {{зима}{зима}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{ДП}{ДП}},
   pm               = {{ПП}{ПП}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -74,12 +74,12 @@
     \iffieldundef{#4}{}
     {\space\bibtimezonesep%
       \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
 }
@@ -101,6 +101,23 @@
     audiocd = {{audio CD}{audio CD}},
     august = {{avgust}{avg\adddot}},
     autumn = {{jesen}{jesen}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
     backrefpage = {{citirano na stranici}{cit\adddot\ na str\adddot}},
     backrefpages = {{citirano na stranicama}{cit\adddot\ na str\adddot}},
     bathesis = {{ba\v celor rad}{BA\addabbrvspace rad}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/serbianc.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -83,12 +83,12 @@
     \iffieldundef{#4}{}
     {\space\bibtimezonesep%
       \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}\adddot}%
 }
@@ -110,6 +110,23 @@
     audiocd = {{аудио ЦД}{аудио ЦД}},
     august = {{август}{авг\adddot}},
     autumn = {{јесен}{јесен}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
     backrefpage = {{цитирано на страници}{цит\adddot\ на стр\adddot}},
     backrefpages = {{цитирано на страницама}{цит\adddot\ на стр\adddot}},
     bathesis = {{бачелор рад}{БА\addabbrvspace рад}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -67,12 +67,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -530,6 +530,23 @@
   summer           = {{leto}{leto}},
   autumn           = {{jese\v{n}}{jese\v{n}}},
   winter           = {{zima}{zima}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{AM}{AM}},
   pm               = {{PM}{PM}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -67,12 +67,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -529,6 +529,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{dop\adddot}{dop\adddot}},
   pm               = {{pop\adddot}{pop\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -80,12 +80,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -207,7 +207,7 @@
   byfounder        = {{fundado por}{fund\adddotspace por}},
   bycontinuator    = {{continuado por}{cont\adddotspace por}},
   bycollaborator   = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure
-  bytranslator     = {{traducido \lbx at lfromlang\ por}{trad\adddot \lbx at sfromlang\ por}},
+  bytranslator     = {{traducido \lbx at lfromlang\ por}{trad\adddotspace \lbx at sfromlang\ por}},
   bycommentator    = {{comentado por}{com\adddotspace por}},
   byannotator      = {{anotado por}{anot\adddotspace por}},
   withcommentator  = {{con comentario de}{con com\adddotspace de}},
@@ -216,7 +216,7 @@
   withforeword     = {{con pr\'ologo de}{con pr\'ol\adddotspace de}},
   withafterword    = {{con ep\'{i}logo de}{con ep\'{\i}l\adddotspace de}},
   byeditortr       = {{editado y traducido \lbx at lfromlang\ por}%
-                      {ed\adddotspace y trad\adddot \lbx at sfromlang\ por}},
+                      {ed\adddotspace y trad\adddotspace \lbx at sfromlang\ por}},
   byeditorco       = {{editado y comentado por}%
                       {ed\adddotspace y com\adddotspace por}},
   byeditoran       = {{editado y anotado por}%
@@ -272,17 +272,17 @@
   bytranslatoraf   = {{traducido \lbx at lfromlang\ y epilogado por}%
                       {trad\adddotspace \lbx at sfromlang\ y ep\'{\i}l\adddotspace por}},
   bytranslatorcoin = {{traducido \lbx at lfromlang, comentado e introducido por}%
-                      {trad\adddot \lbx at sfromlang, com\adddotspace e intr\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, com\adddotspace e intr\adddotspace por}},
   bytranslatorcofo = {{traducido \lbx at lfromlang, comentado y prologado por}%
-                      {trad\adddot \lbx at sfromlang, com\adddotspace y pr\'ol\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, com\adddotspace y pr\'ol\adddotspace por}},
   bytranslatorcoaf = {{traducido \lbx at lfromlang, comentado y epilogado por}%
-                      {trad\adddot \lbx at sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, com\adddotspace y ep\'{\i}l\adddotspace por}},
   bytranslatoranin = {{traducido \lbx at lfromlang, anotado e introducido por}%
-                      {trad\adddot \lbx at sfromlang, anot\adddotspace e intr\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, anot\adddotspace e intr\adddotspace por}},
   bytranslatoranfo = {{traducido \lbx at lfromlang, anotado y prologado por}%
-                      {trad\adddot \lbx at sfromlang, anot\adddotspace y pr\'ol\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, anot\adddotspace y pr\'ol\adddotspace por}},
   bytranslatoranaf = {{traducido \lbx at lfromlang, anotado y epilogado por}%
-                      {trad\adddot \lbx at sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}},
+                      {trad\adddotspace \lbx at sfromlang, anot\adddotspace y ep\'{\i}l\adddotspace por}},
   and              = {{y}{y}},
   andothers        = {{y~col\adddot}{y~col\adddot}},
   andmore          = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}},
@@ -481,6 +481,23 @@
   summer           = {{verano}{ver\adddot}},
   autumn           = {{oto\~no}{ot\adddot}},
   winter           = {{invierno}{inv\adddot}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{a\adddotspace m\adddot}{a\adddot m\adddot}},
   pm               = {{p\adddotspace m\adddot}{p\adddot m\adddot}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -104,12 +104,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -507,6 +507,23 @@
 % summer           = {{}{}},% FIXME: missing
 % autumn           = {{}{}},% FIXME: missing
 % winter           = {{}{}},% FIXME: missing
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{fm}{fm}},
   pm               = {{em}{em}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/turkish.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -65,12 +65,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
   \savecommand\lbx at lfromlang
@@ -545,6 +545,23 @@
   summer           = {{Yaz}{Yaz}},
   autumn           = {{Sonbahar}{Sonbahar}},
   winter           = {{K\i \c{s}}{K\i \c{s}}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{\"{o}\u{g}leden \"{o}nce}{\"{O}\"{O}}},
   pm               = {{\"{o}\u{g}leden sonra}{\"{O}S}},
 }

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx	2022-02-03 22:09:49 UTC (rev 61867)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx	2022-02-03 22:11:47 UTC (rev 61868)
@@ -97,12 +97,12 @@
       \iffieldundef{#4}{}
        {\space\bibtimezonesep
         \parentext{\mkbibtimezone{\thefield{#4}}}}}%
-  \protected\def\mkbibseasondateshort#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondateshort#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
-  \protected\def\mkbibseasondatelong#1#2{%
-    \mkbibseason{\thefield{#2}}%
+  \protected\def\mkbibyeardivisiondatelong#1#2{%
+    \mkbibyeardivision{\thefield{#2}}%
     \iffieldundef{#1}{}{\space}%
     \dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}%
 }
@@ -580,6 +580,23 @@
   summer           = {{літо}{літо}},
   autumn           = {{осінь}{осінь}},
   winter           = {{зима}{зима}},
+% springN          = {{}{}},% FIXME: missing
+% summerN          = {{}{}},% FIXME: missing
+% autumnN          = {{}{}},% FIXME: missing
+% winterN          = {{}{}},% FIXME: missing
+% springS          = {{}{}},% FIXME: missing
+% summerS          = {{}{}},% FIXME: missing
+% autumnS          = {{}{}},% FIXME: missing
+% winterS          = {{}{}},% FIXME: missing
+% Q1               = {{}{}},% FIXME: missing
+% Q2               = {{}{}},% FIXME: missing
+% Q3               = {{}{}},% FIXME: missing
+% Q4               = {{}{}},% FIXME: missing
+% QD1              = {{}{}},% FIXME: missing
+% QD2              = {{}{}},% FIXME: missing
+% QD3              = {{}{}},% FIXME: missing
+% S1               = {{}{}},% FIXME: missing
+% S2               = {{}{}},% FIXME: missing
   am               = {{ДП}{ДП}},
   pm               = {{ПП}{ПП}},
 }



More information about the tex-live-commits mailing list.