summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex/CHANGES.md
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-08-20 03:01:54 +0000
committerNorbert Preining <norbert@preining.info>2020-08-20 03:01:54 +0000
commite2dfc4cc8dc03d323073de46903005e3a9d12255 (patch)
tree283bcf119eff28b9f992e1005d38353626efcd2e /macros/latex/contrib/biblatex/CHANGES.md
parent75955a0dece2b1996d51d4f43ad5778cd6d5b4cc (diff)
CTAN sync 202008200301
Diffstat (limited to 'macros/latex/contrib/biblatex/CHANGES.md')
-rw-r--r--macros/latex/contrib/biblatex/CHANGES.md210
1 files changed, 210 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex/CHANGES.md b/macros/latex/contrib/biblatex/CHANGES.md
index 73848adcd2..8387b31a67 100644
--- a/macros/latex/contrib/biblatex/CHANGES.md
+++ b/macros/latex/contrib/biblatex/CHANGES.md
@@ -1,12 +1,222 @@
+# RELEASE NOTES FOR VERSION 3.15
+- Fixed a long-standing issue with `\intitlepunct`.
+ The old definition
+ ```
+ \newbibmacro*{in:}{%
+ \printtext{%
+ \bibstring{in}\intitlepunct}}
+ ```
+ would print `\intitlepunct` directly and not via the punctuation
+ buffer. Since the `\add...` punctuation macros guard against
+ undesired double punctuation, this would usually not show as an
+ issue (except in edge cases https://tex.stackexchange.com/q/175730/,
+ https://github.com/plk/biblatex/issues/943).
+ The new definition uses the punctuation tracker to print
+ `\intitlepunct`.
+ ```
+ \newbibmacro*{in:}{%
+ \bibstring{in}%
+ \printunit{\intitlepunct}}
+ ```
+ `\printunit` is needed instead of `\setunit` to stop subsequent
+ `\setunit`s from overriding `\intitlepunct` in case of missing
+ fields.
+- Define `volcitepages` and `multipostnote` as a field alias of `postnote`
+ and `multiprenote` as an alias of `prenote`.
+ That should make it easier to change all post- and prenote formats at once.
+ A change to `postnote` will automatically apply to `multipostnote`
+ and `volcitepages` as well. Similarly for `multiprenote`.
+ In case that is not desired, the original definitions can be restored with
+ ```
+ \DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}}
+ \DeclareFieldFormat{multiprenote}{#1\isdot}
+ \DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
+ ```
+- Unified DOI, eprint and URL printing across all entry types.
+ The fields `doi`, `eprint`, `eprintclass`, `eprinttype` and `url`
+ are now valid for all entry types.
+ `@online` and `@unpublished` now also use the bibmacro
+ `doi+eprint+url`.
+ This means `@online` now responds to the `url` option.
+ That does not mean, however, that a global `url=false,`
+ suppresses URLs for `@online` entries, since `url=true,`
+ is set on a per-type level to ensure backwards compatibility
+ as far as possible.
+ In case eprint information should be suppressed for `@online`
+ and `@unpublished`, add
+ ```
+ \ExecuteBibliographyOptions[online,unpublished]{eprint=false}
+ ```
+- Added `eid` to more entry types.
+ To avoid issues with backwards compatibility of widely used bibmacros,
+ the bibmacro `chapter+pages` was redefined from
+ ```
+ \newbibmacro*{chapter+pages}{%
+ \printfield{chapter}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+ ```
+ to
+ ```
+ \newbibmacro*{chapter+pages}{%
+ \printfield{chapter}%
+ \setunit{\bibeidpunct}%
+ \printfield{eid}%
+ \setunit{\bibpagespunct}%
+ \printfield{pages}%
+ \newunit}
+ ```
+- Added `\bibeidpunct` in analogy to `\bibpagespunct`.
+- Added `issuetitleaddon` and `journaltitleaddon` fields.
+- Added options `backreffloats` and `trackfloats` to enable/disable
+ citation tracking and back references in floats.
+ Note that citation tracking in floats can lead to undesirable
+ results in case the float objects floats too far from its "natural"
+ position.
+- **INCOMPATIBLE CHANGE** `numeric-comp` compresses subentry set
+ references now.
+ This behaviour can be disabled with `subentrycomp=false`.
+- Added `subentrycomp` option to `numeric-comp` citation style.
+ The option is only relevant with `subentry=true`.
+ With `subentrycomp=true` set citations will be compressed
+ to "1a-c" instead of "1a; 1b; 1c".
+ The option is mainly intended for backwards compatibility;
+ the behaviour of previous `biblatex` versions can be restored
+ with `subentrycomp=false`.
+- Added `\multiciterangedelim`, `\multicitesubentrydelim`,
+ `\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`
+ 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.
+- **CRITICAL CHANGE**
+ Implemented better `@set` support for BibTeX, `@set`s should now
+ sort properly.
+ This is achieved with a two-pass structure and (hidden) copies of
+ the set entries.
+ The two-pass structure means that the compilation sequence becomes
+ LaTeX, BibTeX, LaTeX, BibTeX, LaTeX, LaTeX.
+- **CRITICAL CHANGE**
+ The case change functions now make use of the `expl3` module `l3text`
+ if the available `expl3` version is recent enough.
+ If `expl3` is too old the old LaTeX2e implementation is used.
+ If desired the implementation of the case changing functions
+ can be selected at load-time with the `casechanger` option, which
+ accepts the values `expl3`, `latex2e` and `auto` (which selects
+ `expl3` if the `expl3` version not older than 2020-04-06, this
+ is the default).
+
+ The `expl3` implementation of the case changer is slightly more
+ robust than the home-grown `latex2e` code.
+- The option `bibtexcaseprotection` can be used to turn off the
+ case protection via curly braces. This allows for a saner approach
+ to case protection where text is protected solely via a macro
+ like `\NoCaseChange`, e.g.
+ ```
+ title = {The Story of \NoCaseChange{HMS \emph{Erebus}}
+ in \emph{Really} Strong Wind},
+ ```
+ instead of
+ ```
+ title = {The Story of {HMS} \emph{Erebus}
+ in {\emph{Really}} Strong Wind},
+ ```
+- Added `\mautocite` and `\Mautocite`.
+- Added `\NumsCheckSetup` and `\PagesCheckSetup` for finer control
+ of the `\ifnumerals` and `\ifpages` checks.
+- Deprecate the starred `\DeclareDelimAlias*` in favour of
+ `\DeclareDelimAlias` with optional arguments.
+- **INCOMPATIBLE CHANGE**
+ `biblatex` no longer falls back to English for unknown languages.
+ Warnings will be triggered if undefined language strings or extras
+ are used.
+- **INCOMPATIBLE CHANGE**
+ Bibliography strings and bibliography extras can now be written
+ either to `\captions<language>` or to `\extras<language>`
+ (this is controlled with the `langhook` option).
+ Previously, they were written to `\extras<language>`, but upon
+ reflection `\captions<language>` appears to be a more sensible
+ place for these definitions.
+ The new default is to write to `\captions<language>`
+ (i.e. `langhook=captions`).
+ The previous behaviour can be restored with `langhook=extras`.
+- **INCOMPATIBLE CHANGE** Moved `\delimcontext{bib}` to `\AtUsedriver`,
+ this makes it easier to override the delimiter context in `\usedriver`
+ calls. `\AtUsedriver*` calls may have to be amended to include
+ `\delimcontext{bib}`. The new default is
+ ```
+ \AtUsedriver{%
+ \delimcontext{bib}%
+ \let\finentry\blx@finentry@usedrv
+ \let\newblock\relax
+ \let\abx@macro@bibindex\@empty
+ \let\abx@macro@pageref\@empty}
+ ```
+ Note that this definition is backwards compatible
+ and can be used in older versions as well (down to v3.4 2016-05-10).
+- `biblatex` now tests if a requested backend (re)run happened by
+ comparing the MD5 hashes of the new and old `.bbl` files.
+- Added file hooks `\blx@filehook@preload@<filename>`,
+ `\blx@filehook@postload@<filename>`
+ and `\blx@filehook@failure@<filename>`
+ to execute hooks before or after a file is loaded
+ or if the loading fails.
+ `\blx@lbxfilehook@simple@preload@<filename>`,
+ `\blx@lbxfilehook@simple@postload@<filename>`
+ and `\blx@lbxfilehook@simple@failure@<filename>`
+ as well as
+ `\blx@lbxfilehook@once@preload@<filename>`,
+ `\blx@lbxfilehook@once@postload@<filename>`
+ and `\blx@lbxfilehook@once@failure@<filename>`
+ are the equivalents for `.lbx` loading, where
+ files may be loaded several times in some situations.
+- Added limited support for 'nodate' with BibTeX.
+- Improved `babel` and `polyglossia` interfacing (avoids more or less
+ unsupported patches).
+ This should work with `babel` at least v3.9r (2016/04/23)
+ and polyglossia `polyglossia` v1.49 (2020/04/08) or later.
+- **INCOMPATIBLE CHANGE** Removed list and name index wrappers
+ (`\DeclareIndexNameWrapperFormat`, `\DeclareIndexListWrapperFormat`
+ and friends). Those wrappers make no sense, since the indexed
+ names are not printed 'together' in any useful sense of the word
+ and were never working anyway.
+- **CRITICAL CHANGE** Generalised some keyval macros.
+ `biblatex`-related uses of `\define@key` should ideally replaced with
+ `\blx@kv@defkey`.
+ Style authors are advised not to rely too much on the internal
+ implementation of certain keyval interfaces.
+ Users who want to experiment with using a different underlying
+ keyval parser need only provide replacements of the `\blx@kv@...`
+ macros (which are defined via `\provide...` so that they will
+ not overwrite existing definitions; in particular users can define
+ those replacements before loading `biblatex`).
+- Deprecate `\ifkomabibtotoc` and `\ifkomabibtotocnumbered`.
+ With newer versions of KOMA-Script these tests are no longer used
+ and their implementation was always a bit shifty (they would only pick
+ up globally set options).
+
+
# RELEASE NOTES FOR VERSION 3.14
- biber from version 2.14 has extended, granular XDATA functionality to
allow referencing from and to parts of fields. This makes XDATA entries into
more general data sharing containers.
+- Biber applies Perl's Unicode case folding to normalise the
+ capitalisation of field names and entry types when reading from the
+ `.bib` file. The output in the `.bbl` (what comes out on the
+ `biblatex` side uses the capitalisation from the data model; the only
+ exception are unknown entry types which are passed on *exactly*
+ as they are given in the `.bib` file - of course it is strongly
+ recommended to define all entry types one intends to use in the
+ data model).
- `biblatex` now interfaces with `polyglossia` much better and can deal
with language variants.
Note that `polyglossia` v1.45 (2019/10/27) is required for this
to work properly, it is strongly recommended to update `polyglossia`
to this or a later (current) version.
+
# RELEASE NOTES FOR VERSION 3.13
- **INCOMPATIBLE CHANGE** Any custom per-entry options in datasources must
be defined with `\DeclareEntryOption` in order for biber to recognise