Changelog
All notable changes to PhyloForester are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2025-11-03
Added
Datamatrix Editor Enhancements:
Excel-style copy/paste functionality (Ctrl+C/V) with tab-delimited format
Professional undo/redo system using Qt’s QUndoStack framework
Clear selected cells with Delete key
Fill multiple cells with a value via context menu
Move Up/Down buttons (↑/↓) for reordering taxa and characters
Context menu with Undo, Redo, Copy, Paste, Clear, and Fill actions
Full-width input fields for character and taxon names
Metadata tracking for robust datamatrix synchronization
CI/CD Pipeline:
Automated testing workflow for Python 3.9, 3.10, 3.11
PyQt5 GUI testing with xvfb on Linux
Ruff linter integration
Code coverage reporting with Codecov
Cross-platform build automation (Windows/macOS/Linux)
Automated GitHub releases on git tags
Manual release workflow via GitHub Actions UI
SHA256 checksum generation for releases
Windows Inno Setup installer creation
Testing Infrastructure:
82 automated tests covering utilities, models, and dialogs
pytest configuration with test markers (unit/model/dialog)
Test separation with individual timeouts
pytest-qt for GUI testing
Build System:
Unified
build.pyscript for cross-platform buildsVersion extraction from
version.pyPlatform-specific optimizations
Artifact naming with version and build numbers
Version Management:
Semantic versioning system with
version.pymanage_version.pyscript for automated version updatesCHANGELOG.md integration
Git commit and tag automation
Error Handling:
27 error handlers with custom exception classes
Comprehensive error management across modules
Logging System:
Professional logging with file and console handlers
Replaced 200+ print() statements with structured logging
Appropriate log levels (DEBUG/INFO/WARNING/ERROR)
Changed
Datamatrix Dialog now properly synchronizes taxa/character list changes with datamatrix JSON
Character and Taxon input fields display above buttons with full-width layout
Main table automatically refreshes after editing datamatrix in dialog
Input field placeholder text corrected for taxon field
Enhanced Inno Setup script with environment variable version support
PyInstaller spec file optimized
Fixed
Cell visual state (yellow highlighting) now properly restored on undo/redo
Datamatrix changes in dialog correctly reflected in main table view
Taxa and character list modifications properly update underlying datamatrix structure
List widget synchronization with actual datamatrix data
[Pre-0.1.0] - Development Versions
Earlier development focused on core functionality:
PyQt5-based desktop application framework
SQLite database with Peewee ORM
Project/Datamatrix/Analysis hierarchy
Integration with TNT, IQTree, MrBayes
Nexus/Phylip/TNT file format support
Tree visualization with SVG rendering
Character state mapping
Fitch algorithm for ancestral reconstruction
Unreleased
Planned features for future releases:
Additional file format support (FASTA, Stockholm)
Advanced character mapping options
Interactive tree editing
Batch analysis operations
Performance optimizations for large datasets
macOS code signing
Linux AppImage packaging
Comprehensive user documentation
API documentation
Version History
Version |
Date |
Highlights |
|---|---|---|
0.1.0 |
2025-11-03 |
Excel-style editing, CI/CD pipeline, testing infrastructure |
Pre-release |
2024-2025 |
Core phylogenetic analysis functionality |