Summary of changes to citeproc-js since version 1.0.0 release. ========================== Changes in version 1.1.115 ========================== - Apply Institution variant conditions and styling to Institution fields (was using Person parameters) ========================== Changes in version 1.1.114 ========================== - Fix failure to resort tainted citations on up-registry reinsert. Reported by Derek Sifford: https://github.com/Juris-M/citeproc-js/issues/13 ========================== Changes in version 1.1.113 ========================== - Fix missing argument in log function. ========================== Changes in version 1.1.112 ========================== - Fix multilingual bug, triggered by settings that invoked a tertiary variant. ========================== Changes in version 1.1.111 ========================== - Do not throw on CSL error. Use dump if console not available. ========================== Changes in version 1.1.110 ========================== - Fix erroneous remap of CSL section field to locator in vanilla CSL. https://forums.zotero.org/discussion/59427/citation-of-a-law/ ========================== Changes in version 1.1.109 ========================== - Fix sort errors in Scandinavian locales that erupted here: https://forums.zotero.org/discussion/59907/odd-behaviour-when-sorting-in-danish/ ========================== Changes in version 1.1.108 ========================== - Show language variants of institutions even when external abbreviation is applied. ========================== Changes in version 1.1.107 ========================== - Recognize default-locale on cs:date in rendering context. ========================== Changes in version 1.1.106 ========================== - Recognize a default-locale attribute on cs:label and cs:text when used to render a term. - Avoid use of array comprehension in variable assignment. ========================== Changes in version 1.1.105 ========================== - Fix over-restrictiveness in the application of en-dash, uncovered while working through a style issue reported here: https://forums.zotero.org/discussion/59568/style-error-australian-guide-to-legal-citation/ ========================== Changes in version 1.1.104 ========================== - Rework the year-suffix fix introduced at 1.1.100, which broke on a separate, as-yet-untested disambiguation issue. - Split `authority` and `committee` field content on a semicolon, and cast as multiple name elements. Affects CSL-M mode only. - Fix bugs in the handling of extended locator elements (locator-date and locator-extra). ========================== Changes in version 1.1.103 ========================== - In text-case="title" with English, capitalize a word that follows a forward slash. - Properly escape and markup when applying text transforms (fixes a bug unmasked by the change above). - When no authors are available for citation-label, use a fragment of the title. - When adding multilingual variants in output, suppress italics, oblique, and boldface in supplementary (secondary and tertiary) text. ========================== Changes in version 1.1.102 ========================== - Append citationID to the citation arrays returned by processCitationCluster(). Depending on document addressing capabilities, this can greatly simplify the matching of updates to document citations. ========================== Changes in version 1.1.101 ========================== - Fix missing-delimiter bug with explicit year-suffix. - Fix erroneous render of implicit year-suffix when date variable has no content. Reported by Sebastian: https://forums.zotero.org/discussion/58636/collapse-yearsuffix-in-chicago-manual-of-style/#Item_5 ========================== Changes in version 1.1.100 ========================== - In @initialize-with attribute value, retain zero-width non-breaking space (\uFEFF) and non-breaking space (\u00A0) as inter-initials join, and in the RU and FR locales only, when either non-breaking space is present in the attribute value, use non-breaking space (\u00A0) as given-to-family join when building initialized names in non-sort order. Otherwise, use space for given-to-family join. Resolves issue discussed at: https://forums.zotero.org/discussion/31693/nonbreaking-space-unavailable-between-initials-and-names - Fix bug in which styling of cs:date nodes with no variable content (specifically affixes) affected styling in subsequent date nodes. - Fix bugs in explicit year-suffix when used with year- or year-suffix collapse. ========================= Changes in version 1.1.99 ========================= - Fix pluralism of embedded labels. ========================= Changes in version 1.1.98 ========================= - Recognized balanced single- or balanced double-quotes in XML markup. ========================= Changes in version 1.1.97 ========================= - Set single-field names from {:key:val} note field hacks as literal, rather than as family + isInstitution. ========================= Changes in version 1.1.96 ========================= - Handle DOS and Mac line endings correctly when parsing serialized XML. ========================= Changes in version 1.1.95 ========================= - Trim numeric field values before parsing. ========================= Changes in version 1.1.94 ========================= - Extend parseNoteFieldHacks() to accept a hash object of valid-field flags. ========================= Changes in version 1.1.93 ========================= - Expose field-hack decoding as parseNoteFieldHacks() method on CSL object. ========================= Changes in version 1.1.92 ========================= - Add pretitle macros to all style modules. Thank you OSCOLA, thank you European Court of Justice. ========================= Changes in version 1.1.91 ========================= - Return bibliography strings as an array of strings, not as a array of and array of strings. Restores behaviour prior to 1.1.68. Fault reported by Carles Pina. ========================= Changes in version 1.1.90 ========================= - Return false for comma-safe when term set is a value term on cs:text. ========================= Changes in version 1.1.89 ========================= - Set just_did_number flag on cs:text with term or value attribute. ========================= Changes in version 1.1.88 ========================= - With comma-safe, always return true a term exists and is alpha. ========================= Changes in version 1.1.87 ========================= Fix nesting mismatch triggered on RTL-language items. Reported by abdeali khurrum to the Juris-M Freshers list. ========================= Changes in version 1.1.86 ========================= - Fix failure to return variable_attempt=true when require="empty-label" failed, and so fail to suppress sibling term when no other variable renderings are attempted. ========================= Changes in version 1.1.85 ========================= - Remove stale alternative-macro support from processor, and fix tests to remove it from there. - Update CSL-M schema to add empty-label value on reject and require. - Enhancements and bugfixes for require and reject: - Handle group_context only on real nodes in the style. - Treat the outer group on macros as a real group node in the style. - Fix a bug in the application of layout suffix on bibliographies. - Add an empty-label value to reject and require. - Flag a failed reject or require to the parent as a failed attempt to render a variable, so that it will take bare term siblings with it on fail. ========================= Changes in version 1.1.84 ========================= - Replace reject and require conditions with smarter comma-safe value ========================= Changes in version 1.1.83 ========================= - Fix hang condition triggered when single straight quotes were set as inner quotes, and a field contained a straight-quote apostrophe. ========================= Changes in version 1.1.82 ========================= - Fix Arabic locale selection. ========================= Changes in version 1.1.81 ========================= - Remove unused macros from modular code tests. - Fix minor bugs in require and reject code. - Fix bug in "romanesque" regular expressions. - Return styleID from JSON parser. ========================= Changes in version 1.1.80 ========================= - Force per-word sorting on all sort keys. - Fix bug in new reject and require attributes that caused test to fail when rendered label was nested in a macro or condition statement. - Move in CSL-M tests migrated from standard CSL test suite. ========================= Changes in version 1.1.79 ========================= - Recognize require and reject attribute on cs:text in value and term modes. ========================= Changes in version 1.1.78 ========================= - Clean up group context code, replacing array with keyed object. - Remove stale "oops" attribute code. - Implement require and reject condition attributes on cs:group with "label-empty-or-alpha" value. ========================= Changes in version 1.1.77 ========================= - Fix failure of locale-based numeric-term embedded affixes on first number in field. - Add "static" term form to CSL-M schema, and mask it from changes via the label-form attribute. - Add -nojuris mode option to ./test.py ========================= Changes in version 1.1.76 ========================= - Fix parallel cite test failure. ========================= Changes in version 1.1.75 ========================= - Unescape angle brackets in string-based parser. (checked Zotero styles repo to confirm that all names entities used in CSL styles are now covered). ========================= Changes in version 1.1.74 ========================= - Migrate repo to git. - Fix issue with raw affix affecting French styles. - Include CSL test suite, CSL locales, CSL and CSL-M schemata, and a new citeproc-js-docs repo as submodules. - Implement a string-based XML-to-JS converter. - Bundle DOM and JSON walking parsers and XML-to-JS converter in processor instance, and sniff input to select parser. - Provide with-E4X and without-E4X versions of the processor code. - Clean up the test script a bit. - Fix support for alternative JS engines. - Merge JS runners into a single file. - Add jing validator to project repo, and fix test.py -c to report correct source filename on error. - Remove unused files. ========================= Changes in version 1.1.73 ========================= - Permit use of leading-noise-words in style-level locale declarations. - Suppress parens flip on all but note styles. - Make test fixtures work with standard CSL locales. ========================= Changes in version 1.1.72 ========================= - More robust implementation of parens-flipping, enabled only on note styles. - Fix global replacements that failed on many JS implementations. - Introduce string-based parsing of serialized XML. - Extend test framework to allow use of alternative JS engines. - Remove spaces from sort keys to fix sort behaviour on several JS implementations. - Add a few test fixtures. ========================= Changes in version 1.1.71 ========================= - Fix bug affecting styles making use of near-note. Reported by Zotero user @tog https://forums.zotero.org/discussion/56946/attribute-name-formshort-ignored/ ========================= Changes in version 1.1.70 ========================= - Fix a second bug, affecting all styles. Check for nesting name failed erroneously, but failure did not show in tests b/c written to console.log() rather than print(). ========================= Changes in version 1.1.69 ========================= - Fix a bug that manifested in Juris-M configuration with the Vancouver style. ========================= Changes in version 1.1.68 ========================= - Revised handling for numeric variables * Numeric variables are processed identically in cs:text and cs:number * Label short-codes embedded in fields are recognized and pluralized * Label override by leading short-code recognized in locator and number * Per-number affixes can be specified in locale label terms with %s placeholder * Prefix and suffix labels can be forced in locale label terms with %s placeholder * Expansion and collapsing of page ranges in locators is supported ========================= Changes in version 1.1.67 ========================= - Fix a bug in reverse-lookup support used by the visual editor. ========================= Changes in version 1.1.66 ========================= - Remove title-casing suppression from quotes, and smarten up quote parsing. http://xbiblio-devel.2463403.n2.nabble.com/Title-case-questions-tt7579427.html ========================= Changes in version 1.1.65 ========================= - Amend date parser module to accomodate usage in Juris-M, and provide parse() method for backward compatibility. - Make parsed date values numeric https://github.com/Juris-M/zotero/issues/2 - Fix date parsing bug exposed when multiple date locales are loaded https://github.com/Juris-M/zotero/issues/9 - Recognize underscore workaround as a date delimiter https://github.com/Juris-M/zotero/issues/6 - Return incompletely parsed dates as literal https://github.com/Juris-M/zotero/issues/13 ========================= Changes in version 1.1.64 ========================= - Fix bug in xmljson.js that caused incorrect formatting of names in some styles when rendered with xmljson.js parser: https://github.com/zotero/citeproc-node/issues/26 - Fix bug in text-case="title" that prevented tag-enclosed text from uppercasing properly. https://bitbucket.org/fbennett/citeproc-js/issues/187/title-case-formatter-does-not-title-case - Fix sort bug affecting some JavaScript engines. https://twitter.com/fgbjr/status/662844111834079232 ========================= Changes in version 1.1.63 ========================= - Extend uppercase-subtitles option to cover container-title as well. New code is extensible to series titles as well, if that is desired. https://github.com/Juris-M/propachi-upper/issues/2 ========================= Changes in version 1.1.62 ========================= - Fix bug in cite-group-delimiter: https://github.com/citation-style-language/styles/pull/1742/files#r43429282 ========================= Changes in version 1.1.61 ========================= - Fix Extra-field hack parse of creators. Add (possibly multiple) names if original input had not name of same category. Addresses bug report: https://github.com/zotero/zotero/issues/846#issuecomment-146794378 ========================= Changes in version 1.1.60 ========================= - Avoid erroneous disambiguation when non-"issued" date variables are the only difference between citations (but continue to ignore "accessed"). https://forums.zotero.org/discussion/52758/disambiguation-enabled-when-not-needed-with-date--original-date/ ========================= Changes in version 1.1.59 ========================= - Update to processor documentation. - Fix parsing of particles with articulars to work like normal. ========================= Changes in version 1.1.58 ========================= - Fix a bug in the particle parser, ouch. Thanks to Emiliano Heyns for reporting it: https://bitbucket.org/fbennett/citeproc-js/issues/183/particle-parser-returning-non-dropping ========================= Changes in version 1.1.57 ========================= - Simplify particle parsing mechanism, following discussion in these threads: https://forums.zotero.org/discussion/51491/double-surnames-starting-with-te-end-up-quoted-incorrect/ https://forums.zotero.org/discussion/51783/1/parsing-problem-on-italian-names/ - Move list of particles to a separate processor segment, for access by calling applications that implement their own parsing methods. ========================= Changes in version 1.1.56 ========================= - Fix bug in cite-group-delimiter: https://forums.zotero.org/discussion/51942/citeprog-bug-citegroupdelimiter-and-yearsuffix/#Item_1 ========================= Changes in version 1.1.55 ========================= - Add Dutch particles from external source linked by Rintze, as suggested by nickbart https://forums.zotero.org/discussion/30974/2/any-idea-why-an-a-author-comes-last-in-the-bibliography/2/#Item_26 - Merge entries as appropriate ========================= Changes in version 1.1.54 ========================= - Reformat particle list ========================= Changes in version 1.1.53 ========================= - Fix some Italian particle classifications https://forums.zotero.org/discussion/51783/parsing-problem-on-italian-names/ ========================= Changes in version 1.1.52 ========================= - Fix Dutch particle classifications, per: https://forums.zotero.org/discussion/51491/double-surnames-starting-with-te-end-up-quoted-incorrect/#Comment_232339 - Restore case sensitivity in names parsing. - Restore uppercase Arabic particles, pending further feedback from Arabists. ========================= Changes in version 1.1.51 ========================= - Discriminate between dropping and non-dropping particles in subsequent-author-substitute. Reported by gracile: https://forums.zotero.org/discussion/51260/citeproc-same-author-different-particles-parsing-subsequentauthorsubstitute/ ========================= Changes in version 1.1.50 ========================= - Bugfixes in handling of displayed jurisdiction names. ========================= Changes in version 1.1.49 ========================= - Clean up suppress-jurisdictions mess (includes a change to hook function signature). ========================= Changes in version 1.1.48 ========================= - Do not swap punctuation across quotes="false" boundary. - Do not migrate terminal punctuation across quotes boundary. ========================= Changes in version 1.1.47 ========================= - Avoid first-entry exception with styles that use first-reference-note-number. https://forums.zotero.org/discussion/39244/error-mlz-citation-processor-only-works-second-time/#Item_27 ========================= Changes in version 1.1.46 ========================= - Fix parsing crash. https://forums.zotero.org/discussion/17317/2/sep-is-undefined/#Item_18 ========================= Changes in version 1.1.45 ========================= - Make name parsing completely case-insensitive. This change aims only to put a consistent behaviour in place, as a basis for further discussion as we make our way through the name-particle morass. https://forums.zotero.org/discussion/42687/found-a-bug-with-name-starting-with-de/#Item_6 - Provide for discretionary classification of "de las" and "de la" as all-non-dropping or dropping/non-dropping, depending on user entry. https://forums.zotero.org/discussion/30974/2/any-idea-why-an-a-author-comes-last-in-the-bibliography/#Item_12 - Remove uppercase versions of Arabic name particles. Maybe be restored if case sensitivity is introduced. ========================= Changes in version 1.1.44 ========================= - Suppress jurisdictions based on machine-readable code, regardless of multilingual variant. ========================= Changes in version 1.1.43 ========================= - Fix bugs in three particle specs (d', des, de). https://forums.zotero.org/discussion/50718/apostrophe-in-last-name/ ========================= Changes in version 1.1.42 ========================= - Eliminate extraneous \\line operator in RTF output. Not extensively tested. https://forums.zotero.org/discussion/2252/word-plugin-inserts-superfluous-linebreaks-in-bibliography/ https://forums.zotero.org/discussion/50628/bibliography-alignment/ ========================= Changes in version 1.1.41 ========================= - Introduce option to disable the parsing of names in the processor (delegating to the calling application) https://forums.zotero.org/discussion/30974?page=1#Item_46 ========================= Changes in version 1.1.40 ========================= - Introduce force_jurisdiction option for extended styles. - Replace String() methods with RegExp() for compatibility https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/replace - Fix typo in particle parsing struct (affecting al- and von), and add a list of Arabic particles https://forums.zotero.org/discussion/30974/any-idea-why-an-a-author-comes-last-in-the-bibliography/#Item_30 ========================= Changes in version 1.1.39 ========================= - Fix title case to work in Internet Explorer. Thanks to David Laurenson for reporting the fault. ========================= Changes in version 1.1.38 ========================= - Do not capitalize leading particles in the bibliography. https://forums.zotero.org/discussion/50199/lowercase-first-letter-of-the-surname ========================= Changes in version 1.1.37 ========================= - Fix scoping bug in RTF markup. https://forums.zotero.org/discussion/50304/problems-with-et-al ========================= Changes in version 1.1.36 ========================= - Fix further root of bug in institutiona names handling, affecting first-class instititional names (not authority or committee) that have a multilingual variant. Thanks to Zotero user bluunksaesn for reporting. ========================= Changes in version 1.1.35 ========================= - Fix a bug introduced at 1.1.33. New code for juggling suffixes crashed when an empty item was encountered. ========================= Changes in version 1.1.34 ========================= - Fix bug in institution names handling. Force values to obj.literal rather than obj.family w/obj.isInstitution. Simpler is beautifuler. ========================= Changes in version 1.1.33 ========================= - Fix bug in multiple layouts. With the second-field-align option, the layout suffix on non-default alternative layouts was placed outside of the right-inline block, resulting in a stray hard return between the citation and the trailing punctuation in output. Many thanks to Vladimir Sobolev for reporting the fault. ========================= Changes in version 1.1.32 ========================= - Show multilingual forms of long-form institution name on failover from request for short form. ========================= Changes in version 1.1.31 ========================= - Fix bug in 1.1.30 ========================= Changes in version 1.1.30 ========================= - Enable alternative-macro calls from within modular code. The macro called is the macro in the main style; this will require a convention to use a uniform macro name for this purpose (this: "at-locator-label"), and to provide it in all main JM styles. ========================= Changes in version 1.1.29 ========================= - Extend discretionary creator handling to committee variable. ========================= Changes in version 1.1.28 ========================= - Provide mappings for all multilingual fields in LangPrefsMap ========================= Changes in version 1.1.27 ========================= - Make short form of institutional names empty by default. ========================= Changes in version 1.1.26 ========================= - Add language-name and language-name-original with short forms in "place" category. ========================= Changes in version 1.1.25 ========================= - Add an authority-residue condition. Checks whether there are elements not rendered by the most recent use-last condition. ========================= Changes in version 1.1.24 ========================= - The proper fix for fallbacks. ========================= Changes in version 1.1.23 ========================= - Bugfix in fallback. ========================= Changes in version 1.1.22 ========================= - Set "us" as the fallback style module, if available. ========================= Changes in version 1.1.21 ========================= - Introduce far-note test on position attribute. ========================= Changes in version 1.1.20 ========================= - Better handling of implicit conditional rendering with juris-locator-label macro in cs:group. ========================= Changes in version 1.1.19 ========================= - Fix a subtle bug affecting juris-locator-label in modular style code. - Fix potential bug in detection of output from multiple variables. ========================= Changes in version 1.1.18 ========================= - Add locale fallback "lv_LV" for "lv". - Check for callback completeness in test runner. ========================= Changes in version 1.1.17 ========================= - Add locale fallback "hr_HR" for "hr". ========================= Changes in version 1.1.16 ========================= - Align treatment of locators on regulation with legislation et al. ========================= Changes in version 1.1.15 ========================= - Make the juris-locator-label macro shy like a bare label or term. ========================= Changes in version 1.1.14 ========================= - Improved handling of suppressed jurisdiction names and modular style code. ========================= Changes in version 1.1.13 ========================= - New names for composite locators in modular code. ========================= Changes in version 1.1.12 ========================= - Fix bug in parsing of embedded labels on non-locator vars when section var not present in input (legal types only) - Remove capitalized Chapter and Section terms (legal types only) - Adjust tests to use explicit labels on number var, rather than label-form attribute (legal types only) ========================= Changes in version 1.1.11 ========================= - Extract label from number rendered with cs:number, and make available on cs:label with variable="number." Behaviour tracks that of page and page-first variables. - Fix bug in parsing of pipe-delimited extra data on locator - Change locator-revision to locator-extra (accompanied by change to CSL-m schema) ========================= Changes in version 1.1.10 ========================= - Fix conditional for embedded label in "number" variable rendered with cs:number ======================== Changes in version 1.1.9 ======================== - Fix repeat of "by" term in Chicago Author-Date etc. - Remove treaty from modular types, add report ======================== Changes in version 1.1.8 ======================== - Add support for cs:law-module types="a b c", following schema revision. ======================== Changes in version 1.1.7 ======================== - Run alternative-macro when a variable render fails, or when no attempt is made to render anything. - Flag attempt to render a term in cs:label. - Properly add cs:name nodes in xmljson.xml. Fault reported by Faolan Cheslack-Postava. ======================== Changes in version 1.1.6 ======================== - Fix group closure bug (loss of decorations when self-testing jurisdiction modules) - Fix erroneous capitalization of non-English characters. https://forums.zotero.org/discussion/47850/greek-letter-is-shown-as-b-in-bibliography/#Item_18 - Allow non-conforming macro names in jurisdiction modules. Necessary for standalone testing. ======================== Changes in version 1.1.5 ======================== - More name particles, from Philipp Zumstein: https://forums.zotero.org/discussion/47161/names-reform-request-for-comments/#Comment_217706 - Fix bug in terminator testing in util_names.js (Thanks to @fcheslack). - Fix a small spacing issue affecting name particles with a leading single quote. ======================== Changes in version 1.1.4 ======================== - Particles parser. ======================== Changes in version 1.1.3 ======================== - Rename alt-macro attribute as alternative-macro ======================== Changes in version 1.1.2 ======================== - Fix loss of affixes on failed juris test - Implement item-type-specific support in modules - Some code cleanup ======================== Changes in version 1.1.1 ======================== - Require juris-locator-label macro as a late addition. ======================== Changes in version 1.1.0 ======================== - citeproc-js now has full support for jurisdiction-specific modular legal styles. This is the last piece to the puzzle it set out to solve. Time to roll over that version number. ========================== 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 + '' + str + '' + postPunct; } else if (params.variableNames[0] === 'first-reference-note-number' && params.context === "citation" && params.position !== "first") { return prePunct + '' + str + '' + 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 '' + str + '' + 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 (ו) 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 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 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<< 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.