Skip to content

v2.0.0b10

Choose a tag to compare

@MiWeiss MiWeiss released this 04 Sep 08:26
· 8 commits to main since this release
c4ae818

What's Changed

TLDR: Mostly fixes found by code scanning as a preparation for the upcoming v2.0.0 release

  • πŸ› Fix misleading 'Unknown block type' warning for failed blocks and add missing DuplicateFieldKeyBlock.entry (#520) by @MiWeiss in #523
  • πŸ“¦ Migrate packaging from setup.py to pyproject.toml by @MiWeiss in #524
  • ✨ Add SortBlocksMiddleware for custom block sorting by @MiWeiss in #525
  • ✨ Honor enclosing demands on fields and strings when writing (#447) by @MiWeiss in #528
  • πŸ› Raise descriptive error when writing failed blocks without raw bibtex by @MiWeiss in #526
  • πŸ¦– Make Library.add fail on duplicate keys by default by @MiWeiss in #527
  • πŸ’š Run unittest workflow on all pushes by @MiWeiss in #548
  • πŸ“ Fix README/RELEASE/docs cosmetics by @MiWeiss in #550
  • πŸ› Fix AddEnclosingMiddleware.metadata_key identifier by @MiWeiss in #551
  • πŸ› Fix swapped month metadata messages in MonthIntMiddleware by @MiWeiss in #549
  • ⬆️ Require Python 3.10+, test through 3.14 by @MiWeiss in #557
  • πŸ“¦ Fix PyPI topic classifier, add Python 3.13/3.14 by @MiWeiss in #556
  • πŸ”₯ Remove dead state from Splitter by @MiWeiss in #554
  • πŸ› Return a copy in Library.strings_dict by @MiWeiss in #552
  • 🎨 Align middleware override signatures with base class by @MiWeiss in #553
  • ✨ Align @string values according to BibtexFormat.value_column by @MiWeiss in #558
  • πŸ› Resolve @string references case-insensitively by @MiWeiss in #559
  • πŸ› Fix String values becoming tuples in latex transformation middlewares by @MiWeiss in #560
  • πŸ› Make Entry dict access symmetric for ENTRYTYPE and ID by @MiWeiss in #561
  • 🏷️ Fix type annotations on public API by @MiWeiss in #562
  • ✨ Make blocks and fields hashable by @MiWeiss in #563
  • πŸ”§ Update linting rules and pre-commit config (py310 floor, drop setup-cfg-fmt, bump revs) by @MiWeiss in #564
  • πŸ› Make InvalidNameError copyable and picklable by @eeshsaxena in #599
  • Honor custom parsing failure comments by @sapunyangkut in #566
  • πŸ› Apply parse stack only to new blocks in parse_string(library=...) by @MiWeiss in #603
  • πŸ› Abort entry parsing on a dangling field key before } by @MiWeiss in #602
  • πŸ”§ Only run unittests on pushes to main by @MiWeiss in #611
  • πŸ› Fix RecursionError on long runs of consecutive newlines by @MiWeiss in #601
  • πŸ› Keep month field enclosing when the value is not transformed by @MiWeiss in #605
  • πŸ› Preserve enclosing demand in value-transforming middlewares by @MiWeiss in #606
  • πŸ› Make Library.remove atomic and tolerant of changed block keys by @MiWeiss in #607
  • πŸ› Spread block hashes to avoid pathological set/dict collisions by @MiWeiss in #608
  • πŸ”§ Drop dead library parameter from Splitter.split() by @MiWeiss in #610
  • πŸ› Only strip enclosing delimiters that enclose the whole value by @MiWeiss in #604
  • ⚑ Fix quadratic Library.add during parsing and slow quote-enclosing check by @MiWeiss in #612
  • πŸ”Š Warn when writing a large library with a deep-copying unparse stack by @MiWeiss in #615
  • πŸ› Do not mutate the passed library in write_string/write_file by @MiWeiss in #614
  • πŸ“¦ Ship the complete test tree and its resources in the sdist by @MiWeiss in #616
  • πŸ› Materialize iterable middleware arguments before inspecting them by @MiWeiss in #617
  • πŸ”§ Re-enable and modernize CodeQL workflow by @MiWeiss in #619
  • ✨ Support parenthesis-delimited blocks (@article(...)) by @MiWeiss in #620
  • πŸ”– Bump version to v2.0.0b10 by @MiWeiss in #621

New Contributors

Full Changelog: v2.0.0b9...v2.0.0b10