Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.0.0] - 2026-01-20
Added
Python 3.10-3.12 Support: Extended compatibility from Python 3.12-only to 3.10, 3.11, and 3.12.
Multi-Version CI Testing: GitHub Actions now tests against all supported Python versions.
Improved Documentation: Enhanced contribution guide with full development workflow.
Comprehensive Library Testing:
Implemented unit tests for all dataset classes (
Dataset2D,DatasetTimeSeries,DatasetLightningBase, etc.) ineyefeatures.deep.datasets.Implemented unit tests for model architectures (
VitNet,VitNetWithCrossAttention,SimpleRNN,GIN,Classifier,Regressor) ineyefeatures.deep.models.New tests for
Extractor,BaseTransformer,SaccadeFeatures,FixationFeatures, andIndividualNormalizationin thefeaturesmodule.Advanced tests for
ShannonEntropy,RQAMeasures, andHHTFeaturesconfirming multi-group and multi-feature support.Scanpath-based tests for
EucDist,HauDist, andExtractorconsistency checks.New automated consistency tests ensuring
feature_names_in_accurately predicts output columns.
Warning-Free Test Output:
Forced Matplotlib
Aggbackend viaMPLBACKENDenvironment variable to eliminate 70+ deprecation warnings from the Tk backend and Pillow.Protected PyTorch Lightning
self.logcalls with safer internal trainer checks, preventing warnings during isolated model unit tests.
Infrastructure & Tools:
Successfully achieved and verified >80% project-wide code coverage.
Established CI/CD pipeline via GitHub Actions for automated testing.
Added local developer tools including
pre-commithooks for code style and quality.Centralized shared test fixtures in
tests/conftest.py.
Changed
Architectural Refinements:
Unified MeasureTransformer Architecture: Refactored base class to natively support multiple feature outputs and centralized grouping logic (
pk).Automated Feature Discovery: Implemented
get_feature_names_outacross 30+ transformers, enablingExtractorto automatically populatefeature_names_in_.Simplified Normalization: Enhanced
IndividualNormalizationwith automatic column inference and support for simple list-based feature specifications.Deep Model Standardization: Refactored
VitNetandVitNetWithCrossAttentionfor consistent projections; updatedSimpleRNNfor hidden state access.Standardized dataset constructors to require explicit coordinate labels (
x,y).
Configuration: Moved Matplotlib backend initialization to the top of
tests/conftest.pyfor consistent headless execution.
Fixed
Deep Module Stability: Resolved bugs in datasets; fixed division-by-zero in graph feature extraction and shadowing bugs in
GINConv.Mathematical & Topological Correctness:
Fixed
RuntimeWarning(log(0)) inpersistence_entropy_curveand standardizedfloatreturn types.Fixed Fill Path Calculation logic in
pairwise.pyto correctly calculate the expected path of expected paths.Validated original implementations for
HurstExponentandSpectralEntropyafter architecture refactor.
Removed
Deprecated Jupyter Notebooks (
.ipynb) from thetests/directory.