Alle wesentlichen Änderungen an diesem Projekt werden hier dokumentiert. Format basiert auf Keep a Changelog.
- Pfad B Discoverability & Visuelle Architektur (2026-09-22):
- 18-Punkte bilinguale Navigationsparität mit reziproken dualen HTML-Ankern (
sec-01bissec-18) inREADME.mdundREADME_de.md. - Duale Mermaid-Diagrammarchitektur: Topologie-Flussdiagramm (
flowchart TD) und interaktiver Ausführungs- und PDB-Debugging-Lebenszyklus (sequenceDiagrammitautonumberund 0 unquotierten Semikolons), validiert gegenlint_mermaid.py. - Kanonische Wurzel-Attributionsdatei
NOTICEmit Urheberschaft Lukas Geiger (dev-bricks / open-bricks), Level-1-SBOM-Referenzen und InvariantenINV-LOCAL-01..INV-SLA-10. - Sättigung der GitHub-Topics auf 20/20 (
zero-egressergänzt) und Synchronisierung mitkeywordsinpyproject.toml. - Level-1-SBOM in
THIRD_PARTY_LICENSES.mdum explizite unprivilegierteRunAsInvokerNon-Elevation-Zertifizierung erweitert. - Gesetzlicher Haftungsausschluss gem. § 521 BGB (Gefälligkeitsrecht) und verbindliche 48h Security Response SLA harmonisiert in
README.md,README_de.mdundSECURITY.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.txtKontext-Index auf Stand 2026-09-22 aktualisiert.- Neue automatisierte Vertragstests in
tests/test_metadata.pyzur Verifikation von NOTICE, bilingualer 18-Punkte-Parität, dualen Mermaid-Diagrammen, 20/20 Keywords und Version Freeze (1.0.1).
- 18-Punkte bilinguale Navigationsparität mit reziproken dualen HTML-Ankern (
- Sichere Literalersetzung in
SearchReplaceBar.replace_all: Case-insensitive Textersetzung verwendet jetzt einen Callable-Ersatz (lambda _m: replace_text) inre.sub(). Dies verhindert Abstürze mitre.error: bad escape \ubei Pfadangaben mit Backslashes (z. B. Windows-Pfade wieC:\Users\...) sowie Fehlinterpretationen von Regex-Gruppenreferenzen und stellt identisches Literal-Verhalten wie bei case-sensitiver Ersetzung sicher.
- PEP 621 Standardisierung:
pyproject.tomlmit vollständigen Metadaten,license-files,[project.urls],[tool.pytest.ini_options]und[tool.ruff]. - Software Bill of Materials & Governance:
THIRD_PARTY_LICENSES.mdmit Bestätigung der dynamischen PySide6 LGPL-3.0-only Bindung, PSF-2.0 und InvariantenINV-LOCAL-01bisINV-SLA-10. - Service Level Agreements & Security Policy:
SECURITY.mdmit Supported Versions Tabelle (1.0.x / master), 48h Response SLA und 5-tägigem Triage-Verfahren. - Lokales Audit- & Discoverability-Log:
MARKETING-LOG.txtmit 4 Zielgruppen-Personas ([PERSONA-01]..[PERSONA-04]), 10-Dimensionen-Vergleichsmatrix vs. 4 Alternativen. - Vertragstest-Suite:
tests/test_metadata.pyfür automatisierte Integritätsprüfung von PEP 621, CI-Workflows, Timeouts,.gitignoreMulti-Host-Mustern und Versionsparität.
- Versions-Harmonisierung:
__version__ = "1.0.1"inPythonBox_v8.py,pyproject.toml,README.md,README_de.mdundllms.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
.gitignoreverankert (*conflicted copy*,*-ASUS-GEI*,LOCK*,.hypothesis/, etc.). - Barrierefreie & formatierungsbereinigte Test-Skripte: Ambivalente Schleifenvariablen in
tests/test_cli_lint.pyundtests/test_pythonbox_regressions.pybehoben; Ruff-Linter 100% sauber. - Haftungsausschluss: BGB § 521 Gefälligkeitsrecht in
README_de.mdergänzt.
- Multi-Agent Signposts & Permission Control (2026-08-03): Multi-Agenten Steuerungsdateien
AGENTS.mdundCLAUDE.mdangelegt. 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) undLOCK*.txtSchutzregeln verankert.
- 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).
- Discoverability & Marketing Audit (2026-07-26):
README.md&README_de.mdmit LLM-Ready-, Ecosystem- und Umbrella-Badges, GFM-Hinweisboxen (> [!NOTE]/> [!TIP]) und Mermaid-Systemarchitekturdiagramm erweitert;llms.txtHeader aufLast-checked: 2026-07-26aktualisiert (92/92 Pytest-Tests 100% grün). - Dokumentations- & Sichtbarkeitspflege (2026-07-24):
llms.txtaufLast-checked: 2026-07-24mit 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.
- EXE neu gebaut 2026-06-04 (PyInstaller, OneDrive-externer Build);
START_PythonBox_v8.batstartet jetzt bevorzugtdist\PythonBox.exeund 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.
- 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.pymit 5 Tests für den CLI-Lint-Modus.- CLI-Parsing mit
argparse(parse_cli_args()+parse_known_args), rückwärtskompatibel zu--openund nackten Dateipfaden. Unbekannte Qt-Flags (z. B.-style fusion) werden durchgereicht statt abzubrechen. - Linter-Erkennung:
python -m flake8/python -m pylintals Fallback wennshutil.which()fehlschlägt (typisch auf Windows/Git Bash). Erkennung gated aufreturncode == 0. - 3 Unit-Tests für Linter-Detection-Logik (Mock-basiert: fehlender Linter, erfolgreicher Modul-Fallback).
llms.txtmit 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.batfür lokale PyInstaller-Builds.PORTIERUNGSPLAN.mdmit 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
modifiedstatt als reineadded-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.
- Gespeicherte Theme-Auswahl wirkt jetzt nicht mehr nur im Einstellungsdialog:
Dark (Standard),Light,MonokaiundDraculawerden beim Start und nach dem Anwenden von Einstellungen tatsächlich auf die App übertragen. - Community-Workflows auf
actions/stale@v10undactions/first-interaction@v3aktualisiert. - README, Security Policy, Contributing Guide und Code of Conduct auf das aktuelle Repository
dev-bricks/pythonboxund die MIT-Lizenz ausgerichtet. .gitignoreum 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
--openoder nackten Dateipfad, aber keine REST-API und kein allgemeines Headless-CLI.
- 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 inPythonArchitectbeseitigt, damit F5 wieder konsistent über das Debug-Output-Panel läuft. - Entfernte Qt6-APIs
fontMetrics().width()undsetTabStopWidth()durch aktuelle Alternativen ersetzt. - Externe Python-Skripte starten jetzt mit
sys.executablestatt einem hardcodiertenpython/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
AMwerden 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_modifiedist lokal nicht mehr reproduzierbar; der vollständigeunittest-Lauf ist wieder grün und der Git-Diff-Fall wird jetzt zusätzlich mit expliziten CRLF-Dateien abgesichert. Speichern unterstellt den bisherigen Dateipfad wieder her, wenn der Dialog abgebrochen wird.- Deutsche Übersetzungshinweise und Docstrings nutzen echte Umlaute.
- Erstveröffentlichung / Initial release