Skip to content

Releases: Bridgeconn/usfm-grammar

3.0.0 Stable Release

13 Dec 09:20
82a5270
Compare
Choose a tag to compare

With the 3.x versions, we are transitioning to a Tree-Sitter based grammar implementation for usfm-grammar, replacing the Ohm.js grammar used in the 2.x versions. This upgrade enhances performance, extensibility, and support for complex parsing scenarios.

Variants of USFM-Grammar

We now provide specialized variants of USFM-Grammar tailored for different environments:

USFM-USX-USJ Format Support

Version 3.0.0 expands support across all three formats in the USFM ecosystem:

  • Parses USFM, converts to other formats, and generates USFM from the other two formats
  • Parses USX (XML), converts to other formats, and generates USX from the other two formats
  • Parses USJ (JSON), converts to other formats, and generates USJ from the other two formats
  • Exports to additional user-friendly formats such as CSV and BibleNLP.

Other Features

  • Marker-Based Filtering: Simplify the cleanup and reformatting of marker-rich USFM files by specifying markers or marker types to include or exclude. This feature is centered on the USJ format.
  • Error Reporting and Validation: When initializing a USFMParser with a USFM file, all errors in the file are reported in the USFMParser.errors field. A USJ input can also be validated against its JSON-Schema definition.
  • Error Ignoring Option: An ignore_errors=True/False option is available for format conversion methods, allowing processing of imperfect input files wherever possible.
  • Autofix Errors (Experimental): Automatically identifies and fixes common errors in USFM files to streamline processing.

Standards and Testing

This release adheres to the comprehensive test suite and standards recommended by the USFM/X Technical Committee, ensuring robust validation and compatibility with approved file formats.

Independent Grammar Implementations

For developers working directly with syntax trees, we offer grammar implementations as standalone packages for improved performance:

Breaking Changes

  • The JSON output schema used in the 2.x versions has been completely replaced with the officially supported USJ format for better compatibility and adherence to standards.
  • The APIs in the 2.x Node.js library have been re-designed to support new features and ensure cross-platform consistency.

v3.0.0-beta.17

12 Dec 05:16
5f065c6
Compare
Choose a tag to compare
v3.0.0-beta.17 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.16...v3.0.0-beta.17

v3.0.0-beta.16

18 Nov 06:37
9074b60
Compare
Choose a tag to compare
v3.0.0-beta.16 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.15...v3.0.0-beta.16

v3.0.0-beta.15

18 Nov 06:03
bed821e
Compare
Choose a tag to compare
v3.0.0-beta.15 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.14...v3.0.0-beta.15

v3.0.0-beta.14

11 Nov 09:50
42457a8
Compare
Choose a tag to compare
v3.0.0-beta.14 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.13...v3.0.0-beta.14

v3.0.0-beta.13

11 Nov 09:42
f058c7e
Compare
Choose a tag to compare
v3.0.0-beta.13 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.12...v3.0.0-beta.13

v3.0.0-beta.12

11 Nov 09:15
e14a3de
Compare
Choose a tag to compare
v3.0.0-beta.12 Pre-release
Pre-release

What's Changed

  • Fix missing dependency issue in python
  • Add a small check for USJ format in before conversion and throw error

Full Changelog: v3.0.0-beta.11...v3.0.0-beta.12

Beta 11: Grammar and Python

11 Nov 06:14
47a394d
Compare
Choose a tag to compare
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.10...v3.0.0-beta.11

v3.0.0-beta.10

02 Jul 09:31
e6eb170
Compare
Choose a tag to compare
v3.0.0-beta.10 Pre-release
Pre-release

What's Changed

  • Treesitter version upgrade by @kavitharaju in #249
  • A new python package tree-sitter-usfm3
  • Major changes in python package usfm-grammar, removing the dependency on binary file

Full Changelog: v3.0.0-beta.7...v3.0.0-beta.10

v3.0.0-beta.6

22 May 15:42
57e8e7f
Compare
Choose a tag to compare
v3.0.0-beta.6 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v3.0.0-beta.5...v3.0.0-beta.6