==========================
Changes in version 1.0.561
==========================

- Do not mask lower-tier jurisdictions from memory lists
  used to generate menus and such when a higher-tier
  jurisdiction hits for an abbreviation.

==========================
Changes in version 1.0.560
==========================

- Fix (the last?) grouping bug in modular jurisdiction code.

- Place the interative retry logic for jurisdiction modules
  in the processor, and delegate only single try attempts
  to the external retrieveStyleModule() hook function.

- Fix a bug in XML traverse affecting jurisdiction loading
  in some environments.

==========================
Changes in version 1.0.559
==========================

- Fix bugs in modular jurisdiction support.

- Implement mode without institution name reordering,
  and make it the default.


==========================
Changes in version 1.0.558
==========================

- If nesting issues in new law style module code.

==========================
Changes in version 1.0.557
==========================

- Preliminary support for law style modules.

==========================
Changes in version 1.0.556
==========================

- When suppressing initial-term capitalization on items with a
  single-word prefix, ignore leading and trailing spaces on the
  prefix when determining whether it consists of a single word.

==========================
Changes in version 1.0.555
==========================

- Preserve the last name in the list, in case we're rendering with a 
  PI ellipsis (et-al-use-last). Fault reported by Chris Maloney.

==========================
Changes in version 1.0.554
==========================

- Extend jurisdiction suppression to hearings

==========================
Changes in version 1.0.553
==========================

- Adjustment for new jurisiction identifier schema.

==========================
Changes in version 1.0.552
==========================

- Reflect style class attribute on citeproc.opt.class as well
  as citeproc.opt.xclass, per promise made here:

    https://github.com/zotero/zotero/commit/d894fdb1d445f02aa8ee1f46f9fc3ee0cbb71462

==========================
Changes in version 1.0.551
==========================

- Send human-readable form of identifiers to the abbreviation
  function, if a citeproc.getHumanForm() hook function
  is defined.

==========================
Changes in version 1.0.550
==========================

- Fix bug in xmldom.js. When extracting a node by attribute value,
  code failed to discriminate non-matching nodes from nodes with
  no such attribute. Thanks to Carles Pina for reporting the fault.

==========================
Changes in version 1.0.549
==========================

- Fix issue in subtitle capitalization.

  https://forums.zotero.org/discussion/35190/beta-capitalization-after-colons/#Item_37

==========================
Changes in version 1.0.548
==========================

- Allow parallel cite treatment only if top-level jurisdiction matches.

==========================
Changes in version 1.0.547
==========================

- Fix punctuation migration, merger and duplicates control code.
  Prompted by bug report from Brenton Wiernik:

    https://forums.zotero.org/discussion/41934/suppressing-period-in-citations-with-other-punctuation/

==========================
Changes in version 1.0.546
==========================

- Recognize an option to capitalize the first word in subtitles.
  May need to be controlled for language.

==========================
Changes in version 1.0.545
==========================

- Do not assume first character when prefix ending in a period
  has no spaces. Heuristic proposed by Sebastian Karcher (adamsmith):

    https://forums.zotero.org/discussion/41775/first-character-lowercase-ibid/

==========================
Changes in version 1.0.544
==========================

- Fix display="indent" in RTF output.

- Fix page-range-format, broken by a recent commit.

==========================
Changes in version 1.0.543
==========================

- Fix potential crash in util_flipflop.js on weird spaced-off
  straight single quote marks. Fault reported by Carles Pina.
  https://bitbucket.org/fbennett/citeproc-js/src/tip/tests/fixtures/local/bugreports_MendeleyApostrophe.txt
  Thanks to Carles also for the long wait in clearing this one -
  it took awhile.

==========================
Changes in version 1.0.542
==========================

- Fix duplicate punctuation caused by initialized names with
  leading punctuation on suffix separated by styling
  decoration at arbitrary level. Thanks to Sebastian
  Karcher for reporting:

    https://twitter.com/adam42smith/status/515321387062284288

==========================
Changes in version 1.0.541
==========================

- Fix prefix-cite interspace handling (was erroneously adding
  space on almost all non-alpha characters).

- Add support for suppression of trailing punctuation on
  note styles (currently in MLZ only).

==========================
Changes in version 1.0.540
==========================

- Fix bug in editor + translator rendering with institution names
  (affects only CSL-m styles)

==========================
Changes in version 1.0.539
==========================

- Fix crashing bug triggered by certain update operations. Reported
  by Markus Piipari, with this fix:
  
    https://bitbucket.org/fbennett/citeproc-js/issue/166/second-call-to-updateitems-fails-with

  The fix might also address the following error report on the Zotero forums:

    https://forums.zotero.org/discussion/39244/error-mlz-citation-processor-only-works-second-time/


==========================
Changes in version 1.0.538
==========================

- Fix a disambiguation bug affecting styles that use by-cite
  givenname disambiguation with differing values for et-al-min and
  et-al-subsequent-min.

  https://forums.zotero.org/discussion/38512/help-with-disambiguation

==========================
Changes in version 1.0.537
==========================

- Apply options to localCompare() when sorting citations and bibliography
  entries. Options invoked are:

    {
        sensitivity:"base",
        ignorePunctuation:true,
        numeric:true
    }

  See:

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_identification_and_negotiation

  Thanks to Aurimas Vinckevicius for reporting an inconsistency in sorting, and
  for pointing out these options as a way of eliminating it.

==========================
Changes in version 1.0.536
==========================

* Recognize "cslstyle" as the top-level node containing cs:style 
  (for some releases of citeproc-node). Thanks again to Steve Ridout
  for tracking this down.

==========================
Changes in version 1.0.535
==========================

* Fix misrendering of numbers under some condition (most importantly, the
  CSL Visual Editor). Thanks to Steve Ridout for reporting the fault.

==========================
Changes in version 1.0.534
==========================

* Add a space after trailing closing parens or bracket on user-supplied
  prefix. A response to Gracile here:

    https://forums.zotero.org/discussion/37875/citeprocjs-should-add-a-whitespace-after-a-prefixbefore-a-suffix-in-more-cases

==========================
Changes in version 1.0.533
==========================

- Fix potential bugs in code around variableWrapper().

==========================
Changes in version 1.0.532
==========================

- Use localCompare() for title comparisons needed by
  subsequent-author-substitute. Thanks to @aurimas for
  this suggestion.

- Improved interface for variableWrapper() method:

    this.variableWrapper = function (params, prePunct, str, postPunct) {
        if (params.variableNames[0] === 'title' 
            && params.itemData.URL 
            && params.context === "citation" 
            && params.position === "first") {

            return prePunct + '<a href="' + params.itemData.URL + '">' + str + '</a>' + postPunct;
        } else if (params.variableNames[0] === 'first-reference-note-number' 
                   && params.context === "citation" 
                   && params.position !== "first") {

            return prePunct + '<b>' + str + '</b>' + postPunct;
        } else {
            return (prePunct + str + postPunct);
        }
    };


==========================
Changes in version 1.0.531
==========================

- Implement field-level citation wrappers as a caller-provided
  variableWrapper() function hook on the sys object. Example:

  sys.variableWrapper = function (itemData, variableNames, str, punct) {
      if (variableNames[0] === 'title' && itemData.URL) {
          return '<a href="' + itemData.URL + '">' + str + '</a>' + punct;
      } else {
          return (str + punct);
      }
  }

==========================
Changes in version 1.0.530
==========================

- Include note numbers in rendered disambiguation strings when
  givenname-disambiguation-rule="by-cite" (the default rule) is 
  in force.

- Add disambiguate="check-ambiguity-and-backreference" option,
  for use on first-position cites that must check whether
  disambiguation is true without affecting the incremental 
  truthiness of the disambiguation conditionals.

- Improve backreference updates for styles that use the
  disambiguate conditional.

- Control for the non-breaking-space suffix used to join names
  in some French citation styles.

- Treat title-short on input as fully equivalent to shortTitle
  for the purposes of form="short" on the title variable.

==========================
Changes in version 1.0.529
==========================

- Derive CSL-m variables title-main and title-sub from either
  shortTitle or title-short.

- Protect against DOM engines that set the root document above
  above cs:style node. This happens with jsdom, and possibly
  others. Implementers shouldn't need to worry about this.

==========================
Changes in version 1.0.528
==========================

- Provide automatic space before parenthetical suffixes.

==========================
Changes in version 1.0.527
==========================

- Reimplement duplicate space and punctuation suppression,
  punctuation merging, and quote swapping. Related discussion
  is here:

      https://forums.zotero.org/discussion/37091/citeproc-bug-punctuation-in-quotes/

- Introduce a hook for normalizing Unicode to avoid sort failures.
  Thread prompting the change is here (thanks to user isabel-h1 for reporting):

      https://forums.zotero.org/discussion/37201/mlz-sorting-problem-in-chinese-transliteration/

==========================
Changes in version 1.0.526
==========================

- Fix bug in page-range-format affecting certain locales. Addresses
  https://forums.zotero.org/discussion/33793?page=1#Item_13

==========================
Changes in version 1.0.525
==========================

- Add optional call to getSuppressJurisdictions() offered
  by the Abbreviation Filter.

==========================
Changes in version 1.0.524
==========================

- Expose the style name as citeproc.opt.styleName

==========================
Changes in version 1.0.523
==========================

- Fix typo in regexp that could trigger a processor crash.
  Thanks to Carles Pina for reporting this fault.

==========================
Changes in version 1.0.522
==========================

- Remove workaround code for Unicode sorting. localeCompare() now
  seems to be generally working in JavaScript implementations.

==========================
Changes in version 1.0.521
==========================

- Fix global variable in formatters.js, with thanks to
  anonymous user reporting to the citeproc-js bug tracker.

==========================
Changes in version 1.0.520
==========================

- Include multilingual variants when remapping to authority
  creator variable. Error reported by MLZ user wonblee.

==========================
Changes in version 1.0.519
==========================

- Fix segment names used to fetch container-title-short
  info for journal name abbreviations.

==========================
Changes in version 1.0.518
==========================

- Ignore false blobs when pushing to output queue. Avoids a
  crash condition when rendering names with multilingual
  elements.

==========================
Changes in version 1.0.517
==========================

- Prevent et-al decorations and term selections in cs:citation
  from affecting cs:bibliography. Bug identified by adamsmith.

==========================
Changes in version 1.0.516
==========================

- Allow initials-only format in bibliography with
  all-names-with-initials and primary-name-with-initials
  disambiguation rules. Fixes bug identified by tipichris
  and adamsmith.

==========================
Changes in version 1.0.515
==========================

- Fix bug that dropped multilingual variants when rendering
  institution names. Reported by MLZ user egrebnev.

==========================
Changes in version 1.0.514
==========================

- Fix newly introduced bug triggered by name-as-sort-order on
  cs:style-options.

==========================
Changes in version 1.0.513
==========================

- Exclude Hebrew vav (&#x05d5;) from romanesque regexp, so that
  spacing can be set explicitly on the "and" term.

==========================
Changes in version 1.0.512
==========================

- Fix bug in near-note reported by Devin Roza.

==========================
Changes in version 1.0.511
==========================

- Implement locale style options name-as-sort-order and
  name-never-short. Yields much more flexible handling of
  non-Romanesque names (Vietnamese, Chinese, Hungarian, Japanese,
  Myanmar ...)

g==========================
Changes in version 1.0.510
==========================

- Fix bug in decorations applied to a macro containing a cs:number
  element, exposed by code simplification at tag 1.0.498.

==========================
Changes in version 1.0.509
==========================

- Recognize a cs:style-options attribute "leading-noise-words".
  The attribute is optional in CSL-m locales, and takes a comma delimited
  list of words as its argument. The value is locale-specific, and
  will not fall back. Currently relevant only in CSL-m.

- Fix up pre-parsing regexps used with title- and sentence-case functions
  to produce cleaner string lists.

==========================
Changes in version 1.0.508
==========================

- Fix bug in date parser toArray() method reported by
  Michel Krämer.

- Fix bug in name constraints when et-al-min is not set
  in cs:bibliography, reported by Sebastian Karcher.

==========================
Changes in version 1.0.507
==========================

- Handle dropping and non-dropping name particles that begin with an apostrophe.

==========================
Changes in version 1.0.506
==========================

- Recognise generic (single-element) locales as such
  in cs:layout and cs:sort, and respect the matching
  priorities set in cs:layout when applying locales
  in cs:sort.

==========================
Changes in version 1.0.505
==========================

- Allow push/pop on output stack inside macros that render
  a date.

==========================
Changes in version 1.0.504
==========================

- Assure that the locale set on CSL-m specific default-locale-sort
  attribute is always configured in the processor locale.

==========================
Changes in version 1.0.503
==========================

- Generate sort keys using the layout's master locale for
  localised terms.

==========================
Changes in version 1.0.502
==========================

- Disable requiring explicit title-short on legal_case type
  by default (i.e. form="short" will now call shortTitle).

- Toggle options based on the version of the loaded style
  (i.e. CSL-m styles will automatically be run in CSL-m mode).

==========================
Changes in version 1.0.501
==========================

- Implement CSL-m specific test of genre field content
  (limited to "email" and "instant-message" options).
  This plays with genre field content supplied by MLZ on
  the respective types, and is needed for localisation.

==========================
Changes in version 1.0.500
==========================

- Avoid redundant calls to substituteStart and substituteEnd
  when casting macros.

- Avoid quashing labels when full cs:names nodes are nested.

==========================
Changes in version 1.0.499
==========================

- Limit loss of suffix on elements receiving multilingual
  supplements to comma, space and full stop (preserving
  parens). This adjustment may see further refinement in the
  light of experience.

- Avoid attempting to create a locale object with undefined
  as locale string, which triggers an error on Mac OS X.

==========================
Changes in version 1.0.498
==========================

- Avoid repeated text escaping of delimiters between numeric
  blobs.

- Fix Firefox branch of locale sort function to use processor instance
  default-locale, without reference to "applicationLocale".

==========================
Changes in version 1.0.497
==========================

- Recognize a full stop in a quotation mark within a cite prefix
  for term capitalisation purposes.

- Recognize a leading full stop on a cite prefix for delimiter purposes,
  where the preceding cite suffix is empty.

==========================
Changes in version 1.0.496
==========================

- Extend coverage of Greek characters in ROMANESQUE regexps.

==========================
Changes in version 1.0.495
==========================

- Use safe string values for hard-coded kanji era labels
  in Japanese imperial data function.

==========================
Changes in version 1.0.494
==========================

- Limit name-as-sort-order="first" to the first name rendered
  in a nameset, accounting for multiple blocks of personal
  names. Thanks to MLZ user mlwang for pointing out the need
  for the restriction.

==========================
Changes in version 1.0.493
==========================

- Control for double spacing before leading apostrophes
  (as with '09).

==========================
Changes in version 1.0.492
==========================

- Use localised symbolic form of "and" ("&") when rendering names.
  Disabled by default. Option is:

    citeproc.opt.development_extensions.expect_and_symbol_form = true

==========================
Changes in version 1.0.491
==========================

- Check the shortTitle field, and require a match as a
  precondition of parallel merging.

==========================
Changes in version 1.0.490
==========================

- Simple support for Japanese imperial date output. Covers only
  post-1867 era.

- Turn off experimental RTL support by default.

==========================
Changes in version 1.0.489
==========================

- Simplified rewrite of style build code. The old version was written while I was
  struggling to learn JavaScript. Citeproc-js began raising a recursion error
  in Firefox 24 with the MLZ American Law style, and in background reading preparatory 
  to filing a bug report it became clear that "in any case, if you're getting a recursion
  error, there are serious problems with your code." The next build function is based on a
  sample from Douglas Crockford. From this version, the American Law style loads without
  a hitch under FF 24, and (of course) all tests still pass.

==========================
Changes in version 1.0.488
==========================

- Avoid applying abbreviation hint lists to non-legal item titles.

==========================
Changes in version 1.0.487
==========================

- Fix error in application of affixes with multiple locales.
  Error reported by Zotero forum user mlwang:
  https://forums.zotero.org/discussion/32329/mlz-bugs-with-multilocale-citation

==========================
Changes in version 1.0.486
==========================

- Fix "this.registry[id].givens[i] is undefined" bug.

==========================
Changes in version 1.0.485
==========================

- Move punctuation on inner as well as outer quotes.

==========================
Changes in version 1.0.484
==========================

- Fix several bugs in the handling of names with institution
  elements and et-al rendering parameters. Thanks to Tom Philpot
  for reporting the fault:

    https://bitbucket.org/fbennett/citeproc-js/issue/152/error-rendering-literal-translator-in

==========================
Changes in version 1.0.483
==========================

- Fix a bug in the locale test caused by a bad closure.

==========================
Changes in version 1.0.482
==========================

- Avoid reconfiguring all tested locales from XML source
  every time the new "locale" condition is invoked as a
  normal conditional.

==========================
Changes in version 1.0.481
==========================

- Move name term and connector evaluation from build to
  runtime. It was a nice thought to save a little overhead,
  but multilingual breaks without runtime evaluation based
  on item content.

==========================
Changes in version 1.0.480
==========================

- Remove force-locale-terms-to-default. A bare locale inside
  the style has the same effect.

- Implement stricter conditions for page number is-numeric
  evaluation, control via strict_page_numbers development
  extensions option. Off by default.

==========================
Changes in version 1.0.479
==========================

- Add force-locale-terms-to-default attribute, for styles that
  use locale-based conditions.

==========================
Changes in version 1.0.478
==========================

- Use meaningful logic for number of volumes and number of pages.

==========================
Changes in version 1.0.477
==========================

- Ignore hyphens when applying title-case etc. Fixes bug
  reported by Sebastian Karcher.

================================================
Changes in version 1.0.476 [language API change]
================================================

- Separate main title from journals etc in language configuration
  control interface. This changes the expected input on the language
  control functions in api_control.js.

==========================
Changes in version 1.0.475
==========================

- Don't corrupt citation order in rebuildProcessorState()

==========================
Changes in version 1.0.474
==========================

- Fix a recently introduced bug that caused the suffix to be lost on the
  leading partner of two consecutive numeric blobs.

==========================
Changes in version 1.0.473
==========================

- Fix bug in editortranslator collapsing (caused by a missing
  offset value).

==========================
Changes in version 1.0.472
==========================

- Fix bug in empty string elements included in a numeric
  blob series.

==========================
Changes in version 1.0.471
==========================

- Implement citation-number collapse on grouped elements.

==========================
Changes in version 1.0.470
==========================

- Avoid crash observed with CMS Full Note in MLZ.

==========================
Changes in version 1.0.469
==========================

- Allow call-number variable (exceptionally) to abbreviate as a non-numeric number var,
  despite being (presently) non-numeric in CSL-m.

==========================
Changes in version 1.0.468
==========================

- Attempt to solve LTR/RTL quandary (parens only, may mess
  up RTL cite content).

==========================
Changes in version 1.0.467
==========================

- Add African Union, Arbitration, and ICJ (subjurisdiction to UN)
  to jurisdiction data.

==========================
Changes in version 1.0.466
==========================

- Fix hanging bug in disambig_cites.js

- Force "any" when testing for multiple item types

- Add Romanian s with hanging comma (like cedilla) to
  Romanesque character pattern match

- Add some code in an attempt to patch up parens behaviour
  in some RTL environments (MS Word).

==========================
Changes in version 1.0.465
==========================

- Fix bug in jurisdiction condition evaluation.

- Recognize {stet} as shorthand for original field
  content in ordinary field abbreviations.

==========================
Changes in version 1.0.464
==========================

- Use nand not anynot.

==========================
Changes in version 1.0.463
==========================

- Fix broken sort of single-field names sent to the
  processor as ordinary personal names.

- Do not change page label from field content unless
  citeproc.opt.development_extensions.static_statute_locator
  is enabled.

==========================
Changes in version 1.0.462
==========================

- Fix leakage of name formatting parameters between bibliography
  and citations.

- Boost disambiguation levels in bibliography if required.

- Gracefully degrade disambiguation levels when partners of
  a disambiguated cite are removed from a document.

==========================
Changes in version 1.0.461
==========================

- Implement enhanced conditional syntax.

==========================
Changes in version 1.0.460
==========================

- Allow trailing matter on all cites in a procedural history
  citation.

==========================
Changes in version 1.0.459
==========================

- Provide item type to getAbbreviation() where category may
  be container-title and type may be chapter.

==========================
Changes in version 1.0.458
==========================

- Provide locale names mapping.

==========================
Changes in version 1.0.457
==========================

- Add "ca" to capitalisation skip list.

==========================
Changes in version 1.0.456
==========================

- Add "before", "after", "c", "through" and "et" to 
  capitalisation skip list.

==========================
Changes in version 1.0.455
==========================

- When comparing before-and-after name disambiguation
  settings, avoid comparing given name settings when
  the number of names is known to differ, as this can
  potentially throw an error.

==========================
Changes in version 1.0.454
==========================

- Treat page as a numeric variable in is-numeric.
  The is-numeric test should be generally available
  on all variables, but this covers the most common
  gotcha.

==========================
Changes in version 1.0.453
==========================

- Do not sub title for title-short on legal types (aligns
  behaviour with other types).

==========================
Changes in version 1.0.452
==========================

- Fix bug in new conditional evaluation code exposed in some
  JavaScript implementations.

==========================
Changes in version 1.0.451
==========================

- Really fix the bug in disambiguation rule selection.
  Default now really is now by-cite. Really.

- Implement incremental application of disambiguate="true"
  condition.

==========================
Changes in version 1.0.450
==========================

- Fix a bug in default disambiguation rule selection.
  Thanks to @adamsmith and @mattchoj for reporting this.

==========================
Changes in version 1.0.449
==========================

- Fix a bug in rebuildProcessorState() that struck when
  run a second time against an instantiated processor.
  Thanks to Simon Hewitt for reporting.

- Add van, von, de and d' to the title-case capitalisation
  suppression list.

- Code cleanup for conditional statements.

- Implement an optional not: prefix on individual argument elements
  and add *-any and *-all forms for the following condition attributes:
    * is-numeric
    * is-uncertain-date
    * locator
    * type
    * variable
    * jurisdiction (MLZ only)
    * page (MLZ only)

  The changes above will make more compact CSL code possible
  in complex citation styles.
    

==========================
Changes in version 1.0.448
==========================

- Do not capitalise the first character of an in-text
  citation.

==========================
Changes in version 1.0.447
==========================

- Fix loss of delimiters on adjacent cs:number
  nodes.

==========================
Changes in version 1.0.446
==========================

- Run updateItems() exactly once in rebuildProcessorState()

- Fix output mode selection in rebuildProcessorState()

==========================
Changes in version 1.0.445
==========================

- Do not remove uncited items in updateItems()

- Simplify code in rebuildProcessorState()

==========================
Changes in version 1.0.444
==========================

- Final fix for updateUncitedItems() (I hope).

- Apply subsequent-author-substitute only to namesets
  rendered at the very beginning of a bibliography entry.

- Handle disambiguate="true" correctly.

- Render transformed long and short legal_case names with
  variable="title" + form="short" and variable="title-short"
  + form="short" respectively.

------------------------------------
Mishandled or unimplemented features
------------------------------------

==========================
Changes in version 1.0.443
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug affecting updateUncitedItems().

==========================
Changes in version 1.0.442
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug affecting punctuation-in-quote. Thanks to
  @adamsmith and @tipichris for reporting the fault.

==========================
Changes in version 1.0.441
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not force capitalisation of hyphenated first-position non-dropping
  particles.

==========================
Changes in version 1.0.440
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Handle hyphenated name particles.

- Remove forced lowercasing of name particles with normal
  name ordering.

- Refinements to new rebuildProcessorState() function.

==========================
Changes in version 1.0.439
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- New rebuildProcessorState() function provides a simple
  API for building valid cites from a list of citation
  objects.

  The restoreProcessorState() has frequently been
  misunderstood to provide the service of the new
  function. I have not heard of any instances in which
  restoreProcessorState() is used for its originally
  intended purpose. I've noted in a comment that it is
  deprecated, and unless there are objections, it will
  be removed from the code at some point in the future.

==========================
Changes in version 1.0.438
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement loose matching of language variable for text-case
  only. If the first two characters in the "language" variable
  are "en" (case-insensitive), the language will be read as "en".
  If the "language" variable has a value and it does not begin
  with "en", the language is set to "tlh" (Klingon).

  The behaviour is controlled by a processor toggle, with the
  following default:

    citeproc.opt.development_extensions.strict_text_case_locales [false]

  Although loose matching behaviour is set as the processor default,
  it diverges from the CSL Specification:

    http://citationstyles.org/downloads/specification.html#non-english-items

  For strict CSL-conformant behaviour, set the toggle as follows:

    citeproc.opt.development_extensions.strict_text_case_locales [true]

==========================
Changes in version 1.0.437
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be less aggressive about capitalising name
  particles. Force particles to lowercase when
  names are rendered in ordinary name order.

==========================
Changes in version 1.0.436
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix is-numeric conditional to test false against
  an empty variable.

==========================
Changes in version 1.0.435
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Apply subsequent-author-substitute without regard
  to name labels.

==========================
Changes in version 1.0.434
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in date parser that mistook a portion of a
  time as a date element.

==========================
Changes in version 1.0.433
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix erroneous parallel treatment of Japanese case
  cites in MLZ AmLaw/CMSFull.

==========================
Changes in version 1.0.432
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid suppressing a semicolon following a period
  in names. Addresses a fault report from Zotero
  user Mira Bulo.

==========================
Changes in version 1.0.431
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix delimiters on repeat references to the same
  item. Many thanks to Aurimas Vinckevicius for the
  fault report.

==========================
Changes in version 1.0.430
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix numerous small issues around static section
  locators. Disabling the option (the default) should
  entirely disable the behaviour. Was not the case, now
  fixed. Internal mappings for book, folio, sub verbo,
  and issue labels were broken, also now fixed.

==========================
Changes in version 1.0.429
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a fatal bug triggered by a single quote
  surrounded by spaces, when wrapped in double
  quotes by the style.

==========================
Changes in version 1.0.428
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Replace another array reference to a string object
  with slice.

==========================
Changes in version 1.0.427
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Introducing JSON style and locale loading. Code is
  contained in xmljson.js

==========================
Changes in version 1.0.426
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Squash a.sortkeys undefined bug for good.

==========================
Changes in version 1.0.425
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix "undefined" bug affecting certain locator labels
  on legal types.


==========================
Changes in version 1.0.424
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Optionally a custom introduce stringCompare
  function through sys. Thanks to Carles Pina
  for the patch.

==========================
Changes in version 1.0.423
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug affecting date sort keys consisting of less
  than a full date generated via macro.

==========================
Changes in version 1.0.422
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize all-uppercase variable names in input
  field hack.

========================================================
Changes in version 1.0.421 [API CHANGE] (parallels only)
========================================================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize extended date variables.

- Shift same-year suppression from original-date
  back to issued.

- Provide a gender attribute on cs:number to allow
  gender to be set to an explicit value. Useful when
  alternative labels are applied to a variable on a
  particular type.

==========================
Changes in version 1.0.420
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Eliminate the cs:generate node, as more trouble
  than it will be worth.

- Use title as implicit fallback for title-short on legal
  types.

==========================
Changes in version 1.0.419
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Small refinement to short-forming of legal type titles.

==========================
Changes in version 1.0.418
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix hereinafter.

==========================
Changes in version 1.0.417
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in trigraph support affecting
  some JavaScript engines. Thanks to Simon
  Hewitt for pinning these down.

==========================
Changes in version 1.0.416
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in space stripping that affected
  some JavaScript engines.

==========================
Changes in version 1.0.415
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in text-case. Thanks to MTadd for the fault
  report.

==========================
Changes in version 1.0.414
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use lang tag on headline field if available.

==========================
Changes in version 1.0.413
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Set locale properly on language transform elements,
  and suppress text-case="title" as appropriate within
  each element.

==========================
Changes in version 1.0.412
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix breakage of short-form titles when option
  main_title_from_short_title is enabled.

- Implement virtual variables title-main and title-sub,
  controlled by main_title_from_short_title processor
  option.

==========================
Changes in version 1.0.411
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix "section" bug affecting statutory types

==========================
Changes in version 1.0.410
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Make archive and archive-place variables multilingual
  and open to abbreviation, addressing a need pointed
  out by Titus Nemeth.

==========================
Changes in version 1.0.409
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix fatal bug in the handling of labels in cs:names
  nodes called via macro from cs:substitute.

==========================
Changes in version 1.0.408
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement cite-group-delimiter

==========================
Changes in version 1.0.407
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement delimiter-precedes-et-al="after-inverted-name"
  and delimiter-precedes-last="after-inverted-name"

==========================
Changes in version 1.0.406
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow italics on numeric strings.

==========================
Changes in version 1.0.405
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not apply initials to given names that begin with a non-romanesque character
  unless the initials template contains "%s".

- Fix bug that prevented pluralisation of terms set by a single leading in-field
  label abbreviation, with thanks to Ty Vichet for reporting the fault.

==========================
Changes in version 1.0.404
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Limit transliteration italics to title (exclude
  container-title).


==========================
Changes in version 1.0.403
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Capitalise the first letter of a name particle if
  it is the first-occurring word in a citation.


==========================
Changes in version 1.0.402
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add an exception for Hungarian names, to control name ordering. To
  invoke the exception, set the item default language to "hu", or set
  an "hu" tag on the name field. The behaviour for the Vietnamese
  exception ("vi" -- previously implemented incorrectly as "vn") has
  aligned to recognise a default language on the item.


==========================
Changes in version 1.0.401
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Treat a top-level cs:choose as a unit within cs:substitute

- Fix hereinafter support

==========================
Changes in version 1.0.400
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Drop creator labels when generating sort keys.

- Ignore genre variable when evaluating parallels for legal types.

==========================
Changes in version 1.0.399
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add option to disable shortTitle as short form
  and enable main title / short title parsing
  (the latter remains to be implemented)

- Protect against Day Zero in the embedded date
  parser.

- Suppress affixes when generating wrapped cites.


==========================
Changes in version 1.0.398
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Strip affixes from citation rendered with link wrapper.

==========================
Changes in version 1.0.397
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect against zero as a day value in date parser.

==========================
Changes in version 1.0.396
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Capture locator_txt and suffix_txt values for use with 
  cite wrappers in next-generation RTF Scan.

==========================
Changes in version 1.0.395
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide for applying arbitrary wrappers around
  cites. Function has access to unique item ID supplied
  by calling application.

==========================
Changes in version 1.0.394
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix infinite loop in by-cite disambiguation with
  disambiguate-add-givenname when given name values
  are empty. Thanks to johannes.kruse for reporting
  the fault.

==========================
Changes in version 1.0.393
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in cs:substitute suppression affecting nested names
  constructs. Many thanks Sebastian Karcher for the fault report.

- Fix a bug in name label overrides with nested names
  constructs.

  Test covering both issues is here:

    https://bitbucket.org/bdarcus/citeproc-test/src/ab136a6aa8f2/processor-tests/humans/substitute_SuppressOrdinaryVariable.txt


==========================
Changes in version 1.0.392
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in gender assignment affecting some variables
  in some styles (including edition in CMS). Thanks to
  Gracile for reporting the fault.

==========================
Changes in version 1.0.391
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in raw date parser affecting partial
  Chinese/Japanese dates.

==========================
Changes in version 1.0.390
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use gender fallbacks when evaluating ordinals only
  if neutral term was explicitly defined.


==========================
Changes in version 1.0.389
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correctly handle locales that have no ungendered term
  defaults.

- Implement limit-day-ordinals-to-day-1.


==========================
Changes in version 1.0.388
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bugs in locale ordinals affecting gender
  alignment and CSL 1.0.1 ordinal term sets provided by a
  style.


==========================
Changes in version 1.0.387
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement CSL 1.0.1 ordinals.


==========================
Changes in version 1.0.386
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be a little more conservative in pluralisation.

- Use default locale always for accessed term,
  aligning behaviour with accessed date variable.

==========================
Changes in version 1.0.385
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- In multiple (multi-lingual) layouts, always use
  the default-locale (explicit or en-US implicit) to
  render the "accessed" date variable.

==========================
Changes in version 1.0.384
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Pluralize terms for all numeric variables containing
  a hyphen without backslash escape or an en-dash.

==========================
Changes in version 1.0.383
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tie in Lithuanian CSL locale.


==========================
Changes in version 1.0.382
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Escape affixes on cs:number.


==========================
Changes in version 1.0.381
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix sorting of strings that begin or end in [, " or '.
  No special handling for such characters inside the string
  yet, we'll see if there are complaints.

==========================
Changes in version 1.0.380
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix another bug affecting unknown locales defined within
  a style.

==========================
Changes in version 1.0.379
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a small but glaring bug in conditional logic behind
  multi-locale layouts.

==========================
Changes in version 1.0.378
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Honor the punctuation-in-quote attribute in multi-locale
  layouts.

==========================
Changes in version 1.0.377
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug that masked from view all locale nodes 
  embedded in a style that had an explicit xml:lang 
  attribute. Many thanks to MLZ user maras for putting
  forward the use case that forced identification of
  the fault.

==========================
Changes in version 1.0.376
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bugs in evaluation of per-layout locales.

- Fix a bug affecting numeric formatting of the
  trailing date of a range -- zero-padding was not
  being applied when requested.


==========================
Changes in version 1.0.375
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Adjust parallel cite pointers on delete. This is
  not perfectly automatic; document may need an explicit
  refresh to produce correct formatting after delete.


==========================
Changes in version 1.0.374
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Enable parallel cites only in position-sensitive
  styles (already enabled only for legal item types).


==========================
Changes in version 1.0.373
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Handle reformatting parallel citations in a live document
  more correctly.


==========================
Changes in version 1.0.372
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tighten conditions for is-numeric test to conform
  more closely to CSL specification.

- Abbreviate all numeric variables fed to cs:text with
  form="short" using the "number" segment.

- Apply abbreviations before processing to entire strings
  rendered via cs:number unconditionally on "number" segment,
  but add entries to UI only if variable tests false for
  is-numeric.

==========================
Changes in version 1.0.371
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Apply requested italics on transliterations only where
  content has actually been transliterated.

==========================
Changes in version 1.0.370
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix an unfortunate bug in the assignment of affixes
  to multilingual elements.


==========================
Changes in version 1.0.369
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- When rendering via cs:number, attempt to translate
  the field string before processing.

==========================
Changes in version 1.0.368
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add support for multilingual affix option on transliterated
  content in the primary slot. Changes the control UI, which
  now expects a list of 40 elements rather than 30 as before.

==========================
Changes in version 1.0.367
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Option to apply a workaround in HTML output for thin non-breaking
  spaces, which render incorrectly on Windows XP systems. The
  option is off by default. To turn the option on, set a toggle
  on the instantiated processor:

    citeproc.opt.development_extensions.thin_non_breaking_space_html_hack = true;

  This should be used only for HTML intended for rendering by
  browsers on the Web, and not for output intended for use as an
  intermediate conversion format.


==========================
Changes in version 1.0.366
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid a possible error when attempting to process
  multilingual citations with bad parameters.


==========================
Changes in version 1.0.365
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- New syntax for embedding suppression requests
  in abbreviation lists. Old (undocumented) syntax 
  to suppress subsequent fields was::

     !authority,jurisdiction<<<SCC

  Old syntax to suppress current field was::

     {suppress}

  New syntax to suppress subsequent fields (meant to be less likely to trip up on actual content) is::

     !authority,jurisdiction>>>SCC

  New syntax to suppress current field (which permits content to leak through on treaty or patent types) is::

     !here>>>US



==========================
Changes in version 1.0.364
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow trailing content after {suppress} in a jurisdiction
  "abbreviation" entry to leak through for patent and treaty 
  items types.

==========================
Changes in version 1.0.363
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Filter field category keys on object received 
  as argument to setLangPrefsForCites()


==========================
Changes in version 1.0.362
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid crash when locator variable is accessed
  in bibliography context.


==========================
Changes in version 1.0.361
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix the logic of the jurisdiction conditional test.

- Restore page and page-first to midVars list in the
  parallel detection machinery.

==========================
Changes in version 1.0.360
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Optionally loosen conditions for parallel citations to include
  article-journal and article-magazine types. Because the rules for
  citing the segments of a serialized article (the use case for this)
  vary between styles this cannot be made perfect for all cases
  automatically, but this code gets something readable into place that
  can either be used directly or tweaked to suit.

  This feature is disabled by default. It can be enabled by setting:

    citeproc.opt.development_extensions.handle_parallel_articles = true;

- Suppress italics when applied directly to non-romanesque strings in
  a rendering node.

- Suppress supplementary multilingual info on subsequent partners of a
  parallel citation.


==========================
Changes in version 1.0.359
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Honor {suppress} string on name parts
  and ordinary variables.

- Refactor code for is-numeric test to
  avoid unneeded runs of processNumber()
  and to fix potential faults with tests
  of multiple variables.

==========================
Changes in version 1.0.358
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in plurals detection in section
  + label + locator code.

==========================
Changes in version 1.0.357
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix parsing bug in section + label +
  locator code for statutory items.

==========================
Changes in version 1.0.356
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Clean up code for combining section variable
  with label and locator on statutory items.

==========================
Changes in version 1.0.355
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize Hebrew characters as romanesque.


==========================
Changes in version 1.0.354
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize endash when splitting out page-first
  value.

==========================
Changes in version 1.0.353
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix long-standing bug affecting month names
  when strip-periods was used on the date node.

==========================
Changes in version 1.0.352
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress bold, oblique and italic font characteristics
  on multilingual secondary and tertiary content.

==========================
Changes in version 1.0.351
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid a processor hang when disambiguate="true"
  and disambiguate-add-year-suffix="true" are both
  set by the style.

- Amend processor CPAL license option to require display of
  CSL attribution on a website used to distribute an 
  application that makes use of citeproc-js, as well 
  as in the application itself.

==========================
Changes in version 1.0.350
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement slot-specific affixes on multilingual
  fields.

==========================
Changes in version 1.0.349
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Derive language of name from language of entry, if
  no explicit value set on name.

==========================
Changes in version 1.0.348
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Preserve multi segment when cloning name objects.

==========================
Changes in version 1.0.347
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a syntax typo that apparently broke the processor
  in IE7. Thanks to Adam Vessey for the patch.


==========================
Changes in version 1.0.346
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be a little smarter about mixed romanesque/non-romanesque
  script in names, and allow explicit zh and ja set on name
  to override name ordering assumptions derived from the
  script used.

==========================
Changes in version 1.0.345
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement preferred form of <span style="font-variant:small-caps;">
  for small caps in rich text.


==========================
Changes in version 1.0.344
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not include year-suffix in citation-label when
  generating ambiguous cite versions.

==========================
Changes in version 1.0.343
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow multilingual treatment of variables
  that want to be short-formed.


==========================
Changes in version 1.0.342
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Prevent empty multi-form variables from throwing
  empty objects on to the output queue.


==========================
Changes in version 1.0.341
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be less shy about updating numeric citations when
  reference list sequence numbers change.


==========================
Changes in version 1.0.340
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide for reversal of wrap_doi_and_url toggle in
  a running processor, with thanks to Faolan for
  pointing out this didn't work.

- Set processor version on uninstantiated CSL object,
  with thanks to Carles Pina for pointing out that
  previous treatment was cumbersome.


==========================
Changes in version 1.0.339
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid breaking when multilingual when nil values are passed 
  to language configuration methods

- Disable lowercasing of characters with text-case="capitalize-all"
  and text-case="title". The old behavior can be obtained by
  setting citeproc.opt.development_extensions.allow_force_lowercase
  to true.

- Reset internal ambigsTouched variable after use. This avoids
  unnecessary busy-ness in repeated document refreshes on some systems.


==========================
Changes in version 1.0.338
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tiny cleanup, dropping some unneeded code lines.

- Always set taintedCitationIDs as Object()

- Small changes to satisfy JSHint on some files.

- Be more disciplined about preserving submission
  order when building registry from updateItems()

- Include year-suffix as sort key only in cs:citation.
  cs:bibliography must be allowed to float freely.

- Provide for the forced rerunning of ambig sets
  via updateItems()


==========================
Changes in version 1.0.337
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Clean up given names disambiguation updates.
  (Code was not working correctly, but was being
  rescued by inefficient calls in disambiguation
  engine.)

- Eliminate memory leak in main disambiguation
  loop.

==========================
Changes in version 1.0.336
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in the flagging of taints resulting
  from changes in the year-suffix assigned to an
  item.

- Recognize taints flagged by updateItems() when
  processCitationCluster() is run.


==========================
Changes in version 1.0.335
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in author-only. A crash was caused in
  numeric styles when the processor attempted to
  handle the undefined "reference" term. Thanks to
  James Jardine for reporting the fault.


==========================
Changes in version 1.0.334
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Align new treaty with legislation, bill and
  gazette for purposes of internal backref ID
  generation and section variable remangling.

- Implement paged returns from makeBibliography()

- Implement URL and DOI link wrappers in HTML output.
  This is turned off by default. To enable, either
  change the following value in state.js to true:
  
    this.development_extensions.wrap_url_and_doi = true;

  or set the value to true on the instantiated
  processor:

    citeproc.opt.development_extensions.wrap_url_and_doi = true;

- Implement "master" and "servant" conditions to complement
  existing "true" and "false" on is-parallel attribute to
  cs:group.

- Render locator-revision variable only once (aligns with
  behavior of locator itself).

- Introduce new "treaty" item type, with optional locator
  behavior similar to bill and legislation.

- Recognize "none" as a possible value on the and attribute
  to cs:institution. This allows a inherited value to be
  turned off.

- Some fine tuning of parallels detection mechanism for
  legal types.


==========================
Changes in version 1.0.333
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Halfway to you-know-where.

- Allow locator-revision to be check with is-numeric
  on the same terms as title (i.e. true if ends in a
  number).

- Correct internal list of default locale mappings
  to reflect currently available CSL locale files
  and naming conventions.

- Protect against crash when locale term abbreviation
  is entered in pages field without a following value.


==========================
Changes in version 1.0.332
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add "director" to the list of creator names.

- Fix weird fault triggered in IE8 when setAttribute
  function property is checked directly. Many thanks
  to Phil Lord for tracking down the source of the
  fault and identifying a means of addressing it.

- Fix a small bug in handling et-al in some
  configurations. For details see:

    http://forums.zotero.org/discussion/23322


==========================
Changes in version 1.0.331
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Break parallel detection when title exists on
  either item, and title values do not match.

- In tracing markup mode (citeproc.opt.development_extensions.csl_reverse_lookup_support),
  capture affixes in trace tag.


==========================
Changes in version 1.0.330
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not strip periods embedded in ordinary field strings
  if they don't appear to be part of an abbreviation.


==========================
Changes in version 1.0.329
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reverse requirement of page variable for rendering
  of locator on statutory types, introduced at
  1.0.327.

- Fix bug in relatively new code in disambiguation machinery,
  triggered by an attempt to access a name form parameter
  that has not been set in that case.

- Allow personal name replacement only on interview and
  personal communication items.

==========================
Changes in version 1.0.328
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Apply leading embedded locator label to
  item label if section is not present.

- Remove redundant text escapes (bug unmasked
  by 1.0.324).


==========================
Changes in version 1.0.327
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove requirement of title variable for
  generation of internal legislation_id value
  on statutory items, and use either original-date
  or issued in the value, but not both.

- Allow locator on statutory types if page variable
  is non-nil.


==========================
Changes in version 1.0.326
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix backreferencing with reset of note numbers.


==========================
Changes in version 1.0.325
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid disambiguation for statutory types
  (bill, gazette, legislation).

- Make numeric evaluation of number variable
  rendered via cs:number not depend on whether
  page-range-format has been set.

- Introduce is-parallel condition. Condition is
  robust; suppressing an element on which detection
  of the parallel depends will not break detection.

- Fix a bug in static section labels code, with
  thanks to Faolan Cheslack-Postava for reporting
  the fault.


==========================
Changes in version 1.0.324
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add locator labels needed for citing UK legislation.

- Implement embedded labels on number variable via cs:number.
  This permits clean separation of label and locator for
  amending act and target, needed for OSCOLA cites to
  statutes with regnal dates, and probably other forms as
  well.

- Consistently apply text escape to all output
  strings. Repairs a fault identified by Rintze
  Zelle.


==========================
Changes in version 1.0.323
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in embedded locator parsing, affecting legislation, bill
  and order items in the extended processor.


==========================
Changes in version 1.0.322
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use s. rather than sec. as the primary embedded abbrev
  of section, with sec. mapping to exceptional Section term.

- Fill in missing bits of embedded locator label mappings
  and reverse mappings.


==========================
Changes in version 1.0.321
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Set first-reference-note-number when ibid is detected.
  The note number is needed in some styles (e.g. New Zealand Law)
  that set ibid back-references without an ibid term, and so need
  to use a supra-style short form reference to refer to the same
  location in the source in this context.

- Avoid nil variables in parallel detection machinery.

- Use a more proper method of suppressing first-reference-note-number
  on parallel cites.

- Add rule and title to statute and locator label terms.

==========================
Changes in version 1.0.320
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow the form of locator labels on bill and legislation
  items to be controlled with a label-form attribute on
  cs:number, and provide a freshly coded but simpler mechanism
  for guessing plurality of the elements on these items.

- Always suppress subsequent renderings of the locator
  variable when once rendered via cs:number, regardless
  of how it is handled internally.

- Always respect the outermost value of label-form applied
  to a macro via cs:text.

- Use only the first element of a locator set on a bill
  or legislation item for is-numeric evaluation.

- Implement year-range-format as an option separate from
  page-range-format

- Add optional terms year-range-delimiter and citation-range-delimiter

- Apply year-range-format to collection-number on legal types when 
  rendered via cs:number

- Parse out embedded labels from page and page-first as well as locator 
  when rendering via cs:number

- Render parsed-out page/page-first labels via cs:label, and implement
  a page label test similar to locator label test to control
  output. Introducing a page-label variable would be a cleaner way to
  do this on the input side, but for the moment this serves the
  purpose for style development.

- Provide for override of section marker on bill and legislation
  pinpoint with abbrev. at start of section string.

- Insulate changes to item.locator and item.label from copy
  held by calling application.

- Recognized pp. as equivalent to p. when parsing locator
  abbrev. labels.

- Introduce a new "gazette" type for official gazettes
  published by government, which contain amending acts and
  legislation prior to codification.

- Suppress note number in parallel cites attached to a
  master backreference.

- Be slightly more aggressive about applying page-range-delimiter
  to ranges and detecting plural numbers.


==========================
Changes in version 1.0.319
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize an explicitly defined page-range-delimiter term.

==========================
Changes in version 1.0.318
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Enable code from previous checkin on makeCitationCluster()
  as well as processCitationCluster()

==========================
Changes in version 1.0.317
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add the ability to extend the static statute locator
  through the normal item.locator to the 1.0.316 version
  checkin.

==========================
Changes in version 1.0.316
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Introduce new logic for bill and legislation items, controlled
  by the following toggle:

     citeproc.development_extensions.atomic_statutes = true;

  By default, this toggle is currently set to false, which disables
  the new behavior.

  If the toggle is set to true, locator terms in the CSL section field
  on bill and legislation items are rendered with locators parsed out
  of the field using the abbreviation conventions here (with the
  abbrev followed by a period in the field):

    https://bitbucket.org/fbennett/citeproc-js/src/9bfa1bbd729c/src/load.js#cl-539

  The effect is to force (or at least strongly encourage) the storing
  of individual statutes as a set of multiple items in the calling
  application, one per cited subunit. This is convenient where
  research notes need to be associated with specific provisions,
  rather than the entire statute. This is a better fit for the way
  statutes are referenced in legal research and writing.

  As noted above, this behavior is currently turned off by default.


==========================
Changes in version 1.0.315
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in disambguation, reported by Zotero
  user @gauthamg

  The reported fault led to substantial revision
  of the disambiguation module, and fixes for several
  small but significant bugs, including revisions to
  three test fixtures that were demanding incorrect
  output, and a memory leak on the givens segment of
  registry disambig objects.


==========================
Changes in version 1.0.314
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix the ItemObject crash bug. I mean it this time.

==========================
Changes in version 1.0.313
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- The change intended in the previous release, but in a 
  form that actually works.

- Avoid crash on comment node when this.development
  _extensions.csl_reverse_lookup_support = true;


==========================
Changes in version 1.0.312
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be indifferent to the relative position of collection-number
  and original-date in the cite when suppressing the latter
  for equivalence. Restrict behavior to legal_case type.

==========================
Changes in version 1.0.311
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Be safer when skipping past a nil ItemObject in
  processNumber()


==========================
Changes in version 1.0.310
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Quash year if it matches collection-number rather
  than volume, to align behavior with expectations of
  legal style suite.


==========================
Changes in version 1.0.309
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in institution-entire var quash code

- Fix bug in macro id tracking code.

==========================
Changes in version 1.0.308
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize !varname<<< subsequent var quash syntax
  in institution-entire abbreviation segment.

==========================
Changes in version 1.0.307
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid crash when cs:number is used to render locator
  on an item with no supplementary data object.


==========================
Changes in version 1.0.306
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement wrappers to flag the group, macro
  and rendering nodes traversed to produce each
  element of output. This is off by default. To turn
  it on (with HTML output only), in 

   this.development_extensions.csl_reverse_lookup_support = true;

  There is no runtime option for this behavior; the
  change must be made in the source.

- Simplify the tracking and substitution of names, for use
  with hereinafter refs and personal name (i.e. "the author")
  substitution when citing personal correspondence.


==========================
Changes in version 1.0.305
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Detect unparsable strings as renderable date content.


==========================
Changes in version 1.0.304
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Restore is-plural test, for use with names. Off-CSL
  extension, allows use of item-type-specific non-standard 
  pluralized labels set with value="txt" with standard cs:names 
  variables. Styles can change first, followed by data if
  new names variables a adopted in CSL and supported by
  Zotero and other CSL-consuming applications.

==========================
Changes in version 1.0.303
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug affecting numeric styles with second-field-align
  with some combinations of input.

- Allow use of (off-CSL) text-case="normal" attribute
  value to suppress multi-number rendering on cs:number.


==========================
Changes in version 1.0.302
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Detect ibid correctly when separate citations are in
  the same note.

==========================
Changes in version 1.0.301
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress text-case="title" on items that carry a
  jurisdiction value.

==========================
Changes in version 1.0.300
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Eliminate "subjurisdiction" label, as "jurisdiction"
  seems adequate for use cases.

- Introduce a "subjurisdictions" test with a numeric
  value. Evaluates true if number of jurisdiction levels
  in jurisdiction variable (minus one) is equal to or greater
  than value.

- Make page-first a first-class variable on receipt
  (deriving value from page variable), and eliminate
  (most) reprocessing code from cs:text and cs:number.

- Fix a bug that prevented strip-periods from taking effect
  when text-case was used.

- Allow suppression of multiple variables with in-abbreviation 
  "!varname1,varname2<<<abbreviationtext" syntax.

==========================
Changes in version 1.0.299
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add an (off-CSL) label-form attribute, for use in overriding
  the form of labels in standard macros shared between styles.


==========================
Changes in version 1.0.298
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not needlessly register abbreviation segment entries for all item fields.

- Simplify the ordinary field transformation mess.

- Recognize near-note as true only when subsequent is also set.

- Fix typeo.


==========================
Changes in version 1.0.297
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Permit installation of abbreviation lists and the
  getAbbreviationList function after instantiation of the processor.

- Expose abbreviation list instantiation function on instantiated processor
  instance. Useful for running the processor with abbreviation list support
  in some environments.

- Fix potential bug in rendering of label terms.

==========================
Changes in version 1.0.296
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a minor bug in givenname disambiguation using
  the by-cite rule, by which an existing clash partner
  failed to update in the document.


==========================
Changes in version 1.0.295
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix parallel citation bug affecting some bibliographies
  in some styles.

- Don't crash when a number value of type number is passed 
  to cs:number.

- Drop an unnecessary var declaration that may have blocked
  console reporting on some installations.


==========================
Changes in version 1.0.294
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Various tweaks to make the citeproc.js module
  play nice with citeproc-node.

==========================
Changes in version 1.0.293
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Make hyphen the page range delimiter in Portuguese
  as well as French.

==========================
Changes in version 1.0.292
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug by which a cs:number node with no
  content could generate a stray group delimiter.

==========================
Changes in version 1.0.291
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove a var declaration that was clobbering the
  Components object even if it was originally available.


==========================
Changes in version 1.0.290
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove heuristic variable suppression code, which was
  looking for trouble. Replace with explicit other-variable
  suppression request hacked into the string provided by the
  external abbreviations engine.


==========================
Changes in version 1.0.289
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix serious hanging bug affecting styles that use
  initialize-with in combinatin with names-based
  disambiguation and the by-cite rule. Bug was triggered
  by a name on items in the same disambiguation group with no
  given-name element.

- Suppress a short-form authority name element if it matches
  a short-form container-title. This may be superceded by
  something more explicit implemented through the Abbreviations
  Plugin.


==========================
Changes in version 1.0.288
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Render locator variable only once per cite.

- Add missing disambiguation reinitialization in 
  restoreProcessorState().

- Fix crash error when handling page ranges in the
  French locale.

==========================
Changes in version 1.0.287
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add Arabic/Persian character ranges to the "romanesque" test groups,
  to apply roman-style conventions when formatting names. This addresses
  a Zotero forum comment:

    http://forums.zotero.org/discussion/21076/separate-firstname-of-lastname/

- Force locales in the "fr" domain to use hyphen rather than en-dash as
  page range delimiter. This also addresses a Zotero forum comment:

    http://forums.zotero.org/discussion/5915/automatically-choose-whether-hyphen-en-dash-or-em-dash-should-be-used/#Item_39

- Add fall-forward entry (fi -> fi_FI) for Finnish locale.

- Fixups for control of text-case by language:

  (1) Normalize the extracted field content to lowercase for
  comparison.

  (2) Treat unparseable values as non-English.

  (3) Supply a method for registering exceptional strings that should
  be recognized as English, regardless of other logic. Usage is:

      citeproc.setEnglishLocaleEscapes(["angl", "ingl"])

  With the setting above, a value of "Anglais" in the language field
  will treated as equivalent to "en".


==========================
Changes in version 1.0.286
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use entire jurisdiction string for subjurisdiction

- Include _ in regexp to permit archive_location variable in hack syntax.

- More certain logic for discriminating between in-text and in-note references
  for ibid purposes.

- Never remember output from the authority variable as author for name suppression
  et cetera.


==========================
Changes in version 1.0.285
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect against crash when attempting to render
  the (off-CSL) hereinafter variable without
  abbreviations support.


==========================
Changes in version 1.0.284
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement suppression of subjurisdiction "short-form"
  if it matches the beginning of container-title "short-form".
  The subjurisdiction variable, and so this facility, are used
  when rendering legal items only.


==========================
Changes in version 1.0.283
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Loosen conditions for replacement of en-dash
  with hyphen when rendering page and locator variables 
  via cs:text.

==========================
Changes in version 1.0.282
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in DOM parsing module, affecting styles
  formatted with closing tags on the same line.


==========================
Changes in version 1.0.281
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in nested quote flipflop handling.

- Use CSL original-date rather than issued for
  legal types capable of parallel referencing
  (legal_case, bill, legislation).


==========================
Changes in version 1.0.280
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not crash when attempting to normalize undefined affix value
  in rtf or plain text mode (html mode was already protected, the
  other modes had been overlooked).


==========================
Changes in version 1.0.279
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Convert hyphen to en-dash when rendering page variable
  as cs:text, limiting to simple numeric ranges and allowing
  overrides, with -- forcing en-dash and \- forcing hyphen.
  (override behavior aligns with that of cs:number)


==========================
Changes in version 1.0.278
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not apply year suffixes if the first increment of disambig parameters returns no clashes.

- Allow authority variable to be handled via cs:names


==========================
Changes in version 1.0.277
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize ibid position for in-text citations (fixes a regression).

- Streamline key structure for "hereinafter" (an as-yet-off-CSL
  variable accessible through the abbreviations list facility).

==========================
Changes in version 1.0.276
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize \- and -- as overrides forcing hyphen or
  en-dash respectively, in numeric variable processing.
  As noted under 1.0.275 below, most entries will be rendered
  correctly, the override syntax can be used to address cases
  where the syntactic meaning of a plain hyphen in input cannot
  be derived reliable from context.


==========================
Changes in version 1.0.275
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Assure that the section variable is a string
  when parsing as string.


==========================
Changes in version 1.0.274
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Set any numeric string with "&" to plural when testing for pluralism.
  This fixes a regression that appears to have crept in around processor
  version 1.0.220.

- Move page mangling inside numeric element parse, when using numeric
  processing for locators. Not perfect: leaf numbers formatted like
  1-15 will get an en-dash. But leaf numbers are rare, and that small
  error will be rarer still. The alternative would be to require
  users to enter en-dash rather than hyphen as appropriate, which
  seems a poorer choice.


==========================
Changes in version 1.0.273
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Return is-numeric true against title variable
  when it ends with a number (used in styles that
  require a comma after title only in this case).

- Some improvements to en-dash delimiter assignment
  and to plurals detection.


==========================
Changes in version 1.0.272
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correctly handle given names that have a
  lowercase suffix appended with a hyphen
  when converting to the initialed form.

==========================
Changes in version 1.0.271
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Ignore "strip-periods" on URLs, true numbers and
  locators. This may face some more adjustment as reports
  roll in, but it seems to be broadly right.


==========================
Changes in version 1.0.270
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow "hereinafter" variable (CSL 1.0mlz1 schema)
  in parallel legal citations.


==========================
Changes in version 1.0.269
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix regression in forced values on plural attribute.


==========================
Changes in version 1.0.268
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in by-cite disambiguation affecting cites with two
  names sharing the same surname.

==========================
Changes in version 1.0.267
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect systems missing locale terms needed for
  section variable parsing from corruption in the
  field.

==========================
Changes in version 1.0.266
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in flipflop triggered by certain
  combinations of mismatched quotation marks.


==========================
Changes in version 1.0.265
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Map "event" var to the "title" abbreviation
  list segment.

- Add "event" to the list of multilingual variables.
  Enables multilingual, and also short-forming via
  abbreviation plugins.

- Parse out embedded pinpoint label specifiers from
  the "section" variable. For legal support.

==========================
Changes in version 1.0.264
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid clobbering name-part decor when a cs:names
  element is used in the context of cs:substitute.

==========================
Changes in version 1.0.263
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fall back to next-best disambiguation form on final failure when
  performing names-based disambiguation.


==========================
Changes in version 1.0.262
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress cite delimiter when cite suffix ends in a comma.

==========================
Changes in version 1.0.261
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in disambiguation logic that could cause a
  hang when disambiguate="true" was used, but did not
  succeed.

==========================
Changes in version 1.0.260
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix disambiguation logic, with a hat tip to Andrea Rossato
  for pointing out the logical flaw in the citeproc-js code.
  In the new configuration, some disambiguation operations
  will run faster, there is less code, and it is a bit easier
  to follow.

  The mail relating to this has apparently disappeared from the
  xbiblio-devel archive on SourceForge, but has been archived for
  posterity in the ./attic.


==========================
Changes in version 1.0.259
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Turn parentheses flipping on or off in both
  item prefix and item suffix.


==========================
Changes in version 1.0.258
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Flipflop parenthesis and square brackets based on
  citation prefix/suffix content. A simple and slightly
  rough implementation that will probably cover all use
  cases for  this without causing confusion (touch wood).
  This behavior can be turned off with the following toggle
  if it causes any trouble:

    citeproc.opt.development_extensions.flip_parentheses_to_braces = false;

- Use subsequent, not ibid, if multiple discrete citations
  exist in the preceding footnote.


==========================
Changes in version 1.0.257
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Migrate a lone locator at the end of a parallel
  series of legal_case references to the same case
  (by title) to first position. Needed for the OSCOLA
  style, in which subsequent parallels disappear in
  subsequent references.

- Fix a small bug in text-case="title" (leave things with
  capital letters in them alone, if the title as a whole
  isn't all caps).

==========================
Changes in version 1.0.256
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove DOMParser declaration from xmldom.js,
  that wasn't deleted in the earlier change.

==========================
Changes in version 1.0.255
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix abbreviations fallback. "default" entries
  and senior jurisdiction abbreviations will be
  applied to juniors, and copied to them for
  editing.


==========================
Changes in version 1.0.254
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement year ranges in institutional abbreviations,
  for use in generating official reporter names for
  legal cases.


==========================
Changes in version 1.0.253
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not throw a warning to output if parallel cite
  truncation results in an empty cite, and quash superfluous
  delimiters for cites that render empty in this case.

- Remove ActiveXObject and XMLHttpRequest var declarations
  from xmldom.js. These had bad side effects because a var
  declaration of a global function wipes out the function
  within the scope. Go figure.


==========================
Changes in version 1.0.252
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Declare ActiveXObject and XMLHttpRequest inside function
  rather than globally in xmldom.js.

- Allow declaration of in-style locales for which there is
  no corresponding CSL locale file.

- Bugfixes for prefix terminal punctuation logic.

==========================
Changes in version 1.0.251
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in term capitalization following an item prefix ending in a
  full stop.

- Fix bug in number collapsing; assure that numeric delimiter joins
  are only imposed if the number nodes occur in different citations.

- Fix bug in abbreviations handling; open a requested jurisdiction segment
  even if the string to be abbreviated is empty.

- Implement parsing of locator labels from locator string, when
  locator label is empty or "page". This is a first step toward proper
  statute support, which will require localized locator labels
  embedded in the locator string. If not desired, the behavior can be
  turned off with:

    citeproc.opt.development_extensions.locator_label_parse = false

- Implement three attributes for testing the characteristics of a
  date variable:

    has-year-only
    has-month-or-season-only
    has-day-only

  These attributes are experimental, not yet in the official CSL schema.

==========================
Changes in version 1.0.250
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix delimiter bug affecting institutional names.
  (Hat tip to Zac Howarth for reporting the fault)

==========================
Changes in version 1.0.249
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Open a new abbreviations segment if it is
  missing when called.

==========================
Changes in version 1.0.248
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Clean up sort keys. Fixes some sort breakage.


==========================
Changes in version 1.0.247
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide for abbreviation of the publisher field.

- Do not capitalize first-occurring term when it is
  preceded by a prefix that does not end in terminal
  punctuation.

==========================
Changes in version 1.0.246
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Large changes to multilingual language configuration
  and rendering. A distinction is now drawn between
  language roles (original, transliterated, and translated
  forms of a field) and roles assigned to particular
  field categories: persons, institutions, titles,
  publishers and places. For each category, any of the 
  original, transliterated and translated forms can be 
  used as the primary entry, and any remaining forms can
  be used in the trailing brace-enclosed supplement.

  (If the explanation above sounds confusing, take a look
  at the Preferences -> Languages panel in the MLZ client,
  it should be immediately apparent how things work.)


==========================
Changes in version 1.0.245
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Extend delimiter oops to cover objects removed
  from output queue during parallel cite processing.

==========================
Changes in version 1.0.244
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Preserve multi segment when cloning names.


==========================
Changes in version 1.0.243
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix suppression of editor (and other) name variables
  rendered via cs:substitute.


==========================
Changes in version 1.0.242
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in strip-periods. Thanks to Liam McHugh-Russell
  for reporting.

==========================
Changes in version 1.0.241
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Always honor the requested jurisdiction when returning
  abbreviations.


==========================
Changes in version 1.0.240
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Introduce subsequent-parallel position attribute
  value for conditions.


==========================
Changes in version 1.0.239
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Guarantee that loadAbbreviation returns a meaningful
  jurisdiction key even if raw string for abbreviation is empty.


==========================
Changes in version 1.0.238
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use a static function for getAbbreviation, supplying
  styleID as an explicit parameter.


==========================
Changes in version 1.0.237
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in stop-last attribute to cs:institution

- Allow match of parent jurisdiction when item jurisdiction
  field contains additional subelements.

- Fix bug in near-note evaluation

- Implement reverse-order attribute on cs:institution, which
  had been overlooked

- Fix bug in "classic" abbreviation substitution

- Add part-separator for use on cs:institution


==========================
Changes in version 1.0.236
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tie "classic" abbreviations to new "classic" type 
  of MLZ extended schema.

- Introduce "{suppress}" token for suppressing person 
  name output via an abbreviation list engine.

- Allow value of zero (0) on use-first and use-last 
  attributes to cs:institution, to suppress institutional 
  affiliations.

- Bugfixes for hereinafter support.

- Make hereinafter abbreviation variable testable.


==========================
Changes in version 1.0.235
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Rename obscure "term_sibling" stack variable to slightly less
  obscure "group_context".

- Introduce new attributes subgroup-delimiter and 
  subgroup-delimiter-precedes-last on cs:group element, and recognize
  the and delimiter as well. The publisher and publisher-place
  variables will now be read nad rendered in parallel only when
  subgroup-delimiter has been set to a value.

- Introduce new stop-last attribute on cs:institution, and loosen
  default behavior of use-first to allow inclusion of the first element 
  even if it is the only element. The stop-last attribute has the same
  effect as use-last (i.e. it trumps use-first in the event of an overlap),
  but renders nothing for the portion of the name that it covers.

- Introduce oops attribute on cs:group. This is a very specialized
  attribute for the specific situation where a name with content may
  render as nil due to abbreviation logic. In this case, the oops string
  value will be substituted for the group delimiter two levels above
  the group on which the oops is set. While messy, this avoids the need
  for (even messier) syntax that would be needed to check whether
  a cs:names element will produce output under various combinations of
  options, translation, transliteration and abbreviation transformations.

- Remove instituition-use-first attribute.

- Widespread refactoring of group-conditional logic, particular as
  related to cs:names and cs:substitute. Our tests all pass.

- Apply title abbreviations to "genre" and "title-short". The former
  as just overlooked. The latter may seem a little odd, but including
  this field for abbreviation purposes will help consistency.


==========================
Changes in version 1.0.234
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Assure that processor cannot crash when getAbbreviation
  is undefined.

==========================
Changes in version 1.0.233
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect against attempts to abbreviate when getAbbreviation is undefined.

- Avoid attempt to append an undefined to the output string in queue.js

- Extend abbreviations mechanism with a jurisdiction segment.

- Step through specific jurisdiction and the default segment when performing 
  full-field matches, and return default from getAbbreviation() 
  if the hit occurs there.

==========================
Changes in version 1.0.232
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid crashing processor when (extended, off-CSL
  institution-use-first test attribute is invoked before
  any names have been rendered.

- Come minor code cleanup.

==========================
Changes in version 1.0.231
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in abbreviation segment assignments
  that affected the publisher field.


==========================
Changes in version 1.0.230
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Separate abbreviation segment for transforms of entire 
  institution string from that for institution parts.
  

==========================
Changes in version 1.0.229
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in registry updating that could trigger
  a processor crash under some circumstances. Many thanks
  to Zotero user anark for patient work on reproducing
  the bug.


==========================
Changes in version 1.0.228
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a bug in initialize="false" behavior.

- Fix bug in suppression behavior of cs:group.


==========================
Changes in version 1.0.227
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Clean up "tmp.area" and "build.area" flags, providing separate 
  flags for area key (area), _sort extension (extension), and 
  root area node name (root).

- Fix breakage in bugfix for generation of sort keys via macros
  containing cs:names.

==========================
Changes in version 1.0.226
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in generation of sort keys via macros containing
  cs:names.

- Small adjustments to parallel citation handling.


==========================
Changes in version 1.0.225
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Force a possible number to string before
  performing a string match, in util_page.js.

- Set static midVars array on instantiation of
  parallel evaluation engine, rather than on
  StartCitation().

- Restore setAbbreviations() function to citeproc
  object. (Will default to a noop unless the
  abbreviations mechanism attached to sys
  supplies a corresponding hook function.)

- Prevent updateItems() from ever setting duplicate
  items in the bibliography. Thanks to an anonymous
  user who reported this possibility to the citeproc-js
  bug tracker.

==========================
Changes in version 1.0.224
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

Many fixes and adjustments in this release, mostly in connection
with work aimed at improved legal style support with the MLZ
extended CSL schema.

- Do not apply the hard-wired collapse delimiter in numeric styles.
  (thanks to Sebastian Karcher for reporting this fault).

- Note to self: Do not allow any parameter fed to slice() to be
  undefined. Ever. It behaves differently on (some versions of)
  Firefox and (some) other platforms.

- Reverse order of institutional name subunits. We're now
  little-endian.

- When sniffing for CSL variables inserted via the "note" field hack,
  use match() on string instead of exec() on compiled regexp. The
  latter was failing on alternate runs of the processor, not sure why.

- Adjust parallel cite analysis machinery to recognize
  collection-title as alternative to container-title, and
  collection-number as alternative to volume.

- Implement an institution-use-first test. Painfully obscure, but
  necessary.

- Discriminate neutral citations during parallel cite analysis, as
  cites that contain neither container-title nor collection-title.

- In util_parallel.js, change condition on which to permit leading
  dates to appear in subsequent cites. With this change, in OSCOLA,
  dates will not be suppressed on a non-neutral cite without volume
  number that follows a neutral cite. This seems to be correctly
  targeted logic, safe for other contexts as well (including French
  case and commentary clusters).

- Implement form="short" on cs:institution, for refactoring of an
  entire institution name list. Implement best-match top-level
  short-forms in institution names.

- Implement configurable skip-words list in locale.

- Implement "context" test attribute, to allow macros to change
  behavior depending on whether they execute in cs:citation or
  cs:bibliography.

- Code cleanup and slight increase in discipline for range
  collapsing. Simple pure numeric ranges like 200-03 will work, and
  ranges of mixed strings like n23 - n25 will work if the hyphen has
  spaces on either side.

- Hack in special handling for titles ("Lord", "Lady"). Titles and
  special sort separator should eventually be placed under locale
  control, but for the present this gives us something to build on.

- Support text-case on cs:institution-part

- Set term_predecessor at start of each entry rendered via
  getBibliographyEntries(). Wakes up automagic capitalization of
  initial letter in leading terms.

- Recognize locator-revision as a segment on item, not Item when
  evaluating conditionals.

- Pass through isInstitution flag for the benefit of _parseNames. Not
  clear why this didn't cause problems earlier.

- Fix a silly bug affecting inherited name options

- Use some more orthodox commands to detect the presence of XML
  things in preprocessing phase (xmle4x.js).

- Code cleanup: Move _splitInstitution and _trimInstitution from
  util_names_divide.js to util_names_truncate.js, where they are now
  actually used.

==========================
Changes in version 1.0.223
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Extend "Lord" hack (suppressing initialization as given
  name) to cover "Lady" as well.

- Apply initialize-with string to name suffix as well
  as given name elements.

- Wake up implicit initial term capitalization when 
  suppress-author is used.

- Fix bug in recenly added code permitting suppression of any 
  type of initial creator.

- Small refinement to rejoin numeric elements in cs:number
  with en-dash.

- Treat numbers with leading zeros as strings in cs:number.


==========================
Changes in version 1.0.222
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- With suppress-author, suppress the first creator of 
  whatever type, and not only author per se.

- Add a "nickname" segment to the abbreviation lists, for use
  initially with personal_communication items only. The segment
  accepts full rendered personal names.

- Also at this symmetric milestone, some tidying up of the 
  development_extensions options:

  citeproc.development_extensions.clean_up_csl_flaws
    The processor goes to great lengths to control for duplicate
    punctuation and spacing. Set this option to false will
    disable this extra code, resulting in a tiny performance
    improvement, but at the cost of triggering formatting errors
    in many styles.

  citeproc.development_extensions.locator_date_and_revision
    Renamed from "locator_date", since the option relates to
    two variables parsed out of the locator string.

  citeproc.development_extensions.locator_parsing_for_plurals
    Renames from "locator_parsing" to better reflect what the
    option does. If this is true, the mulitple-dates code
    will be used to identify plural/singular entries, which
    may yield slightly better results.

  citeproc.development_extensions.season_name_is_numeric_true
    This hack has been dropped, together with its control
    option. The same result (triggering is-numeric true for
    season names) can now be accomplished by appending the field
    term name after the season name.

  The full set of development_extension toggles can be found
  in state.js.


==========================
Changes in version 1.0.221
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Some small refinements to multiple numbers handling.

- Provide for numeric range mangling when rendering via cs:number.

- Fix a delimiter bug lurking in some recent code.


==========================
Changes in version 1.0.220
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Adopt a less aggressive (and less risky) approach to multiple
  numeric elements. Features of the new behavior:

    o Numbers are no longer sorted;
    o Ranges are no longer evaluated;
    o Delimiters entered by the user are respected.

  Apart from those changes, the new machinery delivers the same
  benefits as the original enhancement: recognition and formatting
  of multiple numbers, smart plural identification, rcleanup
  of trailing labels in the input string, and reliable identification
  of numeric content (which can usefully be affixed with a label) and
  non-numeric content (which is likely meant to be presented
  without a label).

  (The new mechanism is safe to apply to the locator string,
  if CSL extends in that direction.)


==========================
Changes in version 1.0.219
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- The internal date structure is now normalized immediately on
  receipt of input. This change was needed for hereinafter support,
  described below.

- Fix a small bug that would have affected the "classic" short-form 
  feature introduced in 1.0.214.

- Recognize publisher abbreviations supplied via an abbreviations
  list.

- When suppress-author is set on a legal_case item, suppress the
  title rather than the author. In context, this normally appropriate 
  even if the item has an author.

- In subsequent-author-substitute-rule options, rename "partial" to
  "partial-each", and add a "partial-first" option.

- Implement the "hereinafter" segment of the abbreviation list
  structure. Key is formed from the first-mentioned author, the
  title, the item type, the date, and the item jurisdiction. The
  "hereinafter" variable will render only if the user supplies 
  a value via the abbreviation list mechanism.

- Provide an option to permit raw date parsing to be turned off.
  As this is triggered by a special date input structure, there
  will normally not be a reason to disable the behavior on purpose,
  but just in case it can be turned off with:

    citeproc.development_extensions.raw_date_parsing = false


==========================
Changes in version 1.0.218
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add locator-revision variable, which consists of the trailing
  string left over after parsing out locator-date (if any). Disabling
  of this extension is controlled by the same locator_date toggle.


========================================
Changes in version 1.0.217 [API warning]
========================================

----------------------------------------------------------------
API change with default citeproc.opt.development_extensions=true
----------------------------------------------------------------

- Fine-grained control over extended functionality. The following
  settings are enabled by default in the processor. Each can
  be turned off by setting the relevant value to false.   A brief 
  description of each extension is given below.

    citeproc.development_extensions.field_hack = true;
    citeproc.development_extensions.locator_date = true;
    citeproc.development_extensions.locator_parsing = true;
    citeproc.development_extensions.season_name_is_numeric_true = true;

  field_hack
     This is the hack syntax recognized in the "note" field, as
     "{:fieldname: value}".

  locator_date:
     This extension is documented in the citeproc-js CSL supplement.
     http://gsl-nagoya-u.net/http/pub/citeproc-js-csl.html#locator-date-variable

  locator_parsing:
     This extension applies the numeric parsing described in the citeproc-js
     supplement to locators. This affects plural detection, the is-numeric
     condition, and (the the schema permits) allows the locator to be rendered
     using cs:number. If this option is enabled, it is advisable to render
     locators using cs:number.

     This change allows the processor to distinguish between leaf numbers,
     which might take the form "9-15" and ranges, which the processor will
     recognize only if written as "9 - 15" (with spaces on either side of
     the hyphen). Both forms will render in the same way, but the latter
     will be recognized as plural, and the former as singular. 

  season_name_is_numeric_true
     When this extension is enabled, the English season names "Winter", "Spring",
     "Summer", "Fall" and "Autum", when the occur by themselves in a numeric
     field, will evalute as "true" with the is-numeric conditional.


------------------------------------
Mishandled or unimplemented features
------------------------------------

- Change name of "updated-date" to "locator-date".


==========================
Changes in version 1.0.216
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement variable "updated-date", parsed out from the
  user-supplied locator. Like the "note" field hack for
  CSL 1.0 variables on available on an item type, the parsing-out
  and insertion of this non-CSL 1.0 variable can be turned
  off by setting:

    citeproc.opt.development_extensions = false.

  The extension is useful for citing looseleaf services
  commonly used in law, the dates of which vary depending
  on the page cited and the time at which the resource
  was referenced. This permits a single item in Zotero to
  represent the volume on the library shelf, the page date being
  optionally supplied by the user when citing into a document.

- Introduce a hack to permit English season names "Winter",
  "Spring", "Summer", "Fall" and "Autumn" to test true in
  the is-numeric conditional. This permits styles to supply
  the standard label term to these strings (as in "Fall edn").
  This is an acknowledged hack, and the behavior can be turned
  off by the same setting shown above:

    citeproc.opt.development_extensions = false.

- Remove roman half-width spaces when parsing potential Japanese/Chinese
  date strings. The same change has been applied to the standalone
  date parsing module shipped with Multilingual Zotero.

- Evaluate subsequent-author-substitute only under the cs:bibliography
  node to save a few cycles.

- Perform name transliteration and short-forming after truncating
  namesets, to save a few cycles.

- Add a "classic" segment to the object that holds abbreviation
  lists. Keys on this object are populated by author + ", " + title
  for untyped (plain "document") input objects only. This permits
  full descriptive information for classic resources (i.e. established
  sources with citation conventions that are independent of a specific
  publisher) to be mapped to the commonly accepted abbreviation required
  by an individual style.


==========================
Changes in version 1.0.215
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement fine-grained subsequent author substitution
  (upcoming CSL 1.0.1 proposal)


==========================
Changes in version 1.0.214
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Coerce date-part elements received from calling
  application to integer.


==========================
Changes in version 1.0.213
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix delimiter bug reported by user sinophil.


==========================
Changes in version 1.0.212
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement cs:generate element, for cross-references
  to an item with modified details in the bibliography.

- Implement leading-noise-words attribute, for reversal
  or dropping of insignificant words at the start of a
  title or other string.


==========================
Changes in version 1.0.211
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in delimiter-precedes-last="always", reported
  by Sebastian Karcher.

- Disambiguate on "primary-name" rules only if there is
  a clash with another primary name.


==========================
Changes in version 1.0.210
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Small adjustment to name disambiguation when a "*-with-initials"
  rule is used. Initials will not be added unless they contribute
  something to disambiguation.


==========================
Changes in version 1.0.209
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Screen empty fields from persistent recording by getAbbreviation.

- Initialized abbreviations lists from items added to the registry.

- Recognize event-place as well as publisher-place for list-based
  abbreviation, and hold abbreviations for both under a single
  "place" type key.


==========================
Changes in version 1.0.208
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly escape CSL-supplied affix strings. Fixes problem with superscripted en-dashes
  in some numeric styles, among other things.

- Fix output queue bug that could cause delimiters to be swallowed (2401:c8960e2cd591).

- Change to API for external abbreviations management, to allow
  more efficient handling of very large lists. Optional sys.getAbbreviations()
  function is now sys.getAbbreviation().

- No not rely on quoted escapes, but strip enclosing quotes for the
  present.

- Adopt extraction conventions for cs:number described at
  http://gsl-nagoya-u.net/http/pub/citeproc-js-csl.html#cs-number-cs-label-and-is-numeric


==========================
Changes in version 1.0.207
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize quoted escapes on cs:number.


==========================
Changes in version 1.0.206
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize fa_FA as the standard locale for
  calls to plain fa.

- Recognize suppress-min="0" as specific to a
  cs:institution or cs:name node. (This attribute
  is outside of standard CSL.)


==========================
Changes in version 1.0.205
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in xmldom.js affecting cs:names.


==========================
Changes in version 1.0.204
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in date extraction code used in sort key
  generation, affecting systems relying on xmldom.js.


==========================
Changes in version 1.0.203
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in position evaluation, in which labels were
  not taken into account in determining whether a cite
  referred to exactly the same pinpoint location as its 
  immediate predecessor.


==========================
Changes in version 1.0.202
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in reassignment and updating of year-suffix values.
  Thanks to Zotero user brazuca for reporting the fault.


==========================
Changes in version 1.0.201
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix logic of date key generation from macros. Processor
  formerly used the first-occurring date in the macro. With
  the fix, conditional logic is recognized. The only constraints
  are (1) that macros containing a date (somewhere) will generate
  date keys only, with other nodes delivering an empty string; and
  (2) that macros used for key generation should render exactly
  one date node; rendering multiple nodes will result in a 
  misformatted sort key.

- Implement new boolean "initialize" attribute. When set to
  false, full given names are normalized to use the initials
  punctuation set by initialize-with. Not yet in official
  CSL 1.0.


==========================
Changes in version 1.0.200
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- When attempting disambiguation, never include names that
  fail to reduce the number of clashes.

- Fix typo in xmldom.js. Thanks to Greg Law for identifying
  the fault.

- When sort order of citation-number is set to "descending",
  reverse the order of citation numbers without reversing
  the order of items.

- Implement gender-sensitive rendering of non-numeric
  terms, based on gender assignment to item type (beyond
  CSL 1.0).

- Implement jurisdiction conditional.


==========================
Changes in version 1.0.199
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix another bug in multilingual layouts, triggered by the
  use of cs:number, strangely enough.


==========================
Changes in version 1.0.198
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in multiple (multilingual) layouts, affecting styles
  that use multilingual citation layouts when a bibliography is
  rendered. Bug spotted by Abbas Shahzadeh.


==========================
Changes in version 1.0.197
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly set and reset discretionary multilingual locale 
  during output operations. This fixes a bug in multilingual 
  bibliography generation identified by Maxim Nazarenko.


==========================
Changes in version 1.0.196
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement suppress-max attribute for cs:names
  and fix bug in implicit conditional behavior within
  cs:group when cs:names renders no output due
  to suppress-min or suppress-max. (Note that neither
  suppress-min nor suppress-max are valid in CSL 1.0).

- Treat numerals as lowercase letters when evaluating
  text-case="title".

- Fix bug in editor-translator magical merging that
  caused lone translators to disappear.


==========================
Changes in version 1.0.195
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Wake up strip-periods on month date parts.


==========================
Changes in version 1.0.194
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Render hyphen as en-dash in locator strings.


==========================
Changes in version 1.0.193
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in disambiguate="true" disambiguation, when used
  together with disambiguate-add-names. Thanks to user
  Zotero user bevweber for reporting the fault.


==========================
Changes in version 1.0.192
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress only author, and only if it is the first-occurring
  name, when suppress-author toggle is set. (The fix is slightly
  more aggressive -- suppression will also occur if author is the
  first of multiple variables set on the variable attribute of 
  cs:names. This affects only a single style at present (din-1505-2.csl,
  in which "author" and "composer" are used as a pair).


==========================
Changes in version 1.0.191
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in near-note position detection. Was true
  when when distance was zero upon the first reference
  to the source. Now returns false in this case.


==========================
Changes in version 1.0.190
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in strip-periods when set on cs:text macro calls or
  cs:group elements. Thanks to Liam McHugh-Russell for identifying
  the error.


==========================
Changes in version 1.0.189
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Treat short-form titles as a separate variable
  when sniffing for parallel cites.

- Remove "names" (encompassing any variable rendered
  via cs:names) from the list of mid-cite variables.

- Remove legacy code that attempts to work with
  "names" when sniffing parallel cites.


==========================
Changes in version 1.0.188
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix breakage in second-field-align when macro containing date is 
  used as sort key in cs:bibliography. Reported by Sebastian Karcher
  (adamsmith).


==========================
Changes in version 1.0.187
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide a discriminator sequence hint on keys set during
  author-grouped sorts, to prevent decay of the sequence during
  final sort.


==========================
Changes in version 1.0.186
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress only duplicate punctuation at end of citation
  (do not suppress duplicate parens).


==========================
Changes in version 1.0.185
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix missing default delimiter and range delimiter
  affecting styles that use collapse="year-suffix".


==========================
Changes in version 1.0.184
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Suppress inter-cite delimiter if subsequent prefix begins
  with a comma.


==========================
Changes in version 1.0.183
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not suppress a semicolon delimiter when reconciling punctuation.


==========================
Changes in version 1.0.182
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- ownerDocument is a property, not a method.
  Fixed in xmldom.js.

- Suppress text-case="title" transform when
  (off-CSL) language variable begins with a valid
  language tag that is non-en, or when default-locale
  is non-en and language variable is either not set,
  or set to a non-en value.

- Provide an option to remove behavior that is
  not standard CSL from the processor for production
  use.

- Use en-dash for collapsed citation ranges.

- Provide code for future configurability of both
  page range and citation collapse range delimiter 
  as a locale term.


==========================
Changes in version 1.0.181
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not insert space as a placeholder when applying
  strip-periods. In the only known use case in which this
  is significant (preserving space in abbreviated journal
  titles), it results in an incorrectly formatted string.
  The new behavior is simpler, both to code and to explain,
  reflects the plain meaning of the attribute name, and
  conforms to the CSL specification.

- Correctly process top-level cs:names nodes (those without
  a cs:substitute parent). This covers a recent CSL proposal,
  which will allow the volume of name formatting code in many 
  CSL styles to be significantly reduced.

- Place suffix on cs:name-part nodes of name="family" outside
  of a name suffix, when the name is rendered in "vanilla"
  ordering (i.e. not in sort ordering). This brings the
  processor into line with a recent proposal to allow affixes
  on cs:name-part.

- Fix a delimiter bug affecting styles that disambiguate by 
  applying a year suffix, with collapsing, where year-suffix-delimiter
  is not specified. No such styles exist as far as we know, but
  it was a bug, and it's now fixed.


==========================
Changes in version 1.0.180
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Eliminate potential extraneous trailing space when applying
  strip-periods.


==========================
Changes in version 1.0.179
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Honor givenname options set within macros when used as sort keys.


==========================
Changes in version 1.0.178
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Adopt a method for recognizing "sub verbo" term that does
  not touch the input string shared with the calling application.


==========================
Changes in version 1.0.177
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Don't escape HTML superscript markup in output.

- Fix bug in quoted escaping of numeric field content.


==========================
Changes in version 1.0.176
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Record the processor styleID in citeproc.opt.


==========================
Changes in version 1.0.175
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Convert Unicode superscript characters to marked-up
  equivalents in RTF and HTML output. This permits the
  use of these characters in locale term strings where
  superscript is required, while producing output that
  will be reliably rendered by target applications.


==========================
Changes in version 1.0.174
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correctly suppress "normal" font forms as the
  top-level font declaration of their class, as this
  can have unexpected side effects depending on the 
  style.

- Prevent leakage of formatting parameters between
  the cs:name-part elements of different cs:names
  nodes within the same cite.


==========================
Changes in version 1.0.173
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Extend dropping-particle handling implemented in
  changeset 9dd55c95979b to names rendered in sort
  order.


==========================
Changes in version 1.0.172
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly render encoded rich text markup embedded in
  ordinal suffix terms.


==========================
Changes in version 1.0.171
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Ignore name terms that are missing from the locale files
  when generating labels in cs:names.

- Log message with CSL.debug() rather than CSL.error()
  when falling back from unknown locale.

- Log message with CSL.debug() rather than CSL.error() when 
  fixing up non-fatal but weird date values.

- Step past comment nodes silently (this is a simple noop
  for the processor, so save the chatter in the log files).


==========================
Changes in version 1.0.170
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not attempt to replace en-dash with hyphen on 
  undefined value in CSL.Node.text.

- Ignore decorations array on cs:institution nodes.

***

Both issues reported by Faolan.


==========================
Changes in version 1.0.169
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not attempt to apply affixes to name parts
  that evaluate false. Fault reported by
  Faolan Cheslack-Postava.


==========================
Changes in version 1.0.168
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide missing insertPublisherAndPlace() function
  in xmldom.js. WebKit systems will now run again.

- Attempt to execute publisherOutput only if it has 
  been instantiated for use.


==========================
Changes in version 1.0.167
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Replace several largely incomprehensible functions used
  to generate alphabetic suffixes with a short function
  from Avram Lyon that is concise, readable, and does the 
  same thing.

- Implement paired rendering and "and"-wise joins of multiple 
  publishers and publisher-places, where (a) rendered as the sole 
  text elements within a group, (b) with no affixes on the two 
  text elements, and (c) the data consist of semicolon-delimited 
  lists of equal length, and (d) (at least) name-delimiter 
  is supplied on the ancestor cs:citation or cs:bibliography 
  node.  The "and" term used for the join, if any, is also that
  specified on the ancestor node.


==========================
Changes in version 1.0.166
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove hasOwnProperty() condition wrapper
  from key iteration loop used for the
  match="none" condition evaluation. The target
  variable might be an array, in which case
  WebKit systems and Tracemonkey produce
  differing results (WebKit filters the 
  indices with this function, Firefox doesn't).

- Recognize en-dash equally with hyphen when
  evaluating page numbers for context pluralization.

- Some minor code cleanup.


==========================
Changes in version 1.0.165
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect against undefined skey and ikey elements
  when removing names from citeproc.registry.namereg.

- Always use the shortest permitted form of names
  when building item ambig keys.

- Reset advance_mode toggle when initializing
  disambiguation engine.

- Avoid unnecessary reruns of the disambiguation
  queue in disNames().

- Fix bad conversion of string to object in registry
  dodeletes() method. This code is probably never used
  anyway, but if it does, it will work correctly now.

- Remove unused debugging function from api_cite.js


==========================
Changes in version 1.0.164
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a subtle bug in the interaction of the names-based
  and cite-based disambiguation engines, affecting styles
  that rely on names-based disambiguation with givenname
  expansion.


==========================
Changes in version 1.0.163
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Recognize dates when entered in cheater syntax
  (via the note variable). Syntax is:
  {:original-date: 2001-01-10} 


==========================
Changes in version 1.0.162
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tell the truth when reporting label offsets to
  the calling application.

- Remove some unused code relating to names.

- Further small adjustments to the handling of
  name particles.


==========================
Changes in version 1.0.161
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix various small bugs in the parsing of name
  particles and the application of formatting
  and affixes to names.


==========================
Changes in version 1.0.160
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Make sorting work against the citation-label
  virtual variable.


==========================
Changes in version 1.0.159
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Run processor in a try/catch to prevent
  a crash during preview from blocking
  reconstruction of the registry.

- Eliminate nesting closure that was causing
  a non-fatal tag mismatch.

- Force all-uppercase terms to lowercase
  (a hack that really should not be necessary,
  and may not be required with recent fixes).


==========================
Changes in version 1.0.158
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reimplement citation-label to permit configuration
  of the generated string. The algorithm can be controlled
  by adjusting the "trigraph" string in citeproc.opt.trigraph.

  The string consists of a series of specifiers delimited by ":",
  which define the format for strings generated against a
  nameset corresponding in length to the position of the
  specifier (beginning with 1). Each specifier must begin
  with "A", and must consist only of characters "A", "a", and "0".
  where "A" indicates a name boundary, and "0" indicates a
  digit in the "issued" year.


==========================
Changes in version 1.0.157
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- A more comprehensive fix for "sub verbo" -> "sub-verbo",
  that will work with match="all" with both forms of the
  term.


==========================
Changes in version 1.0.156
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bugs in evaluation of match="all".

- Properly split and evaluate label names in
  locator attribute on cs:if and cs:else-if.

- Special handling of "sub verbo", to treat it as
  a single token on the locator attribute.

- Correctly encode guillemet character in find-and-replace 
  operation.

==========================
Changes in version 1.0.155
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- When initialize-with is not set on a name, and
  the short form is used, and disambiguate-add-givenname="true",
  jump immediately to the full name form, without trying
  to disambiguate by adding initials. This conforms to the
  CSL 1.0 specification.


==========================
Changes in version 1.0.154
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not flag style as position sensitive (thereby
  disabling grouped sorting mechanism) merely
  due to the fact that et-al-subsequent-min or
  et-al-subsequent-use-first are set; set this
  flag ONLY when these values differ from their
  plain counterparts.


==========================
Changes in version 1.0.153
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Massive overhaul of names formatting code,
  to make it maintainable. Several things that
  were broken and basically unfixable in the
  old code now work properly.

- Do not force lowercase on Celtic clan names.

- Do not add a stray period to titles in
  Chicago note styles, when quotes run up against
  the cite join delimiter because of a missing
  page number in a subsequent cite.

- In in-text author-date styles that perform
  collapsing (and in these styles only), group
  citations by the author part of the string,
  so that collapsing never fails due to the
  vagaries of (say) date sorting. Addresses an
  issue raised by Bruce D'Arcus.


==========================
Changes in version 1.0.152
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correctly compose the forcing of itemIDs to string.


==========================
Changes in version 1.0.151
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Force all itemIDs to string on initial insert.
  May avoid undefined citationID and pkey
  errors.


==========================
Changes in version 1.0.150
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Some cleanup of core disambiguation code in disambig_cites.js. 
  Greater clarity, possibly a slight time saving.

- Normalize quote chars to avoid "sep is undefined" error on 
  mismatched quote marks.

- Fix bug in year-suffix assignment code.


==========================
Changes in version 1.0.149
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in flipflop nesting with RTF output.


==========================
Changes in version 1.0.148
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in the application of an explicit 
  year-suffix collapse delimiter to an implicit 
  year-suffix.

- Eliminate a couple of redundant code blocks that 
  would have triggered unnecessary disambiguation operations.

- Provide a skeleton function for embedding bibliographic data
  adjacent to rendered bibliography entries.


==========================
Changes in version 1.0.147
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Debugging trace to help track down the cause of
  "sep is undefined" error, should it persist.

- Hard-code a comma between cites with the same author
  (hack to restore previous processor behavior, pending
  changes to CSL to permit this delimiter to be controlled
  explicitly)


==========================
Changes in version 1.0.146
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in isInstitution toggle introduced in last
  set of changes.


==========================
Changes in version 1.0.145
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Require new isInstitution toggle with lone family name
  element to force it to render as an institution.

- Do not truncate multiple variables on a name node
  to a single variable in an in-text style unless in 
  citation area.

- Move an inter-name-variable delimiter from after a preceding 
  name label (wrong) to before the label (correct).

- Convert all apostrophes in content strings, not only the
  first one encountered in the string.

- Do not merge identical editor and translator if the
  combined term label is empty.


==========================
Changes in version 1.0.144
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Honor a fullname request in the bibliography,
  regardless of what has happened with name
  disambiguation settings in citations.

- Fix bugs producing "sep is not defined" and 
  "state.fun.decorate [params[0]][params[1]] is not a function"
  errors.

- Fix institution delimiter bug.

- Adjust punctuation to satisfy French orthographic
  rules.


==========================
Changes in version 1.0.143
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not apply text_escape when building strings
  for purposes other than display. Fixes sort issues
  on Scandinavian and other non-ascii character sets.

- Fix potentially serious bug in registry handing of 
  uncited items, that could result in incomplete 
  registration of internal item data.


==========================
Changes in version 1.0.142
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide itemID to bibliography entry wrapper
  function, for use in HTML link wrappers and the like.
  Thanks to Phillip Lord at Newcastle University for
  exploring possible paths for this in the processor
  code.


==========================
Changes in version 1.0.141
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix typo that would produce a (well, now "the",
  unfortunately) "sep is undefined" error.

- Avoid lowercasing words within a name that
  are in all caps, when no text-case transformation
  is applied to the name.


==========================
Changes in version 1.0.140
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix some issues in the title case function.

- Always treat the year-suffix variable as rendering 
  output, for purposes of cs:group rendering suppression.

- Among the date variables, include only the issued date 
  when generating strings for disambiguation.

- Properly fix the colon suppression (software) bug.

- Do not add an and attribute to the implicit institution 
  node if none exists on the companion name node.


==========================
Changes in version 1.0.139
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not suppress a colon following a period when
  adjusting punctuation.


==========================
Changes in version 1.0.138
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly reset state.tmp.suppress_decorations
  in getCitationCluster().

- Avoid corruption of a leading apostrophe.


==========================
Changes in version 1.0.137
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly update the registry when items are added
  via updateUncitedItems().


==========================
Changes in version 1.0.136
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not rely on localeCompare() if a collation is available.
  Avoids erratic results from this function in Firefox Javascript
  implementations.


==========================
Changes in version 1.0.135
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix undefined year-suffix-delimiter with implicit
  year suffix.


==========================
Changes in version 1.0.134
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Raise output flag on page-first virtual
  variable, so that it is not suppressed when
  rendered as the sole content of a group,
  or of a macro (with an implicit group wrapper).

==========================
Changes in version 1.0.133
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Quash ordinary variables rendered via cs:substitute.


==========================
Changes in version 1.0.132
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Wake up debug tracing in Zotero configuration of the processor.


==========================
Changes in version 1.0.131
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not escape mismatched quote marks.


==========================
Changes in version 1.0.130
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Map family name decorations to institutions
  in xmle4x.js. Similar changes may be required
  in xmldom.js.


==========================
Changes in version 1.0.129
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix minor spacing bug affecting ASA style.

- Tighten conditions for the automatic insertion
  of spaces between user-supplied affixes and
  citations to which they apply.


==========================
Changes in version 1.0.128
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Broaden the list of skip-words used by the title-case
  function. Fixes regression from 2.0.9.

- Tighten conditions for identifying parallel citations
  somewhat.

- Provide some protection against a processor crash when
  parallel citation machinery missteps.


==========================
Changes in version 1.0.127
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reflect extended name lists triggered by disambiguate-add-names
  in bibliography as well as in citations.


==========================
Changes in version 1.0.126
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Bugfix for styles that failed to show year-suffix in the bibliography,
  by slightly extending the conditions under which implicit year-suffix 
  is applied.


==========================
Changes in version 1.0.125
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Include all institutional authors when rendering, with
  correct joins.  For the present, the join to the last
  institutional author is set always to the "long" form
  of the "and" term, subject to feedback on proper behavior
  and possible extensions to CSL.

  Since I'm not sure of the correct treatment for institutional names
  in author-date strings, we'll just open this up for the present, and
  restrict names included again, if necessary, in light of user
  feedback.


==========================
Changes in version 1.0.124
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Taint citations containing cites in which the number of names to be used
  changes as the result of adding or editing another citation.

- Provide translations for container-title and collection-title
  as well as title.


==========================
Changes in version 1.0.123
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Deliver U+2019 rather than U+02bc for apostrophes.


==========================
Changes in version 1.0.122
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reset correctly after first citation rendering.


==========================
Changes in version 1.0.121
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Properly render a personal author that is succeeded by an institutional
  author as the last entry in a nameset.


==========================
Changes in version 1.0.120
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not force characters to lower case when invoking
  localeCompare().


==========================
Changes in version 1.0.119
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Introduce processor option to suppress the transliteration
  of titles in bibliography and notes.


==========================
Changes in version 1.0.118
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Enable edition as a multilingual variable, and
  force use of the global locale when rendering,
  aligning multilingual behavior of this variable 
  with publisher and publisher place.

- Fix a stack error that occured when both citation
  and bibliography were included in a style that
  makes use of the context-sensitive locale switching
  facility in citeproc-js.


==========================
Changes in version 1.0.117
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Escape the value of subsequent-author-substutute when
  rendering bibliographies. This squashes the ??? bug
  flat as a pancake.


==========================
Changes in version 1.0.116
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Combine editor and translator names only if the
  editortranslator locale term is defined.


==========================
Changes in version 1.0.115
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Revise code for resstoring disambig_restore variable
  after use, in response to reports of random inclusion
  of extra names in citations, in styles that do not
  even require disambiguation. This is not a guaranteed
  fix; we will have to see what people discover in field
  testing.


==========================
Changes in version 1.0.114
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reset disambig_restore variable after use. Prevents disambiguation 
  parameters from leaking between references.

- Fix insane parameters in a style used for testing, which were not previously
  triggering a failure because of the bug listed above.


==========================
Changes in version 1.0.113
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Apply formatting set on family name parts to institutions as well.


==========================
Changes in version 1.0.112
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid carrying year-suffix forward to a following 
  reference when performing position-sensitive
  citation updates.



==========================
Changes in version 1.0.111
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid error when sorting items not yet added to the registry,
  triggered in Zotero clients on attempt to enter multiple
  citations in a style that applies sorting to citations.



==========================
Changes in version 1.0.110
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- With collapse="year", do not block the collapsing
  of subsequent authors due to differences that are
  masked by et al. truncation of the name list.


==========================
Changes in version 1.0.109
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use numeric rather than named entities when producing
  HTML, to avoid error if the output is processed as
  XML in an environment in which named entities have
  not been declared.


==========================
Changes in version 1.0.108
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Prevent et al. truncation of name lists that are
  less than et-al-min (or et-al-subsequent-min, depending
  on context), when they are accompanied by a clash
  partner with fewer names.


==========================
Changes in version 1.0.107
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Quash year-suffix on all entries that successfully
  disambiguate on the basis of names or text added
  with disambiguate="true".


==========================
Changes in version 1.0.106
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a flaw in disambiguation logic that could
  result in a processor hang, when a creator list
  with fewer names that its predecessor required
  additional names to accomplish disambiguation.
  
- Include the year-suffix as a sortable number
  string in dates used as sort keys. Citations
  that include a year-suffix will now sort correctly
  within the citation.

- Restore XML to defaults before creating E4X
  objects.

- Repair the processor demo page, which broke
  after revision 1.0.95.


==========================
Changes in version 1.0.105
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Assure that all ids passed into an array or se
  as a straight variable are stringified. Loosen
  condition statements where appropriate to treat
  numeric IDs of string and numeric type as
  equivalent.


==========================
Changes in version 1.0.104
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Make restoreProcessorState() notice that the sequence
  of citations has changed, and assign fresh citation
  IDs to duplicate citations in the input.


==========================
Changes in version 1.0.103
==========================

-----------
Enhancement
-----------

- Add a reference to item data in registry objects.

- Provide a registry method getSortedRegistryObjects()
  to return current bibliography data.

- Document new registry method in processor manual.


==========================
Changes in version 1.0.102
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Protect against undefined name.multi.main when
  checking headline names for a name tag.

- Fix for undefined value bug. When rendering non-ranged cites collapsed 
  with collapse="year-suffix", and the year suffix is implicit
  (not being rendered through a cs:text node with 
  variable="year-suffix"), add the necessary splice delimiter
  details to the number object.


==========================
Changes in version 1.0.101
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Add sortkeys array to skeleton items received during 
  restoreProcessorState() if it is undefined. Avoids
  a processor crash on the first Zotero 2.1 connection 
  to a Zotero 2.0.9 document. Fault reported by Hem
  Sras.


==========================
Changes in version 1.0.100
==========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow institutional names to collapse correctly in collapsing citations.

- Add heuristic code to identify Vietnamese names,
  and make it optional.


=========================
Changes in version 1.0.99
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix loop constraint variable misassignment that was 
  a likely cause behind reported instability in word 
  processor plugins.


=========================
Changes in version 1.0.98
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix failure to honor et-al-subsequent-min
  when it is smaller than et-al-min (which
  it ordinarily is).


======================================
Changes in version 1.0.97 [API change]
======================================

------------
Enhancements
------------

- Replace the methods setLangTagsForCslNameTransliteration()
  and setLangTagsForCslTitleTransliteration() with a single
  method setLangTagsForCslTransliteration().

- Change the multilingual parameters available through the
  default-locale attribute of style files (parameters used
  primarily for testing, not production) to reflect the
  API change described above.

- Add method setOriginalCreatorNameFormatOption() to the
  control API. This allows the name ordering and initialization
  conventions of transliterated names either to track those
  of the original language, or to follow the conventions
  of the target script.

- Document new setOriginalCreatorNameFormatOption() method and 
  the previously added method setOriginalCreatorNameFormsOption()
  in the processor manual, and update the description of testing
  parameters available via the default-locale attribute.


=========================
Changes in version 1.0.96
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix global variable assignment. Important for stability.


=========================
Changes in version 1.0.95
=========================

------------
Enhancements
------------

- Render multilingual names atomically, and do not
  modify the content of names objects during
  processing. This permits implementation of alternative
  name forms, needed to accomodate a new style rule
  in scientific publishing, that permits author names
  to be given in the original script alongside the
  romanized form.

- Implement the rendering of original name forms,
  where an alternative form of the name is used for
  the primary rendering.


======================================
Changes in version 1.0.94 [API change)
======================================

----------
API change
----------

- The input format for multilingual data changes in
  this version.  The previous format, intended only
  for testing, relied on string parsing to identify
  multilingual data embedded in a given field. While
  this strategy worked for initial testing (its sole
  intended purpose), it is cumbersome and potentially 
  fragile.

  The multilingual input data format recognized beginning 
  with this version of citeproc-js separates multilingual 
  content properly into separate elements, resulting 
  in simpler design and more robust operation.

  The change to the multilingual input format is not
  backward compatible; in the unlikely event that any 
  existing projects have relied upon the old format,
  adjustments will be required to run this version
  of the processor.


=========================
Changes in version 1.0.93
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Cast human-readable dates parser as a separate JS module,
  and provide documentation in the processor manual.

- Small change to multiple value handling in cs:number.


=========================
Changes in version 1.0.92
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix ordinal suffix assignment to values
  11 - 19 (for English, at least).


=========================
Changes in version 1.0.91
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Set circa rather than fuzzy on uncertain date
  objects in the internal human-readable dates parser.


=========================
Changes in version 1.0.90
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reimplement language conditions through
  cs:layout rather than cs:choose.


=========================
Changes in version 1.0.89
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow multiple locales to be specified in a condition,
  restrict fallback behavior to base (single two-character) 
  locales, and use the first locale specified in
  language attribute as the locale to be assigned to
  children of the condition when the test is successful.

- Properly honor locale for quotes and punctuation in
  language condition statements.

- Implement dynamic locale-sensitive delimiter and affixes
  with language condition statements.

- Fix minor bug in xmle4x.js XML parser affecting some
  locale load operations.


=========================
Changes in version 1.0.88
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fine tuning of language condition logic, to use only
  the base language name for matching, while applying
  the full locale specified in the conditional.

- Refinements to the recently introduced handling of 
  brace-enclosed leading characters as initialized 
  form of names.

- Adjustments to print statement arbitration, suggested
  by Carles Pina and Fergus Gallagher.


=========================
Changes in version 1.0.87
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Where et-al-min, et-al-subsequent-min or names-min are
  set to some value larger than an arbitrary threshold of
  50, truncate author lists that are longer than that value
  (plus a buffer value of 2), to raise performance to a 
  reasonable level with large namesets.


=========================
Changes in version 1.0.86
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Improve performance when handling very large
  sets of names.

(Thanks to Nick and Carles at Mendeley for reporting,
and for exploring the source of the fault.)


=========================
Changes in version 1.0.85
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Pass full suite of double space suppression tests.

- Language switching within a style works, for both
  localized dates and terms.  (This functionality is
  not yet recognized as valid CSL.)


=========================
Changes in version 1.0.84
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Preserve explicit double spaces in HTML output.

(Released as 1.0.84-1)


=========================
Changes in version 1.0.83
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use en-dash rather than hyphen in formatted page range
  joins.


=========================
Changes in version 1.0.82
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fixes to cs:if and cs:else-if logic.  Was failing to set the
  match attribute on singleton nodes, among other things.

- Treat greek letters as part of the "romanesque" character set, 
  for name formatting purposes.

- If cs:number input has numbers separated by spaces, but also 
  extraneous non-comma, non-ampersand, non-hyphen characters, 
  then render as literal.


=========================
Changes in version 1.0.81
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Yet more fixes to locale selection behavior.
  Use en-US if calling application requests an
  unknown style.


=========================
Changes in version 1.0.80
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- More fixes to locale selection behavior.

-----------
Enhancement
-----------

- Provide a toggle to override the locale of a style
  with the locale set on the processor at runtime.


=========================
Changes in version 1.0.79
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correct fault in locale fallback behavior.  Had been ignoring
  optional default argument set in the processor.


=========================
Changes in version 1.0.78
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Enable the proper parsing and rendering of
  seasons in ranged dates, in the internal
  dates parser.


=========================
Changes in version 1.0.77
=========================

-------
Cleanup
-------

- Adjustments to RTF output formatting, by
  Simon Kornblith.


=========================
Changes in version 1.0.76
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in locale processing, arising from the
  previous release, that could trigger a processor
  crash.


=========================
Changes in version 1.0.75
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not apply decorative formatting to name suffixes.

- Fix breakage in ordinal suffix formatting for days
  in a date.

------------
Enhancements
------------

- For an all-lowercase name suffix (such as an explicit "et al."),
  exclude the suffix from the name for disambiguation purposes, and
  include it in the strict short form of the name in the short form 
  of a citation.

- Add and recognize delimiter-precedes-et-al attribute, in
  line with draft CSL proposal.

- Implement grammatical gender sensitivity for ordinal
  suffixes, in line with draft CSL proposal.


=========================
Changes in version 1.0.74
=========================

-----------
Enhancement
-----------

- Recognize new Khmer locale for CSL provided by
  Hem Sras.

- When parsing number ranges in the input to cs:number,
  abort parsing when spread of range is over an
  arbitrary limit of 1000.

- Support names-use-last attribute on cs:key.
  (Anticipatory change to support upcoming change
  to CSL schema and specification.)

- Use unicode ellipsis character rather than
  (nonexistent) locale term when splicing
  author listings trucated with et-al-use-last.


=========================
Changes in version 1.0.73
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Limit the recognition of multiple numbers
  to cases in which numbers are separated by
  at least one space, to prevent accidental
  reformatting of leaf numbers.


=========================
Changes in version 1.0.72
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Allow simple range, comma, and ampersand joins 
  in the input to cs:number, to permit "1st-2nd", 
  "xi-xv", etc.  When multiple numbers are given,
  the following operations are performed:

    (1) ranges are expanded and the numbers are 
        converted to a list; 
    (2) the resulting list is sorted; 
    (3) duplicates are eliminated; 
    (4) ranges are truncated; 
    (5) numeric formatting is performed; and 
    (6) appropriate punctuation is applied to 
        the result.

- Eliminate space following a trailing apostrophe on a 
  dropping-particle, when immediately followed by family
  in rendered output.

- Recognize multiple parameters of position attribute of 
  cs:if and cs:else-if, per CSL 1.0 schema.  For the fix,
  eliminate cutted-and-pasteded code from node_if.js and 
  node_elseif.js, and consolidate in attributes.js.


=========================
Changes in version 1.0.71
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Variables (including names) should be (and have been)
  suppressed when rendered via the cs:substitute node
  of cs:names.  Subsequent rendering of any name variable
  after its first use within a given cite was being
  suppressed unconditionally, however, and this behavior
  differed from the Zotero CSL 0.8.1 processor.  This
  patch restores the original behavior, allowing names
  rendered outside of cs:substitute to be used repeatedly
  within a cite.  (The only exception to this behavior
  is a name rendered with et-al-min=1 and et-al-use-first=1,
  which will be clipped from subsequent output.)

- The processor was using the localized close-inner-quote
  character for apostrophes.  This caused problems in
  styles that use alternative quotation marks.  The
  processor now uses a hard-coded apostrophe character
  for apostrophes.

- A bug in the normalization of names, for disambiguation
  purposes, that contain punctuatioin or extraneous spaces
  has been fixed.


=========================
Changes in version 1.0.70
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Adopt conventions from Chicago 16th ed. for commas that follow 
  terminal punctuation in user content fields such as title.


=========================
Changes in version 1.0.69
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Limit suppression of a year that is identical to the
  volume number only for cites in which volume and 
  container-title are both rendered, and volume precedes 
  container-title.  Suppression allows legal cites such as
  The King v. Lockwood, 99 Eng. Rep. 379 (K.B. 1782) and
  Hastings v. Perkins, 1930 P. 217 (Eng. C.A.) to be handled
  with a single item type and without resorting to presentation
  toggles in the input data.  Limiting suppression to cites
  in which a rendered volume precedes a rendered container-title
  prevents this behavior from corrupting other citation forms.

- Suppress a leading prefix character that is nested at an 
  arbitrary depth on the subsequent sibling hierarchy of the 
  current output blob object, where it would result in duplicate
  punctuation in the flattened output.

- Fix over-aggressive suppression, on subsequent items, of variables 
  that are called through cs:substitute (and are therefore suppressed
  within the current item).

- Define print statement conditionally, following suggestions from 
  Carles Pina and Fergus Gallagher.


=========================
Changes in version 1.0.68
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Further refactoring of output queue mechanism, to
  unify all quote-swapping and detection code for
  duplicate terminal punctuation and spaces in a
  single function.  No changes to behavior, unless
  there is a hole in the test suite somewhere.

- Fix an output nesting mismatch error triggered
  by items with two institutional authors in sequence,
  when rendered with a style that sorts on the
  bibliography.

- In the output queue mechanism, fix a bug in the 
  migration of a leading terminal character in a
  prefix to the preceding sibling suffix.


=========================
Changes in version 1.0.67
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reimplement duplicate terminal punctuation handling in new
  adjustPunctuation() function.  Remove old functions used for this
  purpose, which were excessively complex and fragile.  Some
  operations in queue.js may now be redundant, since the new code does
  a much better job of cleaning up the output queue in advance of
  serialization.


=========================
Changes in version 1.0.66
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Adjustment the conditions for application
  of year-suffix values.

- Avoid redundant application of year-suffix
  values during disambiguation.

- Provide a default "institution" format blob on
  the output queue, to avoid a processor
  crash with lone institutional author
  names.

Thanks to Carles Pina for bug reports and
testing.

-------
Cleanup
-------

- Add e4x declaration when loading e4x parsing
  code in demo.html, to avoid error in the Chrome
  browser. Thanks to Fergus Gallagher for this fix.


(If these changes show some staying power, we can
discuss later whether to name this release
"Route 66" or "Norman Conquest".)


=========================
Changes in version 1.0.65
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not needlessly circumvent name disambiguation logic. Reverses 
  a patch introduced in the 1.0.61 through 1.0.64 series of 
  changes.

- Apply the concise and correct fix for the undefined-in-name bug 
  previously addressed by the 1.0.61 through 1.0.64 series of 
  releases. Just replacing an undefined variable with an empty string 
  does the trick.

- Force an initialized name that lacks an explicit string 
  value on initialize-with to full form, but only when using 
  the by-cite disambiguation rule.

- Permit update of year-suffix when it is added, in addition 
  to when it exists and then changes.

- Protect against an undefined value in updateItems(), which 
  can apparently sometimes occur in the course of word processor 
  plugin transactions.

- Map page-first variable to page when snooping for a value. 
  Prevents a lone page-first cs:text node within a cs:group 
  from being suppressed for lack of output.

- Repair recently amended appendCitationCluster() command to 
  return a list of paired values, in accordance with the 
  processor manual.

- Extend restoreProcessorState() to work with an empty argument, 
  for resetting the processor to a pristine state.  Use case 
  suggested by Carles Pina.

-------
Cleanup
-------

- Align version tag with version in source in this release.

- Refactor test fixture bundle for restoreProcessorState() function
  to avoid setting globals, and add a fixture to test resetting to 
  an empty state.


=========================
Changes in version 1.0.64
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Release tag to pick up the actual changes
  claimed in 1.0.62 and 1.0.63, the checkins
  of which were lost in the shuffle.


=========================
Changes in version 1.0.63
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix appendCitationCluster() to return
  a simple string, and required by Zotero 
  RTF Scan or any similar utility.


=========================
Changes in version 1.0.62
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Block needless initialization of names where
  the full name is requested and initialization
  is not.

Thanks again to Carles Pina for reporting this
fault.


=========================
Changes in version 1.0.61
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Block needless initialization of names where
  form is long, no initialization is requested,
  and last names are identical.

Thanks to Carles Pina for this bug report.


=========================
Changes in version 1.0.60
=========================

-----------
Enhancement
-----------

- Turn on the parsing of name prefixes and
  suffixes by default.


=========================
Changes in version 1.0.59
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Extend punctuation swapping to cases
  where quotes entered within a locator.

- Implement context-sensitive pluralization
  of labels.

- Fix bug affecting givennames with more
  than two words when rendered in full
  form without initialization.

- Fixes et al. behavior affecting some
  mixed personal and institutional name
  combinations.


=========================
Changes in version 1.0.58
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- In multilingual names handling,
  eliminate fallback to default locale
  language. (Running with this configuration
  in an application proved to be confusing.)


=========================
Changes in version 1.0.57
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Correctly handle singleton conditional
  nodes.  Affects cites to theses in the
  Chicago styles.


=========================
Changes in version 1.0.56
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide for separate configuration of name
  and title transliterations.


=========================
Changes in version 1.0.55
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug that triggered "registry[id] undefined"
  error in some disambiguation operations.

- Fix bug affecting voluntary suppression
  of small caps in rich text parsing engine.

-----------
Enhancement
-----------

- Add methods for setting multilingual 
  transliteration, translation, and sort 
  parameters on configured processor.


=========================
Changes in version 1.0.54
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fixes misplacement of labels set before the
  nameset to which they apply.

=========================
Changes in version 1.0.53
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a subtle bug that caused full author names to
  be erroneously rendered in citations although the
  style parameters did not permit them.


=========================
Changes in version 1.0.52
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reverse the RTF-related conservatism in the quashing
  of duplicate spaces that was introduced in 1.0.51.

- Add missing parens to suspect test condition (not
  related to any known bug).

----------
API change
----------

- The processor quashes double spaces in the output.
  RTF control words can be terminated with a space, but
  this causes an immediately following space to be lost
  from the output. To avoid this, the RTF output mode of 
  the processor has been adjusted to terminate RTF control
  words with {} rather than space. Applications that convert
  processor output between other formats (such as HTML)
  may need to be adjusted to accomodate this new behavior.


=========================
Changes in version 1.0.51
=========================

----------
API change
----------

- Return error objects with details of cites or bibliography
  entries that produce no rendered output.  See processor
  manual for details.

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix string breakage affecting text-case="title".

- Fix over-aggressive quashing of spaces, which affected
  spacing following RTF entities.

-------
Cleanup
-------

- Update manual with description of supplementary field
  facility.


=========================
Changes in version 1.0.50
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Apply output-mode-specific text_escape function to
  affixes and delimiters.

- Strip XML declaration from CSL and locale strings
  received for parsing in the xmldom.js module.

- Add paranoia fallback to handle comment nodes that
  sneak past the XML parser.

Thanks to Carles Pina for bug reports on the issues
above.

-------
Cleanup
-------

- Update manual to indicate support for non-E4X platforms.


=========================
Changes in version 1.0.49
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix XML parsing code in xmldom.js to screen XML comments
  from the processor.  Thanks to Carles Pina for reporting
  this fault.

- Tighten up conditions for suppression of the trailing year
  where the volume number and the year have the same value.
  Suppression will no longer occur when the rendered date
  contains additional details (day, month).

- Throw a more meaningful error when an invalid locale
  is requested.  Thanks to Carles Pina.

- Fix missing definition of quotes="false" in formats.js.
  Thanks to Carles Pina.

- Fix bug in handling of capitalized characters used in
  citeproc-js hackaround for multi-character initials.

-----------
Enhancement
-----------

- Extend support for "parallel" legal citations to include
  case and comment string citations used in French legal
  writing.

-------
Cleanup
-------

- Adjust demo page to include a comment (to check that
  comment nodes are no longer reaching the processor).
  

=========================
Changes in version 1.0.48
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Further fixes to quashing of duplicate punctuation
  and spaces.

- Fix issues with bibliography slug.

- Properly report orphan shortTitle and journalAbbriviation 
  to group as producing output, when short form is called 
  and main variable is nil.

- Fix bug in short form title support.

- Permit author to vary between parallel citations. Useful
  for French case-and-commentary string cites.

-----------
Enhancement
-----------

- Provide for parsing experimental variables out of the
  content of the note variable.  For use in advance
  testing of styles that require changes to the variables
  available in CSL, or supplied by the calling application.


=========================
Changes in version 1.0.47
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a duplicate space issue reported by Carles Pina.

- General refactoring of code for identifying an quashing
  duplicate punctuation and spaces.  The code should be
  easier to control when further issues involving punctuation
  arise down the road.

-----------
Enhancement
-----------

- Provide for replacement of the citation number in
  numbered styles with a slug, so that strings in a
  bibliography listing can be used in a template
  without rerendering.

-------
Cleanup
-------

- Fix up stale links in processor manual.

- Fix syntax error in test.py affecting Python 2.5 systems.

- Add explanatory notes to demo.html page, in an effort
  to clarify the way processor output can be styled
  and formatted.


=========================
Changes in version 1.0.46
=========================

-----------
Enhancement
-----------

- Add option to updateItems() and updateUncitedItems()
  to suppress sorting of the bibliography.


=========================
Changes in version 1.0.45
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix duplicate terminal punctuation
  affecting bibliography output.

- Eliminate dereferencing assignments, for
  compatibility with some JS implementations.

- Suppress duplicate spaces affecting some
  styles.

-------
Cleanup
-------

- Fix typo in demo page.

=========================
Changes in version 1.0.44
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Do not treat empty dates as rendering content for purposes of
  implicit group conditional rendering, but do recognize literal 
  date content in the same context."


=========================
Changes in version 1.0.43
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- In test.py, change the -E bundled code dump option to -Z,
  and describe as a Zotero bundle option in script help messages.

- Include an assignment of CSL.error to Zotero.debug in the Zotero
  bundle, so that error messages and warnings from the processor will
  pass through correctly, without crashing the processor.

- Render literal passthrough strings on date objects only when
  the year is included among the requested date elements.

- Add temporary code to normalize the structure of some date 
  input objects.

  (... and so we bid a sad farewell to the Meaning of Life 
  release.)
 

=========================
Changes in version 1.0.42
=========================

-----------
Enhancement
-----------

- Provisional implementation of ellipsis truncation of 
  creator listings as required by APA 6th, in anticipation 
  of upcoming point release of CSL schema and specification.


=========================
Changes in version 1.0.41
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Reset processor's internal last_name_rendered variable,
  to prevent previous runs of the processor from affecting
  bibliography output.


=========================
Changes in version 1.0.40
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Avoid update to position data of other citations during
  previewing.  On-the-fly updates of related citations upon
  citation edit or insert were broken, but should now work 
  correctly.


=========================
Changes in version 1.0.39
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix a tiny bug that could cause erroneous position values when
  previewing under some circumstances, resulting in an incorrect
  cite form in preview, and a different (but correct) cite form
  in the document.


=========================
Changes in version 1.0.38
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix appendCitationCluster() to work with the API revision
  made to processCitationCluster() in point release 1.0.28.

-----------
Enhancement
-----------

- When user provides a cite suffix that ends with a full stop,
  suppress the normal inter-cite join.


=========================
Changes in version 1.0.37
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Quash duplicate terminal punctuation at the end of citations.
  This can happen where an abbreviated term such as id. or
  ibid. is rendered at the end of a citation in a note style,
  in which the note is terminated with a period.

- Eliminate implicit for loops in array constructs, which is
  sadly not available in Chromium JS engine.


=========================
Changes in version 1.0.36
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Refresh citations in which names or year suffixes have
  (potentially) changed.


=========================
Changes in version 1.0.35
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Simplify save/restore operations for previewing.

- Tie in tainting code for disambig values registered via disambig_cites.js.  
  Possibly over-aggressive about rerendering now, but it works.


=========================
Changes in version 1.0.34
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Include year suffix in clone of disambiguation
  configuration.  Failure to include this parameter
  appears to have been behind some intermittent
  glitches in preview handling of year suffixed
  citations.

- Avoid processor crash when unregistered citation
  objects are encountered in preview mode.  The crash
  points occur during tainting, which is irrelevant
  in preview mode, so no harm is done; but I'm not
  really sure why this would ever happen.  Possibly
  a concurrency issue?

-------
Cleanup
-------

- Eliminate unused keyname on cloned disambig objects.

- Minor formatting cleanup in util_disambig.js.

- Add a couple of paranoia operations to processCitationCluster().

  * Issue a bogus warning citation in the event of a processor
    crash.  This should come out for production.

  * Slice citationsPre and citationsPost when they enter
    the processor.  I've been exploring some instability
    with large numbers of same-author/same-year cites in
    Zotero, and thought that mallability of list input
    might be part of the problem.  No idea whether these
    lists can or do change length or content during processing,
    but just in case.


=========================
Changes in version 1.0.33
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- In preview mode, avoid tampering with the registry data,
  of items in the citation to be previewed that already
  exist in the registry.  Fixes errors in subsequent
  rendering of year suffixes.

- Suppress redundant return value for current cite, when it is
  tainted by an update by processCitationCluster().

-------
Cleanup
-------

- Add a further unit test for previewCitationCluster(), to
  uncover year suffix bug.


=========================
Changes in version 1.0.32
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bugs in the handling of document-wide names disambiguation
  that manifested when one or more items with identical names were
  deleted from the registry.

-------
Cleanup
-------

- More thorough tests for previewCitationCluster().

- Add some debugging trace chatter for cmd_cite.js.

- Pointless increment to processor manual version number.


=========================
Changes in version 1.0.31
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix some state restore bugs in previewCitationCluster().

-------
Cleanup
-------

- Roll back previewCitationClusterStatic() command that
  was introduced in the last release.  Discussion and more
  careful thought showed that it is not safe and not
  generally a good idea to make blind assumptions about
  document state.

- Extend the test fixtures for previewCitationCluster()
  a bit.


=========================
Changes in version 1.0.30
=========================

-----------
Enhancement
-----------

- Add new previewCitationClusterStatic() command, to
  simplify the task of generating previews in the calling
  application.  The command requires only a citation
  object, and an output mode flag (typically "html").

-------
Cleanup
-------

- Document previewCitationClusterStatic() command in the
  processor manual.


=========================
Changes in version 1.0.29
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Complete reimplementation of cite-level disambiguation.
  The new code is more compact and maintainable, and
  avoids thrashing behavior that afflicted the previous
  code when a large number of cites required both
  add-names and year-suffix disambiguation.

- Suppress year suffix when fresh ambig keys are generated.

-------
Cleanup
-------

- Move disambiguation options from citeproc.citation.opt
  to citeproc.opt.

- Use named year_suffix element on disambiguation configuration
  objects, rather than the anachronistic index value 2.

- Set default value of false rather than number 0 on year_suffix
  element.

- Generate year suffix for any non-false value on year_suffix
  element.


======================================
Changes in version 1.0.28 [API change]
======================================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- This version introduces a significant change to the return
  value of processCitationCluster().  It is now an array with
  two elements, the first being a JS object that serves as a
  data segment, and the second the list of two-element arrays
  representing insertion indexes and strings for insertion
  (as previously documented).  An API change of this scale
  probably calls for some more visible sign in the version
  numbering, but the original statement on versioning says
  that the major and minor numbers will align with the CSL
  schema, so we stay at level 1.0.

- The data segment referred to above contains just one element
  currently, "bibchange", which is true if processing the
  citation results in any change affecting the bibliography.

- This release also introduces one change and one addition to
  style configuration flags.  The flag at citation.opt["citation-number-sort"]
  has been moved to opt.citation_number_sort, for clarity and
  consistency.  A new flag, open.sort_citations, is true if
  citations are sorted by the style in any way.

-------
Cleanup
-------

- Document API change in the processor manual.

- Document availability of opt.citation_number_sort and 
  opt.sort_citations in the processor manual.



=========================
Changes in version 1.0.27
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix obvious memory leak and corruption bug affecting sortedItems 
  elements, of citationItem content objects.
  

=========================
Changes in version 1.0.26
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Implement new command restoreProcessorState(), for use in
  ... restoring the processor state, when position variables
  and citation sort keys are already known.

-------
Cleanup
-------

- Add entry for new restoreProcessorState() command to processor
  manual.

- A few tests of the restoreProcessorState() command.


=========================
Changes in version 1.0.25
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Provide new command, previewCitationCluster(), that returns
  string for hypothetical citation at specified position,
  without affecting processor state.

- Fix bug that would have cause appendCitationCluster() to
  run updateItems() unnecessarily.

- Provide for forced generation of citationID, for use
  in previewing.

-------
Cleanup
-------

- Provide more meaningful internal flags for processCitationCluster().

- Add entry for new previewCitationCluster() command to processor
  manual.

- A few tests of the new previewCitationCluster() command.


=========================
Changes in version 1.0.24
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Cope with item IDs of numeric type, and roll back
  one patch from 1.0.23 that becomes unnecessary as
  a result.


=========================
Changes in version 1.0.23
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Cope with two disambiguation cases, involving add-names and
  add-givenname, that succeeded in crashing the processor.


=========================
Changes in version 1.0.22
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Bypass sorting of citations that have a value for "unsorted" 
  in citation.properties.

-------
Cleanup
-------

- Document "unsorted" toggle in processor manual.


=========================
Changes in version 1.0.21
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Tighten up "NUMERIC" update_mode to mean styles that render
  citation-number in citations (renderings in the bibliography
  are now ignored for purposes of setting this internal flag).

- The numeric styles fix introduced at version 1.0.17 broke with
  styles that sort the bibliography on anything other than
  citation-number (i.e. document first-reference order).  With
  this release, arbitrary sorts of the bibliography work with
  numeric styles.

- Position evaluation code is now invoked only in styles that make
  use of position testing (to save a few cycles).

- Numeric styles now perform targetted citation updates correctly.


=========================
Changes in version 1.0.20
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Retain all names added by disambiguate-add-givennames when year-suffix
  is added to a cite.  While not strictly necessary for disambiguation,
  the additional information is useful when scanning a bibliography for
  the target entry.  In the previous implementation, Bennett was guilty
  of thinking too much like a computer with a hash table, and too little
  like a reader with a reference list in front of them.

- Eliminate conditions that erroneously suppressed wrapper tags on
  institutional names.



=========================
Changes in version 1.0.19
=========================

-------
Cleanup
-------

- Set up AGPLv3 as an alternative license to CPAL.

=========================
Changes in version 1.0.18
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- RTF and plain text output specs, provided by Simon Kornblith of
  the Zotero project, Center for History and New Media, George
  Mason University.

- Fix weakness in by-cite disambiguation where (I think) maxing out
  disambiguation parameters results in successful disambiguation of
  all but one of the cites in a pool.  Relevant discussion on
  `xbiblio list @ SourceForge`__.

__ http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTimtM7wsRL9dhcb4xUICFdj2VIom_Y2t_1wvG1RQ%40mail.gmail.com&forum_name=xbiblio-devel



-------
Cleanup
-------

- Added -E option to ./test.py, to dump processor code with embedded E4X
  support, as used in Zotero.

- Renamed -b option in ./test.py to -B, for consistency with new -E option.

- Simplify regexp used to identify numbers in numeric variables.  Now
  more conservative, but this is probably right.  No effect on tests.

=========================
Changes in version 1.0.17
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- For styles that sort cites on citation-number, postpone the
  cite sort operation, to allow the registry entry and accompanying
  sequence number to appear in the registry before the sort is
  attempted.

=========================
Changes in version 1.0.16
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix error raised by bad var in warning message.

-------------------------------------
Adjustments to extended functionality
-------------------------------------

- Treat names that have a family element without a given element
  as institutional names, with related adjustments to test fixtures.

-------
Cleanup
-------

- Drop test fixture description from processor manual.  This is
  now to be maintained in the manual of the CSL Test Suite.

=========================
Changes in version 1.0.15
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Eliminate implicit rendering of "no date" term by cs:date.


=========================
Changes in version 1.0.14
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Remove conditional statement that caused leakage of long-form names into subsequent 
  cites in the MHRA style.

- Fix error in test fixture example contained in the processor manual.

-------
Cleanup
-------

- Add ambig key to one block of debugging info in disambig_cites.js

- Set path to styles to point into manually updated external standard tests bundle.

- Remove styles used by standard tests from this archive.


=========================
Changes in version 1.0.13
=========================

-------
Cleanup
-------

- Drop standard test fixture data from citeproc-js source repository.

- Adjust test runner test.py to accomodate the directory structure of
  the standalone copy of the test fixtures.

- Add note on the need to add the test fixtures manually to the README.txt 
  file and the processor manual.


=========================
Changes in version 1.0.12
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix bug in optional date parser code affecting ranged
  Japanese dates.

-------
Cleanup
-------

- Separate local and standard test fixtures, and make necessary
  adjustments to test framework.

- Drop test subdirectories "bundled" and "run" from mercurial.


=========================
Changes in version 1.0.11
=========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Processor now opens a key entry in the abbreviation lists for any 
  field value for which abbreviation is requested, but unavailable.
  This should provide enough to get a circle-of-goodness thing
  going to start crowdsourcing style-specific abbreviation lists.


=========================
Changes in version 1.0.10
=========================

-------
Cleanup
-------

- Checking in bundled code for the last change, upping version
  in processor code.


========================
Changes in version 1.0.9
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Cause processor to report its own version as processor_version,
  and the supported CSL version as csl_version.


========================
Changes in version 1.0.8
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix code incompatible with IE6 in util_dateparser.js.

- Fix error in the code for generating year-suffix strings
  (fixes bug affecting very high values unlikely to be encountered
  in actual operation).

-------
Cleanup
-------

- Various small fixes in the tests/citeproc_js processor
  tests directory to get tests working with current version
  of code.

- Make syntax and formatting adjustments to recent code as
  recommended by jslint.

- Fix invalid CSL in one test.

- Drop some extraneous files from the archive.


========================
Changes in version 1.0.7
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Place name suffix after the given name is name-as-sort-order
  rendering, separated by a comma, as required by CMS.

- Provide for quote-escaping of name field parsing, when the
  citeproc-js specific parse-names toggle is used to invoke
  name field pre-parsing.

-------
Cleanup
-------

- Tests of citeproc-js name parsing extension, with CMS-correct
  handling of name suffixes.

- Fix placement of name suffix in several tests.

- Move parseName() function from build.js to util_names.js.  

- Test for quote-escaped particles in the family name with name field
  parsing.

- Update to manual to cover the citeproc-js parsing conventions for
  name particles and suffixes.


========================
Changes in version 1.0.6
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Drop suffix from short form of names.

- Use implicit context-sensitive joins (space or comma + space)
  when the cs:et-al element is used in a name (i.e. align behavior
  of this element with behavior of the implicit "et al." term, as
  required by the amended CSL specification).

- Permit use of "initials" with non-byzantine names, when style requires
  initialization of a name.  Will allow truncation of Japanese given
  names to the first character, as required by some book publisher
  styles in Japan, and possibly in other Asian-script domains.

-------
Cleanup
-------

- Move a test specific to citeproc-js to citeprocjs group.

- Adjust tests to require implicit application of comma + space prefix
  to et al. term, when cs:et-al is used.

- Simplify handling of "et-al" and "with" joins, eliminating a couple
  of nesting levels.  Preliminary infrastructure for discriminate
  handling of "et-al" and "and" terms with institutional names.


========================
Changes in version 1.0.5
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Give name suffixes the same formatting as the family
  name-part.


========================
Changes in version 1.0.4
========================

-----------
Enhancement
-----------

- Fix articulars preceded by a comma (as Bennett's own name)
  to render correctly in bibliographies, as "Bennett, Frank G., Jr.".

---------------------------
Minor interface adjustments
---------------------------

- Change the "comma_suffix" key used to indicate that a name suffix
  should be preceded by a comma to "comma-suffix", for consistency.


-------
Cleanup
-------

- Fix manual to reflect minor interface adjustments made in 1.0.1 and 
  1.0.4 releases, and to mention the "hereinafter" section of the
  abbreviations object, previously overlooked.


========================
Changes in version 1.0.3
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Use comma + space for delimiter before implicit et al. term, when
  preceded by more than one personal name.  Brings processor behav ior
  into line with current Zotero processor and common style
  requirements.  Context sensitivity is not available with explicit et
  al. term; tha t issue to be addressed in CSL 1.1.


========================
Changes in version 1.0.2
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Fix errors in the placement of non-dropping particles.

- Fix placement of particles in short-form names.

-------
Cleanup
-------

- Fix invalid CSL in test fixtures.


========================
Changes in version 1.0.1
========================

------------------------------------
Mishandled or unimplemented features
------------------------------------

- Return maxoffset and the value of second-field-align itself in the
  header of the return value from makeBibliography() when
  second-field-align is used.

- Correctly set the value of entry-spacing and line-spacing, providing
  for a default value of 1 for both attributes, and permitting them
  to be set to 0.

- Set position to subsequent rather than ibid on cites for which one
  or more notes stand between the current citation and the preceding
  partner.

- Implement and test the baseline value for vertical-align.

- Recognize first-reference-note-number as a variable attribute value
  on cs:if and cs:else-if.  Wake up locator attribute on cs:if and
  cs:else-if.

- Fix uppercasing of terms when rendered at first position, and
  prevent uppercasing otherwise.

- Use a space rather than space + comma as the delimiter preceding
  an implicit et-al term.

- Return entry_ids in the header returned by makeBibliography().  The
  entry_ids value is a list, in turn containing one list per entry
  (the nested list being necessary to provide for parallel citations
  picked up in the bibliography).

- Support for uncited items, via new updateUncitedItems() command.

-----------
Fine tuning
-----------

- Suppress issued year if it matches the volume number exactly.  This
  effect is needed for UK case cites.  It's an exception, so other
  content must take priority; the change comes out if it causes
  problems elsewhere.

- Fixes in node_names.js to make institutional names handling available in note styles.

- In what I think is a harmless divergence from the specification,
  return true for is-numeric for non-numeric variables that end in a
  number.  Some styles require adjustment of joins, such as the
  insertion of a comma, in this case.

- Taint items for a change in sequence number only if citation-number
  is used in the citation.

---------------------------------
Fixes to parallels detection code
---------------------------------

- Fix array overrun bug in parallel detection code.

- When the trailing year is quashed in a cite in initial position
  within a set, quash it also in the final partner.  Needed to
  handle public domain citations.

- Provide looser constraint on minimum variable content for parallels
  detection.  Provide for adding a constraint on item type.

- Eliminate am_master flag, and instead rely on the position of the
  rendered item under analysis within the cite set.  This works after
  eliminating and extraneous cite set list push operation that was
  causing it to fail.

-----------------
Internal bugfixes
-----------------

- Suppress registration of names that do not include a family name.

- Provide for the possibility that subsequent citation forms will not
  include any names, and therefore not produce disambiguation data in
  the registry.

- Avoid rendering of citation numbers when evaluating subsequent cites
  for disambiguation purposes, in node_text.js

- Fix a subtle bug in the rollback of added names, in
  disambig_cites.js.

- Companion changes in node_names.js and cmd_cite.js, to restore
  parameters based on subsequent-form disambiguation to the registry,
  after rendering a first-position cite.

- Fix bug caused by incomplete cs:choose node set as a helper for
  cs:substitute.

- Rename citationIdByItemId to citationsByItemId, and adjust code to
  set this list with pointers instead of IDs.  Leverage availability
  of citation pointers to get near-note conditional working.

---------------------------
Minor interface adjustments
---------------------------

- Extend abbreviations structure with addition sections
  "title", "publisher", and "publisher-place".  Change names of
  abbreviation sections "journal" and "series" to "container-title"
  and "collection-title" respectively, for consistency and clarity.


-------
Cleanup
-------

- Delete tests which, if they had been correctly written, would have
  been invalid CSL.

- Fix tests involving et-al-subsequent-min and
  et-al-subsequent-use-first that were either incorrectly written or
  required a wrong result.

- Align abbreviation list keys with field names in tests.

- Cleanup and reorganization of code related to multi-lingual handling
  and abbreviations.

- Adjust near-note tests to use a simple boolean value on the cite
  supplement element of the item, rather than a note distance.

- Adjust tests to reflect correct lowercasing of ibid term when not at
  first position.

- Change tests to use a space rather than comma+space before et al.
