Changes log for the Ruby CFF
Library¶ ↑
1.3.0¶ ↑
-
Abstract out parsing YAML.
-
Turn on underlying support for YAML anchors/aliases.
1.2.0¶ ↑
-
Always treat dates as Ruby Date objects.
-
BibTeX: escape special characters ($%&_#{}).
1.1.0¶ ↑
-
BibTeX: output months as three letter abbreviations.
1.0.1¶ ↑
-
Handle missing family or given names for authors.
-
Handle authors with only an alias for a name.
-
Add install instructions to the README.
-
Add a note to the README re output format changes.
1.0.0¶ ↑
-
Add
type
to top-levelCFF
model. -
Correctly label datasets with APA-like formatter.
-
Formatters: output a year, even if a month is not given.
-
BibTeX: generalize getting simple publication data.
-
BibTeX: generalize getting more complex publication data.
-
BibTeX: get volume number from
CFF
issue
. -
BibTeX: get publisher for a book.
-
APA: get publisher for a book.
-
BibTeX: add ‘inproceedings’ type for a preferred-citation.
-
APA: add ‘conference-paper’ type for a preferred-citation.
-
Generalize the
::pages_from_model
method. -
BibTeX: add address information where appropriate.
-
BibTeX: use
software
, notmisc
where appropriate. -
BibTeX: add
version
field tosoftware
type. -
BibTeX: add
license
field tosoftware
type. -
Update README with the BibTeX formatter updates.
-
Adding missing mapping for proceedings and conference
-
BibTeX: add
manual
type forpreferred-citation
. -
BibTeX: add
doi
field tomanual
type. -
BibTeX: add
unpublished
type forpreferred-citation
. -
BibTeX: add
booklet
type forpreferred-citation
. -
BibTeX: add
techreport
type forpreferred-citation
. -
BibTeX: add the
institution
field for atechreport
. -
APA: add the institution for a report, if possible.
-
Clean up affiliations that include location in the report fixtures.
-
Add
alias
field toEntity
. -
Add a note to
Reference
about theformat
field. -
Ensure allowed fields in
Reference
are in alpha order. -
Add
term
field toReference
. -
Ensure allowed fields in
Entity
are in alpha order. -
Define
ModelPart#empty?
. -
Use
ModelPart#empty?
to simplify the formatter code. -
BibTeX: add the
note
field to all types. -
Prevent errors when cff is passed explicit
nil
s -
Update model part constructors for consistent behaviour.
-
BibTeX: Use conference date if citing a conference paper.
-
APA: Use conference date if citing a conference paper.
-
APA: update range code to be more flexible.
-
APA: add [Conference paper] label for conference papers.
-
APA: handle date ranges with an earlier end date.
-
Add
Util::transliterate
to normalise towards ASCII. -
Use the
transliterate
method to normalize citekeys. -
Add
Util::parameterize
to consolidate citekey code. -
Use the
parameterize
method to generate citekeys. -
Rename
generate_reference
->generate_citekey
. -
Only require language list if it is needed
-
APA: don’t output empty brackets if there’s no issue.
-
Formatters: use
date-published
for month/year values. -
Add a note to the README about BibTeX and APA standards.
-
BibTeX: generalise author lists to actor lists.
-
BibTeX: add
editor
field forinproceedings
type. -
BibTeX: use
editors-series
ifeditors
is not present. -
BibTeX: add
editor
field tobook
type. -
BibTeX: add
editor
field toproceedings
type. -
Use the schema to determine the allowed fields within
Reference
. -
Use the schema to determine the allowed fields within
Person
. -
Use the schema to determine the allowed fields within
Entity
. -
Use the schema to determine the allowed fields within
Model
. -
Use the schema to determine the allowed fields within
Identifier
. -
Rename the
Model
class toIndex
which makes more sense. -
Add ‘phdthesis’ and ‘mastersthesis’ types for a preferred-citation.
-
Add contribution guidelines.
-
Handle ‘in-press’ in the formatters.
-
Handle ‘in-preparation’ in the formatters.
-
Handle ‘submitted’ in the formatters.
-
Handle ‘advance-online’ in the formatters.
-
Wholesale changes to isolate all the code from itself.
-
Expand the range of tests, rubies and OSs in the CI.
-
Update runtime gem dependencies.
-
Implement an extensible formatter system.
Version 0.9.0¶ ↑
-
Update to final released version of schema 1.2.0.
-
Add
description
field toIdentifier
. -
Add
Model::read
to parse aCFF
file from memory. -
Add
Model::open
. Same asread
but can take a block. -
Override
File#to_yaml
. -
Allow
File::write
to write File objects. -
Add
save_as
parameter toFile#write
. -
Add
Reference::from_cff
. -
Update CITATION.cff file to reference
CFF
repo. -
Fix
File
docs to be explicit about filenames. -
Validate the filename of a
CFF
file. -
Surface the
fail_fast
options on theFile
validatation methods. -
Reduce json_schema dependency to ~0.20.0.
-
Fix APA-like formatter when a reference is missing a volume.
-
APA: don’t emit journal data if there’s no journal.
Version 0.8.0¶ ↑
-
Add a comment field to the File class.
-
Update the CITATION.cff file to add a comment.
-
Document the simple fields in Model.
-
Updating Ruby version and dependencies
-
GitHub Actions for CI
-
Update Gemspec to fix security vulnerabilities
-
Implement BibTeX output
-
Implement APA-like output
-
Update the LICENCE and the file headers.
-
Add a linter Action.
-
Adjust fixtures to reflect custom styles
-
Move latest supported ruby to be >= 2.6.
-
Dynamically create tests
-
Use the new
YAML.safe_load
API form. -
Add a filename to
CFF::File
. -
Fix invalid references bug
-
Allow time to be loaded from YAML
-
Add
CFF::File.open
which accepts a block. -
Model::new
can now accept a block. -
Entity::new
can now accept a block. -
Person::new
can now accept a block. -
Reference::new
can now accept a block. -
Update README with new
Model
andFile
APIs. -
Turn on Actions CI for all branches.
-
Turn Coveralls reporting back on after move to Actions.
-
Use
Last, First
format for BibTeX output. -
Add
BibtexFormatter::generate_reference
. -
Change DOI links to https in the APA formatter.
-
Set up a GitHub Action to build and deploy the docs.
-
Add metadata to the gemspec.
-
Generalize authorship of the gem a bit.
-
Document
to_*
formatting methods inModel
. -
Add
alias
field toPerson
. -
Person
no longer requiresgiven-names
andfamily-names
. -
The
version
field can be a number or a string. -
Bump default spec version to 1.2.0.
-
Load and parse the
CFF
schema. -
Add validation code and supporting infrastructure.
-
Add validation class methods to
CFF::File
. -
Handle empty fields in
Reference
when reading from files. -
Add an
Identifier
type. -
Add the
identifiers
field to theModel
. -
Add the
identifiers
field toReference
. -
Update the key complete
CFF
file in the tests. -
Ensure
name-particle
is used in BibTex output. -
Add
preferred-citation
to theModel
. -
Load the
Entity
fields in aReference
correctly. -
Preserve title capitalization in BibTeX output.
-
Add
Licensable
mixin. -
Wire
Licensable
intoModel
. -
Wire
Licensable
intoReference
. -
Use the SPDX licences list in the schema to cross-check.
-
Protect
Entity
names in BibTeX output with{}
. -
Add support for
name-suffix
in BibTeX output. -
Streamline the APA formatter
format_author
method. -
Streamline BibTeX
generate_reference
method. -
Streamline the BibTeX
format_author
method. -
Update
1.2.0
schema. -
Add
Formatter::month_and_year_from_date
util method. -
Add
Formatter::url
util method. -
Simplify
BibtexFormatter::format
. -
Simplify and improve the APA formatter.
-
Honour
preferred_citation
when outputting citation text. -
Only use ‘[Computer software]’ label in APA format for software.
-
Map
Reference
types to BibTeX types when formatting.
Version 0.4.0¶ ↑
-
Remove unused Util#expand_field method.
-
Changed Model#keywords to be a field type.
-
Model is now a subclass of ModelPart.
-
Document ModelPart and Util just enough.
-
Add Util::normalize_modelpart_array! method.
-
Tighten up checking for empty collections in model.
-
Move the references into the Model fields.
-
Add an in-place actor collection builder method.
-
Move authors and contact to Model fields.
-
Refactor Reference so the actor lists are fields.
-
Remove unused method: Util::build_actor_collection.
-
Remove unused method: Util::expand_array_field.
-
Add rubocop to the development dependencies.
-
Add rubocop configuration files.
-
Add rubocop rake tasks.
-
Many rubocop fixes.
-
Compact ALLOWED_FIELDS lists for consistency.
-
Allow creation of a Reference without a type.
-
Remove unused method: Util.delete_from_hash.
-
Refactor duplicated code into Util.fields_to_hash.
-
Add File#write (instance method).
-
Ensure a model always returns ” for missing fields.
-
Test reading short and minimal
CFF
files. -
Cleanup duplicated tests.
-
Don’t store dotfiles in the gemfile.
-
Add a CITATION.cff file!
Version 0.3.0¶ ↑
-
Update badges for new repo location.
-
Add back the coveralls badge for new repo location.
-
Update gemspec with new repo location.
-
Bump version number for 0.3.0 release.
-
Add a Reference model to represent references.
-
Wire the Reference model into Model and File.
-
Add authors field to Reference.
-
Read the author field properly when parsing a Reference.
-
Remove the ModelPart constructor.
-
Add the DOI badge to the README.
-
Add the simple string fields to Reference.
-
Add format field to Reference.
-
Move duplicated builder methods to Util module.
-
Remove the Util module from the public API.
-
Restrict reference type to the defined set.
-
Add Date type fields to the Reference model.
-
Add contact to the Reference model.
-
Add editors to the Reference model.
-
Add editors-series to the Reference model.
-
Add recipients to the Reference model.
-
Add senders to the Reference model.
-
Add translators to the Reference model.
-
Refactor the Reference#fields method for complexity.
-
Refactor the Model#to_yaml method for complexity.
-
Restrict reference status to the defined set.
-
Add languages to the Reference model.
-
Restrict reference licence to the SPDX Licence List.
-
Rename Util array_to_fields to expand_array_field.
-
Add a Util method expand_field.
-
Correctly read in the actor lists from a file.
-
Update quick start example in the README.
-
Add the integer fields to the Reference model.
-
Refactor Reference#fields to cope with single Entities.
-
Add the singular Entity fields to the Reference model.
-
Add issue-date field to the Reference model.
-
Add the keywords field to the Reference model.
-
Refactor keyword list initialization in Reference.
-
Add patent-states field to the Reference model.
-
Refactor Reference#keywords to be a standard field.
-
Refactor Reference#patent_states to be a field.
-
Extend the tests for Reference after the refactor.
-
Normalize Reference types when they are set.
-
Normalize the Reference status when set.
-
Add a note to the README about versioning.
-
Add a CHANGES file.
Version 0.2.0¶ ↑
-
Add a rubygems version badge to the README.
-
Add older rubies to the CI, but allow failures.
-
Add the licence to the gemspec.
-
Rename the ALLOWED_METHODS list to FIELDS.
-
Send missing methods straight to Model, from File.
-
Fix passing through arguments for missing methods (File).
-
Add a Util module with delete_from_hash as first utility.
-
Move method_to_field to the Util module.
-
Refactor for more complete parsing ability.
-
Freeze the allowed fields constant in Model.
-
Change allowed fields to be more flexible
-
Add abstract to Model.
-
Factor out the process of converting array fields to yaml.
-
Fix test for authors that was split incorrectly.
-
Add contact to Model.
-
Add tests to check capitalized fields are rejected.
-
Refactor model building for maintainability.
-
Add commit to the Model.
-
Add doi to the Model.
-
Add keywords to Model.
-
Fix #11: prevent serialization of empty collections.
-
Add license to Model.
-
Refactor testing simple fields.
-
Add license-url to Model.
-
Simplify parsing the keywords in Model.
-
Refactor testing reading complete
CFF
file. -
Add repository* to Model.
-
Add url to Model.
-
Fix #12: typo in README example usage.
-
Add to the quick start example in the README.
-
Create a new base class (ModelPart) for parts of the model.
-
Add ModelPart#method_missing.
-
Add affiliation to Person, and tests for it too.
-
Add address to Entity, and tests for it too.
-
Add accessors for required fields on Person, Entity.
-
Add the rest of the optional fields in Person.
-
Add the rest of the simple fields in Entity.
-
Add the date fields in Entity.
-
Test dates in Entity with text inputs.
Version 0.1.0¶ ↑
-
Add a code of conduct.
-
Add Travis configuration.
-
Add licence text to all source files.
-
Add a Travis badge to the README.
-
Add a CodeClimate badge to the README.
-
Set up coveralls integration.
-
Add a coveralls badge to the README.
-
Add the current
CFF
spec version as the default. -
Add a simple model class.
-
Message doesn’t need to be passed to new.
-
Add title to model and wire into default message.
-
Add a method to set the message.
-
Remove the default values on ingestion.
-
Swap requires in main cff file.
-
Only set a default message on construction.
-
Add a File class to read and write
CFF
files. -
Switch to using standard accessor for message field.
-
Streamline title output tests.
-
Add a set title method to Model and test it.
-
Turn off line wrapping in Model yaml output.
-
Fix #2. Don’t include title in the default message.
-
Test that yaml output doesn’t include the header.
-
Write cff from a String or Model.
-
Fix #3. Create a File from either a model or title.
-
When testing file loading, compare to yaml directly.
-
Test the message is loaded correctly into a File.
-
Add version to the Model and File APIs.
-
Add date-released to the Model and File APIs.
-
Fix cff_version test.
-
Move the Model class to a Hash-based implementation.
-
Initialize Model with a title or a Hash.
-
Update the File class to use the new Model class.
-
Use a method whitelist for Model and File.
-
Add a Person model to represent authors.
-
Add an Entity model to represent authors.
About this file¶ ↑
This file is, at least in part, generated by the following command:
$ git log --pretty=format:"* %s" --reverse --no-merges <commit-hash>..