Skip to contents

cffr 1.4.0

CRAN release: 2026-05-04

  • cff_validate(): migrated to the ajv validation engine via jsonvalidate::json_validate(). Error messages are now more informative.
  • In definitions.person and definitions.entity, the website field uses ROR as a fallback.
  • doi: DOIs in inst/CITATION url fields are detected, including those matching the pattern .*dx.doi.org/.
  • cff_read() correctly handles a single languages value (#105).

cffr 1.3.0

CRAN release: 2026-03-13

  • Minimum R version required now is 4.1.0.
  • Migrate vignettes to Quarto.

cffr 1.2.1

CRAN release: 2026-01-12

cffr 1.2.0

CRAN release: 2025-01-25

  • New argument r_citation in cff_write(). When it is set to TRUE, an R citation file (inst/CITATION) is generated or updated with the information from the generated CITATION.cff file. No backup copy is created, for more control use cff_write_citation() (#79).
  • repository-code now also recognizes Codeberg as a valid repository (#88).
  • repository-code recognizes repositories regardless of casing. It is still advised to use lowercase as a good practice for R developers.

cffr 1.1.1

CRAN release: 2024-08-16

  • Adapt extraction of orcid to R > 4.4.1.

cffr 1.1.0

CRAN release: 2024-07-23

  • cffr now automatically adds DOIs to packages on CRAN (e.g. https://doi.org/10.32614/CRAN.package.cffr):
    • If the package has a CITATION file providing a DOI, the CITATION DOI is used as the main CITATION.cff doi and the CRAN DOI is added as an identifier.
    • Otherwise, the CRAN DOI is used as doi.
    • When extracting dependencies (e.g. cff_create(dependencies = TRUE)) and the package dependency is on CRAN, the CRAN DOI is used for the dependency in the references key.
  • Extract commit from RemoteSha.
  • Update cran_to_spdx dataset.

cffr 1.0.1

CRAN release: 2024-04-09

  • Update cff_write() to add a new encoding argument to make it work with different encodings, see iconv().
  • Fix NOTEs due to empty lines in docs.

cffr 1.0.0

CRAN release: 2024-03-12

This is a major release with some notable changes. The main change affects non-core functions, hence the natural workflow (cff_create()cff_write()cff_validate()) shouldn’t be affected.

Major changes

Classes and methods

Now cffr implements a new class system for definitions.reference, definitions.person and definitions.entity objects:

  • A list of definitions.reference objects (e.g. references) has class cff_ref_lst, cff, and individual elements (e.g. preferred-citation or each member of references) have class cff_ref, cff.
  • A list of definitions.person or definitions.entity objects (e.g. authors, contact) has class cff_pers_lst, cff, and individual elements (e.g. publisher or each member of authors) have class cff_pers, cff.

This change allows writing specific S3 Methods and extends the capabilities of the package.

API

The API has been completely reviewed to provide more clarity on function naming and to facilitate internal maintenance. This change only affects non-core functions. Now each function does fewer things but does them better. The old API has been deprecated and it warns when used, providing advice on the replacement function.

Deprecation

New capabilities

Other changes

  • Minimum R version required now is 4.0.0.
  • Update of BibTeX crosswalk (see vignette("bibtex-cff", package = "cffr")) and consequently changes in the mapping performed by as_bibtex() cff_parse_citation():
    • @inbook and @book gains a new value on CFF when series is provided: collection-type: book-series.
    • Can handle BibLaTeX @inbook, that differs significantly from BibTeX @inbook.

cffr 0.5.0

CRAN release: 2023-05-05

Lifecycle

New features

Enhancements

  • Additional authors of a R package can be now included based on the role on the DESCRIPTION file, via the argument authors_roles (#49).

  • New message interface based on cli capabilities.

  • Now the (invisible) result of cff_validate() includes the summary of errors (if any) as an attributes() named "error", as jsonvalidate::json_validate() does when verbose = TRUE:

    Be verbose? If TRUE, then an attribute "errors" will list validation failures as a data.frame

  • Improvements in the extraction of `date-release`.

cffr 0.4.1

CRAN release: 2023-01-30

  • Replace crayon dependency for cli (#46).
  • Improvements on the performance of cff_validate().

cffr 0.4.0

CRAN release: 2022-11-17

  • Fix typo (#40) by @dpprdan
  • Add new function cff_from_bibtex().
  • Consistent behavior on dependency urls when RSPM is the default repo (i.e. on GitHub Actions or RStudio Cloud).

cffr 0.3.0

CRAN release: 2022-09-23

  • preferred-citation is only produced when a CITATION R file has been provided with the package (#37).
  • Improve email handling on authors.
  • Add cff_read() function. This functionality was already implemented on cff() but new function added in order to provide clarity.

cffr 0.2.3

CRAN release: 2022-08-15

  • Fix the HTML5 issue as requested by CRAN.

cffr 0.2.2

CRAN release: 2022-04-08

  • cffr now uses a local copy of the schema.json for validating. (#33).

cffr 0.2.1

CRAN release: 2022-01-16

  • GitHub Action now runs only on the master or main branch.
  • Better handling of references.

cffr 0.2.0

CRAN release: 2022-01-04

cffr 0.1.1

CRAN release: 2021-11-11

cffr 0.1.0

CRAN release: 2021-11-04

  • First CRAN release

cffr 0.0.2

cffr 0.0.1

  • First stable release