SecInterp - Maintenance & Release Log¶
This document serves as the central record for project history, release procedures, and past refactoring analysis.
🚀 Release Process¶
Follow these steps to prepare and release a new version of SecInterp.
1. Preparation¶
Update Metadata: Increment
versioninmetadata.txt.Sync Project Brain: Update
.ai-context/project_brain.md.Update Changelog: Add the new version to the top of the Project History section below.
Update User Guide: Ensure screenshots and feature descriptions in
docs/USER_GUIDE.mdare current.
2. Packaging (Clean Build)¶
To ensure no development files (like tests or .git) are included in the distribution zip, use the git archive method:
# Check exports-ignore in .gitattributes first
# Then run the package command
make package VERSION=main
mv sec_interp.zip sec_interp_vX.Y.Z.zip
3. Distribution & QGIS Repository¶
Tagging:
git tag vX.Y.Z -m "Release description"GitHub: Create a new Release and attach the ZIP.
QGIS Repo: Upload the ZIP to plugins.qgis.org.
⚠️ CRITICAL: The ZIP MUST contain a
LICENSEfile and NO__pycache__folders.The repository will reject any package with
.pycfiles for security reasons.Verified ZIP structure with
unzip -t sec_interp.zip.
📜 Project History¶
[2.2.0] - 2025-12-22¶
Documentation Globalization: 100% of documentation (including Architecture) translated to English.
Build Optimization: Slimmed final ZIP package and removed redundant source code views from help.
Architectural Evolution: Moved main
SecInterpclass tosec_interp_plugin.py.Validation Refactor: Modularized
core/validation/package.GUI Decoupling: Fragmented
SecInterpDialoginto specialized managers.LOD Optimization: Implemented adaptive Level of Detail for previews.
[2.1.0] - 2025-12-17¶
Feature: Snap-Enabled Measurement Tool.
Fix: Resolved Snapping configuration attribute errors.
[2.0.0] - 2025-12-14¶
Feature: Full Drillhole Integration (Projection & Intervals).
Export: Added drillhole trace and interval Shapefile exporters.
[1.1.0] - 2025-12-12¶
Performance: Asynchronous parallel processing for geology.
Feature: Adaptive Sampling and Measurement Tool.
📁 Historical Refactoring Notes¶
For detailed information on past major refactoring sessions, refer to the following summaries:
[!NOTE] Refactoring 2025-12-21: Significant reduction of
main_dialog.pysize (from 1k to ~300 lines) by moving logic to managers and core services. Seedocs/docsec/archive/for original walkthroughs if deep historical context is needed.