tag:github.com,2008:https://github.com/DavidMStraub/python-gedcom7/releases Release notes from python-gedcom7 2025-11-29T20:01:56Z tag:github.com,2008:Repository/541657388/v0.4.1 2025-11-29T20:04:58Z v0.4.1 <p>This release fixes an issue where empty continuation lines cause a parsing error. Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bwbensonjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bwbensonjr">@bwbensonjr</a> for reporting and fixing the issue.</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.4.0 2025-06-18T20:34:50Z v0.4.0 <p>Refactoring, proper handling of approximate dates, date ranges, and date periods.</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.3.0 2025-06-07T11:26:31Z v0.3.0 <h3>Major Features &amp; Changes</h3> <ul> <li><strong>Completely refactored type casting:</strong> <ul> <li>Introduced a new <code>gedcom7.cast</code> module for robustly casting string values to appropriate data types, including support for booleans, integers, lists, personal names, dates, times, media types, and more.</li> <li>The parser now attaches a typed <code>.value</code> attribute to each <code>GedcomStructure</code>, making downstream data handling easier and less error-prone.</li> </ul> </li> <li><strong>Rewritten core data types:</strong> <ul> <li>Switched from custom class-based data types to Python <code>@dataclass</code> types in <code>gedcom7.types</code>, simplifying usages and improving typing.</li> <li>Simplified and modernized the type system with clear type aliases and unions.</li> </ul> </li> <li><strong>Parser improvements:</strong> <ul> <li>The main parsing routine (<code>gedcom7.parser.loads</code>) now uses the new type casting, returning trees with typed values.</li> </ul> </li> <li><strong>Utility additions:</strong> <ul> <li>Added <code>gedcom7.util</code> module with utility functions to: <ul> <li>Convert GEDCOM dates/times to Python <code>datetime.date</code> and <code>datetime.time</code> objects.</li> <li>Retrieve children by tag from a <code>GedcomStructure</code>.</li> </ul> </li> </ul> </li> </ul> <h3>Standards &amp; Compatibility</h3> <ul> <li><strong>Updated to latest GEDCOM 7 specification:</strong> <ul> <li>Grammar and constants (<code>gedcom7.grammar</code>, <code>gedcom7.const</code>) updated for full compliance.</li> <li>Added month constants for easier date handling.</li> </ul> </li> <li><strong>Expanded Python support:</strong> <ul> <li>CI now tests on Python 3.9, 3.10, 3.11, 3.12, and 3.13.</li> <li>Added static type checking (<code>mypy</code>) to the CI.</li> </ul> </li> </ul> <h3>Testing</h3> <ul> <li><strong>Extensive new tests:</strong> <ul> <li>Added <code>test/test_cast.py</code> for comprehensive coverage of the new type casting logic.</li> <li>Added <code>test/test_util.py</code> for utility function tests.</li> <li>Removed legacy tests for old type classes.</li> </ul> </li> </ul> <h3>Other</h3> <ul> <li><strong>Project URLs and metadata:</strong> <ul> <li>Added project URL to <code>setup.cfg</code>.</li> </ul> </li> <li><strong>Miscellaneous:</strong> <ul> <li>Various grammar and code cleanups for maintainability.</li> </ul> </li> </ul> <hr> <p>PS: Yes, these release notes are AI-generated 😊</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.2.1 2023-02-26T18:11:27Z v0.2.1 <p>This release fixes an issue with parsing of incomplete dates and accounts for an according update in the GEDCOM 7 specification (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1561408692" data-permission-text="Title is private" data-url="https://github.com/DavidMStraub/python-gedcom7/issues/2" data-hovercard-type="issue" data-hovercard-url="/DavidMStraub/python-gedcom7/issues/2/hovercard" href="https://github.com/DavidMStraub/python-gedcom7/issues/2">#2</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1562799439" data-permission-text="Title is private" data-url="https://github.com/DavidMStraub/python-gedcom7/issues/3" data-hovercard-type="pull_request" data-hovercard-url="/DavidMStraub/python-gedcom7/pull/3/hovercard" href="https://github.com/DavidMStraub/python-gedcom7/pull/3">#3</a>).</p> <p>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/geostag/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/geostag">@geostag</a> for spotting and fixing the issue!</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.2.0 2022-10-11T19:20:22Z v0.2.0 <p>Implemented parsing of most data types.</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.1.1 2022-10-10T10:49:27Z v0.1.1 <p>Fix PyPI workflow</p> DavidMStraub tag:github.com,2008:Repository/541657388/v0.1.0 2022-10-10T10:42:50Z v0.1.0 <p>First release.</p> DavidMStraub