Skip to content

Latest commit

 

History

History
100 lines (83 loc) · 10.8 KB

File metadata and controls

100 lines (83 loc) · 10.8 KB

Changelog / Änderungsprotokoll

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

[Unreleased]

Hinzugefügt / Added

  • Pfad B Discoverability & Visuelle Architektur (2026-09-22):
    • 18-Punkte bilinguale Navigationsparität mit reziproken dualen HTML-Ankern (sec-01 bis sec-18) in README.md und README_de.md.
    • Duale Mermaid-Diagrammarchitektur: Topologie-Flussdiagramm (flowchart TD) und interaktiver Ausführungs- und PDB-Debugging-Lebenszyklus (sequenceDiagram mit autonumber und 0 unquotierten Semikolons), validiert gegen lint_mermaid.py.
    • Kanonische Wurzel-Attributionsdatei NOTICE mit Urheberschaft Lukas Geiger (dev-bricks / open-bricks), Level-1-SBOM-Referenzen und Invarianten INV-LOCAL-01..INV-SLA-10.
    • Sättigung der GitHub-Topics auf 20/20 (zero-egress ergänzt) und Synchronisierung mit keywords in pyproject.toml.
    • Level-1-SBOM in THIRD_PARTY_LICENSES.md um explizite unprivilegierte RunAsInvoker Non-Elevation-Zertifizierung erweitert.
    • Gesetzlicher Haftungsausschluss gem. § 521 BGB (Gefälligkeitsrecht) und verbindliche 48h Security Response SLA harmonisiert in README.md, README_de.md und SECURITY.md.
    • Zielgruppen-Personas [PERSONA-01] bis [PERSONA-04], High-Intent-Suchphrasen und 10-Dimensionen-Vergleichsmatrix (vs. IDLE, VS Code, PyCharm, Notepad++) in beiden Sprachfassungen integriert.
    • Shields.io-Badges für Attribution (NOTICE), 121+ Tests | 100% green, Zero-Egress und 48h SLA synchronisiert.
    • llms.txt Kontext-Index auf Stand 2026-09-22 aktualisiert.
    • Neue automatisierte Vertragstests in tests/test_metadata.py zur Verifikation von NOTICE, bilingualer 18-Punkte-Parität, dualen Mermaid-Diagrammen, 20/20 Keywords und Version Freeze (1.0.1).

Behoben / Fixed

  • Sichere Literalersetzung in SearchReplaceBar.replace_all: Case-insensitive Textersetzung verwendet jetzt einen Callable-Ersatz (lambda _m: replace_text) in re.sub(). Dies verhindert Abstürze mit re.error: bad escape \u bei Pfadangaben mit Backslashes (z. B. Windows-Pfade wie C:\Users\...) sowie Fehlinterpretationen von Regex-Gruppenreferenzen und stellt identisches Literal-Verhalten wie bei case-sensitiver Ersetzung sicher.

[1.0.1] - 2026-09-18

Hinzugefügt / Added

  • PEP 621 Standardisierung: pyproject.toml mit vollständigen Metadaten, license-files, [project.urls], [tool.pytest.ini_options] und [tool.ruff].
  • Software Bill of Materials & Governance: THIRD_PARTY_LICENSES.md mit Bestätigung der dynamischen PySide6 LGPL-3.0-only Bindung, PSF-2.0 und Invarianten INV-LOCAL-01 bis INV-SLA-10.
  • Service Level Agreements & Security Policy: SECURITY.md mit Supported Versions Tabelle (1.0.x / master), 48h Response SLA und 5-tägigem Triage-Verfahren.
  • Lokales Audit- & Discoverability-Log: MARKETING-LOG.txt mit 4 Zielgruppen-Personas ([PERSONA-01]..[PERSONA-04]), 10-Dimensionen-Vergleichsmatrix vs. 4 Alternativen.
  • Vertragstest-Suite: tests/test_metadata.py für automatisierte Integritätsprüfung von PEP 621, CI-Workflows, Timeouts, .gitignore Multi-Host-Mustern und Versionsparität.

Geändert / Changed

  • Versions-Harmonisierung: __version__ = "1.0.1" in PythonBox_v8.py, pyproject.toml, README.md, README_de.md und llms.txt.
  • CI-Workflow Härtung: Concurrency-Gruppen (cancel-in-progress: true) und explizite Job-Timeouts für alle 4 Workflows (tests.yml, source-platform-smoke.yml, stale.yml, welcome.yml); Python 3.13 zur Testmatrix hinzugefügt.
  • Multi-Host Cloud-Sync & Lock-Schutz in .gitignore verankert (*conflicted copy*, *-ASUS-GEI*, LOCK*, .hypothesis/, etc.).
  • Barrierefreie & formatierungsbereinigte Test-Skripte: Ambivalente Schleifenvariablen in tests/test_cli_lint.py und tests/test_pythonbox_regressions.py behoben; Ruff-Linter 100% sauber.
  • Haftungsausschluss: BGB § 521 Gefälligkeitsrecht in README_de.md ergänzt.

Multi-Agent Governance & Permission Control

  • Multi-Agent Signposts & Permission Control (2026-08-03): Multi-Agenten Steuerungsdateien AGENTS.md und CLAUDE.md angelegt. Pfad-Autorität (C:\_Local_DEV\repos\pythonbox), Zero-Prompt Turbo/Permission Standards, Letter Hooks (HOOK-DOC-TRAVERSAL-01, HOOK-WORKFLOW-HYGIENE-01, HOOK-PATH-VALIDATION-01) und LOCK*.txt Schutzregeln verankert.

Barrierefreiheit & UX / Accessibility & UX

  • Barrierefreiheits- & UX-Erweiterung (2026-08-03): Statusleisten-Indikatoren (git_label, pos_label, linter_status), Linter-Meldungsliste (linter_list) und Linter-Dock wurden mit vollständigen Barrierefreiheits-Attributen (AccessibleName, AccessibleDescription, ToolTip) sowie dynamischen Accessible-Description-Updates für Screenreader bei Textänderungen (Cursorposition, Git-Status, Linter-Ergebnisse) ausgestattet (93/93 Pytest-Tests 100% grün).

Geändert / Changed

  • Discoverability & Marketing Audit (2026-07-26): README.md & README_de.md mit LLM-Ready-, Ecosystem- und Umbrella-Badges, GFM-Hinweisboxen (> [!NOTE] / > [!TIP]) und Mermaid-Systemarchitekturdiagramm erweitert; llms.txt Header auf Last-checked: 2026-07-26 aktualisiert (92/92 Pytest-Tests 100% grün).
  • Dokumentations- & Sichtbarkeitspflege (2026-07-24): llms.txt auf Last-checked: 2026-07-24 mit aktualisierter Testsuite-Beschreibung (92 Pytest-Tests) aktualisiert, dedizierte deutsche Startseite (README_de.md) angelegt, zweisprachige Sprachwahl-Navigation ([English](README.md) | [Deutsch](README_de.md)) oben in den READMEs integriert und Test-Badge ergänzt.

Build / Release

  • EXE neu gebaut 2026-06-04 (PyInstaller, OneDrive-externer Build); START_PythonBox_v8.bat startet jetzt bevorzugt dist\PythonBox.exe und fällt danach auf Root-EXE bzw. Python-Fallback zurück. SHA256: 1F5C024682B5B77BD04963E972F3EDAB9D9E606DE1339D390D2181A8606672BC.
  • EXE neu gebaut 2026-06-01 (PyInstaller --onefile, PythonBox.exe); 14/14 Tests grün, Smoke-Test bestanden. Vorherige EXE: 2026-04-29.

Hinzugefügt / Added

  • CLI-Startflag --theme <dark|light|monokai|dracula> für Theme-Overrides beim GUI-Start und --run <datei> für headless Script-Ausführung mit dem aktuellen Interpreter und optionalen Script-Argumenten.
  • Neue Regressionstests für --run, Theme-Normalisierung und Theme-Anwendung ohne GUI-Divergenz.
  • CLI-Lint-Modus: python PythonBox_v8.py --lint <datei> führt headless Linting durch (flake8 → pylint → AST-Fallback) und gibt Ergebnisse auf stdout aus. Exit-Codes: 0 = sauber, 1 = Findings, 2 = Fehler. Kein GUI-Start. Nützlich für CI, Automationen und LLM-Agenten.
  • tests/test_cli_lint.py mit 5 Tests für den CLI-Lint-Modus.
  • CLI-Parsing mit argparse (parse_cli_args() + parse_known_args), rückwärtskompatibel zu --open und nackten Dateipfaden. Unbekannte Qt-Flags (z. B. -style fusion) werden durchgereicht statt abzubrechen.
  • Linter-Erkennung: python -m flake8 / python -m pylint als Fallback wenn shutil.which() fehlschlägt (typisch auf Windows/Git Bash). Erkennung gated auf returncode == 0.
  • 3 Unit-Tests für Linter-Detection-Logik (Mock-basiert: fehlender Linter, erfolgreicher Modul-Fallback).
  • llms.txt mit kanonischem Repo-Kontext, Zielgruppe, Suchphrasen und Abgrenzung zu Devbox/Python-Box/Pybricks.
  • README-Starttabelle und GitHub-Actions-Badge für schnellere Nutzerführung.
  • App- und Fenstericon über PythonBox.ico.
  • build_exe.bat für lokale PyInstaller-Builds.
  • PORTIERUNGSPLAN.md mit Desktop-only-Strategie für Windows, macOS und Linux.
  • Optionaler JSON-Austausch für Snippet-Bibliothek und portable Editor-Einstellungen (pythonbox-snippets-v1.json, pythonbox-settings-v1.json).
  • Regressionstests für Qt6-Editor-APIs, F5-Ausführung, externe Python-Kommandos und Offscreen-Fensteraufbau.
  • Zusätzlicher Git-Regressionstest für CRLF-Ersatzzeilen, damit Windows-Diffs mit ersetzten Zeilen weiterhin als modified statt als reine added-Treffer klassifiziert bleiben.
  • GitHub Actions Workflow für Windows-Regressionstests auf Python 3.10 bis 3.12.
  • README-SEO-Einstieg, präzisere Screenshot-Beschreibung und Discovery-Keywords für die GitHub-Suche.

Geändert / Changed

  • Gespeicherte Theme-Auswahl wirkt jetzt nicht mehr nur im Einstellungsdialog: Dark (Standard), Light, Monokai und Dracula werden beim Start und nach dem Anwenden von Einstellungen tatsächlich auf die App übertragen.
  • Community-Workflows auf actions/stale@v10 und actions/first-interaction@v3 aktualisiert.
  • README, Security Policy, Contributing Guide und Code of Conduct auf das aktuelle Repository dev-bricks/pythonbox und die MIT-Lizenz ausgerichtet.
  • .gitignore um interne Steuerungsdateien, Secrets, Datenbanken, Logs, Test-Locks und Windows-/Build-Artefakte erweitert.
  • Dokumentierte Mindestversion auf Python 3.10+ vereinheitlicht, passend zur Startdatei und Testmatrix.
  • Datei-Menü um Export-/Import-Aktionen für Snippets und Einstellungen erweitert; JSON-Importe aktualisieren Bibliothek und Editor-Ansicht direkt.
  • Aufgaben- und README-Dokumentation auf den realen Automationsstand korrigiert: aktuell unterstützt PythonBox nur GUI-Start plus Dateiöffnung über --open oder nackten Dateipfad, aber keine REST-API und kein allgemeines Headless-CLI.

Behoben / Fixed

  • Veraltete Clone-Pfade und main.py-Startbefehle in der Repository-Dokumentation entfernt.
  • Öffentliche E-Mail-Adresse aus dem Code of Conduct entfernt.
  • Doppelte run_script-Definition in PythonArchitect beseitigt, damit F5 wieder konsistent über das Debug-Output-Panel läuft.
  • Entfernte Qt6-APIs fontMetrics().width() und setTabStopWidth() durch aktuelle Alternativen ersetzt.
  • Externe Python-Skripte starten jetzt mit sys.executable statt einem hardcodierten python/python3.
  • Startargumente --open <datei>, --open=<datei> und nackte Dateipfade werden jetzt beim App-Start ausgewertet und öffnen die Datei direkt im ersten Tab statt sie still zu ignorieren.
  • Die Minimap-Option im Einstellungsdialog nutzt jetzt denselben show_minimap-Key wie das Ansicht-Menü und wird auch über den Apply-Button direkt auf die Hauptansicht angewendet.
  • Kombinierte Git-Porcelain-Statuscodes wie AM werden in der Statusleiste lesbar zusammengefasst.
  • Git-Diff-Markierungen behandeln ersetzte Zeilen als geändert statt als reine Hinzufügung.
  • Der zuvor offene Windows-Gesamtlauf-Befund rund um test_git_modified_lines_classify_replacements_as_modified ist lokal nicht mehr reproduzierbar; der vollständige unittest-Lauf ist wieder grün und der Git-Diff-Fall wird jetzt zusätzlich mit expliziten CRLF-Dateien abgesichert.
  • Speichern unter stellt den bisherigen Dateipfad wieder her, wenn der Dialog abgebrochen wird.
  • Deutsche Übersetzungshinweise und Docstrings nutzen echte Umlaute.

[1.0.0] - YYYY-MM-DD

Hinzugefügt / Added

  • Erstveröffentlichung / Initial release