Skip to content

Releases: typst/hayagriva

Version 0.8.1

05 Feb 11:15
Compare
Choose a tag to compare

0.8.1

  • Use editor names in prose and author-only citations if the author names are unavailable
  • Recognize some non-standard but widely used BibLaTeX editortypes like producer, writer, scriptwriter, and none (defined by widespread style biblatex-chicago to mean performers within music and video entries)
  • Allow CSL styles to render affixes around the bibliography
  • Correctly process the PubMed ID for BibTeX entries with eprinttype = {pubmed}
  • Fix bugs around the handling of CSL delimiting characters (#109, #180)
  • Whitespace handling for the strings delimiting initialized names has been improved
  • Fix problem with parsing multibyte characters in page ranges that could prevent Hayagriva from parsing some BibTeX page ranges (#241)
  • Uppercase spelling after apostrophes used as quotation marks is now possible
  • Fix a panic with the CLI's --format argument
  • Updated CSL APA style
  • Updated CSL locales for Finnish, Swiss German, Austrian German, German, and
    Arabic

Thank you to @YDX-2147483647, @DerDrodt, @sandbergja, @bact, @wrenger, and @m-haug for your contributions!

Version 0.8.0

15 Oct 13:48
Compare
Choose a tag to compare
  • Breaking change: Fixed deserialization of page ranges, removing From<u64> for PageRanges
  • Added support for disambiguation to alphanumeric citation style
  • Raised limit for disambiguation resolving in complex cases
  • The year 0 will now render as 1BC for CSL

Version 0.7.0

03 Oct 14:54
a1a27dc
Compare
Choose a tag to compare
  • Breaking change: Entry::page_range now returns Option<&MaybeTyped<PageRanges>> instead of Option<&PageRanges>. This fixes a panic that occurred when a page range had an unknown format
  • MaybeTyped now has an as_typed method

Version 0.6.0

02 Oct 13:29
2bb2ab0
Compare
Choose a tag to compare
  • Breaking change: Fix that the page range labels were not pluralized, NumericValue::Range now returns an inclusive range (#142)
  • Breaking change: The field publisher can now accept a dictionary with a location. The top-level location key is now primarily for event and item locations.
  • Breaking change: The field annote has been removed
  • Allow multiple page ranges with prefixes and suffixes
  • Fixes with sorting bibliography entries
  • Fix sorting citations by their number (#115)
  • Fix how citation number ranges collapse (#154)
  • BibliographyItem is now exported (#157)
  • Fix when the short form of a title was used (#173)
  • Bumped the biblatex crate to 0.10.0 to fix a BibLaTeX parsing bug (typst/biblatex#53) and allow the Unknown and Director editor types (typst/biblatex#52).

We also updated our collection of Citation Styles.

Thank you to @DerDrodt, @bluebear94, @TheChilliPL, @lluchs, @xkevio for your contributions!

Version 0.5.3

16 May 10:23
Compare
Choose a tag to compare

Version 0.5.2

07 Mar 16:05
Compare
Choose a tag to compare
  • Allow the abstract, annote, and genre fields to Hayagriva files and process them from BibTeX files.
  • Fix retrieval of an item's editor (#94)
  • Fixed issue with pulling punctuation into quotation marks (#85)
  • Allow non-range values in the pages field (#103)
  • Fix multiple subsequent prose citations to the same item (#122)
  • Interpret the eprint BibTeX key as serial-number.arxiv if the eprinttype is set to arxiv
  • Fixed issue with multiple subsequent citations (#122)
  • Improved handling of empty CSL objects

Thanks to @DerDrodt, @zepinglee, @tilman-schieber, @MaxGietl, @frozolotl, @mkdjr, and @quicktus for contributing to this release.

Version 0.5.1

29 Nov 17:37
Compare
Choose a tag to compare
  • Fixed spacing around math blocks
  • Fixed title case formatting next to {verbatim} blocks and apostrophes

Version 0.5.0

24 Nov 15:10
Compare
Choose a tag to compare
  • Breaking change: The API for archived styles has changed.
  • Breaking change: The name of the GB/T 7714 family of styles have been corrected to gb-7714-... from gb-7114-....
  • Breaking change: The reexported TypeErrorKind and ParseErrorKind enums in biblatex have added variants and become non-exhaustive.
  • Date parsing will not panic anymore (typst/typst#2553).
  • Anthos entries now properly recognize their parent (#72, typst/typst#2572). Thanks, @zepinglee!
  • Proceedings titles will now be printed correctly (#78). Thanks, @vtta!
  • Citation numbers will now collapse if the style requests it.
  • Escaping in format and chunked strings now works (typst/typst#2669).
  • The old behavior of the alphanumeric style has been restored.
  • Bibliographies now forcibly print the alphanumeric citation-label instead of the citation-number if the cite only printed the former (and vice-versa; typst/typst#2707).
  • We dropped the dependency on rkyv in favor of code generation in a test. This should resolve runtime problems on some platforms.
  • The retrieval of the volume variable is now more robust (#82). Thanks, @mpmdean!
  • Fixed delimiter order for contributors (#73). Thanks, @zepinglee!
  • Page ranges can now be strings (#83).
  • Page ranges will now use the correct delimiter, even if printed with cs:text
  • Fixed a bug with the suppression of empty groups (typst/typst#2548).
  • Bumped citationberg to solve a CSL locale fallback issue that affected typst/typst#2548
  • Bumped the biblatex crate to 0.9.0 to fix BibLaTeX parsing bugs (e.g. typst/biblatex#41, typst/biblatex#33, typst/biblatex#40, typst/typst#2751, #81)

Version 0.4.0

31 Oct 00:21
Compare
Choose a tag to compare

Breaking changes:

Hayagriva now uses the Citation Style Language to encode formatting styles. This means that Hayagriva's own formatting styles have been deprecated.

For users:

  • The YAML input format has changed.
    • Titles and formattable strings have been merged into one type. All formattable strings can have a shorthand now.
    • Formattable Strings do not have title-case and sentence-case keys anymore. shorthand has been renamed to short. To prevent changes of the text case of formattable strings, you can use braces. Enclose a part of a formattable string (or short) in {braces} to print it as-is.
    • The fields doi, isbn, and issn have been moved to serial-number which can now be a dictionary containing these and arbitrary other serial numbers like a pmid (PubMed ID) and arxiv (ArXiv Identifier).
    • The tweet entry type has been renamed to post.
    • All numeric variables can now also contains strings. Numbers can have string affixes.

Refer to the updated file format docs for examples.

For developers:

  • To use a CSL style, you can either supply a CSL file or use an archive of provided styles with the archive feature.
  • The from_yaml_str function will now return the new Library struct, with the entries within.
  • The Database struct has been replaced by the easier to handle BibliographyDriver.
  • We switched from yaml_rust to serde_yaml. The Entry now implements serde's Serialize and Deserialize traits. Hence, the from_yaml and to_yaml functions have been deleted.
  • Brackets are no longer individually overridable. Instead, use the new CitePurpose.
  • Entry::kind has been renamed to Entry::entry_type.
    • The citation styles AuthorTitle and Keys have been removed but can be realized with CSL.

This release fixes many bugs and makes Hayagriva a serious contender for reference management.

Other changes

  • We added the entry types Performance and Original.
  • We added the field call-number.

Version 0.3.2

05 Sep 10:16
Compare
Choose a tag to compare

Fixes a title case formatting bug introduced in the previous release.