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-caseandsentence-casekeys anymore.shorthandhas been renamed toshort. To prevent changes of the text case of formattable strings, you can use braces. Enclose a part of a formattable string (orshort) in{braces}to print it as-is. - The fields
doi,isbn, andissnhave been moved toserial-numberwhich can now be a dictionary containing these and arbitrary other serial numbers like apmid(PubMed ID) andarxiv(ArXiv Identifier). - The
tweetentry type has been renamed topost. - 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
archivefeature. - The
from_yaml_strfunction will now return the newLibrarystruct, with the entries within. - The
Databasestruct has been replaced by the easier to handleBibliographyDriver. - We switched from
yaml_rusttoserde_yaml. TheEntrynow implementsserde'sSerializeandDeserializetraits. Hence, thefrom_yamlandto_yamlfunctions have been deleted. - Brackets are no longer individually overridable. Instead, use the new
CitePurpose. Entry::kindhas been renamed toEntry::entry_type.- The citation styles
AuthorTitleandKeyshave been removed but can be realized with CSL.
- The citation styles
This release fixes many bugs and makes Hayagriva a serious contender for reference management.
Other changes
- We added the entry types
PerformanceandOriginal. - We added the field
call-number.