Skip to content

v0.2.0 - Red-Letter Bible Support

Choose a tag to compare

@Omarzintan Omarzintan released this 13 Dec 08:22
· 22 commits to main since this release

Red-Letter Bible Support

This major feature release adds support for identifying and styling Jesus' words in OSIS and USFX Bible formats.

✨ New Features

  • Red-letter Bible support for OSIS and USFX formats
    • New TextSegment class for styled text segments with attributes
    • segments field in Verse class for tracking speaker information
    • Support for <q who="Jesus"> tags in OSIS XML
    • Support for <wj> (Words of Jesus) tags in USFX XML
    • hasJesusWords convenience getter on Verse class
  • Database persistence for segments
    • New verse_segments table for storing text segments
    • Automatic segment loading when retrieving verses from database
    • Database version upgraded to 2 with migration support
  • Extensible design allows future support for other XML styling tags
  • Exported parser classes (OsisParser, UsfxParser, ZefaniaParser) for direct use

🔄 Changes

  • OSIS parser now tracks quote tags and speaker attributes
  • USFX parser now tracks wj tags and speaker attributes
  • Verse class is backward compatible - existing code continues to work
  • BibleRepository now persists and retrieves segments automatically
  • Database schema updated with proper foreign key constraints and indexes

📚 Documentation

  • Added comprehensive design document at /doc/red-letter-bible-support.md
  • Updated README with red-letter Bible usage examples

🧪 Testing

  • Added 5 tests for OSIS red-letter parsing
  • Added 5 tests for USFX red-letter parsing
  • Added 5 tests for database segment persistence
  • Added 29 tests for TextSegment serialization
  • Added 1 test for cross-platform database support
  • All 65 tests passing

📦 Package

Published to pub.dev: https://pub.dev/packages/bible_parser_flutter

🔗 Links