Changelog for pandoc-citeproc-0.17
pandoc-citeproc (0.17)
* Only print labels if selected variable is non-empty (#437).
* Make reference-section-title work even when doc ends with header (#431).
Previously, setting `reference-section-title` wouldn't do anything
when the document ended with a header -- contrary to what the
documentation suggests.
* Use Text instead of String (#430, Albert Krewinkel).
pandoc-citeproc (0.16.4.1)
* Allow pandoc 2.9.
pandoc-citeproc (0.16.4)
* Simplify compat since we now require pandoc >= 2.8.
* Update man page. Clarify that `reference-section-title` doesn't have any
effect when an explicit Div is used (#424).
* Qualify fail with Prelude to fix compiler warnings.
* Disable `raw_attribute` extension when writing Markdown.
This way we avoid e.g. `<i>{=html}` in the CSL export.
* Use pandoc-types 1.20. Note that this change removes
the ability to compile pandoc-citeproc with
older versions of pandoc (< 2.8).
* Incorporate the switch to Text in the dependencies (Christian
Despres). The changes to the structure of the code are fairly minimal.
None of the types have changed, requiring a reasonable amount of
packing, unpacking, and view patterns.
pandoc-citeproc (0.16.3.1)
* Fix how LANG is set for bibtex conversion.
We were using a `-` where `_` is standard.
* Make locale retrieval more robust (#420).
Previously an error was raised if the locale was 'C'.
Now 'C' is treated as default (en-US locale is used).
pandoc-citeproc (0.16.3)
* Set `hanging-indent` class on `refs` Div if specified by the style (#410).
This depends on whether the `hanging-indent` attribute of
`<bibliography>` is true.
* Update chicago-author-date.csl and locales.
* Add new biblatex @dataset entry type (#413).
* Cleanup cabal file and remove old ghc 6.10 conditional.
* Replace some of the yaml use with HsYAML-aeson (vijayphoenix).
* Allow xml-conduit 1.9.
* Allow network 3.1.
* Allow pandoc 2.8.
* Use pandoc-types 1.17.6.1
pandoc-citeproc (0.16.2)
* Normalize for sorting by padding numerical strings with 0s (#399).
This is a somewhat ugly fix to #399, and might be wrong
if there are strings that may be numerical and should not
be sorted in numerical order. But this is the best we can
do right now without major archictectural changes.
* Add Ord instance for CNum. [Minor API change.]
* Allow empty sort-separator.
Previously this was overridden with the default.
Text.CSL.Common: export getOptionValWithDefault [API change].
* Fix omitted phrase in --man documentation (#394, Daniel Himmelstein).
* Amend fix to #392 (#393). Initials were being dropped when there were
more than two unspaced initials.
pandoc-citeproc (0.16.1.3)
* Correctly handle initials even when
presented without a space, as in "J.G. Smith" (#392).
* Avoid generating Str "" when possible.
* Allow superscript in-text styles to be treated as "notes"
for purposes of moving punctuation (George Pollard, #382).
pandoc-citeproc (0.16.1.2)
* Fix extraction page-first when page is not fully numeric (#386).
* For cites in notes in a footnote style, don't add comma right after
open parentheses. Partially addresses #389.
* Ensure that URIs (e.g. in DOIs) are properly escaped (#391).
pandoc-citeproc (0.16.1.1)
* Bump version bounds for pandoc, network.
pandoc-citeproc (0.16.1)
* Add --columns option. This allows users to specify the column
width for text wrapping in --bib2yaml output.
* Use --columns=0 in biblio2yaml tests to avoid problems with
different wrapping in different libyaml versions.
* man page: remove references to obsolete pandoc_markdown(5) man page.
* man page: add info on how to set metadata (#378).
pandoc-citeproc (0.16.0.2)
* Remove need for HTTP access in test for #213.
pandoc-citeproc (0.16.0.1)
* Fix regression on #213. Literals without special handling
(such as call-number, dimensions, scale, language) were being
dropped. Added regression test.
pandoc-citeproc (0.16)
* Detect en dash in page range (Andrew Dunning). Ensure that `--` or `–`
are detected as page ranges. This fixes a regression that caused the
second half of the range to be appended to a URL in note styles.
* Fix collapsing behavior with items with status but no year (#371).
* Style: Add OStatus constructor to Output [API change].
* Allow pandoc 2.6.
* Added pandoc-citeproc to build-tools for test suite (#369).
pandoc-citeproc (0.15.0.1)
* Allow pandoc 2.5.
pandoc-citeproc (0.15)
* Support BibLaTeX extended name format (#266).
* Add refOtherIds field to Reference, and populate it with
the 'ids' field in biblatex (#356). Search on refOtherIds
as well as refId when looking for references.
* Allow the extent of the locator to be explicitly indicated
using curly braces, as in: [@key{67}], [@key, {p. 95 A 3}, suffix]
(Cormac Relf).
* Parse balanced brackets in locators like '1(2)(a)(i)' (Cormac Relf).
This is useful for citing legislation. It is necessary to be more liberal
in locator parsing because some styles put other elements after a locator,
like short titles in the case of AGLC, and if you can't parse a locator,
it gets rendered after, or worse, split in half.
* Drop ibid-with-locator when prev cite has same locator and label (#241,
Cormac Relf).
```
[@key] => "first"
[@key] => "ibid"
[@key, 53] => "ibid-with-locator"
[@key, 123] => "ibid-with-locator"
[@key, 123] => "ibid"
[@key] => "subsequent"
```
See http://docs.citationstyles.org/en/stable/specification.html#locators
* Fix bug wherein nonbreaking spaces classed a name as East Asian,
so that spaces aren't used between given and family (#365).
Also regularized logic for detecting "byzantine" names
(those that get the space). Now a name is treated as
byzantine if there are any byzantine characters in it.
Previously some checks required all byzantine characters.
* Add mktest.sh for wrangling test cases (#364, Cormac Relf).
* Update pandoc-citeproc man page.
* Update locales el-GR, fi-FI.
* Add CONTRIBUTING.md.
pandoc-citeproc (0.14.8.1)
* Avoid putting a space after nonbreaking space at end of prefix.
Previously this resulted in overly long spaces after abbreviations
like 'cf.' at the end of prefixes.
* Fix bug which caused names with apostrophes to be treated like
East Asian names in certain styles (#360).
pandoc-citeproc (0.14.8)
* Add disambiguation to undated references (n.d.a, n.d.b) (#325).
pandoc-citeproc (0.14.7)
* Support first-reference-note-number (#31).
pandoc-citeproc (0.14.6)
* Bibtex: Support jstor and pubmed as eprinttype.
* Bibtex: Resolve aliases on field names (#348).
'primaryclass' -> 'eprintclass', 'archiveprefix' -> 'eprinttype'
* Util: Rename betterThan to orIfNull.
* Update chicago-author-date.csl and locale.
* Don't apply sort-separator between non-byzantine names (#327).
“As is the case for name-as-sort-order, this attribute [sort-separator]
only affects names written in the latin or Cyrillic alphabets.”
* Match zotero's regex for isByzantine.
Fix issue #338 tests.
* Explicitly use Text.XML.def in Parser.hs. (Eduard Nicodei, #331).
* Ensure that groups with only empty variables are skipped (#338).
* Make sure substitute works in nested contexts (#351).
Previously it only worked for names elements right
below it, not for names embedded in a conditional.
* Handle date-part of the form `[[]]` or `[ null ]`.
These seem to occur in the wild, and it seems better to parse them
as an empty date parts than to crash with a parse error.
See greenelab/manubot#66.
* Allow pandoc 2.4.x.
pandoc-citeproc (0.14.5)
* Add flag to silence all warnings (#350, Albert Krewinkel).
Introduce new command line flag `--quiet`/`-q` which can be used to
suppress all warnings.
* Use HTTPS for PMID and PMCID hyperlinks (#349, Daniel Himmelstein.)
* Fix pattern match in do block that could fail, so pandoc-citeproc
compiles with ghc 8.6.
pandoc-citeproc (0.14.4)
* Allow latest aeson (Adam Bergmark, #336).
* Use latest hs-bibutils.
* NBIB support (#333, Václav Haisman, API change).
* Allow pandoc 2.3.x.
* Update tests for pandoc changes.
* Use recent yaml library that doesn't quote number ranges.
This required some adjustments in the tests.
* Use lts-12 for stack build.
* Use Yaml.decodeEither' instead of deprecated decodeEither.
pandoc-citeproc (0.14.3.1)
* Allow pandoc 2.2.x.
* Update locales and default csl.
pandoc-citeproc (0.14.3)
* Fixed other-modules in cabal.
* Semigroup instances for Literal and CLabel.
* Use NoImplicitPrelude with custom prelude.
This allows ghci to work.
* stack.yaml - depend on released pandoc.
pandoc-citeproc (0.14.2)
* Use custom Prelude to handle Monoid/Semigroup transition.
* Add Semigroup instance for Formatting (API change).
* Bump aeson upper bound.
pandoc-citeproc (0.14.1.5)
* Fixed 'capitalize-first' when the element begins with emphasis
or some other inline container. Closes #322.
* test-pandoc-citeproc: make --accept work with biblio2yaml tests.
pandoc-citeproc (0.14.1.4)
* Fixed sort order bugs (#320):
+ Disregard ayn and hamza in sorting Arabic names.
+ Proper treatment of spaces: nothing comes before something,
but spaces INSIDE a given name or family name are ignored.
+ Disregard punctuation and case.
pandoc-citeproc (0.14.1.3)
* Bump xml-conduit version bound.
pandoc-citeproc (0.14.1.2)
* Fix regression in JSON output for date-parts (#321).
Previous versions of represented dates as:
`"issued": {"date-parts": [[2006]]}`. pandoc-citeproc 0.14
did instead: `"issued": [{"date-parts": [2006]}]`.
pandoc-citeproc (0.14.1.1)
* Fix regression in movement of punctuation inside quotes before note.
Example: `Here is a "test citation" [@item1].`
should become `Here is a a "test citation."[^1]` (at least in
locales where punctuation moves inside quotes, like en-US).
pandoc-citeproc (0.14.1)
* More robust handling of boolean metadata values.
* Keep position of citations with prefixes when sorting (behavior
change, #292). If citations with prefixes are moved around,
gibberish can result. E.g.:
`A fascinating research tidbit [@Zanadu1999, p. 35; see
for comparison @Aalto2005]` can become
"A fascinating research tidbit (see for comparison Aalto, 2005;
Zanadu, 1999: 35)" with a sorting style like sage-harvard.csl.
This change causes sorting to be applied only to subgroups of citations
that lack prefixes.
pandoc-citeproc (0.14)
* Fix non-numerical season parsing in RefDate (#316).
These changes allow non-numerical dates to be handled.
API changes: season in RefDate is now Maybe Season instead
of Maybe Int. Text.CSL.Reference exports Season(..) and
seasonToInt.
* Fix parsing of season field in DateRef object.
* Treat date-part with all 0s the same as empty.
This is used to indicate an open-ended range.
pandoc-citeproc (0.13.0.1)
* Suppress empty footnotes.
* Use walk instead of bottomUp. This requires pandoc-types 1.17.3
but gives a speed boost.
pandoc-citeproc (0.13)
* Made bibliography parsing more efficient. (API change)
This commit adds an extra parameter to the bibliography parsing
functions: readBibtex, readBibtexString, readBiblioString,
readBiblioFile. The extra (first) parameter is a function
from strings to booleans that acts as a filter on citation
identifiers, so that non-matching identifiers are not parsed
in full. pandoc-citeproc now gets a list of the citation
identifiers in a document and passes it to readBiblio*,
which gives a very substantial speed increase with large
bibliographies. This is most noticable with bibtex,
biblatex, and yaml bibliographies.
* Improved RefDate type (#313, API change). RefDate fields
(month, day, season, year) were previously strings; they've
been changed to Maybe Int. In addition, the AddYaml class
is exported from Text.CSL.Util; (&=) is now a method of that
class. Finally, parseEDTFDate is exported from Text.CSL.Reference,
and is used instead of the old date parsing code in
Text.CSL.Input.Bibtex.
* Link to bibliographies in undated citations, like
(Doe, n.d.) (#250).
* Bibtex parser: a few efficiency improvements.
* pandoc-citeproc.hs - better exception messages for -y and -j.
* Added needed import of fromMaybe without embed_data_files.
This makes it possible to build pandoc-citeproc without
the embed_data_files flag again.
pandoc-citeproc (0.12.2.5)
* Fixed spurious disambiguation on some date ranges (#312).
* Fix spurious dash after date range in certain cases (#312).
pandoc-citeproc (0.12.2.4)
* Properly fixed range delimiters. Closes #312.
pandoc-citeproc (0.12.2.3)
* Fix month range problems (#312). Months in a range were being
concatenated with no separator with some styles (e.g. apa.csl).
* Use pseudo-months in CSL JSON output (#103).
pandoc-citeproc (0.12.2.2)
* Allow pandoc 2.1.
pandoc-citeproc (0.12.2.1)
* Handle pseudo-months in CSL date-range (see #103).
Month 13 = season 1, 14 = 2, also 21 = 1, 22 = 2, ...
pandoc-citeproc (0.12.2)
* Improved parsing of raw dates. First we attempt to parse them
as ISO dates or date ranges (allowing `~` at the end to indicate
"circa").
* Prefer 'raw' even if it occurs with 'date-parts'. (In this case
'date-parts' is ignored.)
* Parse 'cheater' variables embedded in 'note' in CSL JSON (#192).
Both braced and newline forms are supported.
* Don't make title-case sensitive to locale for labels (#119).
* API change: export `rmTitleCase'` from Text.CSL.Style.
* Improved raw date parsing (#103).
+ We now only parse 'raw' if `date-parts` is empty or missing.
+ Code for parsing raw dates moved from Text.CSL.Eval.Date to
Text.CSL.Reference.
+ Use `other` field if we can't parse data.
* Support `all-names-with-initials` disambiguation.
* Remove double quotes in parsing CSL family names.
CSL uses double quotes simply to protect the case in names.
* Text.CSL.Proc.Disamb: exclude year, year suffix, label
in detecting collisions, unless year-suffix set.
This causes us to pass several more citeproc tests.
* Parse 'raw' field in ref dates in CSL JSON.
* Accept numerical versions of boolean parse-names in CSL JSON input.
This is mainly useful for avoiding errors in test-citeproc.
* Support 'film' as synonym of 'motion_picture'.
I don't see this documented, but a test case in the citeproc
test suite depends on it.
* Support citations-rtf mode in test-citeproc.
* Preserve soft breaks in HTML output. This allows us to pass more
citeproc test cases.
* Parse 'season' properly in CSL YAML or JSON dates (#309).
* Fix "primary-name" name disambiguation (#38). This also sets the
default to "by-cite", since that is now the CSL default. However,
more adjustments are needed, as we now fail some citeproc tests we
passed before.
* test-citeproc improvements:
+ , use new citeproc (git) test suite, not the old hg one.
+ Build test-citeproc too in default Makefile target.
+ Handle boolean values for 'citations' in test data.
* Add tests for issue #87.
* Added `-threaded` to `ghc-options` (#311).
* Added biblatex-examples.bib to data files.
pandoc-citeproc (0.12.1.1)
* Avoid double punctuation when citation ends with 'et al.' (#262).
* Fix collapsing for items that lack an author (#152).
pandoc-citeproc (0.12.1)
* Fixed cases where we got plural instead of singular "issue"
or "volume" (#307).
pandoc-citeproc (0.12)
* Text.CSL.Exception: add `renderError`.
* Text.CSL.Input.Bibtex: remove `readBibtexString'` (pure version).
We don't use this. And we've refactored to raise better errors.
* Improved error handling. Throw a CiteprocException instead of
using 'error', and render this nicely.
* Update chicago-author-date.csl and locales.
* Updated tests for chicago-author-date.csl and locale changes.
* Pandoc compat module: ensure `writeNative` includes the header.
* Use `--accept` instead of `--regenerate` in tests to regenerate test
cases.
* Bibtex parser: handle comments better (#306).
pandoc-citeproc (0.11.1.3)
* Align static flag with pandoc's.
* Update version bound for xml-conduit.
pandoc-citeproc (0.11.1.2)
* Fixed quotes in three test cases. We'd been using straight quotes.
* Use latest hs-bibutils.
* Update compat for latest pandoc 2.0.
* Change type of compat's fetchItem so it doesn't take
a datadir argument.
pandoc-citeproc (0.11.1.1)
* Added containers to build deps for test-pandoc-citeproc.
* Fix titlecase when a colon is inside an emph (#301).
* Titlecasing: never lowercase anything except stop words (#301).
* Text.CSL.Compat.Pandoc: disable `bracketed_spans` extension.
We want to stay compatible with CSL standards, which understand a span
tag but not the brackets.
* Titlecase transform: start new sentence after ".". "Foo bar. An essay."
* Use set for short words lookup (performance).
* Case transform: recognize mixed upper+punct as all uppercase (#301).
This helps with things like "N.R. Kerr".
* Add 'static' Cabal flag.
pandoc-citeproc (0.11.1)
* Don't produce ??? with empty suppress-author citation (#156).
* Added Typeable, Data instances for CiteprocException. This
is needed for some older ghc versions.
pandoc-citeproc (0.11)
* Add Text.CSL.Exception module exporting CiteprocException [API change].
* Throw CiteprocExceptions instead of crashing with 'error'. This
should lead to better error messages in pandoc when pandoc-citeproc fails.
* Compat.Pandoc: support for pandoc 2.0 API with Text instead of String.
* Text.CSL.Input.Bibtex - revise item parser for better error messages.
This should give us better messages when someone uses a bad character
in a citation key.
* Use defConfig from aeson-pretty. Otherwise we get an error with newer
versions, which added a field to the Config record.
* Removed old hsb2hs-specific stuff from Setup.hs.
pandoc-citeproc (0.10.5.1)
* Minor tweaks for clean CI builds.
* Require recent yaml for uniform test output.
pandoc-citeproc (0.10.5)
* Use file-embed instead of hsb2hs for embed_data_files flag (#285).
* Allow `&` in bibtex keys (#289). They are discouraged because of
problems in tables, but technically they are allowed.
* Allow + in bibtex field name (#290). BibLaTeX now allows things like
`author+an` for annotations. See "Data Annotations" in the bibtex manual.
Note that we don't actually parse the annotations, we just don't
crash on bibtex files that include them.
* caseTransform: fix corner case where last word has internal periods
(#288). E.g. in `www.example.com`, previously `com` was capitalized
as the last word.
* If there's a list of csl, locale, or abbrev files, use the last one.
* Don't catch exceptions in reading CSL file. Previously some exceptions
were silently caught, leading to unexpected use of the default.
* Util.findFile: return right away if absolute path.
* Added mechanism for inserting raw content into delimiters, prefixes, suffixes.
So, for example, in your CSL file you can have
prefix="{{html}}<i>{{/html}}"
and this will turn into
RawInline (Format "html") "<i>"
rather than, as before
Str "<i>",
which would get escaped in the output.
See jgm/pandoc#3536 for the motivation.
* Text.CSL.Pandoc: Simplified code for looking up default CSL.
* Fix titlecase bug involving em/en dashes (#284).
* Export license from Text.CSL.Data.Embedded.
* Added `--license` to CLI and `getLicense` to Text.CSL.Data (API change).
* Updated chicago-author-date.csl and locales xml.
* Add `getManPage` to Text.CSL.Data and `--man` option to CLI (API change).
`pandoc-citeproc --man` now simply spits out the man page in
groff format. For a plain text version, use
`pandoc-citeproc --man | groff -mman -Tutf8`. For an HTML version,
`pandoc-citeproc --man | groff -mman -Thtml`.
* Updates to be able to compile and test with current pandoc HEAD.
* Automatically link ISBN references to Worldcat (#279).
This is similar to existing support for DOIs. Thanks to Eric Marsden.
* Text.CSL.Input.Bibtex: export `Lang`, `langToLocale`, `getLangFromEnv`
(#281, API change).
* Adjusted treatment of `\hyphen` now that pandoc includes trailing space...
in RawInline. See jgm/pandoc#1773 and commit
f4a452f89174828fea77614a4b6a067fc4675ba5.
* Support citation-label variable (#160, Lukas Atkinson).
The `citation-label` was not rendered, even when this label was
explicitly set in the bibliography. This is now fixed. Citation labels
are modelled after citation numbers. In particular, citation labels can
also be hyperlinked. API changes:
In `Text.CSL,Reference`: The exported type `CLabel` describes a label
name in the CSL variables. This allows us to distinguish labels from
ordinary strings. This type is analogous to `CNum`.
In `Text.CSL.Style`: In `Output` the `OCitLabel` case describes a label
in the rendered output. This case is analogous to `OCitNum`.
* Allow aeson 1.2.
* Fixed overlapping instance problem in test-citeproc w/ recent aeson.
pandoc-citeproc (0.10.4.1)
* Raise version bounds for xml-conduit.
* Use cpphs if embed_data_files on darwin.
* Fixed Compat module so it compiles with pandoc 1.9.x and 2.0.
* Allow colon to belong to locator numbers (#275).
This at least allows 1:22-23 to be interpreted as a page number, though
this won't really be useful until we modify the number collapsing code to
be sensitive to the colon.
pandoc-citeproc (0.10.4)
* Fixed 'et al' in certain styles (#274). The `et al` phrase was
not being appended in the bibliography in ieee.csl and some others.
* Leave ALLCAPS words alone in titlecase transformation.
See #273. There is some confusion about the citeproc
rules here, but this follows citeproc-js behavior.
* Improved title case rules to conform better to CSL spec (#273).
We now correctly retain case on mixed-case words and don't
decapitalize "small words" when they're the last word.
* Use readerSmart in parsing yaml bibliographies (#272).
* Bumped some dependency version bounds.
* Improved .travis.yml.
* Added Text.CSL.Compat.Pandoc module to work around version differences.
This allows building with the typeclass branch of pandoc.
pandoc-citeproc (0.10.3)
* Update to work with pandoc 1.19 (including writerStandalone API change).
* Updated test case to use bracketed_spans. Note: this means that tests
will fail unless pandoc 1.19 is used.
* Fixed pluralization with label for issue (#267).
* Factored out `comb` in Text.CSL.Pandoc.
* Make it clearer when errors concern CSL parsing (#219).
Errors in CSL parsing now point to the CSL file specifically.
We convert any error thrown in CSL parsing into an XMLException
(from xml-conduit), so the file path will be shown.
* Handle EDTF dates in bibtex bibliographies (#240).
pandoc-citeproc (0.10.2.2)
* Fix overlapping instances with aeson-1.0.2.1 (#263).
pandoc-citeproc (0.10.2.1)
* Allow pandoc 1.18.x.
pandoc-citeproc (0.10.2)
* Use linebreaks to simulate display="block" (#85, #261).
pandoc-citeproc (0.10.1.4)
* Use finer grained Pandoc import statements (Albert Krewinkel).
A full import of the Pandoc library leads to name collisions with Pandoc
v1.18, so only required functions and datatypes are imported.
* Remove unused import.
pandoc-citeproc (0.10.1.3)
* Fixed compiler warnings.
* Setup.hs - removed unnecessary imports.
* Travis improvements. Run on stack lts-7, not earlier.
Disable optimizations for faster build. Turn on warnings.
* Bump pandoc-types to 1.17.0.3 in stack.yaml.
pandoc-citeproc (0.10.1.2)
* Implemented notes-after-punctuation metadata field (#256).
If this is true (the default), citations rendered as footnotes
are automatically moved after punctuation. If it is false,
footnote citations remain before punctuation, but space is still
collapsed before the notes.
* Don't require http-client 0.5. This mirrors recent changes to pandoc,
which allow 0.4.30.x.
* Allow pandoc-types 1.17.*.
* Allow xml-conduit 1.4.x (Felix Yan).
pandoc-citeproc (0.10.1.1)
* Clarify that abbreviations require `form="short"` (Nick Bart).
* Allow aeson 1.0.*.
* Input.Bibtex: better parsing for month. Don't convert to lowercase if
it's not one of the official abbreviations and isn't protected.
pandoc-citeproc (0.10.1)
* pandoc-citeproc: allow .yaml and .json input files, even without the
`bibutils` flag, for conversion to JSON and YAML, resp.
* Pluralize locator term when comma-separated series of numbers given
(#245).
* Don't insert bibliography if there are no entries (#249).
* Fixed note field with YAMl bibliographies (#224). Supplementary fields
in `note` are parsed only in CSL JSON.
* Support latest aeson-pretty (Felix Yan).
pandoc-citeproc (0.10)
* Allow colons in bibtex field names (John MacFarlane, #220).
* Set LANG as well as LC_ALL before translating bibtex (John MacFarlane).
This ensures that bibtex will use the locale specified
in the document, even if the system locale is different.
* Data: Raise CSLLocaleException if locale not found (John MacFarlane).
Minor API change: Export CSLLocaleException.
* Added DeriveDataTypeable pragma to Data (John MacFarlane).
* Bibtex reader: case-insensitive parsing of month names (John MacFarlane).
* Bibtex: Export readBibtexInputString', a pure version of
readBibtexInputString (John MacFarlane).
* Rename readBibtexInput* -> readBibtex* (John MacFarlane, API change).
* unTitleCase now lowercases whole word (#234, John MacFarlane).
So, for example, unprotected TeV becomes tev, instead of teV.
This mimics bibtex's own behavior.
* Added caseTransform parameter on readBibtex* functions (#231, John
MacFarlane). When set to false, the bibtex reader doesn't do the
'untitlecase' transformation. This is used in Text.CSL.Input.Bibutils,
when using bibtex as an intermediate format for conversion from mods,
ris, or other formats. Otherwise we get the 'untitlecase' transform
when it isn't wanted.
* Allow numbers with decimal points to count as "numeric." (#208,
John MacFarlane) Thus, we should have "Series 2.2", not "Series, 2.2" with
Chicago author-date style.
* Fixed capitalization for words following slash (#236, John MacFarlane).
* Updated locales.
* Fix build failure for --flags=-bibutils mode (Sergei Trofimovich).
Reported-by Thomas Beutin https://bugs.gentoo.org/516640.
* Add missing -DUSE_BIBUTILS to Cabal build (Vaclav Haisman).
pandoc-citeproc (0.9.1.1)
* Only changed version number (work around for hackage upload error).
pandoc-citeproc (0.9.1)
* Fixed YAML/CSL reference type for motion_picture, etc. (#214).
Several CSL reference types (`motion_picture`, `legal_case`, ...)
use an underscore instead of a hyphen, and these had been
incorrectly rendered by pandoc when translating to YAML/CSL.
* Fixed handling of dimension and other 'literal' variables (#213).
This also affects call-number, scale, language.
* Fixed test-citeproc.
* Fixed travis builds to use stack.
* Only use -rtsopts for executable.
* Allow aeson 0.11.
* Allow compilation with pandoc 1.17.
* Updated locales and chicago-author-date.csl.
pandoc-citeproc (0.9)
* Allow spaces around CSL note fields. Closes #191.
* Add homepage field to .cabal file (Jens Petersen).
* Use pandoc 1.16.
* Turn on smart quote parsing in reading bib(la)tex. We didn't
need this previously, but now we do thanks to changes in pandoc.
* Specialize `mkRefMap` to `Reference`, and return empty map for
`emptyReference`.
* Improved behavior with missing references (API change, #195, #165).
Previously in some cases where a citation id wasn't found
in the bibliography, a "reference with no printed form"
warning was printed instead of "not found." This change fixes that.
It also changes some types in ways that make more sense.
`processCites` now produces `[[(Cite, Maybe Reference)]]`
instead of `[[(Cite, Reference)]]`, and other types are
adjusted accordingly. For example, `evalLayout` now
has a `Maybe Reference` parameter rather than `Reference`.
* Added `hackage-docs.sh` to upload haddocks when Hackage can't build them.
* Improved handling of `nocite` (#197). Previously if you had something in
`nocite`, then cited it again in the document, pandoc-citeproc would use
`ibid`, thinking that the item had already been cited.
* Fix for pandoc API change to `writerWrapOptions`.
* Allow `SoftBreak` to count as space in some contexts (e.g. splitting).
* Fixed path to `chicago-fullnote-bibliography.csl` in test.
* Improved error message with illegal 'type' field in YAML
bibliographies (#2611).
pandoc-citeproc (0.8.1.3)
* test-pandoc-citeproc: Better fix for Windows. Use UTF8 strings
instead of bytestrings; this helps get line endings right in tests.
pandoc-citeproc (0.8.1.2)
* Use UTF8 versions of readFile in test program.
pandoc-citeproc (0.8.1.1)
* Use pandoc's UTF8 versions of getContents, putStrLn, etc.
Otherwise we get locale-dependent encodings.
pandoc-citeproc (0.8.1)
* Improved performance in bibtex cross-reference resolution (#190).
* Take 'form' for date-part elements from date if not specified (#116).
Previously if the 'form' were unspecified in a date-part
element, it would go to the default 'long', even if the
date as a whole was 'numeric'.
* Transform only uppercase ASCII letters in titlecase transform.
This helps us pass one more citeproc test case.
* Cleaned up locator parsing code.
* Allow roman numeral locators (#173.
* Fixed missing dash between months in date ranges (#175).
* Fixed `strip-periods` (#185).
* Parse supplementary fields in CSL JSON "note" fields (#94).
* Support more biblatex markup in converting biblatex bibliographies:
`mkbibemph`, `mkbibitalic`, `mkbibbold`, `mkbibparens`, `mkbibbrackets`,
`autocap` (Nick Bart, #26). Treat reviews as articles.
* Add biblatex keys for additional languages (Nick Bart).
* Use HTTPS for DOI resolver (Andrew Dunning).
* Add biblatex keys for additional languages (Nick Bart):
ca-AD, da-DK, es-ES, fi-FI, it-IT, nl-NL, pl-PL, pt-PT, pt-BR, sv-SE
pandoc-citeproc (0.8.0.1)
* Allow aeson 0.10.x (Felix Yan).
* Add custom Prelude: -Wall clean on ghc 7.10.
pandoc-citeproc (0.8)
* Use `lang` metadata field to specify locale. `locale` can still
be used as before, for backwards compatibility, but `lang` is
now preferred.
* Put the references section header outside the Div, instead
of inside as before.. This interacts better with pandoc's
`--section-divs` feature (#176).
* Use `refs`, not `references`, for the identifier of the
bibliography Div. Unlike `references`, `refs` is not
likely to conflict with an autogenerated header identifier (#176).
NOTE: workflows designed to work with 0.7.4, with a
`<div id="references"></div>` where the bibliography is
to go, will need modification (`s/references/refs/`).
* Changed local override for default CSL file (#161).
Previously you could override the default CSL file by
modifying `~/.csl/chicago-author-date.csl`. Now you do
it by modifying `~/.csl/default.csl`. To minimize the effect
of this change on existing workflows, we will use the version
of `chicago-author-date.csl` in `~/.csl`, if there is one,
if `~/.csl/default.csl` is not found.
* Implemented fallbacks for CSL terms, as per CSL spec.
E.g. `verb` is used if `verb-short` is not defined (#72).
* Update CSL style, locales (Andrew Dunning).
* Setup.hs: got hsb2hs registered as a build-tool.
* Setup.hs: avoid depending on non-base modules (esp. process).
This can cause problems with older versions of cabal.
* Don't raise error if `HOME` isn't defined (#35).
* Add more biblatex localization keys (Nick Bart).
* Simplified and improved page range collapsing (#168).
* Allow multiword locator labels like "sub verbo" (#168).
* Remove `parse-names: true` in a Reference after parsing
names (#169).
* Don't superscript author-in-text numerical citations (#133).
This change also removes `unsetAffixes` from `Text.CSL.Style`'s
exported functions. This function was only used in one places
and is very simple. (API change)
* Fixed `embed_data_files` build on OS X (Chris Knox)
* Remove brackets from author-in-text numerical citations (#133).
* Removed `compressName` transform on JSON output (#169).
This transformation prevented the JSON produced from
using a fully broken-out specification of the author,
instead pushing suffixes and prefixes into the names
themselves.
* Fixed regression introduced by #163 (#170).
pandoc-citeproc (0.7.4)
* Bibliography Div has id `references`, in addition to class.
* Make sure a link with a year range encompasses the whole range.
Previously you'd get [LINK 1996]--[LINK 2003], where both
links went to the same citation. Now you get [LINK 1996-2003].
(#146)
* Fix linking of DOIs (#163). Now only a part of a prefix that
begins a url (`http...`) will be part of the linked text for a DOI.
(This part will also be used for the URL, in place of the default
`http://doi.org/`, if present.) Other parts of the prefix and suffix
will remain outside the linked text.
* Use "literal" instead of "other" in producing CSL YAML (#167).
* Test suite: better technique to find right executable to test.
We now find the test program and locate pandoc-citeproc relative
to it.
* Change default for parse-names to False.
* Add `Paths_pandoc_citeproc` to other-modules.
* Allow flexible insertion of bibliography.
+ If the document contains a Div element with id `references`,
the bibliography will be inserted in it (after any other content
in the Div).
+ Otherwise, a Div with id `references` will be created at the
end of the document as before.
* Fix parsing of particles with hyphens on family names (#130).
* Handle `#+LINK_CITATIONS` metadata in org-mode. The values `true`,
`yes`, and `on` are recognized as true values (case-insensitive)
(#159).
pandoc-citeproc (0.7.3.1)
* Moved tests from data-files to extra-source-files.
* List biblatex conversion tests in cabal extra-source-files.
* Updated tests for changes in yaml library (which now
puts quotes arounds strings that could be read as numbers, #158).
pandoc-citeproc (0.7.3)
* Add Walkable instances for Formatted (Sean Leather).
* Allow empty end year in Zotero workaround, e.g. `2005_` (Nick Bart).
* man/Makefile - removed unnecessary dependency.
* Fixed test-citeproc.hs for change in `ProcOpts`.
* Cleaned up Setup.hs. Now takes into account destdir in copying man page.
* Don’t add space after particles ending with "-" (Nick Bart).
* Names.hs: Add Unicode “Latin Extended Additional” to isByzantine (Nick
Bart).
* Allow vector 0.11.
pandoc-citeproc (0.7.2)
* Added `link-citations` metadata field (#141). If this has a true value,
citations in author-date and numerical styles are linked to their
corresponding bibliography entries. Otherwise not. (In previous
versions of 0.7.x, this linking was the default. Now it must be
enabled explicitly by setting this field.)
* Fixed locale lookup with two-letter codes (#140).
* Updated locales and chicago-author-date.csl.
* Text.CSL.Data: Remove spurious reference to ar-AR.
* Updated tests to escape literal `[` and `]` (to match
new pandoc markdown writer's behavior).
* Fixed `make update` to grab chicago-author-date.csl from correct URL.
* Bumped upper bound to allow aeson 0.9.*.
pandoc-citeproc (0.7.1.1)
* Fixed regression in numerical citation collapsing (#131).
pandoc-citeproc (0.7.1)
* Improvements to numerical styles:
+ Space is now inserted after the reference number in the
bibliography when `second-field-align` is `margin` or `flush`.
+ Author-in-text citations are now treated just like other citations
in numerical styles. So, brackets are used, and the term
"Reference" is not added: instead of `Reference 1 says...`
we have `[1] says...`. This seems to accord better with e.g.
IEEE practice.
+ Improved citation collapsing. Now both the new and the old versions
of `ieee.csl` work properly. Previously brackets were dropped with
the new version (#55).
+ Use new `ieee.csl` for testing.
pandoc-citeproc (0.7.0.2)
* Bump version bound for xml-conduit.
pandoc-citeproc (0.7.0.1)
* In YAML use pandoc markdown syntax for super, subscript (#128).
Added test case for rich text formatting.
* Change default for first-reference-note-number to 0 on reading (#128).
pandoc-citeproc (0.7)
* Improved YAML output:
+ Fields are now in a deterministic and rational order, id at top.
+ Blank lines between entries for readability.
+ Use human-friendlier year, month, etc. rather than date-part.
+ The test suite no longer normalizes YAML output before comparing,
since we now control the order of fields.
* Use `locale` in metadata in converting bibtex (#98).
* Use `locale` in metadata for unicode collation, when compiled with
the `unicode_collation` flag (#122).
* Made pandoc-citeproc sensitive to metadata fields
`reference-section-title` and `suppress-bibliography` (Jesse
Rosenthal). The former specifies a title for a new reference section.
The second suppresses the bibliography altogether. Existing
documents should behave as before if these fields are not used.
* Strip empty span elements from output (#126).
* Allow conversion FROM yaml to other formats (#124).
* Improved CSL JSON output. Use the rich markup syntax described at
http://docs.citationstyles.org/en/1.0/release-notes.html#rich-text-markup-within-fields
* Fixed extraction of language from LANG env variable in Bibtex (#98).
* Fixed `ghc-prof-options` so we don't get warning with recent cabal.
Added French, German localizations to Bibtex converter (#98).
* Bibtex: Use type field to further specify mastersthesis or phdthesis (#98).
* Ensure that "et al" has a space before it, if no delimiter defined (#93).
* Allow "et al" to be formatted (#91).
* Depend on `setenv` package for the `setEnv` function, which is found
only in base 4.7+.
* Fixed problem with droppped final punctuation in some footnotes (#82).
* `Text.CSL.Util`: Removed unused `readable`. Renamed `toShow` to
`uncamelize`. Use `ppShow` in `tr'`.
* Use `doi.org` instead of `dx.doi.org` (#107).
* Fixed treatment of `motion_picture` title (#118).
* Include preface and suffix of DOI in linked text (#107).
* Added `--regenerate` flag to `test-pandoc-citeproc`.
* Added `hyperlink` field to `Formatting` (API change).
* Made hyperlinked citations work with numerical and author-year styles.
* Bibtex: improved short title logic.
* Map biblatex title/maintitle to CSL volume-title/title (Nick Bart).
* Fix CSL dependent style support (Tim Lin, #105).
* Added support for PMCID and PMID fields in bibtex (jgm/pandoc#1923).
* Map biblatex `inreference` to `EntryEncyclopedia` rather than `NoType`
(#88).
* Wrap bibliography entries in Div with id=ref-citationId
* Updated `chicago-author-date.csl`.
* Allow compilation against pandoc 1.14 (the next release).
* Removed obsolete `small_base` cabal flag.
* Added `debug` cabal flag which turns on tracing.
pandoc-citeproc (0.6.0.1)
* Added pandoc-types upper bound.
* Removed `auto-all` from profiling options.
* Fixed CSL dependent style support (#105, Tim Lin).
* Updates to build with GHC 7.10.1 (Mark Wright).
pandoc-citeproc (0.6)
* The CSL parser has been replaced with a new, xml-conduit based module,
which does not rely on C libraries and should be easier to repair
and extend. The module has been checked against the old module with all
CSL files in the citeproc repository. The only differences
are with attribute values beginning or ending with a nonbreaking
space (e.g. with French guillemets), and the new parser's behavior
(preserving the spaces) is clearly correct. Parsing was measured as
about twice as fast in a benchmark.
* The `hexpat` cabal flag has been removed.
* The old `Text.CSL.Pickle` and `Text.CSL.Pickle.*` modules have been
removed.
* Plural locator labels (e.g. 'pp.') are now used for page ranges
containing en-dashes (#84).
* `Elements` has been removed from `Element`. It was entirely unnecessary,
used only once (and dispensibly) in `Text.CSL.Eval`.
This change results in cleaner code.
* Improved man page generation.
* Updated `chicago-author-date.csl` default style.
pandoc-citeproc (0.5)
* Revised locator parsing:
+ parseLocator now looks for the "short" forms of terms in
the style's locale(s). So, in English you'd use "p." or
"ch."; in German, "S." or "Kap."
+ Note that the locator label must match what is in the locale
file, including the period. Before this change, you could omit
the period: "p 12" or "p. 12" would both give you a "page."
Also, previously, the locators were case-insensitive; now they must
be in the same case as in the locale. (English "p.", German "S.".)
+ "no." no longer gets parsed as a "note": closes #74.
+ Text.CSL.Reference no longer exports parseLocator.
parseLocator is now used only locally, in Text.CSL.Pandoc.
* Data.getLocale: Try 2-letter locale lookup if longer locale not found.
This should fix an error that occured with less common locales
(jgm/pandoc#1548).
* Added parseNames field to Agent. Set parse-names=true
when writing CSL JSON and collapsing suffix or particles into
first or last names.
* Properly handle agents with 'parse-names' set to 'true' (#77).
Note that parse-names defaults to true if not set, as in Zotero.
* Reference: added explicit exports.
* Styles: Added explicit export list.
* Eval: Fixed isNumericString to recognize en dash (#74).
* Allow bibtex double quotes to be escaped inside {} (jgm/pandoc#1568).
* Titlecase transform improvements (#76).
* Added two csl files missing from tests/.
* Performance improvements: Avoid unnecessary Output groupings.
Eliminated some unnecessary generic traversals. (#71)
* Makefile: Use cpphs. Text.CSL.Data seems to break on OSX 10.9 without it.
* Added prof target to Makefile
* Test suite: don't exit with success if there were errors!
pandoc-citeproc (0.4.0.1)
* Interpret date literals with underscores (e.g. "2004_2006") as ranges.
This covers a common workaround for a deficiency in Zotero (#65).
* Correctly handle "literal" in CSL date (#65).
* Fixed erroneous capitalization of the first ibid. in a citation,
even in the middle of a sentence (#68). Removed "ibid-c",
"ibid-locator-c" classifications.
* Pandoc: Capitalize first word of citation note, unless span=nocase.
Previously we only capitalized citations. This captures ibid
and the like.
* Text.CSL.Util.toCapital: respect `<span class="nocase">`.
* Turn small caps into SmallCaps element in reading CSL JSON (#67).
Either the <span style="font-variant:small-caps"> or the <sc>
variant may be used.
* Added "ca", "c", "et" to list of short words in titlecase transforms
(#66).
* Fixed some errors in the no-author test case.
* test-pandoc-citeproc: Avoid running tests twice!
* Check for en dash in checking for page ranges (#70).
* Removed unused texmath build-depend.
pandoc-citeproc (0.4)
* Fixed #58 - previously not all substitute alternatives were tried.
* Made first parameter of OName an Agent, not a String (API change).
Also moved Agent from Reference to Style.
* test-pandoc-citeproc: run tests on all matching files in the directory.
This removes the need to recompile when new tests are added.
* Style: Fixed appendWithPunct (mappend for Formatted). One definition
was wrong, causing commas to be lost in certain places (#57).
* Support \nocite{*}. If the `nocite` metadata filed contains a citation
with identifier `*`, all entries in the bibliography are included
in the references (#64).
* Bump upper bound for aeson.
* Removed span nodecor around 'ser.' (#60).
* Print series as "3rd ser." (using locale's ordinal) (#60).
* Added scaffolding for 'ordinalize' and infrastructure for
accessing locale information to Bibtex.
* Export new parseLocale from Text.CSL.Parser.
* Move punctuation before fn in in-text citation before punctuation (#59).
* Updated locales and chicago-author-date.csl.
* Use collection-title for series, even for articles (#60).
* Fixed locator parsing so capital roman numerals are legal numbers (#61).
* Map bookinbook -> chapter (#62).
* Better error message from parseString.
* Remove space before superscript citation (pandoc #1327).
* Fixed spurious "et al" problem (#27).
* Match biblatex's method for separating von from last name, for biblatex.
For bibtex, we match the documented bibtex algorithm as before (#50).
Test case: Drummond de Andrade, Carlos.
bibtex makes "Drummond de" a dropping particle.
biblatex takes "Drummond de Andrade" to be the last name.
* Leave off bibliography if `suppress-bibliography` has a true value
in the document metadata (#40, with thanks to Jesse Rosenthal).
* Try empty (null) 'csl' as if no 'csl' was specified.
(The default chicago-author-date.csl is then used.)
* Fixed #51: empty braces with date range.
* Set pageFirst automatically from page range (#31).
* Bibtex input: set page-first automatically.
* Fixed capitalization of first word in sentence (#25).
E.g. "foo bar baz: bazbaz foo" should turn into
"Foo Bar Baz: Bazbaz Foo" in titlecase, but was turning into
"foo Bar Baz: bazbaz Foo."
* pandoc-citeproc: Allow conversion of mods bibliographies (#28).
* readCSLFile now supports dependent styles (#30).
* Removed network flag. We now use pandoc's fetchItem.
* Changed type of findFile, so it returns a Maybe.
* Documented fact that you can specify a URL under 'csl:'.
* Added locale parameter to readCSLFile (API change).
readCSLFile also now looks in ~/.csl for the file, if it isn't
found locally.
* Moved findFile to Util.
* Bibtex/biblatex: map "unpublished" to "speech" if
the record contains "eventtitle", "eventdate", or "venue".
Otherwise map it to "manuscript" as before (#44).
* Look for chicago-author-date.csl in ~/.csl if no csl specified.
If not found there, use the chicago-author-date.csl that comes with
the distribution (#48).
* Improved case transform behavior with punctuation.
Previously capitalization might change after a word-internal period
or apostrophe. Now internal punctuation only signals a word
boundary if it is a dash or single quote character.
pandoc-citeproc (0.3.1)
* Marked final heading (if present) as "unnumbered" (pandoc #1277).
* Treat empty 'references' (empty string) as empty list.
* Fixed titlecase transformation of words containing '.
* Fixed punctuation in notes.
* Improved test suite.
* FromJSON for Formatted: handle block lists as well as inline.
* Require yaml >= 0.8.8.2.
* Fixed spacing problem with citations in notes in footnote styles
(pandoc #1036).
* Updated chicago-author-date.csl and locales (#34).
* Move punctuation inside quotes, depending on style. This is activated by
the `punctuation-in-quote` locale option, which has a default
per locale but can be overridden in the style. This gives more flexibility.
(Thanks to Jesse Rosenthal.)
* Moved `isPunctuationInQuote` to `Text.CSL.Style` and rewrote.
Previously it was in `Text.CSL.Output.Pandoc`.
It doesn't need to use generics and no longer does.
* Fixed recognition of "byzantine" names. Names with curly apostrophes were
being counted as non-byzantine, and printed given-first with no space
(#39).
* Fixed representation of reference types to conform to CSL (#24):
`motion_picture`, `legal_case`, `musical_score`, `personal_communication`.
pandoc-citeproc (0.3.0.1)
* Require ghc-prim if ghc < 7.6 (needed for generics).
pandoc-citeproc (0.3)
* Removed biblio2yaml. Instead, use pandoc-citeproc with the
--bib2yaml or --bib2json option. (#20)
* pandoc-citeproc --bib2json will convert bibtex/biblatex to
CSL compatible JSON bibliographies.
* Updated locale files for correct textual date ranges
in e.g. the da-DK locale. Use form="ordinal" instead of a period
as suffix. (#16, #18)
* Support new langid and langidopts biblatex fields. (#11)
* Made test-pandoc-citeproc work in all locales. (#19)
It now tests the executable rather than the library function.
* Fixed disambiguation with multivolume works (#14).
* Improved titlecase/unTitlecase to be sensitive to colons,
question marks, and exclamation marks, after which the
next character sohuld be capitalized even in sentence case
(pandoc #1102).
* The "locale" filed in metadata will now override a style's
default locale. This can also be set by the command line:
--metadata locale=fr-FR (#10).
* Use CSL-compatible date-parts for dates in YAML/JSON
bibliographies.
* Made FromJSON for Reference more forgiving. Suitable strings
are coerced into integer values. (pandoc #1094)
* Fixed extra punctuation at end of footnote (#13).
* Reference: Always use array in JSON for dates, agents.
* Bibtex parser: Don't fail on entry with no title.
* Bibliography output: 'given' is now a string, not an array.
The string will be split on spaces into a list of given names.
Note that an array can also be used. But we write
a plain string, to match the citeproc json schema.
* Fixed spacing bug in date ranges (#7).
* Names: Fixed formatLabel so it works for editortranslator.
This fixes a bug for cases where editor = translator (#9).
* Text.CSL.Eval.Date: Fixed bugs with date ranges.
Ranges within the same year were raising an error "Prelude.init: empty
list" (#7).
* Util: Export tr' and init'.
* Text.CSL.Proc.Disamb: Correct definition of allTheSame.
* Improved disambiguation. Now we correctly handle the case with no
author but title.
* Consider names too when determining date disambiguations.
Previously if you had two distinct names needing disambiguation for
the same date, the letters would not start over with 'a' for the second
name.
* Added Generic instances for the types in Style and Reference.