Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 761433 - dev-tex/biblatex-3.15a: version bump
Summary: dev-tex/biblatex-3.15a: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: TeX project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-23 19:03 UTC by Sam James
Modified: 2021-04-18 02:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2020-12-23 19:03:33 UTC
Thanks!

# RELEASE NOTES FOR VERSION 3.16
- Fixed an infinite loop caused by excessive aliasing of the `volcitepages`
  format.
  Reverted the alias `\DeclareFieldAlias{volcitepages}{postnote}`
  and again define
  ```
  \DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}}
  ```
  explicitly.
- Fixed `.lbx` file loading behaviour. All `.lbx` files are now loaded
  `\AtBeginDocument`. Languages that were not requested explicitly by packages
  are recorded in the `.aux` file and loaded on the next run.
  This may require a further LaTeX run in some situations, but now we can be
  sure when `.lbx` files are read.
- Added `label` option to `\printbibliography`.
- Added more name wrapper aliases to make name aliasing smoother.
- Deprecate `\mainlang` switch in favour of the text macro `\textmainlang`.
- Deprecate `\mkrelatedstring` (which is defined as `\mainlang`)
  in favour of `\mkrelatestringtext` (defined as `\textmainlang`).

# RELEASE NOTES FOR VERSION 3.15a
- Fixed bug with long argument for `\DeclareFieldFormat` and friends.

# 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}}
  ```
  
  **NB** The definition of `volcitepages` caused an infinite loop and was
  reverted in v3.15b.
  This means that only `multiprenote` and `multipostnote` are aliased.
- 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).