=========================
Changes in version 1.4.61
=========================

- Apply text-case to numeric variables with numeric content.

=========================
Changes in version 1.4.60
=========================

- Limit en-dash equivalence to hyphen at 1.4.50 to the page
  variable.

=========================
Changes in version 1.4.59
=========================

- Fix bug in names abbreviation fallback from institution-entire
  to institution-part.

=========================
Changes in version 1.4.58
=========================

- Smarten up is-multiple

  https://github.com/Juris-M/citeproc-js/issues/174

=========================
Changes in version 1.4.57
=========================

- Preserve bare hyphens in docket numbers.

=========================
Changes in version 1.4.56
=========================

- Change is-multiple test attribute to test for presence of
  comma-space, space-and-space or ampersand.

=========================
Changes in version 1.4.55
=========================

- Implement cite-form flag, supplied via abbreviation markup as
  discussed here:

  https://github.com/Juris-M/legal-resource-registry/issues/34#issuecomment-749249240

=========================
Changes in version 1.4.54
=========================

- Support in-text markup in name elements.

  https://github.com/Juris-M/citeproc-js/issues/173

=========================
Changes in version 1.4.53
=========================

- Remove sort mask from macros calling an empty date, and set date
  keys as pure numeric strings

  https://github.com/citation-style-language/styles/pull/5169

=========================
Changes in version 1.4.52
=========================

- Add is-multiple test. Returns true if the target variable contains one or more
  spaces.

=========================
Changes in version 1.4.51
=========================

- Fix crashing bug triggered by parallels initialization failure (affects CSL-M styles only).

=========================
Changes in version 1.4.50
=========================

- Fix page-range-format to work equally with hyphen and en-dash.

=========================
Changes in version 1.4.49
=========================

- Fix in-text backref behavior (previously completely non-functional).

=========================
Changes in version 1.4.48
=========================

- Fix disambig with demote-non-dropping-particle=never

  https://github.com/Juris-M/citeproc-js/issues/171

=========================
Changes in version 1.4.47
=========================

- Changes to institution name attributes
  - Apply use-first and use-last to elements as entered, not as reversed
  - Add stop-first to mirror stop-last
  - Render as entered by default, require explicit reverse-order to reverse
  - Make code less unreadable

- Remove implicit institution name truncation

- Recognize strings and terms in cs:substitute

=========================
Changes in version 1.4.46
=========================

- Enable trailing-punctuation suppression in in-text styles.

=========================
Changes in version 1.4.45
=========================

- Fix bug in parallel-referencing code.

- Update schema (fix missing or misplaced attributes and elements),
  fix syntax issues in style modules, update style tests.

=========================
Changes in version 1.4.44
=========================

- Fix a bug in fallback from institution-entire to institution-part

=========================
Changes in version 1.4.43
=========================

- Implement fallback attribute on cs:law-module
  https://github.com/Juris-M/zotero/issues/95

=========================
Changes in version 1.4.42
=========================

- Fall back from institution-entire abbrev to institution-part abbrev

- Adjust output of NL legal_case in module

=========================
Changes in version 1.4.41
=========================

- Make availableAbbrevDomains persistent, extend abbrev key
  normalization to number and classic

=========================
Changes in version 1.4.40
=========================

- Implement item-level locale arbitration of jurisdiction-preference for abbrevs

=========================
Changes in version 1.4.39
=========================

- Fix line missed in registry bugfix

- Evaluate prefix on cs:names is require/reject context

=========================
Changes in version 1.4.38
=========================

- Test primary of cs:text items with multilingual variants as in 1.4.37.

=========================
Changes in version 1.4.37
=========================

- Include cs:text prefix and variable in require/reject evaluation.
  https://github.com/Juris-M/citeproc-js/pull/166

=========================
Changes in version 1.4.36
=========================

- Fix bug in consolidation code. Always insert to registry with Item.id.

=========================
Changes in version 1.4.35
=========================

- Add a "country" test, which unlike the "jurisdiction" test will be useful.

=========================
Changes in version 1.4.34
=========================

- Fix bug in name-delimiter as applied to literal ("single-field") names, by
  removing the explicit delimiter from the implicit cs:institutions node created
  by citeproc-js on style instantiation, and allowing delimiter inheritance to
  take effect.

=========================
Changes in version 1.4.33
=========================

- Really fix comma-safe group bug this time.

=========================
Changes in version 1.4.32
=========================

- Fix comma-safe bug in direct application of suffix on cs:date

- Recognize macro suffix in comma-safe evaluation
  https://github.com/Juris-M/citeproc-js/issues/151#issuecomment-702022105

=========================
Changes in version 1.4.31
=========================

- Recognize suffix on cs:date for comma-safe evaluations.

- Include leading particle in numeric value for comma-safe evaluation

- Make comma-safe evaluation work when style token not passed as argument (bugfix)

=========================
Changes in version 1.4.30
=========================

- Make comma-safe* attributes work with dates

=========================
Changes in version 1.4.29
=========================

- Fix behavior of comma-safe-numbers-only

- Fix an untested coding bug affecting numbers followed
  by a non-number value within the scope of a
  comma-safe-numbers-only group

=========================
Changes in version 1.4.28
=========================

- Fix inheritance of name-delimiter.

=========================
Changes in version 1.4.27
=========================

- Implement comma-safe-numbers-only reject/require mode.

- Fix a bug in container consolidation

=========================
Changes in version 1.4.26
=========================

- Add the rn. short-code for randnummer (marginal number).
  https://github.com/Juris-M/zotero/issues/82

=========================
Changes in version 1.4.25
=========================

- Use non-breaking-space join between particles and family name
  everywhere if the locale is "fr", "ru", or "cs".
  https://github.com/citation-style-language/schema/pull/333#issuecomment-671505987

=========================
Changes in version 1.4.24
=========================

- Final form of attributes for container consolidation:
  - Rename track-container-items to track-containers
  - Rename container-subsequent-in-bibliography to container-subsequent
  - Rename container-item-multiple to container-multiple

=========================
Changes in version 1.4.23
=========================

- Bugfixes to 1.4.22

=========================
Changes in version 1.4.22
=========================

- REVERT changes to internal CSL.POSITION_* values. This and
  subsequent versions are backward-compatible with existing systems
  and documents (!).

- Fine tuning of container consolidation tools
  - Assure position literals are backward compatible with existing documents.
  - Rename container-item-pos to container-item-multiple with boolean argument.
  - Add container-subsequent-in-bibliography attribute to allow shrinkage in following items.

=========================
Changes in version 1.4.21
=========================

- Replace strict-subsequent with position test container-subsequent

  NOTE: This release changes the internal values of the CSL.POSITION_*
        flags. Code that sets these values literally can be expected to
        break.

=========================
Changes in version 1.4.20
=========================

- Implement first-container-reference-note-number

- Fix bugs in first-reference-note-number

=========================
Changes in version 1.4.19
=========================

Numerous changes to consolidation and position code
    - Allow a selection of types of consolidation, rather than binding to chapter.
    - Rename recently added chapter attributes to suit the above.
    - Add track-container-items attribute.
    - Change abbrev category of archive from collection-title to container-title
      (fixes a failing IndigoBook test)

=========================
Changes in version 1.4.18
=========================

- Add disable-duplicate-year-suppression style option.
  https://github.com/Juris-M/citeproc-js/issues/146

- Implement strict-subsequent to enable two levels of the "subsequent"
  position, for use in chapter items.
  https://github.com/Juris-M/zotero/issues/76

- Consolidate chapter and legislation items.

- Implement chapter-item-consolidation attribute on cs:bibliography.

- Implement chapter-count condition attribute for use in cs:bibliography.


=========================
Changes in version 1.4.17
=========================

- Examine prefixes on cs:number and cs:group in comma-safe evaluation.

=========================
Changes in version 1.4.16
=========================

- Implement no-repeat attribute on cs:group, to suppress
  output on non-parallel items only, when designated variables
  match on predecessor.

=========================
Changes in version 1.4.15
=========================

- Print "no printed reference" warning only if the first citation
  in a series renders nothing.

=========================
Changes in version 1.4.13
=========================

- Fix a crashing bug triggered by parallels in MLZ mode

- Fix operation of delimiter-precedes-last="after-inverted-name"

  Details: https://github.com/Juris-M/citeproc-js/issues/143#issuecomment-662186248

- Test variables in parallel-first and parallel-last as "all", not "any"

  Details: https://github.com/Juris-M/schema/commit/5a8d44b7b8de49af9ca63ab56f06d02cd92a623b#commitcomment-40947432

=========================
Changes in version 1.4.12
=========================

- Do not attempt split of container-title unless affirmatively
  configured to do so. For it to work properly, an override field must
  be available in the client on any item for which it is
  invoked. Otherwise, an abbreviated container title with a period
  mid-string will be truncated at the first period. Some items that
  deliver container-title to the processor in ZOtero do not have an
  override field ("Journal Abbrev.""), so disabling the split for
  now. To enable, set:

  citeproc.opt.development_extensions.split_container_title = true;

  ... or before building the processor, with:

  sys.split_container_title = true;

=========================
Changes in version 1.4.11
=========================

- Fix in-browser failures of toLocaleUpperCase and toLocaleLowerCase.

  Details: https://github.com/Juris-M/citeproc-js/issues/142

- Fix another potential cause of processor crash with parallels on
  some refresh operations.

=========================
Changes in version 1.4.10
=========================

- Fix a serious bug affecting Jurism. A parallel-citation counter was not
  reset when citations were updated implicitly by processCitationCluster,
  triggering a processor crash. (This bug does not affect Zotero, nor other
  systems that do not exercise the parallel citation extensions.)

========================
Changes in version 1.4.9
========================

- Give priority to latest node, not parent node, for parallel-delimiter-override.

- Implement parallel-delimiter-override-on-suppress for special cases.

========================
Changes in version 1.4.8
========================

- Fix bug in labels when "page" label used with "page-first" variable.

========================
Changes in version 1.4.7
========================

- Avoid crash when text is substituted for a name with bibliography substitution
  rule "partial-each".

  Addresses https://github.com/Juris-M/citeproc-js/issues/140

- Support locale-specific text-casing.

  Addresses https://forums.zotero.org/discussion/83567/uppercase-letter-problem-in-turkish

========================
Changes in version 1.4.6
========================

- Suppress locator if author-only

  https://github.com/Juris-M/citeproc-js/issues/131#issuecomment-652457239

========================
Changes in version 1.4.5
========================

- Apply limit-day-ordinals-to-day-1 to the individual elements of date ranges.

========================
Changes in version 1.4.4
========================

- Fixes for placeholder labels.

========================
Changes in version 1.4.3
========================

- Amend parallel-last-to-first to take a list of variable names rather
  than simply "true" as argument.

========================
Changes in version 1.4.2
========================

- In CSL-M mode only, rendering title with form="short" will first attempt
  to abbreviate from external source, then (this is the difference) use the
  value of title-short, if available, falling back to the full form.

========================
Changes in version 1.4.1
========================

- Match for @jurisdiction is now an exact "any" match, similar to
  @type. This is a backward-incompatible change for CSL-M styles that
  use this condition to match the argument as an exact match OR parent
  of the item jurisdiction, hence the change to minor version number.

=========================
Changes in version 1.3.24
=========================

- Add parallel-last-override attribute. For the cite and node bearing the
  attribute only, hold a variable set aside with parallel-last-to-first
  as parallel-last. used for this little creature:

  <i>Byer v. Wright</i>, 160 Ohio App.3d 472, 2005-Ohio-1797, 827 N.E.2d 835 (11th Dist.)

=========================
Changes in version 1.3.23
=========================

- Add has-subunit test condition, applicable to the "authority" field. Returns true
  when the field contains a "|" vertical-bar field separpator.

- Add parellel-last-to-first group attribute. Remaps all parallel-last variable
  tests in subsequent cites in a related group to parallel-first, and so suppresses
  their output. Needed for most vendor-neutral citation forms in the US jurisdiction.

=========================
Changes in version 1.3.22
=========================

- Exception to allow ampersand (&) between letters without adjacent spaces (as in "Q&A").

=========================
Changes in version 1.3.21
=========================

- Add "substring" attribute to cs:numeric, specifically to address a
  US citation requirement for patents.

=========================
Changes in version 1.3.20
=========================

- Add a portion of the 1.3.19 fix that was missing in the patch.

=========================
Changes in version 1.3.19
=========================

- Fix a bug in parallel cites triggered by disambiguate="true". The
  disambiguate conditional can trigger mid-cluster rendering via
  getAmbiguousCite. The fix avoids touching citation-wide quash
  records when getAmbiguousCite is run.

=========================
Changes in version 1.3.18
=========================

- Add "fld." as a short-code locator label.

=========================
Changes in version 1.3.17
=========================

- Process leading short-code labels on the page variable, removing the short-code
  and replacing it with the form="short" form of the relevant term, if available.
  If a companion cs:label is set in a conditional page="page" (or other available
  term), the form and other styling will be applied to the term and it will be
  rendered separately from the content.

=========================
Changes in version 1.3.16
=========================

- Fix typos

=========================
Changes in version 1.3.15
=========================

- Bugfixes for full recognition of all shorthand labels.

- Extend suppression of issued-year following matching collection-number to legislation

=========================
Changes in version 1.3.14
=========================

- Extend "statute" shorthand labels to cover all pinpoint labels listed
  in IndigoBook.

=========================
Changes in version 1.3.13
=========================

- Fix code typo

=========================
Changes in version 1.3.12
=========================

- Replace locale style option require-comma-on-symbol-after-number with
  global style attribute require-comma-on-symbol, with values "never",
  "always", and "after-number"

=========================
Changes in version 1.3.11
=========================

- Add style option require-comma-on-symbol-after-number attribute
  to control behavior of require/reject group condition

=========================
Changes in version 1.3.10
=========================

- Return is-numeric for strings beginning and ending with a number, and
  consisting only of numbers and forward-slash characters.

========================
Changes in version 1.3.9
========================

- Extend normalization of jurisdiction codes to country var.

- Fix inheritance of jurisdiction submodules.

- Enable inheritance of submodule locator macro.

- Recognize admin-flag and dummy creator fields in schema

========================
Changes in version 1.3.8
========================

- Normalize jurisdiction codes to enable conversion in the abbrevs
  filter.

========================
Changes in version 1.3.7
========================

- Further fix for inline locator markup.

========================
Changes in version 1.3.6
========================

- Fix a bug in inline locator markup triggered by
  empty term definitions.

========================
Changes in version 1.3.5
========================

- Use title-short for parallel title match.

========================
Changes in version 1.3.4
========================

- Fix bugs in awful date parsing code.

========================
Changes in version 1.3.3
========================

- Recognize a vertical bar ("|") character in a numeric field as
  signifying a numeric plural. Useful for multiple descriptive docket
  numbers in cites to unpublished cases.

========================
Changes in version 1.3.2
========================

- Implement cross-cite element trimming and suppression, as
  required for parallel citations and subsequent history.

========================
Changes in version 1.3.1
========================

- Introducing a simplified (and now stable) mechanism for parallel
  citation support. Like 2019 revision, assumes cites to be rendered
  in parallel share IDs in a seeAlso array attribute. Just three
  group attributes perform the magic:
  * parallel-first (render in 1st position, then only when one of the
        specified variables differs)
  * parallel-last (render in last position, and on any change from 1st
        in any of the specified variables)
  * parallel-delimiter-override: use a special delimiter if collapsed,
        or if neither parallel-first nor parallel-last is set on the
        group.

=========================
Changes in version 1.2.36
=========================

- Provide for partial trimming of abbreviated authority
  based on markup in abbreviated container-title.

- Treat values without label and those with a custom label
  identically in comma-safe group conditional.

- Apply label-form on macro wrapper to embedded labels

- Treat hyphenated escape-hyphenated numbers as plural

=========================
Changes in version 1.2.35
=========================

- Make backslash-escape-hyphen handling more robust.

- Always set label on non-numeric values as singular.

  https://github.com/Juris-M/citeproc-js/issues/124

- Recognize some roman numerals ([ixv]) as numeric.

=========================
Changes in version 1.2.34
=========================

- Implement use-first on institution names rewritten with institution-parts="short"

=========================
Changes in version 1.2.33
=========================

- Properly apply subsequent-author-substitute to cs:text rendered via cs:substitute.
  See: https://forums.zotero.org/discussion/comment/350407

=========================
Changes in version 1.2.32
=========================

- Fix crash bug on single quotes inside tags

=========================
Changes in version 1.2.31
=========================

- Fix error in title-case treatment of text-case="title". At last!

  https://github.com/Juris-M/citeproc-js/issues/120

- Tweak behavior of is-numeric

=========================
Changes in version 1.2.30
=========================

- Accommodate citations with no items in author-only mode.

  Report by Alf Eaton: https://github.com/Juris-M/citeproc-js/issues/127

=========================
Changes in version 1.2.29
=========================

- Drop time from ISO date strings before parsing

=========================
Changes in version 1.2.28
=========================

- Avoid auto-split of titles on legal_case type
- Update CSL schemata (for court-class support)
- Update style tests
- Update modules

=========================
Changes in version 1.2.27
=========================

Fix several issues with court-class support

=========================
Changes in version 1.2.26
=========================

Implement court-class locale element, variable, and condition

=========================
Changes in version 1.2.25
=========================

- Fix a bug that broke parallel citation support when
  invoke via module loading.

=========================
Changes in version 1.2.24
=========================

- Changes to parallel citation handling:

  * former no-repeat (for use with is-parallel) is now changes-in
  * new no-repeat attribute, which works on its own, and covers non-related items
  * new parallel-delimiter-override allows explicit delimiter join for related/un-repeated cites
  * code improvements: parallels engine not instantiated if not used, some refactoring for clarity

=========================
Changes in version 1.2.23
=========================

- Pre-process style module code when called.

=========================
Changes in version 1.2.22
=========================

- Create parallel blobs array at instantiation, to avoid crash
  on an early call to parallel evaluation.

=========================
Changes in version 1.2.21
=========================

- Block implicit short title if "main" title is purely numeric:


  https://forums.zotero.org/discussion/78458/incomplete-reference-title-in-text-citation

=========================
Changes in version 1.2.20
=========================

- Implicit short title, disabled by default

  https://forums.zotero.org/discussion/comment/336437/#Comment_336437

=========================
Changes in version 1.2.19
=========================

- Do not print secondary or tertiary language variants that match primary

=========================
Changes in version 1.2.18
=========================

- On URL with form="short", truncate to host only, and include protocol
  prefix only if no leading www

- Force alignment of title-short casing with main title

  https://forums.zotero.org/discussion/comment/335938/

=========================
Changes in version 1.2.17
=========================

- Allow irrational ranges to pass through without error when
  page-range-format="minimal" is applied.

  https://forums.zotero.org/discussion/78267/error-refreshing-vancouver-rapport-id-1919864613

=========================
Changes in version 1.2.16
=========================

- Fix bugs in CSL-M require/reject attributes to cs:group.

=========================
Changes in version 1.2.15
=========================

- Housekeeping update. Remove decommissioned attributes from schema, tests,
  docs, and processor code. Still work to be done on docs, some things
  remain to be covered.

=========================
Changes in version 1.2.14
=========================

- Block ibid if locator-extra differs.

  https://forums.zotero.org/discussion/15636/changes-to-fields-and-item-types-for-zotero-5-1#Comment_335357

=========================
Changes in version 1.2.13
=========================

- Fix a bug in CSL-M locale conditional triggered when
  cs:choose is an immediate child of cs:substitute.

  https://github.com/Juris-M/citeproc-js/issues/107

- Just issue little warnings when note numbers make no
  sense.

  https://github.com/zotero/zotero-libreoffice-integration/commit/bb21e3c150994254d41003c39a5a0a5ba9ca2188

=========================
Changes in version 1.2.12
=========================

- Revised support for parallel citations. Input expects an array
  of related IDs in seeAlso as a hint to items that may be treated
  as part of a series in the style. In the style, groups are flagged
  for inclusion or omission by attributes is-parallel="first",
  is-parallel="last", or no-repeat="<varname1> <varname2> ..."
  In the last case, content is suppressed if *all* variables
  named are identical in the current cite and the preceding cite
  in a series.

=========================
Changes in version 1.2.11
=========================

- Set space after de' when used as dropping particle

=========================
Changes in version 1.2.10
=========================

- Avoid crash under some obscure disambiguation conditions.

  https://forums.zotero.org/discussion/77849/report-id-1635808036

========================
Changes in version 1.2.9
========================

- Added some style tests

- Split jurisdiction preferences on space and in other CSL
  attribute values, not on comma.

========================
Changes in version 1.2.8
========================

- Updates to style tests

- Updates to style modules

- Process extra date to array on retrieval, and always process if no
  main entry

- Test for the above

========================
Changes in version 1.2.7
========================

- Fix bug triggered by APA bug and multilingual settings

- Localize ampersand if poss, but render full form of "and"
  (either en or localized) as-is, recognizing as plural.
  See: https://forums.zotero.org/discussion/77628/citeproc-js-referring-to-single-vs-multiple-paragraphs

========================
Changes in version 1.2.6
========================

- Avoid potential type error when strip-periods is set
  on cs:date-part

========================
Changes in version 1.2.5
========================

- Convert number to string before string operation

========================
Changes in version 1.2.4
========================

- Fix bug in cs:intext triggered by grouped sorts.

========================
Changes in version 1.2.3
========================

* Adjust a test to reflect new modulare style logic
  (Jurism US module now renders only authority, not jurisdiction,
  in the legal_case type)

* Send raw institution keys to abbrevs filter
  (Using raw machine-readable keys was always the right way,
  human-readable form should not have been used for this)

* Recognize "division" as a numeric variable

* Broaden French subtitle split condition in multiple subtitles to include ? and !

* Tweaks for narrow no-break-space in fr locale

* Remove unused flags from state.js

* More generous subtitle capitalization

* Tests of new title split/subtitle caps code

========================
Changes in version 1.2.2
========================

- Enable build-time flag for uppercasing subtitles in sentence case
  rendering. Flag is a setting on the Sys object that provides
  retriveItem and other goodies to the processor:

    var sys = {
      retrieveItem: function(id) {
        // return item
      },
      ...
      uppercase_subtitles = true
    }
    var citeproc = CSL.Engine(sys, styleCSL);


========================
Changes in version 1.2.1
========================

- Align disambig priorities with spec by default.

  The CSL Specification calls for year-suffix to be applied before
  disambiguate="true" conditions are tried. `citeproc-js` previously
  applied these in the opposite order by default, but from this
  version, default behavior is aligned with the spec.

  The previous behavior can be restored with the following setting
  on the `sys` object fed to the processor at instantiation:

    sys.prioritize_default_condition = true;

- A number of tests that are specific to `citeproc-js` have been
  moved from the `test-suite` CSL repository to citepro-js
  `fixtures/local`.

