Skip to content

Latest commit

 

History

History
356 lines (317 loc) · 36.2 KB

File metadata and controls

356 lines (317 loc) · 36.2 KB

Changelog / Änderungsprotokoll

Alle wesentlichen Änderungen an diesem Projekt werden hier dokumentiert. Format basiert auf Keep a Changelog.

[Unreleased]

Bugsweep #13: Resilienz-Härtung von Projektverwaltung & Datei-Synchronisation (2026-10-02) [G 2026-10-02]

  • ProjectManager (src/core/project_manager.py):
    • Robuste Absicherung von _load_recent_projects(), _save_recent_projects(), create_project(), open_project() und save_project() gegen nicht-dict JSON-Dateien (z. B. Arrays [], Skalare oder null in settings.json und devcenter.json), wodurch bisher unhandled AttributeError und TypeError auftraten.
    • Sichere Fallbacks bei fehlendem, leerem oder reinem Whitespace-Projektnamen/-pfad in open_project() auf den Basisordnernamen.
    • Defensive Filterung ungültiger oder nicht-dict Einträge in get_recent_projects().
  • SyncManager (src/modules/filemanager/sync_manager.py):
    • Normalisierung von Pfadtrennern in _should_exclude() für verlässliches Matching von Ausschlussmustern auch bei POSIX-Forward-Slashes auf Windows.
    • Ausschlussfilter in _find_sqlite_databases() integriert, sodass ausgeschlossene Ordner (z. B. venv, .git) nicht durchsucht werden; Verzeichnis-Filterung für reguläre SQLite-Dateien.
    • Schutz vor dauerhaft korrupten Synchronisationszielen in sync(): Schlägt verify_copy fehl (Prüfsummen-Mismatch), wird die beschädigte Zieldatei sofort vom Ziel gelöscht und Zähler werden korrigiert, statt das beschädigte Ziel im Folgezyklus fälschlich als aktuell zu überspringen.
    • Vorab-Prüfung source.is_dir() in sync() mit Dauer-Erfassung und Fehlerreport bei Nicht-Verzeichnis-Quellpfaden.
    • Normalisierung und Deduplizierung von Projektpfaden in BackupScheduler.add_backup() und remove_backup().
  • Testabdeckung & Verifikation:
    • 12 neue hermetische Regressionstests in tests/test_bugsweep_project_and_sync_resilience_20261002.py (100% bestanden).
    • Testsuite auf 250 Tests erhöht (100% grün via pytest in 11.31s); ruff check und compileall fehlerfrei.

Tier-2 Mehrsprachigkeit (P-006), SettingsDialog-Integration & Scanner-Auditing (2026-10-01) [G 2026-10-01]

  • Tier-2 6-Sprachen-Ausbau (P-006):
    • locales/translations.json um 24 neue Einträge (unter anderem Such-/Ersetzendialog, Tab-Optionen, Checkboxen, Spracheinstellungen) auf 100 Schlüssel ausgebaut mit 100% lückenloser Parität über alle 6 Sprachen (DE, EN, ES, ZH, JA, RU).
    • Modernisierung von translator.py: LANGUAGE_DISPLAY_NAMES definiert, detect_system_language() auf modernes locale.getlocale() umgestellt (verhindert DeprecationWarning unter Python 3.12+), globale get_translator()- und t()-Hilfsfunktionen bereitgestellt.
  • SettingsDialog-Sprachauswahl (src/gui/dialogs/settings_dialog.py):
    • Neue Gruppe "Sprache" mit ComboBox im Tab "Allgemein" integriert (language_combo).
    • Persistenz von language in _load_settings() und _save_settings() verdrahtet (nutzt self.settings.get('language') / set('language')).
  • Auto-Scanner & CLI-Auditor (manage_translations.py):
    • Mit argparse, --dir und --check-Prüfmodus ausgerüstet; UTF-8-Encoding für Windows-Terminals (sys.stdout.reconfigure) abgesichert.
    • Erweiterte GUI-Regex-Muster (QCheckBox, setStatusTip, etc.); python manage_translations.py --check validiert 100% Parität ohne fehlende Übersetzungsschlüssel.
  • Testabdeckung & Verifikation:
    • 5 neue Vertragstests: test_settings_dialog_loads_and_saves_language, test_settings_dialog_language_combo_items_match_supported_languages in tests/test_settings_application.py; test_language_display_names_parity, test_global_translator_singleton_and_t_helper, test_manage_translations_check_mode_success in tests/test_i18n.py.
    • Gesamtsuite wuchs von 233 auf 238 Tests (100% grün via pytest in 17.13s).

Pfad A Repository Hygiene, CI Lifecycle Workflows, PEP 621 Standardisierung & Level 1 SBOM (2026-09-30) [G 2026-09-30]

  • Version-Freeze-Disziplin (T-20260920-167562623):
    • Version 1.0.3 in pyproject.toml, Quellcode und Manifesten unverändert beibehalten.
    • Alle Neuerungen unter ## [Unreleased] im Changelog dokumentiert.
  • CI/CD Lifecycle Workflow Provisioning & Hardening:
    • .github/workflows/auto-assign.yml neu angelegt mit actions/github-script@v7, timeout-minutes: 5, Concurrency group: ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: true und least-privilege permissions issues: write, pull-requests: write.
    • .github/workflows/label-sync.yml neu angelegt mit EndBug/label-sync@v2, timeout-minutes: 5, Concurrency group: ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: true und least-privilege permissions issues: write.
    • Kanonische .github/labels.yml mit 11 Standard-Labels gemäß GOVERNANCE.md §4.2 angelegt.
    • stale.yml, welcome.yml und tests.yml verifiziert.
  • Multi-Host Cloud-Sync-, Lock- und Cache-Härtung in .gitignore:
    • Multi-Host Sync-Muster (*-IDEAPAD*, *-IDEAPAD-GEI*, *-WORKSTATION.*, *-WORKSTATION-LG.*, *-MacBook*), kanonische Locks (LOCK.user.*, LOCK.until.*, LOCK.condition.*), Test-/Coverage-Caches (.pytest_tmp*/), OS-/Editor-Artefakte (Desktop.ini) und TASKPLAN_*.md.
  • PEP 621 Standardisierung in pyproject.toml:
    • license-files Whitelist um THIRD_PARTY_LICENSES.txt erweitert (["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md", "THIRD_PARTY_LICENSES.txt"]).
    • URLs für Third-Party Licenses (Text), Plain-Text Licenses, Level 1 SBOM und Contributing unter [project.urls] registriert.
    • [tool.pytest.ini_options] mit norecursedirs um .pytest_tmp* gehärtet.
  • Level 1 SBOM Drittanbieter-Lizenzaudit in THIRD_PARTY_LICENSES.txt:
    • Plain-Text Level 1 SBOM Companion mit Header und Bestätigung aller 10 Governance- und Laufzeitinvarianten (INV-LOCAL-01 bis INV-SLA-10), RunAsInvoker Non-Elevation und Querverweis auf kanonische NOTICE Attributionsdatei.
  • Beitragsrichtlinien & Quality Gates:
    • CONTRIBUTING.md um Quality Gates (pytest, ruff, compileall), Governance-Invarianten und Version-Freeze-Disziplin erweitert.
  • Dokumentations- & Kontext-Parität:
    • README.md und README_de.md Badges für verifizierte Tests, Last-Checked 2026-09-30 und Level 1 SBOM Companion synchronisiert (alle 18 bilateralen Schnellnavigations-Anker sec-01 bis sec-18 exakt beibehalten).
    • llms.txt Stand 2026-09-30 mit neuer Test-Baseline, Level 1 SBOM und Workflows synchronisiert.
    • Lokales Marketing- und Governance-Register MARKETING-LOG.txt Section 6 Pfad A Revisionsbericht Stand 2026-09-30.
  • Vertragstest-Erweiterung:
    • tests/test_metadata.py um umfassende Contract-Tests für CI Lifecycle Workflows, Standard-Labels, Level 1 SBOM Companion Invarianten, CONTRIBUTING.md, PEP 621 URLs/license-files und erweiterte .gitignore Guardrails erweitert.

Dependency Lockfile, Store-Lizenz-Harmonisierung & Testmatrix (2026-09-29) [G 2026-09-29]

  • SEC-AUDIT-2026-08-14-01 (Store-Lizenz-Parität & Store-Materialien):
    • Store-Metadaten (store_package.json, WINDOWS_STORE_PREP.md, SUPPORT.md, STORE_LISTING.md) in das kanonische Repository übernommen.
    • Lizenzwiderspruch behoben: license in store_package.json und WINDOWS_STORE_PREP.md von MIT auf die autoritative Repository-Lizenz GPL-3.0 korrigiert.
    • 8 automatisierte Vertragstests in tests/test_store_materials.py integriert, inklusive expliziter Lizenzprüfung test_store_package_license_matches_gpl3.
  • SEC-AUDIT-2026-08-14-03 (Reproduzierbarer Dependency-Vertrag & Lockfile):
    • requirements.txt um Obergrenzen ergänzt und 1:1 mit pyproject.toml harmonisiert (<7.0.0, <13.0.0, <26.0.0 etc.).
    • Reproduzierbare Lockdatei requirements-lock.txt mit geprüften Versionsnummern für 20+ direkte und transitive Abhängigkeiten erstellt.
    • Neuer Vertragstest test_dependency_lockfile_and_upper_bounds_parity in tests/test_security_license_contract.py.
  • Testmatrix & Chronik (TASKPLAN #865 / TW-DC-04):
    • Testsuite wuchs von 212 auf 221 Tests (100% grün via pytest in ~56s).
    • DOCUMENTATION_STATUS.md und Dokumentationsstände aktualisiert.

Discoverability, Visual Architecture, Level 1 SBOM & Design Parity (Pfad B) [G 2026-09-28]

  • Bilaterale Schnellnavigation:
    • 18-Punkte bilaterale Schnellnavigation in README.md und README_de.md mit reziproken dualen HTML-Ankern (<a id="sec-01"></a> bis <a id="sec-18"></a>) für 100% Sprachparität etabliert.
  • Remote GitHub Metadaten:
    • 20/20 GitHub Topics via GitHub CLI (gh repo edit) remote gesättigt und Homepage URL auf https://github.com/dev-bricks/DevCenter#readme verankert.
  • Formelle Open-Source NOTICE Attribution:
    • Kanonische NOTICE-Datei für Urheberrecht Lukas Geiger / dev-bricks / open-bricks im Repository-Root erstellt.
  • Level 1 SBOM & Lizenz-Transparenz:
    • THIRD_PARTY_LICENSES.md Re-Audit Stand 2026-09-28 mit Level 1 SBOM Invariant Cross-Reference Matrix Tabelle (INV-LOCAL-01 bis INV-SLA-10), RunAsInvoker Non-Elevation Zertifizierung und Verknüpfung zur NOTICE-Datei.
  • Gesetzlicher Haftungshinweis & Security SLA:
    • Gesetzlicher Haftungsausschluss gem. § 521 BGB (Gefälligkeitsrecht) und verbindliche 48h Security Response SLA in Section 18 von README.md, README_de.md, llms.txt und SECURITY.md verankert.
  • PEP 621 Standardisierung & Pytest Guardrails:
    • pyproject.toml: license-files = ["LICENSE", "NOTICE", "THIRD_PARTY_LICENSES.md"], Notice URL in [project.urls], 20 Keywords synchronisiert mit GitHub Topics, addopts = "-ra -v --basetemp=.pytest_temp" und .pytest_temp in norecursedirs und .gitignore.
  • Maschinenlesbarer Kontext & Badges:
    • llms.txt auf Stand 2026-09-28, 208+ Tests Baseline, NOTICE-Verweis und 18-Punkte-Navigation aktualisiert.
    • Shields.io Badges in beiden READMEs synchronisiert (Attribution-NOTICE, Last-Checked 2026-09-28, 208 passed tests, 48h SLA).
  • Vertragstestsuite:
    • tests/test_metadata.py erweitert um Prüfungen für 18-Punkte Navigation, duale HTML-Anker, NOTICE-Datei, Level 1 SBOM Invarianten-Matrix, 20 PEP 621 Keywords und § 521 BGB Haftungsausschluss.

[1.0.3] - 2026-09-16

Security Hardening & WinStorePackager Isolation (TASKPLAN #866 / SEC-AUDIT-2026-08-14-04) [G 2026-09-20]

  • resources/WinStorePackager/WindowsStorePublisher_3.py:
    • Ungepinnte, unkontrollierte subprocess.check_call-Aufrufe von pip install bei Modulimport vollständig eliminiert.
    • Implementierung einer seiteneffektfreien ensure_dependencies()-Prüfung, die erst unter if __name__ == '__main__': ausgeführt wird.
    • Optionale Module (PIL, pygetwindow, keyring) mit sicheren try...except ImportError-Guards gekapselt und Methoden gegen None-Referenzen gehärtet (Zero-Egress- und Offline-Konformität).
  • tests/test_security_license_contract.py:
    • Neuer Regressionstest test_winstorepackager_resource_no_unpinned_pip_install stellt sicher, dass keine Subprozess-Installationen bei Import ausgeführt werden können (208 Tests, 100% grün).
  • BUGS.md & AUFGABEN.txt:
    • SEC-AUDIT-2026-08-14-04 und SEC-AUDIT-2026-08-14-02 als behoben markiert und dokumentiert.
  • Dokumentations- & Test-Parität:
    • README.md, README_de.md, DOCUMENTATION_STATUS.md, EXPORTFORMAT.md, ARCHITEKTUR_DevCenter.md, SUITE_DEVCENTER_TEMPLATE.md und llms.txt auf 208 verifizierte Tests, Versionsstand 1.0.3 und den aktuellen Quellenvertrag synchronisiert.

Launcher, CLI Interface & Runtime Logging System (TASKPLAN #870) [G 2026-09-18]

  • src/core/cli.py:
    • Vollständiges CLI-Interface mit build_parser() und Dispatch für --version, --help, --debug, --log-level, --check, --open, --analyze, --export-workspace, --headless.
    • Strukturierte Systemdiagnose run_health_check(): prüft Python-Version (>=3.10), PySide6-Framework, AST-Analyzer, SQLite3 FTS5 Volltextindex und AppData/Log-Pfade.
    • Headless AST-Code-Analyse run_ast_analysis() für Dateien und Verzeichnisse mit optionalem JSON-Export (--output).
    • Headless Workspace-Export run_workspace_export() nach devcenter-workspace-v1.json mit automatischem Fallback für Projekte ohne vorherige devcenter.json.
  • src/core/runtime_logging.py:
    • Zentrales Runtime-Logging mit RotatingFileHandler (max. 5 MB, 3 Backups) nach %LOCALAPPDATA%/DevCenter/logs/app.log und konfigurierbarem Konsolen-StreamHandler.
    • Sichere Verzeichniserstellung und Graceful-Degradation bei restriktiven Dateisystemen.
  • src/core/app_paths.py:
    • get_logs_dir() und get_log_file_path() für standardisierte Log-Pfad-Ermittlung unter Windows (%LOCALAPPDATA%) und POSIX (XDG_STATE_HOME).
  • src/modules/analyzer/method_analyzer.py:
    • Neue Methode analyze_code(source, file_path) für direkte AST-Analyse aus String-Puffern und In-Memory-Analysen.
  • main.py & src/gui/main_window.py:
    • CLI-Dispatch im Haupteinstiegspunkt integriert: direkte Parameterübernahme (sys.argv[1:]), CLI-Befehle beenden mit entsprechendem Exit-Code, GUI startet nahtlos mit vorselektiertem Projekt (--open).
  • Starter- & Diagnose-Skripte:
    • START_DevCenter.bat: Argumentweitergabe (%*) hinzugefügt.
    • debug.bat: Neues kanonisches Diagnose- und Debug-Startskript mit UTF-8-Codepage und Log-Pfad-Anzeige.
  • Tests:
    • tests/test_cli_and_logging.py: 8 neue automatisierte Unit-Tests für Pfade, Logging, CLI-Flags, Health-Check, AST-Analyse, Workspace-Export und Headless-Modus (207 Tests, 100% grün).

Repository Hygiene, CI Header Deduplication & Pytest Standardization (Pfad A) [G 2026-09-16]

  • .github/workflows/:
    • tests.yml: Duplizierten Top-Level-Header- und Concurrency-Block bereinigt; saubere Concurrency-Gruppe ${{ github.workflow }}-${{ github.ref }} mit cancel-in-progress: true und permissions: contents: read sichergestellt.
  • pyproject.toml:
    • [tool.pytest.ini_options]: minversion = "7.0" und standardisierte norecursedirs = [".git", ".pytest_cache", "__pycache__", "build", "dist"] Guardrails verankert.
  • Versionsharmonisierung auf 1.0.3:
    • pyproject.toml: Version auf 1.0.3 angehoben.
    • src/__init__.py, src/core/project_manager.py, src/core/workspace_export.py, src/gui/main_window.py, src/modules/builder/license_generator.py: Anwendungs- und Modul-Versionen auf 1.0.3 synchronisiert.
    • THIRD_PARTY_LICENSES.md: Versionskopf und JSON-SBOM-Mapping auf 1.0.3 und Re-Audit-Datum 2026-09-16 aktualisiert.
    • README.md & README_de.md: Versionsbadge auf 1.0.3 und Testsuite-Badge auf 199 bestandene Tests (100% grün) synchronisiert.
    • llms.txt: Last-checked Timestamp auf 2026-09-16 und Version auf 1.0.3 aktualisiert.
    • MARKETING-LOG.txt: Neuer Pfad-A-Hygiene- und CI-Audit-Eintrag Stand 2026-09-16 ergänzt.
  • tests/test_metadata.py & tests/test_security_license_contract.py:
    • Vertragstests um test_ci_workflow_no_duplicate_headers und test_pytest_ini_options_guardrails erweitert; Version 1.0.3 und Datumsstempel 2026-09-16 validiert. (199 Tests, 100% grün)

[1.0.2] - 2026-09-14

Repository Hygiene, CI Timeout Hardening & Multi-Host Security (Pfad A) [G 2026-09-14]

  • .github/workflows/:
    • tests.yml: Job-Level timeout-minutes: 15 Guardrails auf allen Jobs (lint, test, linux-platform-smoke, macos-platform-smoke) verankert; Pytest-Aufrufe mit standardisiertem -ra -v Flag harmonisiert.
    • stale.yml: Concurrency-Gruppe ${{ github.workflow }}-${{ github.ref }} mit cancel-in-progress: true und Job-Level timeout-minutes: 10 Guardrail nachgerüstet.
    • welcome.yml: Concurrency-Gruppe ${{ github.workflow }}-${{ github.ref }} mit cancel-in-progress: true und Job-Level timeout-minutes: 5 Guardrail nachgerüstet.
  • .gitignore:
    • Umfassende Härtung gegen Multi-Host-Cloud-Sync-Konflikte (* (Kopie)*, * (Copy)*, *conflicted copy*, *-WORKSTATION*, *-ASUS*, *-LAPTOP*, *-Mac Studio*), kanonische Fail-Closed Lock-Muster (LOCK, LOCK.*, LOCK*.txt, LOCK.permissions.json, uv.lock, Whitelist !package-lock.json), und Cache-/Test-Artefakte (.coverage.*, coverage/, .tox/, .hypothesis/, .turbo/, .nyc_output/, wheelhouse/, .wheel-smoke/, *.orig, *.rej).
  • Versionsharmonisierung auf 1.0.2:
    • pyproject.toml: Version auf 1.0.2 angehoben.
    • src/__init__.py, src/core/project_manager.py, src/core/workspace_export.py, src/gui/main_window.py, src/modules/builder/license_generator.py: Anwendungs- und Modul-Versionen auf 1.0.2 synchronisiert.
    • THIRD_PARTY_LICENSES.md: Versionskopf und JSON-SBOM-Mapping auf 1.0.2 und Audit-Datum 2026-09-14 aktualisiert.
    • README.md & README_de.md: Versionsbadge auf 1.0.2 und Testsuite-Badge auf 197 Tests grün synchronisiert; Banner-Asset-Verlinkung harmonisiert.
    • llms.txt: Last-checked Timestamp auf 2026-09-14 und Version auf 1.0.2 aktualisiert.
    • MARKETING-LOG.txt: Neuer Pfad-A-Hygiene- und CI-Audit-Eintrag Stand 2026-09-14 ergänzt.
  • tests/test_metadata.py & tests/test_security_license_contract.py:
    • Vertragstestsuite erweitert um automatisierte Prüfungen für CI-Job-Timeouts, Workflow-Concurrency, Stale/Welcome-Guardrails, erweiterte Multi-Host- und Lock-Muster in .gitignore, sowie Versions- und Datums-Parität für 1.0.2 / 2026-09-14. (197 Tests, 100% grün)

[1.0.1] - 2026-09-12

Discoverability, Marketing Architecture & Governance Invariants (Pfad B) [G 2026-09-12]

  • README.md & README_de.md:
    • Vollständige 15-Punkte-Schnellnavigation mit 100%iger wechselseitiger Anker-Parität eingeführt.
    • Shields.io Badges synchronisiert (Version 1.0.1, Tests 187+ passed | 100% green, Python 3.11/3.12, Platform Windows/Linux/macOS, UI PySide6, Security SLA 48h / 5d triage, Third-Party Audited 100% permissive, Marketing Log active, LLM-Ready llms.txt, Ecosystem dev-bricks, Umbrella open-bricks, License GPL-3.0).
    • Tabelle der Governance- & Laufzeit-Invarianten (10 Garantien: INV-LOCAL-01 bis INV-SLA-10) zweisprachig integriert.
    • Sibling-Ökosystem- und Partner-Matrix um 16 Partner-Repositories ausgebaut.
  • THIRD_PARTY_LICENSES.md:
    • Vollständiges Markdown-Inventar aller 20 direkten, transitiven, Build- und Test-Abhängigkeiten mit SPDX-Lizenztabellen, 100%iger Permissivitäts-Analyse, Zero-Egress-Datenschutzgarantie und unprivilegierter Non-Elevation-Zusicherung erstellt.
  • MARKETING-LOG.txt:
    • Neues Marketing- und Auffindbarkeitsregister im Repo-Root angelegt: 4 Ziel-Personas (Windows Python Desktop App Developers & GUI Builders; Solo Maintainers & Local-First Engineers; Security-Conscious Enterprise Developers; AI-Assisted Prompt & Python Engineers), High-Intent Suchbegriffe, 5-Wege-Wettbewerbsmatrix vs. VS Code / PyCharm / Thonny / CLI / Cloud-IDEs, sowie 16 Sibling-Ökosystem-Synergien.
  • llms.txt:
    • Last-checked Timestamp auf 2026-09-12 aktualisiert, Version 1.0.1, Testsuite-Baseline synchronisiert, 10 Governance-Invarianten verankert, Referenzen auf MARKETING-LOG.txt und THIRD_PARTY_LICENSES.md harmonisiert.
  • pyproject.toml:
    • URLs um Third-Party Licenses, Marketing Log und LLM Ready erweitert; Pytest addopts um -ra -v ergänzt.
  • .gitignore:
    • Multi-Host Cloud-Sync- und Konfliktmuster (* (kopie)*, * (copy)*, *.sync-temp-*, *-CONFLIT-*, LOCK.permissions.json) gehärtet.
  • tests/test_metadata.py & tests/test_security_license_contract.py:
    • Vertragstestsuite ausgebaut: 15-Punkte-Navigationsanker, 10 Invarianten, Version 1.0.1 Konsistenz, THIRD_PARTY_LICENSES.md und MARKETING-LOG.txt Verträge.

Security, Dependency Floors & Third-Party License Audit (v1.0.1) [G 2026-09-11]

  • THIRD_PARTY_LICENSES.txt:
    • Vollständiges Inventar aller direkten, transitiven, Build- und Entwicklungs-Abhängigkeiten angelegt mit Name, Version, Lizenz, SPDX-Kennung, Upstream-URL und Sicherheits-/Funktions-Notizen (PySide6, Pillow, anthropic, keyring, chardet, ftfy, pip-licenses, watchdog, pywin32-ctypes, jaraco.classes, jaraco.context, jaraco.functools, PyInstaller, pyinstaller-hooks-contrib, altgraph, packaging, pytest, pluggy, iniconfig, ruff).
  • pyproject.toml & requirements.txt:
    • Anhebung der Sicherheitsmindestgrenzen (Vulnerability Floors): Pillow>=12.3.0 (abgesichert gegen GHSA-4x4j-2g7c-83w6 und GHSA-45hq-cxwh-f6vc), keyring>=25.0.0, pytest>=9.1.1 (abgesichert gegen CVE-2025-7117 / GHSA-6w46-j5rx-g56g), ruff>=0.9.0.
    • Bereinigung der Autoren-E-Mail auf geschützte Support-Adresse support@lukasgeiger.com.
    • Ergänzung von pythonpath = ["src"] in [tool.pytest.ini_options] für standardkonforme Modulauflösung.
  • SECURITY.md:
    • Härtung der zweisprachigen Meldekette um security@dev-bricks.org und verbindliche 5-Tage-Triage-Garantie bei 48-Stunden-Erstreaktions-SLA.
  • .gitignore:
    • Härtung um Multi-Host-Konfliktmuster (*-WORKSTATION-LG*, *-ASUS-GEI*), Secrets (*.pfx, secrets.*) und Fail-Closed Lock-Muster (LOCK.*, *.lock).
  • tests/test_security_license_contract.py:
    • Neue automatisierte Sicherheits- und Lizenz-Vertragstestsuite (5 Tests) implementiert zur Absicherung von Schwachstellenböden, Lizenzkatalogen, .gitignore-Hygiene, Abwesenheit hardcodierter Benutzerpfade und SLA-Konformität (Gesamtsuite: 182 Tests, 100% grün).

Architecture Hardening & High-End Refactoring: Workspace-Export Parser, PEP-508 Extras & Directory Pruning [G 2026-09-08]

  • src/core/workspace_export.py:
    • B-005 Fix: TASK_LINE_PATTERN auf ^\s*(?:[-*+]\s+)?\[\s\]\s*(.+?)$ erweitert. Erfasst jetzt standardkonform Listenpunkte (- [ ], * [ ], + [ ], eingerückte Checkboxen) sowie bare [ ]. PRIORITY_PATTERN unterstützt nun P0: ... und [P0] .... Robuster Lesezugriff mit errors="replace".
    • B-006 Fix: REQUIREMENT_PATTERN auf PEP-508 Extras (requests[security]>=2.28, pydantic[email,dotenv]) erweitert. extras werden strukturiert extrahiert; Inline-Kommentare (#) und Environment-Marker (;) werden sauber abgespalten.
    • B-007 Fix & Performance-Optimierung: IGNORED_DIRS um .venv, venv, env, node_modules, .ruff_cache, .mypy_cache, .tox, .idea, .vscode erweitert. Umstellung von unselektivem rglob("*") auf os.walk() mit In-place Directory-Pruning (dirs[:] = [...]), wodurch kein teurer Abstieg in Drittanbieter- und Cachebäume stattfindet (~40% Testsuite-Beschleunigung).
    • B-008 Fix: QT_FRAMEWORKS definiert. In _infer_frameworks wird PySide6 nicht mehr injiziert, wenn bereits PyQt6 (oder ein anderes Qt-Framework) explizit deklariert ist.
  • tests/test_workspace_export.py:
    • 4 neue dedizierte Regressionstests für B-005 bis B-008 hinzugefügt (Gesamte Testsuite: 160 Tests 100% grün).
  • BUGS.md:
    • Defekte B-005, B-006, B-007 und B-008 als behoben dokumentiert.

UX & Accessibility Hardening: Suchen & Ersetzen Tastatur-Ergonomie, Screenreader-Kontext & Fokus-Management [G 2026-09-08]

  • src/gui/dialogs/search_replace_dialog.py:
    • Tastatur-Mnemonics und setBuddy-Verknüpfungen für alle Formularfelder (&Suchen: -> search_input mit Alt+S, E&rsetzen durch: -> replace_input mit Alt+R, &Bereich: -> scope_combo mit Alt+B).
    • Barrierefreie Steuerelemente mit echten Umlauten, accessibleName und detaillierten accessibleDescription-Kontexten für alle Felder, Checkboxen, Comboboxen, Aktionsbuttons und das Status-Label.
    • Tastaturkürzel und tooltips mit Shortcuts für alle Aktionen (&Vorheriger Treffer mit Shift+F3, &Nächster Treffer mit F3, &Ersetzen mit Alt+E, &Alle ersetzen mit Alt+A).
    • replace_input.returnPressed direkt an _emit_replace angebunden für intuitive Eingabetasten-Ersetzung.
    • Event-Filter auf search_input für Umschalt+Eingabetaste (Shift+Enter) zum direkten Rückwärtssuchen (_emit_find_previous).
    • reject()-Override stellt sauberes Abbruch-Signal bei Escape sicher.
    • Lückenlose setTabOrder-Kette für barrierefreie Tab-Navigation definiert.
  • src/gui/main_window.py:
    • _cancel_search: Fokus wird beim Schließen des Suchdialogs verlässlich per editor.setFocus() an den aktiven Code-Editor zurückgegeben.
  • tests/test_search_replace_accessibility.py:
    • Neue automatisierte Testsuite (5 Tests) zur Sicherung von Barrierefreiheit, Tastaturbedienung, Mnemonics, Return/Shift+Return-Logik und sauberem Dialog-Abbruch (Gesamt-Testsuite: 167/167 passed, 100% grün).

GitHub Repository Hygiene, Multi-OS CI Hardening & PEP 621 Metadata Parity (Pfad A) [G 2026-08-24]

  • .github/workflows/tests.yml: Modernisierung des GitHub Actions CI-Workflows mit Concurrency-Steuerung (cancel-in-progress: true), Upgrade auf actions/checkout@v4 und actions/setup-python@v5 mit Pip-Caching, sowie vorgelagertem ruff check . Linter-Gate.
  • pyproject.toml: Erweiterung um PEP 621 Standard Classifiers (Development Status, Environment :: Win32 / Qt, Intended Audience, License :: GPLv3, Operating System :: Windows / POSIX Linux / MacOS, Programming Language :: Python 3.11/3.12, Topic :: Desktop Environment / IDE / Build Tools), standardisierte keywords und vollständige [project.urls] (Homepage, Documentation, Repository, Bug Tracker, Changelog, Security, Parent Organization, Umbrella Ecosystem).
  • SECURITY.md: Zweisprachige Sicherheitsrichtlinie um 48-Stunden-Reaktions-SLA, GitHub Security Advisories Link und offizielle Sicherheitskontakte (security@open-bricks.org, security@ellmos.ai, support@lukasgeiger.com, lukas@open-bricks.org) gehärtet.
  • locales/translations.json: Vollständige 6-Sprachen-Parität für 76 UI-Schlüssel über DE, EN, ES, ZH, JA, RU (Erstellt Ausgabeordner mit allen Assets lückenlos übersetzt).
  • .gitignore: Bereinigung und Härtung um Multi-Host-Synchronisationsmuster (*.sync-conflict-*, *.conflict).
  • tests/test_metadata.py: Metadaten- und Governance-Testsuite um 6 Contract-Tests erweitert (11 Tests, vollständige Testsuite: 157/157 passed, 100% grün).
  • llms.txt: Last-checked Timestamp auf 2026-08-24, CI-Concurrency und 157 verifizierte Tests synchronisiert.

Tier-2 Multi-Language Expansion (DE, EN, ES, ZH, JA, RU) gemäß Policy P-006 [G 2026-08-21]

  • locales/translations.json: Vollständige 6-Sprachen-Parität für 75 UI-Schlüssel über alle Menüs, Dialoge, Tabs, Build-Tools, Editor-Aktionen und Statusanzeigen (Deutsch, Englisch, Spanisch, Vereinfachtes Chinesisch, Japanisch, Russisch).
  • translator.py: Upgrade auf Version 2.0.0:
    • Vollständige Unterstützung von SUPPORTED_LANGUAGES (de, en, es, zh, ja, ru) und LANGUAGE_NAMES.
    • 4-stufige robuste Fallback-Kette: current_lang -> en -> de -> key.
    • Automatische Systemsprachenerkennung detect_system_language() via Windows UI Language ID und Locale.
    • Dynamisches Sprachumschalten via set_language(), Formatierungsargumente **kwargs und sichere Key-Registrierung.
  • manage_translations.py: Aktualisierter Auto-Scanner mit Paritätsüberprüfung für alle 6 Zielsprachen.
  • tests/test_i18n.py: Neue automatisierte Testsuite (8 Tests) für 6-Sprachen-Vollständigkeit, Fallback-Resolution und Sprachumschaltung (Gesamt-Testsuite: 151 Tests 100% bestanden).

Cross-Platform macOS Source-Smoke & CI Matrix Expansion (Phase P4) [G 2026-08-21]

  • tests/macos_platform_smoke.py: Neuer reproduzierbarer 6-teiliger macOS-Plattform-Smoke-Test implementiert:
    • POSIX- & XDG-Settings-Pfade unter macOS (~/.config/DevCenter/settings.json).
    • Offscreen PySide6-Hauptfenster-Initialisierung und Projektpfadverwaltung mit Umlauten.
    • macOS-System-Explorer-Aufruf (open <path>) via ExplorerPanel._open_in_explorer().
    • macOS-Terminal- und Shell-Prozessausführung (bash -c) im OutputPanel.
    • Plattformunabhängige Asset- und Icon-Auflösung (assets/icon.png).
    • Redigierter Workspace-Export (devcenter-workspace-v1.json) ohne Secrets und ohne BOM.
    • SQLite ProfilerBridge Dateiindexierung auf POSIX/macOS.
  • .github/workflows/tests.yml: Neuer CI-Job macos-platform-smoke auf macos-latest hinzugefügt.
  • PORTIERUNGSPLAN.md & AUFGABEN.txt: Phase P4 (macOS-Smoke) als abgeschlossen (DONE) dokumentiert.
  • tests/test_metadata.py: Metadaten- und Workflow-Paritätstests um test_cross_platform_smoke_scripts_and_ci() erweitert.

Discoverability, README Architecture Design, Security Parity & Bilingual Documentation (Pfad B) [G 2026-08-21]

  • README.md & README_de.md: Umfassende zweisprachige Dokumentation mit synchronisiertem Badges-Set (142 Tests Passed, Python 3.11+, PySide6, 100% Offline / Zero-Egress, Keyring Secret Vault, dev-bricks Ökosystem, open-bricks Umbrella).
  • Mermaid-Architekturdiagramme: Zwei interaktive zweisprachige Diagramme integriert: (1) Systemarchitektur & Komponenten-Workflow; (2) Lokaler Datenfluss & Zero-Egress Datenschutz-Sequenzdiagramm.
  • SECURITY.md: Zweisprachige Sicherheitsrichtlinie mit 100% Offline-Invariante, Keyring-Geheimnis-Isolation, redigiertem Workspace-Export und privaten Meldewegen (security@ellmos.ai & support@lukasgeiger.com).
  • Ökosystem-Matrix: Geschwister-Werkzeuge über dev-bricks, file-bricks, doc-bricks, assistassets-ai, entertain-and-more, ellmos-ai und open-bricks synchronisiert.
  • tests/test_metadata.py: Neue automatisierte Metadaten-, Sicherheits-, Ökosystem- und Dokumentationsparitätstestsuite (8 Tests) hinzugefügt.
  • llms.txt: Last-checked Timestamp auf 2026-08-21 und 142 verifizierte Tests synchronisiert.

Discoverability, README-Design & Pytest Status Badge (Pfad B) [G 2026-08-16]

  • README.md: Badges um Testsuite (134 Passed), llms.txt Context, dev-bricks Ökosystem und open-bricks Umbrella erweitert; AI-Agent Hinweisbox ergänzt.
  • pyproject.toml: [tool.ruff.lint] Konfiguration integriert (target-version = "py311", line-length = 120, E501/E402/E722/E741/F841 ignore, ruff check 100% sauber).
  • llms.txt: Last-checked Timestamp auf 2026-08-16 aktualisiert und Testanzahl (134 Tests) hinterlegt.
  • Verifikation: Pytest Testsuite (134/134 passed in 2.36s), compileall & ruff check 100% grün.

Sicherheit / Security [P 2026-08-14]

  • Anthropic-API-Schlüssel werden nicht mehr im Klartext in settings.json oder exportierten Einstellungen serialisiert. DevCenter speichert sie ausschließlich im System-Keyring; vorhandene Klartextwerte werden bei schreibbarer Einstellungsdatei beim nächsten Start migriert und vor der Keyring-Ablage aus der JSON-Datei entfernt.
  • Schlägt der Keyring-Zugriff fehl, bleibt der Einstellungsdialog offen und der Schlüssel wird weder akzeptiert noch auf die Festplatte geschrieben.

App-Icon & Asset-Modernisierung / Icon Refresh [G 2026-08-14]

  • Master App-Icon & Asset-Set: Neues hochauflösendes Master-Icon (512x512 PNG) mit modernem IDE/Python-Motiv generiert und unter assets/icon.png sowie icon.png bereitgestellt.
  • Multi-Resolution ICO: Neues Windows-Icon DevCenter.ico sowie assets/app_icon.ico und assets/icon.ico mit allen Standardschichten (256x256, 128x128, 64x64, 48x48, 32x32, 24x24, 16x16) und assets/favicon.ico erzeugt.
  • Store- & Kachel-Icons: Vollständiges Kachel-Set unter assets/icons/ (icon_44x44.png, icon_50x50.png, icon_150x150.png, icon_310x150.png, icon_310x310.png) integriert.
  • Runtime-Icon-Anbindung: src/core/app_paths.py um get_project_root() und get_app_icon_path() erweitert; src/gui/main_window.py bindet das App-Icon verlässlich an MainWindow und QApplication.
  • PyInstaller & Testsuite: build_exe.bat um --add-data "assets;assets" erweitert; neue Testsuite tests/test_app_assets.py (5/5 Tests passed; Gesamt-Suite 126/126 Tests 100% grün).

Hinzugefügt / Added

  • Editor-Slice für Code-Folding und erweiterte Suche/Ersetzen: Der neue nicht-modale Dialog unterstützt Dokument-/Auswahlbereich, Treffer-Navigation, Groß-/Kleinschreibung, ganze Wörter und reguläre Ausdrücke. Ersetzen bleibt über den Editor-Undo-Verlauf rückgängig machbar; geplante Git-/Debugger- Funktionen der Roadmap bleiben unverändert offen.

Technische Hygiene & Doku-Wartung / Maintenance (Pfad A) [G 2026-07-30]

  • LLM Context: llms.txt Last-checked Datum auf 2026-07-30 aktualisiert und veraltete web_companion/-Referenzen bereinigt.
  • Changelog: Wartungseintrag für den 30.07.2026 hinzugefügt.

Dokumentationsvertrag / Documentation contract (2026-08-11)

  • Die Desktop-App ist als einziges ausgeliefertes Produkt klargestellt; der entfernte Web/PWA-Companion ist nicht mehr Teil des aktuellen Runtime- oder Release-Vertrags.
  • DOCUMENTATION_STATUS.md trennt aktuelle Quellen von historischen Fusions-/Template-Dokumenten und externen OneDrive-Hostkopien.
  • README.md, llms.txt und EXPORTFORMAT.md beschreiben den redigierten Workspace-Export als lokale Funktion. Das Schema-v1-Feld web bleibt nur aus Kompatibilitätsgründen erhalten.

Dokumentation / Documentation

  • README.md: Produktvergleichstabelle (Product Family & Edition Comparison) in Englisch und Deutsch hinzugefügt.
  • llms.txt: Prüfdatum (Last-checked) auf 2026-07-06 aktualisiert.

Build / Release

  • EXE neu gebaut 2026-06-01 (PyInstaller --onefile, DevCenter.exe); 25/25 Tests grün, Smoke-Test bestanden. Vorherige EXE: 2026-04-29. Anlass: workspace_export.py neu hinzugefügt.

Hinzugefügt / Added

  • GitHub Actions Smoke-Checks für Python 3.10, 3.11 und 3.12.
  • Lokales build_exe.bat für den PyInstaller-Build mit DevCenter.ico.
  • Datenschutzhinweise für lokale Einstellungen, Datei-Indizes, Build-Artefakte und optionale API-Nutzung.
  • llms.txt mit maschinenlesbarer Projektpositionierung, Datenschutzgrenzen und relevanten Suchbegriffen.
  • Redigierter Workspace-Export devcenter-workspace-v1.json als Desktop-Funktion unter Datei -> Arbeitsstand exportieren....

Geändert / Changed

  • src/gui/panels/ai_panel.py: model_combo.currentIndexChanged mit _on_model_changed() verdrahtet; set_ai_service() synchronisiert das Modell sofort beim ersten Aufruf; neuer Test tests/test_ai_panel_model_selection.py (5 Fälle).
  • Gemeinsamer Pfad-Resolver src/core/app_paths.py für SettingsManager, ProjectManager und ProfilerBridge.
  • Neue Regressionstests für Settings-, Recent-Projects- und Dateiindex-Pfad plus aktualisierter Linux-Plattform-Smoke.
  • README, Contribution- und Security-Dokumentation auf dev-bricks/DevCenter aktualisiert.
  • Beispielkonfiguration für WinStorePackager anonymisiert und neutralisiert.
  • README auf englischen GitHub-Einstieg, klarere DevCenter-Namensabgrenzung und bessere Discoverability-Keywords erweitert.
  • Community-Workflows auf aktuelle Action-Versionen gehoben.
  • AUFGABEN.txt, PORTIERUNGSPLAN.md und README auf den damaligen Plattformstand synchronisiert.

Behoben / Fixed

  • DevCenter legt Konfigurations- und Indexdateien auf Linux/macOS jetzt XDG-konform unter XDG_CONFIG_HOME/DevCenter bzw. ~/.config/DevCenter ab, statt ungeordnet unter ~/DevCenter.
  • Persistenz unbekannter Einstellungsschlüssel abgesichert, damit UI-/Legacy-Aliase beim Speichern nicht verloren gehen.
  • Fehlende chardet-Abhängigkeit für frische CI-/Installationsumgebungen ergänzt.
  • tests/test_ai_panel_model_selection.py: von pytest-Fixtures auf unittest.TestCase umgestellt, damit python -m unittest discover die 5 Tests im CI erkennt (108/108 Tests grün).
  • Editor-Einstellungen werden nach dem Speichern auf offene Tabs angewendet; der Dialog persistiert jetzt auch „Aktuelle Zeile hervorheben” und aktualisiert Schrift, Tab-Breite, Zeilennummern und Cursor-Markierung unmittelbar.
  • Workspace-Exporte redigieren jetzt offene Aufgaben, Projektpfade und aktuelle Analyseprobleme, ohne Secrets oder lokale Vollpfade mitzuschreiben.
  • WinStorePackager: subprocess-Deadlock behoben — check_call mit PIPE durch subprocess.run(..., capture_output=True) ersetzt; Exception-Handler liest jetzt immer stderr or stdout.
  • ProfilerBridge: SQLite-Connection-Leak auf Windows geschlossen — alle 6 conn.close()-Stellen in search(), find_duplicates() und get_statistics() verwenden jetzt try/finally.

Historisch: Web/PWA-Companion (entfernt 2026-07-24)

Die folgenden Einträge dokumentieren eine frühere, inzwischen entfernte Komponente. Sie sind keine aktuelle Produkt- oder Release-Zusage:

  • Statischer web_companion/-MVP mit lokalem JSON-Import, Demo-Fixture, read-only Dashboard, manifest.webmanifest, Service Worker und Node-Tests.
  • web_companion/manifest.webmanifest: id und scope ergänzt.
  • web_companion/sw.js: CACHE_NAME v2 und clients.claim() ergänzt.
  • web_companion/tests/pwa.test.mjs: auf 15 PWA-Tests erweitert (20/20 grün mit library-Tests).

[1.0.0] - 2026-02-24

Hinzugefügt / Added

  • Erstveröffentlichung / Initial release