Note
The following is an unofficial copy of the file in Typst’s official repository as of 2025-12-27.
0.9.1
- Export the
TransparentLocatorstruct soLocatorPayload::Transparentcan be constructed (#397) - Fixes the
locationconditional in CSL styles for citations with no locator (#399) - Fix a bug where accessing year suffix resulted in wrong CSL renders (#400)
0.9.0
- Add
chapterfield corresponding to CSLchapter-numberand BibLaTeXchapter(#361, #383) - Support locator/supplement in alphanumeric style, also clean it up (#298, #307, #353)
- Support BibLaTeX
languagefield (#317) - Support date seasons, which are displayed when the month is missing (#391)
- Improve translation of BibLaTeX fields to
genreandserial-number(#296, #369) - Breaking change: Allow differentiating custom locators/supplements for
styles that handle repeated locators. Due to this change,
LocatorPayload::Transparentnow contains aTransparentLocator(#299) - Breaking change: The types
CitationRequest,CitationItem,SpecificLocatorandLocatorPayloadno longer deriveHashandEq. That also removes some automatically derived traits. - Breaking change: Updated
biblatexto version 0.11.0 - Update most archived CSL styles and locales
- Breaking change: Styles
chicago-fullnotesandmodern-humanities-research-associationwere renamed tochicago-notesandmodern-humanities-research-association-notes, and the old names are now deprecated, but still available.ArchivedStyle::ChicagoFullnotesandArchivedStyle::ModernHumanitiesResearchAssociationwere removed and the discriminant ofArchivedStyle::ChicagoNoteshas changed. (#350, #372, #389)
- Breaking change: Styles
- Fixes and improvements to BibLaTeX parsing (#388)
- Support
%comment syntax, as well as top-level@comment{} - Allow omitting
editorfor@InProceedings
- Support
- Fix regression where page variables were no longer supported in styles’
<number>elements (#289) - Fix handling of
ibid-with-locatorandibidpositions in styles (#301) - Fix sorting and formatting of name parts (#287, #313)
- Correctly use terms for “AD” and “BC” from chosen locale (#364)
- Fix year suffix collapsing (#367)
- Fix delimiters in locale-specific date formatting (#385)
- Fix rendering of date ordinals (#366)
- Fix rendering and sorting of dates with BC years (#334, #368)
- Fix sorting for empty sort values (#390)
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 likeproducer,writer,scriptwriter, andnone(defined by widespread stylebiblatex-chicagoto mean performers withinmusicandvideoentries) - 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
--formatargument - Updated CSL APA style
- Updated CSL locales for Finnish, Swiss German, Austrian German, German, and Arabic
0.8.0
- 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
0.7.0
- Breaking change:
Entry::page_rangenow returnsOption<&MaybeTyped<PageRanges>>instead ofOption<&PageRanges>. This fixes a panic that occurred when a page range had an unknown format MaybeTypednow has anas_typedmethod
0.6.0
- Breaking change: Fix that the page range labels were not pluralized,
NumericValue::Rangenow returns an inclusive range (#142) - Breaking change: The field
publishercan now accept a dictionary with alocation. The top-levellocationkey is now primarily for event and item locations. - Breaking change: The field
annotehas 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)
BibliographyItemis now exported (#157)- Fix when the short form of a title was used (#173)
- Bumped the
biblatexcrate to 0.10.0 to fix a BibLaTeX parsing bug (https://github.com/typst/biblatex/issues/53) and allow the Unknown and Director editor types (https://github.com/typst/biblatex/issues/52).
We also updated our collection of Citation Styles.
0.5.3
- Fixed a bug with initials (#150)
- Fixed suppression of title when no author was provided (#144)
- Fixed et al handling on subsequent citations by bumping citationberg
0.5.2
- Allow the
abstract,annote, andgenrefields 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
pagesfield (#103) - Fix multiple subsequent prose citations to the same item (#122)
- Interpret the
eprintBibTeX key asserial-number.arxivif theeprinttypeis set toarxiv - Fixed issue with multiple subsequent citations (#122)
- Improved handling of empty CSL objects
0.5.1
- Fixed spacing around math blocks
- Fixed title case formatting next to
{verbatim}blocks and apostrophes
0.5.0
- 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-...fromgb-7114-.... - Breaking change: The reexported
TypeErrorKindandParseErrorKindenums inbiblatexhave added variants and become non-exhaustive. - Date parsing will not panic anymore (https://github.com/typst/typst/issues/2553).
- Anthos entries now properly recognize their parent (#72, https://github.com/typst/typst/issues/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 (https://github.com/typst/typst/issues/2669).
- The old behavior of the alphanumeric style has been restored.
- Bibliographies now forcibly print the alphanumeric
citation-labelinstead of thecitation-numberif the cite only printed the former (and vice-versa; https://github.com/typst/typst/issues/2707). - We dropped the dependency on
rkyvin favor of code generation in a test. This should resolve build 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 (https://github.com/typst/typst/issues/2548).
- Bumped
citationbergto solve a CSL locale fallback issue that affected https://github.com/typst/typst/issues/2548 - Bumped the
biblatexcrate to 0.9.0 to fix BibLaTeX parsing bugs (e.g. https://github.com/typst/biblatex/issues/41, https://github.com/typst/biblatex/issues/33, https://github.com/typst/biblatex/issues/40, https://github.com/typst/typst/issues/2751, #81)
0.4.0
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.
0.3.2
Fixes a title case formatting bug introduced in the previous release.
0.3.1
Bug Fixes:
- Added an option to turn off abbreviation of journals (thanks to @CMDJojo)
- Fixed bugs with title case formatting (thanks to @jmskov)
- Fixed off-by-one error with dates in APA style (thanks to @bluebear94)
- Fixed supplements in the Alphanumeric and AuthorTitle styles (thanks to @lynn)
- Fixed bugs with sentence case formatting
- Fixed
verbatimoption - Fixed terminal formatting
- Fixed some typos (thanks to @kianmeng and @bluebear94)
0.3.0
Breaking:
- Updated to
biblatex0.8.0
Bug Fixes:
- Fixed string indexing for titles, removed panic
- More permissive BibLaTeX parsing
0.2.1
Bug Fixes:
- Fixed APA bibliography ordering
0.2.0
Breaking:
- Replaced
NoHyphenationformatting withLinkformatting - Switched to newest BibLaTeX (which is part of the public API)
Bug Fixes:
- Fixed IEEE bibliography ordering
- Fixed A, B, C, … suffixes for Author Date citations
- Removed
printlncalls
0.1.1
🐞 This release fixes the documentation of the CLI in the README.md file.
✨ There are new options for bracketed citations in the CLI.
✅ No breaking changes.
0.1.0
🎉 This is the initial release!