Skip to content

Version 0.4.0

Compare
Choose a tag to compare
@reknih reknih released this 31 Oct 00:21
· 93 commits to main since this release

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.