- Add comprehensive type hints to MyTimeline.py methods
- Add type hints to __init__, change_db, and tooltip formatting methods
- Use Any for Gramps-specific types that aren't easily importable
- Refactor generate_demo_family.py to use ElementTree
- Replace string concatenation with xml.etree.ElementTree for proper XML generation
- Add compatibility handling for Python < 3.9 (ET.indent)
- Add EventData, PersonData, and FamilyData dataclasses for better structure
- Add comprehensive type hints to all functions
- Extract magic numbers to named constants
- Add constants for UI dimensions, timeline heights, dialog sizes
- Add constants for date calculations and genealogical year ranges
- Improve code readability and maintainability
- Refactor duplicated code in filter dialog handlers
- Extract common checkbox handler logic into reusable methods
- Create _make_group_toggle_handler and _make_child_toggle_handler
- Eliminate code duplication between event type and family filters
- Improve shell scripts with better error handling
- Add validation for Gramps installation
- Improve error messages with actionable troubleshooting steps
- Use set -euo pipefail for better error detection
- Add better user guidance in error scenarios
- Convert plugin from Family-based to Event-based view
* Change category from Families to Events
* Update navigation_type to 'Event'
* Replace FamilyBookmarks with EventBookmarks
* Rewrite collect_events() to show all events in database
* Update goto_handle() to work with event handles
- Update filter dialog to show families with members
* Restructure person filter page with expandable families
* Each family shows father, mother, and children
* Add helper method to generate family display names
- Restore person connection lines
* Re-enable visual connections between events of selected person
* Clicking an event selects the person and shows connections
- Add uninstall script
* Remove plugin files and backup directories
* Clean up any plugin files in subdirectories