Skip to content

Releases: mseri/doi2bib

0.9.0

10 Dec 21:37

Choose a tag to compare

  • bibfmt: reduced default verbosity, introduced --verbose flag to show detailed
    processing information.
  • (breaking) bibfmt and bibdedup: updated CLI flags. Now bibfmt directly accepts a list of files. To make it read from stdin, useful for autoformatting, use - as filename.
  • doi2bib: now supports processing multiple IDs at once from the command line
    (e.g., doi2bib ID1 ID2 ID3).
  • bibfmt: allow . and / in the citekey.

0.7.9

12 Oct 13:48

Choose a tag to compare

Release 0.7.9

CHANGES:

- bibfmt: added --quiet flag to suppress all output except errors.
- bibfmt: added --force flag to ignore parsing errors and output only
  successfully parsed entries.
- bibfmt: refactored deduplication functions - moved all deduplication logic
  (deduplicate_entries, resolve_conflicts, merge_entries_non_interactive) from
  library to bibdedup CLI tool. The library now provides only the core
  find_duplicate_groups function for programmatic use.

0.7.8

09 Oct 15:51

Choose a tag to compare

  • bibfmt: introduced new bibdedup CLI tool for deduplicating BibTeX entries across multiple files.
  • bibfmt: added deduplication library functions (deduplicate_entries, find_duplicate_groups, merge_entries_non_interactive) with support for configurable keys.
  • bibfmt: in strict mode, print a warning if there are multiple repeated citekeys (case-insensitive).

0.7.7

07 Aug 13:13

Choose a tag to compare

Release 0.7.7

CHANGES:

- bibfmt and doi2bib drop the month field in bibtex. It is
  useless and the way DOI API reports it is also incompatible
  with many bibtex configurations.
- doi2bib: fix for changes in PubMed API
- bibfmt: add support for field entries capitalization and
  stricter parsing. Now, by default, field names are always
  upper cased.
- doi2bib: make the parser fails if there are duplicate fields
  in a bibtex entry.

0.7.6-1

24 Jun 13:05

Choose a tag to compare

Re-release of 0.7.6 to ensure all the artifacts are properly generated

0.7.6

24 Jun 09:53

Choose a tag to compare

Added documentation for the bibfmt release

0.7.5

24 Jun 09:06

Choose a tag to compare

Changelog: 0.7.1 → 0.7.5

Changes

  1. Updated README
  2. Introduction of New Tool: bibfmt
  • New CLI tool (and library) bibfmt for pretty printing and formatting BibTeX files.
  • bibfmt can read from files or stdin and output to stdout or a file.
  1. Split codebase into the two separate packages: doi2bib and bibfmt.
  2. Big overhaul of doi2bib, see below
  3. Updated CI workflows

doi2bib

  • Now always uses the improved BibTeX pretty-printer from bibfmt for output.
  • Removed custom url-unescaping logic; this is now handled by bibfmt in a more systematic way.
  • Improved error reporting if parsing a BibTeX entry fails.

bibfmt

  • Aligns field values for better readability.
  • Unescapes common percent-encoded characters in URL fields (e.g., "%2F" → "/", "%28" → "(", etc.).
  • Preserves UTF-8 characters and parses all valid Unicode.
  • Handles malformed entries gracefully, printing warnings and returning unformatted content if needed.
  • Accepts input from files or stdin and outputs to files or stdout.
  • Extensive test suite for formatting, error handling, Unicode, and edge cases.

Testing

  • Added comprehensive test suites for both tools.
  • Cram tests and unit tests for various BibTeX input cases, error handling, and output correctness.

0.7

22 Jun 06:43

Choose a tag to compare

0.7 Pre-release
Pre-release

What's Changed

  • Port to cohttp 6 by @mseri in #13
  • Add pretty printing of bib entries (experimental: seems to work fine as long as you don't use comments in your bib files)

Full Changelog: 0.6.2.1...0.7

0.6.2

17 Oct 09:41

Choose a tag to compare

0.6.2 (2022-10-17)

  • Workaround for %-escapes in crossref's doi url field

Note: to use it on macos you may need to install gmp with port install gmp (macports) or brew install gmp (homebrew)

0.6.1

03 Feb 18:14

Choose a tag to compare

CHANGES

  • Fix batch processing: don't quit if some IDs are invalid
  • Fix static compilation of artifacts