diff --git a/APPINFO.json b/APPINFO.json index 5281c08..51cf2ea 100644 --- a/APPINFO.json +++ b/APPINFO.json @@ -4,8 +4,8 @@ "organization": "Jusaro systems", "contact": "", "website": "", - "repository": "", + "repository": "https://git.jusaro.de/Roland/Assetmanager.git", "license": "Apache-2.0", "copyright": "Copyright © 2026 Roland Reich", - "description": "Assetmanagement mit optionaler MeshCentral-Integration über MeshCtrl" + "description": "Asset management with optional MeshCentral integration through MeshCtrl" } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ca1ed15..cb859e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,19 +1,19 @@ -# Mitwirken am AssetManager +# Contributing to AssetManager -Beiträge, Fehlerberichte und Forks sind willkommen. +Contributions, bug reports, and forks are welcome. -## Pull Requests +## Pull requests -- Ein Pull Request ist ein Vorschlag. Die Projektpflege entscheidet, ob, wann und in welcher Form er aufgenommen wird. -- Durch das bewusste Einreichen eines Beitrags bestätigst du, dass du zur Veröffentlichung berechtigt bist und der Beitrag unter der Apache License 2.0 lizenziert werden darf. -- Kopiere keinen fremden Quellcode, keine Grafiken und keine Texte ohne nachweisbar kompatible Lizenz und erforderliche Urheber- oder Lizenzhinweise. -- Nenne andere Produkte in öffentlichem Programmcode, Kommentaren, Versionshinweisen und Dokumentationen nur, wenn eine tatsächliche technische Integration, Abhängigkeit oder erforderliche Kompatibilität beschrieben wird. Reine Vergleiche mit anderen Produkten gehören nicht in den veröffentlichten Quellstand. -- Änderungen sollen möglichst auf den betroffenen Bereich begrenzt sein und bestehende Funktionen nicht ohne sachlichen Grund verändern. -- Neue sichtbare Texte müssen vollständig in das vorhandene Übersetzungssystem aufgenommen werden. -- Neue oder geänderte Oberflächen müssen mit dem bestehenden Hell- und Darkmode funktionieren. -- Aktualisiere bei einem Release `VERSION`, `app/version.py`, README und den passenden Versionshinweis. +- A pull request is a proposal. The maintainer decides whether, when, and in which form it is included. +- By intentionally submitting a contribution, you confirm that you are authorized to publish it and that it may be licensed under the Apache License 2.0. +- Do not copy third-party source code, graphics, or text without a demonstrably compatible license and all required copyright or license notices. +- Mention other products in public source code, comments, release notes, and documentation only when documenting an actual integration, dependency, or required compatibility. Pure product comparisons do not belong in the public source tree. +- Keep changes focused on the affected area and avoid modifying existing functionality without a valid technical reason. +- Add every new user-visible string to the existing translation system for all supported languages. +- New or changed user interfaces must work in both light and dark mode. +- For a release, update `VERSION`, `app/version.py`, `README.md`, and the corresponding file under `docs/version-history/`. -## Vor dem Einreichen +## Before submitting ```bash python tools/check_public_release.py @@ -21,6 +21,6 @@ python tools/check_translations.py python tools/validate_release.py ``` -## Drittkomponenten +## Third-party components -Neue Abhängigkeiten müssen vor Aufnahme auf Lizenzkompatibilität, Herkunft, Wartungszustand und Sicherheitsrisiken geprüft werden. Ergänze `THIRD_PARTY_NOTICES.md` und stelle sicher, dass erforderliche Lizenz- oder NOTICE-Dateien im ausgelieferten Produkt erhalten bleiben. +Review every new dependency for license compatibility, provenance, maintenance status, and security risks. Update `THIRD_PARTY_NOTICES.md` and preserve all required license or NOTICE files in distributed products. diff --git a/README.md b/README.md index 9668d91..468b21d 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,30 @@ -# AssetManager 0.5.5.27 +# AssetManager 0.5.5.28 -AssetManager ist eine selbst gehostete Webanwendung zur Verwaltung von IT- und sonstigen Betriebsmitteln. Das Projekt wird unter der **Apache License 2.0** veröffentlicht und darf privat sowie kommerziell genutzt, verändert und weitergegeben werden. +AssetManager is a self-hosted web application for managing IT equipment and other organizational assets. The project is released under the **Apache License 2.0** and may be used, modified, and redistributed for private and commercial purposes. -## Funktionsumfang +## Features -- frei konfigurierbare Asset-Kategorien, Felder und Statuswerte -- Assetlisten, Detailansichten, Historie, Ausgabe und Rückgabe -- Excel-Import und -Export, Sammeländerungen, Zusammenführen und Baumansicht -- Hardware- und Softwareinventur -- Jobdefinitionen und Jobausführung mit Status, Callback, Wiederholung und Protokollen -- lokale Benutzerverwaltung und optionale LDAP-Anmeldung -- geschütztes lokales Notfallkonto auch bei aktiviertem LDAP -- Rollen, Sichtbarkeitsregeln, Übersetzungen, Darkmode und anpassbare Darstellung -- integrierte Sicherungs- und Wiederherstellungsfunktionen -- optionale MeshCentral-Anbindung über die MeshCtrl-Kommandozeilenschnittstelle +- configurable asset categories, fields, and status values +- asset lists, detail views, history, assignment, and return workflows +- Excel import and export, bulk changes, duplicate merging, and tree views +- hardware and software inventory +- job definitions and job execution with status tracking, callbacks, retries, and logs +- local user management and optional LDAP authentication +- protected local emergency administrator even when LDAP is enabled +- roles, visibility rules, translations, dark mode, and configurable appearance +- integrated backup and restore functions +- optional MeshCentral integration through the MeshCtrl command-line interface -## MeshCentral-Integration +## MeshCentral integration -Die Integration ist optional. AssetManager verwendet MeshCtrl für unterstützte Geräteabfragen und Remote-Aufträge. Es erfolgt kein direkter Zugriff auf die MeshCentral-Datenbank. MeshCentral und MeshCtrl sind eigenständige Drittprojekte und nicht Bestandteil dieses Repositorys; sie werden beim Docker-Build als Abhängigkeit installiert. +The integration is optional. AssetManager uses MeshCtrl for supported device queries and remote jobs. It does not access the MeshCentral database directly. MeshCentral and MeshCtrl are independent third-party projects and are not part of this repository; they are installed as dependencies during the Docker build. -## Voraussetzungen +## Requirements -- Docker Engine mit Docker Compose -- ein für den Server geeigneter DNS-Name und HTTPS-Reverse-Proxy werden für produktive Installationen empfohlen -- optional eine erreichbare MeshCentral-Instanz -- optional LDAP/Active Directory +- Docker Engine with Docker Compose +- a suitable DNS name and HTTPS reverse proxy are recommended for production installations +- optionally, a reachable MeshCentral instance +- optionally, LDAP or Active Directory ## Installation @@ -32,7 +32,7 @@ Die Integration ist optional. AssetManager verwendet MeshCtrl für unterstützte cp .env.example .env ``` -Ändere in `.env` mindestens: +Set at least these values in `.env`: ```env POSTGRES_PASSWORD=CHANGE_ME @@ -41,33 +41,33 @@ LOCAL_ADMIN_USERNAME=emergency-admin LOCAL_ADMIN_PASSWORD=CHANGE_ME_MIN_12_CHARS ``` -Danach: +Then start the application: ```bash docker compose up -d --build ``` -Standardmäßig ist die Anwendung unter Port `8088` erreichbar. +By default, the application is available on port `8088`. -## Persistente Daten +## Persistent data -Die Laufzeitdaten werden über Bind-Mounts unter `data/` gespeichert: +Runtime data is stored in bind mounts below `data/`: ```text data/ -├── config/ Anwendungskonfiguration -├── postgres/ PostgreSQL-Datenbank -├── uploads/ hochgeladene Dateien -├── logs/ Protokolle und Diagnosedaten -├── backups/ Anwendungssicherungen -└── scripts/ bereitgestellte Skripte +├── config/ application configuration +├── postgres/ PostgreSQL database +├── uploads/ uploaded files +├── logs/ logs and diagnostics +├── backups/ application backups +└── scripts/ deployed scripts ``` -Diese Inhalte sowie `.env` enthalten möglicherweise Zugangsdaten oder personenbezogene beziehungsweise betriebliche Daten und dürfen nicht in ein öffentliches Repository aufgenommen werden. +These directories and `.env` may contain credentials, personal data, or internal operational data and must not be committed to a public repository. -## Aktualisierung +## Updating -Vor einer Aktualisierung immer `.env` und den gesamten Ordner `data/` sichern. Danach den neuen Quellstand über den bestehenden Projektordner kopieren und ausführen: +Always back up `.env` and the complete `data/` directory before updating. Copy the new `assetmanager/` directory over the existing project directory and run: ```bash docker compose down @@ -75,17 +75,19 @@ docker compose up -d --build docker compose logs --tail=100 -f ``` -## Öffentlichen Quellstand erzeugen +Detailed release notes are stored in [`docs/version-history/`](docs/version-history/README.md). -Der Exporter erstellt ein bereinigtes ZIP mit genau einem Hauptordner `assetmanager/`: +## Creating a sanitized public source archive + +The exporter creates a sanitized ZIP archive with exactly one top-level directory named `assetmanager/`: ```bash python tools/create_github_source.py ``` -Vor dem Export prüft das Skript unter anderem Versionen, Lizenzangaben, vertrauliche Laufzeitdateien und unerwünschte Produktvergleiche. +Before exporting, the script validates versions, license metadata, sensitive runtime files, and unwanted product-comparison references. -## Prüfungen +## Validation ```bash python tools/check_public_release.py @@ -93,20 +95,28 @@ python tools/check_translations.py python tools/validate_release.py ``` -## Drittkomponenten +## Documentation -Die direkten Abhängigkeiten und ihre Lizenztypen sind in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) aufgeführt. Beim Docker-Build werden zusätzlich die Lizenzdateien der tatsächlich installierten Python- und Node.js-Pakete unter `/app/THIRD_PARTY_LICENSES/` gesammelt. +- [Client communication and software deployment architecture](docs/architecture/SOFTWARE-CLIENT-ARCHITECTURE.md) +- [Version history](docs/version-history/README.md) +- [Contributing](CONTRIBUTING.md) +- [Security policy](SECURITY.md) +- [Third-party notices](THIRD_PARTY_NOTICES.md) -## Mitwirken +## Third-party components -Beiträge und Forks sind willkommen. Hinweise zur Einreichung stehen in [CONTRIBUTING.md](CONTRIBUTING.md). Eine Einreichung ist ein Vorschlag; es besteht kein Anspruch auf Aufnahme in das offizielle Projekt. +Direct dependencies and their license types are listed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). During the Docker build, license files from the installed Python and Node.js packages are collected under `/app/THIRD_PARTY_LICENSES/`. -## Sicherheit +## Contributing -Sicherheitsprobleme bitte nicht mit vertraulichen Details in einer öffentlichen Issue melden. Siehe [SECURITY.md](SECURITY.md). +Contributions and forks are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md). A submission is a proposal and does not create an obligation to include it in the official project. -## Lizenz +## Security + +Do not disclose credentials or exploitable details in a public issue. See [SECURITY.md](SECURITY.md). + +## License Copyright © 2026 Roland Reich -Lizenziert unter der Apache License, Version 2.0. Der vollständige Lizenztext befindet sich in [LICENSE.txt](LICENSE.txt). +Licensed under the Apache License, Version 2.0. See [LICENSE.txt](LICENSE.txt) for the complete license text. diff --git a/SECURITY.md b/SECURITY.md index dd93381..bb75e3c 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,21 +1,21 @@ -# Sicherheitsrichtlinie +# Security policy -## Unterstützte Version +## Supported version -Sicherheitskorrekturen werden grundsätzlich für den aktuellen veröffentlichten Stand vorgesehen. Ältere Versionen sollten vor einer detaillierten Fehleranalyse zunächst aktualisiert werden. +Security fixes are generally prepared for the current released version. Update older installations before requesting a detailed analysis whenever possible. -## Schwachstellen melden +## Reporting a vulnerability -Bitte veröffentliche keine Zugangsdaten, Tokens, personenbezogenen Daten, internen Adressen oder ausnutzbaren Details in einer öffentlichen GitHub-Issue. +Do not publish credentials, tokens, personal data, internal addresses, or exploitable details in a public issue. -Nutze nach Möglichkeit die private Sicherheitsmeldung des GitHub-Repositorys. Falls diese Funktion nicht aktiviert ist, verwende den im Repository hinterlegten privaten Kontakt und gib nur die zur Reproduktion notwendigen Informationen weiter. +Use the repository's private security-reporting feature when available. Otherwise, use the private contact listed in the repository and disclose only the information required to reproduce the issue. -Eine Meldung sollte enthalten: +A report should include: -- betroffene Version -- betroffene Funktion -- nachvollziehbare Reproduktionsschritte -- mögliche Auswirkungen -- vorhandene Protokollauszüge ohne Geheimnisse +- affected version +- affected function +- reproducible steps +- potential impact +- relevant log excerpts with all secrets removed -Tests dürfen nur an Systemen durchgeführt werden, für die eine ausdrückliche Berechtigung besteht. +Only test systems for which you have explicit authorization. diff --git a/SOFTWARE-CLIENT-ARCHITECTURE.md b/SOFTWARE-CLIENT-ARCHITECTURE.md deleted file mode 100644 index 2920563..0000000 --- a/SOFTWARE-CLIENT-ARCHITECTURE.md +++ /dev/null @@ -1,182 +0,0 @@ -# Vorschlag: Client-Kommunikation und spätere Softwareverteilung - -## Zielbild - -Ein kleiner Windows-Client („AssetManager Agent“) läuft auf jedem verwalteten -Rechner. Das Netlogon-/GPO-Startskript installiert oder aktualisiert nur diesen -Agenten. Die eigentlichen Inventur- und Softwareaufträge werden anschließend -über eine abgesicherte HTTPS-API gesteuert. - -## Warum nicht jeden Befehl direkt im Netlogon-Skript ausführen? - -Ein Startskript ist gut für Bootstrap und Reparatur, aber ungeeignet für eine -dauerhafte Auftragssteuerung: - -- Benutzer- und Computerstart verzögern sich. -- Rückmeldungen und Wiederholungen sind schwer nachzuvollziehen. -- Ein Netzlaufwerk oder DC kann beim Start noch nicht erreichbar sein. -- Softwareinstallationen benötigen Status, Timeout, Exitcode und Neustartlogik. -- Passwörter oder globale API-Schlüssel dürfen nicht im Skript stehen. - -## Empfohlene Komponenten - -### 1. Bootstrap per GPO/Netlogon - -Das bestehende Startskript: - -1. legt `C:\ProgramData\AssetManager\agent` an, -2. lädt eine signierte Agent-Version von einer internen HTTPS-Adresse, -3. installiert einen Windows-Dienst, -4. schreibt nur Server-URL und eine einmalige Registrierungskennung, -5. startet den Dienst. - -### 2. Geräteidentität - -Beim ersten Start registriert sich der Agent mit: - -- Computername, -- AD-Domäne, -- BIOS-Seriennummer, -- Windows MachineGuid, -- optional MeshCentral Node-ID. - -Der Server erstellt danach ein gerätespezifisches Token. Dieses Token wird -lokal mit Windows-DPAPI geschützt. Kein gemeinsamer API-Schlüssel für alle -Clients. - -### 3. Agent-Polling - -Der Client fragt beispielsweise alle 5 Minuten per HTTPS ab: - -`GET /api/agent/v1/jobs/next` - -Antwort bei keinem Auftrag: - -```json -{"job": null, "next_poll_seconds": 300} -``` - -Antwort bei einem Auftrag: - -```json -{ - "job": { - "id": 4711, - "type": "software_inventory", - "expires_at": "2026-07-22T23:00:00Z", - "payload": {} - } -} -``` - -Der Client bestätigt zuerst die Übernahme und meldet später Ergebnis, -Exitcode, Logauszug und Zeitstempel zurück. - -### 4. Softwareinventur - -Erste Funktion des Agenten: - -- installierte MSI-Programme aus 32- und 64-Bit-Registry auslesen, -- optional AppX-Pakete, -- Name, Version, Hersteller, Installationsdatum und UninstallString erfassen, -- Ergebnis komprimiert an AssetManager senden, -- serverseitig pro Asset versioniert speichern. - -Nicht `Win32_Product` verwenden, da diese WMI-Klasse MSI-Reparaturen auslösen -und sehr langsam sein kann. - -### 5. Softwarekatalog für spätere Verteilung - -Serverseitige Tabellen: - -- `software_packages` -- `software_package_versions` -- `software_jobs` -- `software_job_results` -- `agent_devices` -- `agent_tokens` -- `agent_inventory_runs` - -Ein Softwarepaket enthält: - -- Name und Version, -- Installationsquelle, -- SHA-256-Hash, -- Installationsbefehl, -- Deinstallationsbefehl, -- Erkennungsregel, -- erlaubte Exitcodes, -- Neustartverhalten, -- Timeout, -- Zielarchitektur. - -### 6. Installationsquelle - -Pakete können zunächst weiter auf dem DC liegen, zum Beispiel: - -`\\fileserver\software\packages\ExampleApp\1.0\` - -Der Auftrag enthält aber nicht beliebigen PowerShell-Code, sondern verweist -auf eine freigegebene Paketdefinition. Der Agent prüft: - -1. Paket ist serverseitig freigegeben, -2. Quelle liegt in einem erlaubten UNC-Basispfad, -3. Datei-Hash stimmt, -4. Installationsbefehl entspricht der Paketdefinition. - -Langfristig ist ein interner HTTPS-Paketdownload robuster als UNC, weil er -ohne Maschinenzugriff auf die Freigabe funktioniert und leichter protokolliert -werden kann. - -### 7. Sicherheitsregeln - -- ausschließlich HTTPS mit intern vertrauenswürdigem Zertifikat, -- pro Gerät eigenes widerrufbares Token, -- Jobs serverseitig signieren oder über authentisierte TLS-Verbindung liefern, -- keine freie Shell-/PowerShell-Eingabe über die Weboberfläche, -- Befehle nur aus fest definierten Jobtypen, -- Paketdateien mit SHA-256 prüfen, -- vollständiges Auditlog, -- Rollen/Berechtigungen für Freigabe und Ausführung, -- maximale Joblaufzeit und Wiederholungsgrenze, -- Agent nur als SYSTEM, wenn der konkrete Job dies benötigt. - -## Sinnvolle Ausbaustufen - -### Phase 1 – Inventur - -- Agent registrieren -- Heartbeat und letzter Kontakt -- Betriebssystem- und Softwareinventur -- Anzeige im Assetdetail -- manueller Inventurauftrag - -### Phase 2 – Auftragsmodell - -- generische Jobwarteschlange -- Status: pending, claimed, running, success, failed, expired -- Exitcodes, Logs, Timeout und Wiederholung -- Live-Anzeige im AssetManager - -### Phase 3 – Softwarekatalog - -- Paketdefinitionen -- Erkennungsregeln -- Installation und Deinstallation -- Einzelgerät und Gerätegruppe -- Wartungsfenster - -### Phase 4 – Rollout-Sicherheit - -- Pilotgruppen -- Genehmigungsworkflow -- gestaffelte Verteilung -- Abbruch bei Fehlerquote -- Neustartkoordination - -## Empfehlung für den nächsten Entwicklungsschritt - -Zuerst nur Phase 1 umsetzen. Der Agent sollte noch keine beliebigen Befehle -ausführen. Wenn Registrierung, Heartbeat und Softwareinventur stabil laufen, -kann dieselbe gesicherte Kommunikation für die Jobwarteschlange und später -die Softwareverteilung verwendet werden. diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 6328cff..50a1eae 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -1,37 +1,37 @@ -# Drittkomponenten und Lizenzhinweise +# Third-party components and license notices -AssetManager wird unter der Apache License 2.0 veröffentlicht. Die folgenden Komponenten sind eigenständige Drittprojekte und unterliegen ihren jeweiligen Lizenzen. +AssetManager is released under the Apache License 2.0. The following components are independent third-party projects and are governed by their respective licenses. -## Direkt verwendete Komponenten +## Directly used components -| Komponente | Verwendung | Lizenz laut Upstream | +| Component | Use | Upstream license | |---|---|---| -| FastAPI | Webframework | MIT | -| Uvicorn | ASGI-Server | BSD-3-Clause | -| SQLAlchemy | Datenbankabstraktion | MIT | -| Psycopg / psycopg-binary | PostgreSQL-Treiber | LGPL-3.0-only | -| Jinja | HTML-Templates | BSD-3-Clause | -| python-multipart | Formular- und Upload-Verarbeitung | Apache-2.0 | -| pydantic-settings | Konfiguration aus Umgebungsvariablen | MIT | -| itsdangerous | Signierte Sitzungsdaten | BSD-3-Clause | -| ldap3 | optionale LDAP-Anbindung | LGPL-3.0-or-later | -| Passlib | Passwort-Hashing | BSD-artige Lizenz; enthält zusätzliche Hinweise für eingebundene Bestandteile | -| bcrypt | durch `passlib[bcrypt]` verwendete Hashing-Bibliothek | Apache-2.0 | -| openpyxl | Excel-Import und -Export | MIT | -| MeshCentral / MeshCtrl | optionale Integration und Remote-Aufträge | Apache-2.0 | -| PostgreSQL Container-Image | Datenbankdienst | enthält PostgreSQL und weitere Betriebssystempakete mit eigenen Lizenzen | -| Python Container-Image | Laufzeitbasis | enthält Python und Betriebssystempakete mit eigenen Lizenzen | +| FastAPI | Web framework | MIT | +| Uvicorn | ASGI server | BSD-3-Clause | +| SQLAlchemy | Database abstraction | MIT | +| Psycopg / psycopg-binary | PostgreSQL driver | LGPL-3.0-only | +| Jinja | HTML templates | BSD-3-Clause | +| python-multipart | Form and upload processing | Apache-2.0 | +| pydantic-settings | Environment-based configuration | MIT | +| itsdangerous | Signed session data | BSD-3-Clause | +| ldap3 | Optional LDAP integration | LGPL-3.0-or-later | +| Passlib | Password hashing | BSD-style license; includes additional notices for bundled components | +| bcrypt | Hashing library used by `passlib[bcrypt]` | Apache-2.0 | +| openpyxl | Excel import and export | MIT | +| MeshCentral / MeshCtrl | Optional integration and remote jobs | Apache-2.0 | +| PostgreSQL container image | Database service | Contains PostgreSQL and operating-system packages under their own licenses | +| Python container image | Runtime base | Contains Python and operating-system packages under their own licenses | -## Transitive Abhängigkeiten +## Transitive dependencies -Extras wie `uvicorn[standard]`, `psycopg[binary]` und `passlib[bcrypt]` installieren zusätzliche Pakete. Auch Node.js-Pakete können weitere Abhängigkeiten mitbringen. Maßgeblich sind immer die Lizenztexte der tatsächlich gebauten und ausgelieferten Versionen. +Extras such as `uvicorn[standard]`, `psycopg[binary]`, and `passlib[bcrypt]` install additional packages. Node.js packages may also bring transitive dependencies. The license texts of the versions actually built and distributed are authoritative. -Der Docker-Build führt deshalb `tools/export_dependency_licenses.py` aus. Die gefundenen Lizenz-, NOTICE-, COPYING- und Copyright-Dateien werden im Image unter `/app/THIRD_PARTY_LICENSES/` abgelegt. Dieser Ordner sollte bei einer Weitergabe eines gebauten Images oder Offline-Pakets erhalten bleiben. +The Docker build therefore runs `tools/export_dependency_licenses.py`. Discovered license, NOTICE, COPYING, and copyright files are collected under `/app/THIRD_PARTY_LICENSES/` in the image. Preserve this directory when distributing a built image or offline package. -## Keine Rechteübertragung an Drittprojekten +## No transfer of third-party rights -Produktnamen und Marken der Drittprojekte gehören ihren jeweiligen Inhabern. Die Nennung beschreibt ausschließlich die technische Verwendung oder Integration und bedeutet keine Zugehörigkeit, Unterstützung oder Zertifizierung durch diese Projekte. +Product names and trademarks belong to their respective owners. Their mention only describes technical use or integration and does not imply affiliation, endorsement, or certification. -## Prüfung bei Änderungen +## Review when dependencies change -Bei jeder neuen oder aktualisierten Abhängigkeit müssen Lizenz und erforderliche Hinweise erneut geprüft werden. Automatisch gesammelte Metadaten ersetzen keine Prüfung der Original-Lizenztexte. +Review license terms and required notices whenever a dependency is added or updated. Automatically collected metadata does not replace review of the original license texts. diff --git a/UPDATE-0.2.6.1.txt b/UPDATE-0.2.6.1.txt deleted file mode 100644 index 5b2f51d..0000000 --- a/UPDATE-0.2.6.1.txt +++ /dev/null @@ -1,14 +0,0 @@ -AssetManager 0.2.6.1 – MeshCentral Detailimport korrigiert - -Änderung: -- ListDevices --details liefert Datensätze in der Form {"node": {...}, "sys": {...}, "net": {...}}. -- Die Node-ID wird nun korrekt aus node._id gelesen. -- Hardware-, Netzwerk- und Systemfelder werden aus der Detailstruktur übernommen. -- Getestet gegen eine reale MeshCtrl-Datei mit 60 Geräten: 60/60 Node-IDs erkannt. - -Nicht enthalten und daher nicht überschrieben: -- .env -- data/config/config.json -- Datenbankdaten -- Uploads -- Logs diff --git a/UPDATE-0.2.7.1.txt b/UPDATE-0.2.7.1.txt deleted file mode 100644 index 9989ce9..0000000 --- a/UPDATE-0.2.7.1.txt +++ /dev/null @@ -1,6 +0,0 @@ -AssetManager 0.2.7.1 - -- Dashboard-Tabelle „Zuletzt geändert“ verwendet jetzt die unter „In Liste“ aktivierten Kategoriefelder. -- Die ungefilterte Assetliste verwendet ebenfalls die konfigurierten Listenspalten statt vier fest codierter Spalten. -- Gefilterte Assetlisten behalten die konfigurierte Reihenfolge der Kategoriefelder bei. -- .env und data/config/config.json sind nicht Bestandteil dieses Updates. diff --git a/UPDATE-0.2.7.2.txt b/UPDATE-0.2.7.2.txt deleted file mode 100644 index 22f1a39..0000000 --- a/UPDATE-0.2.7.2.txt +++ /dev/null @@ -1,6 +0,0 @@ -AssetManager 0.2.7.2 - -- Assetname bleibt in jeder Assetliste sichtbar und ist immer mit der Detailansicht verlinkt. -- Falls das Feld Bezeichnung in der Kategorie nicht als Listenfeld aktiviert ist, wird es automatisch als erste Link-Spalte ergänzt. -- Der Hauptinhalt nutzt die gesamte verfügbare Browserbreite. -- .env und data/config/config.json sind nicht Bestandteil dieses Updates. diff --git a/UPDATE-0.2.7.txt b/UPDATE-0.2.7.txt deleted file mode 100644 index 81b8624..0000000 --- a/UPDATE-0.2.7.txt +++ /dev/null @@ -1,22 +0,0 @@ -AssetManager Update 0.2.7 - -Enthalten: -- neue MeshCentral-Felder: Datentraeger, GPU, TPM, RAM-Module, Virenschutz, Gruppe -- MAC-Adresse aus dem aktiven IPv4-Netzwerkeintrag -- robuste Kategorie-Feldspeicherung ohne UniqueConstraint-Fehler -- verständliche Fehlermeldungen bei doppelten eindeutigen Asset-Werten -- konfigurierbare Listenspalten über Kategorie -> In Liste -- Spaltenreihenfolge per Drag-and-drop, Speicherung im Browser - -Nicht enthalten und wird nicht überschrieben: -- .env -- data/config/config.json -- docker-compose.yml -- Datenbank, Uploads und Logs - -Installation: -1. Inhalt über das bestehende Projekt kopieren. -2. docker compose down -3. docker compose build --no-cache app -4. docker compose up -d -5. MeshCentral-Synchronisierung erneut starten. diff --git a/UPDATE-0.2.8.txt b/UPDATE-0.2.8.txt deleted file mode 100644 index c9455b0..0000000 --- a/UPDATE-0.2.8.txt +++ /dev/null @@ -1,18 +0,0 @@ -AssetManager 0.2.8 - -Enthalten: -- Beim Anlegen und Bearbeiten werden nur aktive Felder der gewählten Kategorie angezeigt. -- Kategorie-Wechsel in der Bearbeitungsansicht lädt die Feldkonfiguration der Zielkategorie. -- Separate Tabelle asset_history für manuelle Änderungen und MeshCentral-Synchronisierungen. -- Historienansicht je Asset mit Feld, altem Wert und neuem Wert. -- Enthält-Filter über jeder Spalte in Tabellen. -- Sortierung durch Klick auf Tabellenüberschriften. -- Excel-Export der Assetliste und der Asset-Historie. - -Nicht enthalten: -- .env -- data/config/config.json -- docker-compose.yml -- Datenbank, Uploads oder Logs - -Benutzerverwaltung/LDAP wird bewusst in einem separaten Update umgesetzt. diff --git a/UPDATE-0.2.9.1.txt b/UPDATE-0.2.9.1.txt deleted file mode 100644 index 4869264..0000000 --- a/UPDATE-0.2.9.1.txt +++ /dev/null @@ -1,15 +0,0 @@ -AssetManager v0.2.9.1 -===================== - -Korrekturen: -- Speichern eines duplizierten Assets sendet nun ausdrücklich an POST /assets/new. -- Browserfehler werden nicht mehr als rohe JSON-Seite angezeigt. -- HTTP- und Anwendungsfehler werden nach data/logs/errors.log geschrieben. -- Fehlermeldungen erscheinen als automatisch ausblendender Hinweis oben rechts. -- API-/JSON-Anfragen behalten weiterhin JSON-Antworten. - -Nicht enthalten und nicht überschrieben: -- .env -- data/config/config.json -- docker-compose.yml -- Datenbankdaten, Uploads oder Logs diff --git a/UPDATE-0.2.9.txt b/UPDATE-0.2.9.txt deleted file mode 100644 index 4f24bc2..0000000 --- a/UPDATE-0.2.9.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.2.9 - -- Sortierung korrigiert: Es wird jetzt zuverlässig nach der angeklickten Spalte sortiert. -- Tabellenköpfe und Filterzeile bleiben beim Scrollen sichtbar. -- Aktionsspalte mit Ausgeben/Zurücknehmen, Duplizieren und Löschen. -- Duplizieren öffnet einen neuen Datensatz mit übernommenen Werten; eindeutige IDs werden geleert. -- Status ist ein pflegbares Dropdown mit Standardwerten Aktiv, Defekt, im Lager, Ausgegeben und Verschrottet. -- Neues Datumsfeld assigned_on / Ausgegeben am. -- Ausgeben setzt Status und aktuelles Datum; Zurücknehmen setzt Status auf im Lager und leert Zuordnung/Ausgabedatum. -- Aktionen werden in der Asset-Historie protokolliert. -- .env und data/config/config.json sind nicht enthalten. diff --git a/UPDATE-0.3.0.txt b/UPDATE-0.3.0.txt deleted file mode 100644 index 6eea81d..0000000 --- a/UPDATE-0.3.0.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager v0.3.0 - -- Sortierung nach der tatsächlich angeklickten Spalte korrigiert. -- Robuste Sortierung für Text, reine Zahlen sowie ISO- und deutsche Datumswerte. -- Breite Tabellen bleiben responsiv und erhalten bei Bedarf horizontale Scrollbalken. -- Einstellungen-Seite für Anwendungstitel, Firmenname und Firmenlogo. -- Branding wird in Titelzeile und Browser-Titel verwendet. -- Benutzer-Dropdown rechts in der Navigation vorbereitet. -- Authentifizierungsmodus in der Config vorbereitet (Standard: none). - -Die vorhandene config.json wird nicht im ZIP ausgeliefert. Änderungen über die GUI werden gezielt in den Abschnitten general/authentication gespeichert; andere Config-Bereiche bleiben erhalten. diff --git a/UPDATE-0.3.1.txt b/UPDATE-0.3.1.txt deleted file mode 100644 index 9d3b764..0000000 --- a/UPDATE-0.3.1.txt +++ /dev/null @@ -1,26 +0,0 @@ -AssetManager v0.3.1 - -Enthalten: -- Firmenname wird neben dem Anwendungstitel angezeigt. -- IPv4-Adressen werden oktettweise sortiert. -- Benutzerverwaltung mit lokalen Konten. -- Anmeldung/Abmeldung und Profilseite. -- LDAP-/Active-Directory-Anmeldung. -- LDAP-Benutzer werden nach erfolgreicher erster Anmeldung lokal angelegt/aktualisiert. -- Benutzername wird bei manuellen Asset-Änderungen in der Historie gespeichert. -- Noch keine Berechtigungsprüfung: Die Anmeldung schränkt die Anwendung in dieser Version nicht ein. - -Konfiguration: -- Anmeldemodus und LDAP-Daten werden unter Einstellungen gepflegt. -- LDAP-Bind-Passwort bleibt in der Umgebung, standardmäßig: - LDAP_BIND_PASSWORD=... -- Für produktive Sitzungen empfohlen: - SESSION_SECRET= - -Nicht enthalten: -- .env -- data/config/config.json -- config.json -- Datenbankdaten -- Uploads -- Logs diff --git a/UPDATE-0.3.10.0.txt b/UPDATE-0.3.10.0.txt deleted file mode 100644 index c751c2a..0000000 --- a/UPDATE-0.3.10.0.txt +++ /dev/null @@ -1,29 +0,0 @@ -# AssetManager v0.3.10.0 - -## Übersetzungen -- Fehlende deutsche und englische Schlüssel für Assetliste, Kategorien, - Excel-Import, Favicon, Spaltensteuerung, Datensatzzähler und LDAP ergänzt. -- LDAP-Suchseite vollständig zweisprachig neu bereitgestellt. -- Dynamische Zähler und Schaltflächen verwenden weiterhin die gewählte Sprache. - -## Info-Dialog und Versionsnummer -- Fragezeichen-Schaltfläche im Kopfbereich. -- Dialog zeigt Version, Autor, Organisation, Kontakt, Webseite, Repository, - Lizenz und Copyright. -- Alle Angaben außer der Version werden unter Einstellungen gepflegt. -- Die Version wird ausschließlich aus der Datei `VERSION` gelesen. -- Aktuelle Version: 0.3.10.0. - -## Scrollleiste -- Horizontale Scrollleisten der Assetliste auf 20 Pixel vergrößert. -- Größerer, kontrastreicher Scrollgriff. - -## Softwareverteilung -- `SOFTWARE-CLIENT-ARCHITECTURE.md` beschreibt den vorbereitenden Aufbau für - Agent, Inventur, Jobwarteschlange und spätere Softwareverteilung. - -## Validierung -- Python-Syntaxprüfung durchgeführt. -- Jinja2-Templates syntaktisch geprüft. -- VERSION-Datei und ZIP-Wurzel geprüft. -- Kein produktiver Docker-/PostgreSQL-Lauf durchgeführt. diff --git a/UPDATE-0.3.11.0.txt b/UPDATE-0.3.11.0.txt deleted file mode 100644 index 06c95d1..0000000 --- a/UPDATE-0.3.11.0.txt +++ /dev/null @@ -1,14 +0,0 @@ -# AssetManager v0.3.11.0 - -Erste MeshCentral-basierte Softwareinventur: -- kein zusätzlicher Agent -- MeshCtrl RunCommand über vorhandenen MeshCentral-Agenten -- HTTPS-Callback mit pro Job zufälligem, gehasht gespeichertem und zeitlich begrenztem Token -- Inline-Befehle; keine Inventurskripte werden lokal abgelegt -- Windows-, Linux- und macOS-Inventur -- Android wird erkannt, aber mangels vergleichbarem RunCommand-Kanal sicher abgelehnt -- lokale fortgeschriebene Client-Logdatei und Übertragung des Job-Logabschnitts per Callback -- separate Tabelle installed_software und Anzeige je Asset -- Grundtabellen für Softwarepakete, gerätebezogene Parameter und Jobs - -Nur Syntax und Paketstruktur geprüft. Nicht mit echtem MeshCentral, Clients oder PostgreSQL produktiv getestet. diff --git a/UPDATE-0.3.12.0.txt b/UPDATE-0.3.12.0.txt deleted file mode 100644 index e801f52..0000000 --- a/UPDATE-0.3.12.0.txt +++ /dev/null @@ -1,32 +0,0 @@ -# AssetManager v0.3.12.0 - -## Softwareinventur starten -- Der vorhandene Ablauf bleibt: - Asset öffnen → Software → Software-Inventur starten. -- Jobs sind zusätzlich unter Software in der Hauptnavigation sichtbar. - -## Excel-Testimport -- Zweiter Button „Test-Import“. -- Verwendet dieselbe Import-, Validierungs- und Zeilenausgabelogik. -- Nach der Verarbeitung wird die vollständige Datenbanktransaktion zurückgerollt. -- Ergebnis zeigt dieselben Zähler, Fehler und Meldungen wie ein echter Import. - -## Versionsanzeige -- Zusätzliche eingebettete Version in `app/version.py`. -- `VERSION` wird weiterhin bevorzugt. -- Fehlt die Root-Datei im Docker-Image, erscheint nicht mehr „unknown“. - -## Duplikatsuche in der Assetliste -- Neuer Button „Duplikate suchen“. -- Auswahl eines aktuell sichtbaren Tabellenfeldes. -- Auswertung berücksichtigt die aktuell gesetzten Tabellenfilter. -- Leere Werte und Groß-/Kleinschreibung sind konfigurierbar. -- Nur die gefundenen Dubletten bleiben in der Liste sichtbar. -- Dublettenfilter kann wieder aufgehoben werden. - -## Validierung -- Python-Syntaxprüfung durchgeführt. -- Jinja2-Templates syntaktisch geprüft. -- JavaScript-Datei strukturell geprüft. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein produktiver Docker-/PostgreSQL-/MeshCentral-Test durchgeführt. diff --git a/UPDATE-0.3.12.1.txt b/UPDATE-0.3.12.1.txt deleted file mode 100644 index 84b9af9..0000000 --- a/UPDATE-0.3.12.1.txt +++ /dev/null @@ -1,26 +0,0 @@ -# AssetManager v0.3.12.1 - -## Duplikatsuche -- JavaScript-Fehler `table is not defined` behoben. -- Asset-Auswahl, Tabellenfilter und Duplikatsuche können wieder initialisiert werden. - -## MeshCentral-Feldregeln -- Datenbankwerte sind jetzt die dauerhafte Quelle der Wahrheit. -- Startup-Seeding legt nur fehlende Standard-Mappings an. -- Bestehende Werte für Quelle, Transform, Aktivierung, Priorität und - `update_rule` („wer gewinnt“) werden nicht mehr überschrieben. -- Legacy-Werte aus config.json werden nur bei fehlender Datenbankkonfiguration übernommen. - -## Softwareinventur-Diagnose -- Öffentlicher, schreibgeschützter Health-Endpunkt: - `/api/software-callback/health` -- Softwarejob zeigt den lokal erwarteten Logpfad. -- Der tatsächlich an MeshCtrl übergebene Inline-Befehl kann für einen - manuellen Test kopiert werden. -- Windows-Clientlog protokolliert den Callback-Versuch und Callback-Fehler ausführlicher. - -## Validierung -- Python-Syntaxprüfung durchgeführt. -- Jinja2-Templates syntaktisch geprüft. -- ZIP-Struktur geprüft. -- Kein realer MeshCentral-/Callback-/PostgreSQL-Test durchgeführt. diff --git a/UPDATE-0.3.13.0.txt b/UPDATE-0.3.13.0.txt deleted file mode 100644 index 455096b..0000000 --- a/UPDATE-0.3.13.0.txt +++ /dev/null @@ -1,16 +0,0 @@ -# AssetManager v0.3.13.0 - -- Markierte Duplikate können zusammengeführt werden. -- Reihenfolge per Drag-and-drop. -- Oberstes Asset bleibt bestehen. -- Leere Werte werden aus nachfolgenden Assets ergänzt. -- Vorschau vor dem endgültigen Speichern. -- Custom Fields, Historie, Softwarejobs, installierte Software und Kind-Assets werden übernommen. -- Technische Bulk-Formulare sind ausgeblendet und erzeugen keinen Leerraum mehr. -- v0.4.0.0 bleibt für das neue Software-Subsystem reserviert. - -Validierung: -- Python-Syntax geprüft -- Jinja2-Templates geprüft -- ZIP-Struktur geprüft -- nicht produktiv gegen PostgreSQL/Docker getestet diff --git a/UPDATE-0.3.13.1.txt b/UPDATE-0.3.13.1.txt deleted file mode 100644 index 9b58229..0000000 --- a/UPDATE-0.3.13.1.txt +++ /dev/null @@ -1,13 +0,0 @@ -# AssetManager v0.3.13.1 - -## Korrekturen -- Der Button „Duplikate zusammenführen“ wird ab zwei sichtbaren, markierten Assets aktiviert. -- Die Anzahl der markierten Assets wird im Button angezeigt. -- Kategorie-Filter können mehrzeilig umbrechen, ohne aus dem Button herauszuragen. -- Kategorie-Karten auf der Übersicht begrenzen und umbrechen lange Bezeichnungen innerhalb der Karte. - -## Validierung -- Python-Syntax geprüft. -- Jinja2-Templates syntaktisch geladen. -- ZIP-Wurzel assetmanager/ geprüft. -- Kein Docker-/Browser-/PostgreSQL-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.0.txt b/UPDATE-0.3.14.0.txt deleted file mode 100644 index 8304d02..0000000 --- a/UPDATE-0.3.14.0.txt +++ /dev/null @@ -1,33 +0,0 @@ -# AssetManager v0.3.14.0 – Bedienung & Oberfläche - -## Navigation -- Neue linke Hauptnavigation. -- Einklappbar auf eine schmale Symbolleiste. -- Zustand wird im Browser gespeichert. -- Einstellungen öffnen beim Mouseover ein alphabetisch sortiertes Untermenü. -- Einstellungsseiten besitzen zusätzlich eine eigene linke Unternavigation. - -## Systeminformationen -- Neue Datei APPINFO.json im Projektstamm. -- VERSION bleibt separat. -- Autor, Organisation, Kontakt, Website, Repository, Lizenz und Copyright sind nur lesbar. -- Info-Dialog und Systeminformationsseite lesen dieselbe Datei. -- LICENSE.txt dokumentiert den aktuellen Lizenzstatus. - -## Einstellungsbereiche -- Anzeige -- Asset-Felder -- Authentifizierung -- Benutzer -- Kategorien -- MeshCentral -- Statuswerte -- Systeminformationen -- Übersetzungen - -## Validierung -- Python-Syntax geprüft. -- Jinja2-Templates syntaktisch geladen. -- APPINFO.json als JSON geprüft. -- ZIP-Wurzel assetmanager/ geprüft. -- Kein Docker-, Browser- oder PostgreSQL-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.1.txt b/UPDATE-0.3.14.1.txt deleted file mode 100644 index ee593b5..0000000 --- a/UPDATE-0.3.14.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -# AssetManager v0.3.14.1 – Korrekturen Navigation und Einstellungen - -## Behoben -- Kein zweites Einstellungsmenü mehr innerhalb der Einstellungsseite. -- `/settings/fields` wird nicht mehr vom dynamischen Einstellungsrouting abgefangen. -- „Felder“ öffnet wieder die vollständige Feldverwaltung. -- „MeshCentral“ öffnet wieder die vollständige MeshCentral-Seite unter `/sync/meshcentral`. -- „Benutzeranmeldung“ wurde im Menü in „LDAP“ umbenannt. -- Import / Export ist als eigener Einstellungsbereich vorhanden. -- Sicherung ist als eigener Einstellungsbereich sichtbar. - -## Hinweis Sicherung -Die vollständige Backup-Funktion bleibt wie geplant für v0.3.15.0 reserviert. -In v0.3.14.1 wird der Menüpunkt bereits angezeigt und beschreibt den vorgesehenen Umfang. - -## Validierung -- Python-Syntax geprüft. -- Alle geänderten Jinja2-Templates syntaktisch geladen. -- Relevante Routen statisch geprüft. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein Docker-, Browser- oder PostgreSQL-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.2.txt b/UPDATE-0.3.14.2.txt deleted file mode 100644 index c37c670..0000000 --- a/UPDATE-0.3.14.2.txt +++ /dev/null @@ -1,24 +0,0 @@ -# AssetManager v0.3.14.2 - -## Benutzerverwaltung -- Der Button „Anmeldeeinstellungen“ öffnet jetzt `/settings/authentication` (LDAP). -- Kompatibilitätskorrektur funktioniert auch mit einer älteren, lokal vorhandenen `users.html`. - -## Systeminformationen -- `APPINFO.json` wird nicht mehr im Update-ZIP ausgeliefert. -- Neue Vorlage: `APPINFO.example.json`. -- Produktive Datei: `/app/data/config/APPINFO.json`. -- Optional kann `APPINFO_PATH` einen anderen Pfad festlegen. -- Eine vorhandene alte Datei unter `/app/APPINFO.json`, `/app/app/APPINFO.json` oder `/APPINFO.json` wird einmalig in den persistenten Pfad kopiert, sofern dort noch keine Datei besteht. -- Updates überschreiben die persistente Datei nicht. - -## Aktivierung von Änderungen -- APPINFO wird bei jeder Seitenanforderung neu gelesen. -- Nach dem Speichern genügt normalerweise ein Neuladen der Seite; ein Container-Neustart ist nicht erforderlich. - -## Validierung -- Python-Syntax geprüft. -- Jinja2-Basistemplate syntaktisch geladen. -- ZIP enthält keine `APPINFO.json`. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein Docker-, Browser- oder PostgreSQL-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.3.txt b/UPDATE-0.3.14.3.txt deleted file mode 100644 index a5d7076..0000000 --- a/UPDATE-0.3.14.3.txt +++ /dev/null @@ -1,29 +0,0 @@ -# AssetManager v0.3.14.3 - -## APPINFO – tatsächliche Ursache behoben -- Docker mountet `./data/config` nach `/app/config`. -- v0.3.14.2 suchte irrtümlich unter `/app/data/config/APPINFO.json`. -- Die produktive Datei wird jetzt unter `/app/config/APPINFO.json` gelesen. -- `APPINFO_PATH=/app/config/APPINFO.json` ist im Docker Compose explizit gesetzt. -- Der bisherige falsche Pfad bleibt als einmalige Migrationsquelle erhalten. -- Die Einstellungsseite zeigt den tatsächlich verwendeten Pfad an. -- Das Update enthält keine produktive `APPINFO.json`, nur `APPINFO.example.json`. - -## Benutzerverwaltung -- Der Quelllink „Anmeldeeinstellungen“ wurde direkt in `users.html` auf - `/settings/authentication` geändert. - -## Update-Schutz -Nicht im ZIP enthalten: -- `.env` -- `APPINFO.json` -- `data/config/config.json` -- PostgreSQL-Daten -- Backups, Uploads und Logs - -## Validierung -- Python-Syntax geprüft. -- Geänderte Jinja2-Templates syntaktisch geladen. -- Docker-Compose-YAML textuell auf APPINFO_PATH geprüft. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein echter Docker-/Browser-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.5.txt b/UPDATE-0.3.14.5.txt deleted file mode 100644 index ef9cb02..0000000 --- a/UPDATE-0.3.14.5.txt +++ /dev/null @@ -1,39 +0,0 @@ -# AssetManager v0.3.14.5 - -## Ruhiger Aufbau der Assetseite -- Die Assetseite wird während der Initialisierung vollständig verborgen. -- Statt sichtbarer Zwischenzustände erscheint ein dezenter Ladehinweis. -- Erst nach Tabellenaufbau, Spaltenreihenfolge, Spaltensichtbarkeit, - Filterwiederherstellung und Datensatzzählung wird die fertige Seite angezeigt. -- Eine Zeitüberschreitung von fünf Sekunden verhindert, dass die Seite bei einem - unerwarteten JavaScript-Fehler dauerhaft verborgen bleibt. - -## Performance -- Der globale MutationObserver für gespeicherte Tabellenzustände wurde entfernt. -- Gespeicherte Filter werden gesammelt eingesetzt. -- Danach erfolgt nur noch ein einziger Filterdurchlauf statt je eines - vollständigen Durchlaufs pro gespeicherter Spalte. -- Tabellenmodule melden ihren Abschluss explizit an einen zentralen - Initialisierungskoordinator. -- Layout- und Scrollbalkenberechnungen laufen vor dem sichtbaren Einblenden ab. - -## Übersetzungen -- Der Ladehinweis nutzt Übersetzungsschlüssel. -- Deutsche und englische Standardtexte wurden ergänzt. - -## Update-Schutz -Nicht im Update enthalten: -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs - -## Validierung -- Python-Syntax geprüft. -- Jinja2-Templates syntaktisch geladen. -- JavaScript-Dateien mit Node.js syntaktisch geprüft, sofern Node.js verfügbar. -- ZIP-Wurzel assetmanager/ geprüft. -- Kein vollständiger Docker-/Browser-Laufzeittest durchgeführt. diff --git a/UPDATE-0.3.14.6.txt b/UPDATE-0.3.14.6.txt deleted file mode 100644 index fd76d11..0000000 --- a/UPDATE-0.3.14.6.txt +++ /dev/null @@ -1,38 +0,0 @@ -# AssetManager v0.3.14.6 - -## Diagnose der Assetseiten-Initialisierung - -Die Browser-Debugkonsole protokolliert jetzt: - -- Startzeit der Assetseiten-Initialisierung -- Anzahl der bereits serverseitig gelieferten Datensätze -- jedes empfangene Fertig-Ereignis -- Status aller fünf Initialisierungsmodule -- fehlende Fertig-Marker -- Zeitpunkt und Grund der Seiteneinblendung -- Wartezeit auf Webfonts -- Dauer der abschließenden Renderframes -- Navigation Timing einschließlich TTFB und HTML-Empfang -- langsame JavaScript-, CSS- und sonstige Ressourcen ab 50 ms -- lange Aufgaben auf dem Browser-Hauptthread -- deutliche Warnung, falls der 5-Sekunden-Fallback ausgelöst wird - -## Verwendung - -1. Browser-Entwicklertools mit F12 öffnen. -2. Registerkarte „Konsole“ öffnen. -3. Assetseite neu laden. -4. Nach Meldungen mit `[AssetManager][Assets]` filtern. -5. Den vollständigen Konsolenblock kopieren. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.14.7.txt b/UPDATE-0.3.14.7.txt deleted file mode 100644 index f6fa50e..0000000 --- a/UPDATE-0.3.14.7.txt +++ /dev/null @@ -1,46 +0,0 @@ -# AssetManager v0.3.14.7 - -## Erweiterte Browser-Performance-Diagnose - -Die Assetseite protokolliert nun zusätzlich die Laufzeiten einzelner Module und -Callbacks in der Browserkonsole: - -- browser-state: Wiederherstellung gespeicherter Filter -- table-tools: Modulinitialisierung, Filtern und Sortieren -- list-tools: Datensatzzähler und MutationObserver -- asset-columns: Initialisierung, Spaltensichtbarkeit, Scrollbalkensynchronisierung, - ResizeObserver und MutationObserver -- Zusammenfassung der langsamsten Vorgänge nach dem Laden - -Meldungen lassen sich nach folgendem Präfix filtern: - - [AssetManager][Performance] - -Vorgänge ab 50 ms erscheinen als Warnung. Layoutnahe Vorgänge wie -Scrollbalken- und Observer-Callbacks werden bereits ab 20 ms hervorgehoben. - -## Korrektur - -Der 5-Sekunden-Sicherheitstimer wird nun sofort beendet, sobald die Assetseite -erfolgreich eingeblendet wurde. Dadurch erscheint nach fünf Sekunden keine -irreführende Fallback-Meldung mehr. - -## Test - -1. F12 öffnen. -2. Konsole auswählen. -3. Nach `AssetManager` filtern. -4. Assetseite mit Strg+F5 neu laden. -5. Den Block `Zusammenfassung – langsamste Vorgänge` sowie Warnungen kopieren. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.14.8.txt b/UPDATE-0.3.14.8.txt deleted file mode 100644 index 8bf77a1..0000000 --- a/UPDATE-0.3.14.8.txt +++ /dev/null @@ -1,51 +0,0 @@ -# AssetManager v0.3.14.8 - -## Erweiterte Layout- und Reflow-Diagnose - -Die Assetseite misst nun zusätzlich: - -- einzelne Layout-Lesezugriffe auf `table.scrollWidth` -- einzelne Layout-Lesezugriffe auf `scroll.clientWidth` -- Schreibzugriffe für Breite und Sichtbarkeit der oberen Scrollleiste -- Herkunft jedes Scrollleisten-Abgleichs: - - Initialisierung - - ResizeObserver - - MutationObserver -- vollständige Dauer von `applyHidden` -- vollständige Dauer von `syncTopScrollbar` -- vollständige Dauer der Observer-Callbacks -- Chrome-Performance-Messungen über `performance.mark()` und - `performance.measure()` -- Paint-Ereignisse -- Long Animation Frames inklusive Script-Zuordnung und - `forcedStyleAndLayoutDuration`, sofern der Browser diese API unterstützt - -Alle Messungen von `asset-columns.js` werden jetzt auch in der abschließenden -Tabelle „Zusammenfassung – langsamste Vorgänge“ berücksichtigt. - -## Konsolenfilter - - [AssetManager][Performance] - [AssetManager][Assets] - -Besonders relevant sind: - -- `asset-columns:layout-read:table.scrollWidth` -- `asset-columns:layout-read:scroll.clientWidth` -- `asset-columns:syncTopScrollbar` -- `asset-columns:applyHidden` -- `Long Animation Frame` -- `forced_style_layout_ms` -- `Chrome Performance-Messungen` - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.15.0.txt b/UPDATE-0.3.15.0.txt deleted file mode 100644 index 2737bee..0000000 --- a/UPDATE-0.3.15.0.txt +++ /dev/null @@ -1,70 +0,0 @@ -# AssetManager v0.3.15.0 - -## Performance-Refactoring der Assetliste - -Die Diagnose aus v0.3.14.8 zeigte zwei konkrete Ursachen: - -- `innerText` in den Tabellenwerkzeugen erzwang Layoutberechnungen. -- `table.scrollWidth` löste bei der breiten Assettabelle einen teuren Reflow aus. - -Diese Bereiche wurden grundlegend überarbeitet. - -### Tabellenlayout - -- Die Assettabelle verwendet jetzt `table-layout: fixed`. -- Jede Datenspalte erhält eine feste Breite. -- Ohne konfigurierte Listenbreite gelten sinnvolle Standardbreiten: - - Bezeichnung: 220 px - - andere Datenfelder: 180 px -- Lange Inhalte vergrößern die Tabelle nicht mehr, sondern werden abgeschnitten - und mit Auslassungspunkten dargestellt. - -### Spaltenverwaltung - -- Ausgeblendete Spalten werden über eine einzige dynamische CSS-Regel gesteuert. -- Es werden nicht mehr tausende einzelne Tabellenzellen per JavaScript verändert. -- Die Tabellenbreite wird aus den bekannten Spaltenbreiten berechnet. -- `table.scrollWidth` wird nicht mehr verwendet. -- `ResizeObserver` und `MutationObserver` der Spaltenverwaltung wurden entfernt. -- Die obere Scrollleiste wird nur noch initial, nach einer Spaltenänderung und - bei einer echten Änderung der Fenstergröße aktualisiert. - -### Filter und Sortierung - -- `innerText` wurde durch `textContent` ersetzt, damit Filter und Sortierung - keine erzwungene Layoutberechnung auslösen. -- Filterwerte werden einmalig zwischengespeichert. -- Ein Filterdurchlauf durchsucht den vorbereiteten Cache statt jedes Mal alle - Zellen erneut über DOM-Abfragen zu lesen. -- Der DOM-Status einer Zeile wird nur geändert, wenn sich ihre Sichtbarkeit - tatsächlich ändert. -- Sortierte Zeilen werden gesammelt über ein `DocumentFragment` eingesetzt. - -### Spaltenreihenfolge - -- Gespeicherte Spaltenreihenfolgen werden zeilenweise gesammelt angewendet. -- Dadurch entstehen deutlich weniger einzelne DOM-Operationen. - -### Diagnosecode - -- Die ausführliche Performance-Diagnose aus v0.3.14.8 wurde wieder entfernt. -- Der koordinierte, flackerfreie Seitenaufbau bleibt erhalten. - -## Hinweis - -Virtuelles Rendering wurde bewusst noch nicht aktiviert, da es Auswahl, -Sortierung, Filter, Duplikatsuche und den dynamischen Inhaltsreload tiefgreifend -verändern würde. Die jetzt umgesetzten Optimierungen beseitigen zunächst die -nachgewiesenen Reflow-Ursachen ohne Funktionsverlust. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.15.1.txt b/UPDATE-0.3.15.1.txt deleted file mode 100644 index b1564f1..0000000 --- a/UPDATE-0.3.15.1.txt +++ /dev/null @@ -1,51 +0,0 @@ -# AssetManager v0.3.15.1 - -## Behoben: vertikales Scrollen - -- Die problematischen CSS-Containment-Regeln aus v0.3.15.0 wurden entfernt. -- Der Tabellenbereich verwendet wieder normales `overflow: auto`. -- `min-height: 0` verhindert, dass ein übergeordneter Flex- oder Grid-Container - den vertikalen Scrollbereich blockiert. -- Ein schlanker `ResizeObserver` aktualisiert ausschließlich die obere - horizontale Scrollleiste bei echten Breitenänderungen. - -## Behoben: Filterfelder waren um eine Spalte verschoben - -In v0.3.15.0 konnten die Filterfelder nach dem Anwenden der gespeicherten -Spaltenreihenfolge nicht mehr eindeutig ihrer Spalte zugeordnet werden. - -Ursache war die Verwendung eines veränderlichen `cellIndex` beim Umsortieren -der Filterzeile. Während die Zellen verschoben wurden, änderten sich diese -Indizes bereits. - -Die Korrektur: - -- Jedes Filterfeld besitzt jetzt eine dauerhafte interne Zuordnung. -- Datenfilter werden ausschließlich über `data-field` mit ihrer Datenspalte - verbunden. -- Auswahl- und Aktionsspalten erhalten stabile interne Schlüssel. -- Die Filterzeile wird nach einer Spaltenänderung vollständig anhand dieser - festen Zuordnungen neu aufgebaut. -- Filterwerte lesen niemals mehr versehentlich die benachbarte Spalte. - -## Beibehaltene Optimierungen - -- `table-layout: fixed` -- feste Spaltenbreiten -- `textContent` statt `innerText` -- zwischengespeicherte Filterwerte -- CSS-basierte Spaltensichtbarkeit -- `DocumentFragment` für Sortierung und Spaltenreihenfolge -- keine Verwendung von `table.scrollWidth` - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- PostgreSQL-Daten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.15.2.txt b/UPDATE-0.3.15.2.txt deleted file mode 100644 index da16e47..0000000 --- a/UPDATE-0.3.15.2.txt +++ /dev/null @@ -1,44 +0,0 @@ -# AssetManager v0.3.15.2 - -## Behoben: Assetliste lässt sich wieder vertikal scrollen - -Die Korrektur aus v0.3.15.1 war unvollständig. Der eigentliche Grund war der -in v0.3.14 eingeführte Sidebar-Aufbau: - - body - -> app-shell - -> app-content - -> asset-list-page - -> asset-table-scroll - -Die ältere Scroll-Konfiguration stammte noch aus der Zeit vor `app-shell`. -Dadurch fehlte eine durchgängige Kombination aus `min-height: 0`, Flex-Höhe -und `overflow`, sodass der Tabellencontainer keine nutzbare Scrollhöhe erhielt. - -v0.3.15.2 behebt dies vollständig: - -- Die Assetseite erhält eine eigene Body-Klasse. -- `body`, `app-shell`, `app-content` und `asset-list-page` bilden jetzt eine - durchgängige Flex-/Höhenkette. -- Nur `asset-table-scroll` übernimmt auf Desktop-Systemen das vertikale - Scrollen. -- Der Tabellenbereich erhält eine echte Resthöhe über `flex: 1`. -- Die alte Containment-Regel wird auf der Assetseite ausdrücklich deaktiviert. -- Auf schmalen Bildschirmen bleibt normales Seiten-Scrolling erhalten. - -## Ebenfalls enthalten - -- Die in v0.3.15.1 korrigierte Zuordnung der Filterfelder zu ihren Spalten. -- Alle Tabellen-Performanceoptimierungen aus v0.3.15.0. - -## Update-Schutz - -Nicht überschrieben werden: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.3.3.txt b/UPDATE-0.3.3.txt deleted file mode 100644 index f1e06c4..0000000 --- a/UPDATE-0.3.3.txt +++ /dev/null @@ -1,14 +0,0 @@ -AssetManager v0.3.3 - -Neu: -- Rollenmodell: Nur Administratoren dürfen Assets, Kategorien, Statuswerte, Benutzer, Einstellungen und MeshCentral-Synchronisation ändern. -- Nicht-Administratoren erhalten reinen Lesezugriff und sehen nur Assets aus den ihnen zugewiesenen MeshCentral-Gruppen. -- Gruppenzuweisung in der Benutzerverwaltung; vorhandene Gruppen werden aus der Asset-Datenbank angeboten. -- Statuswerte für „Ausgeben“ und „Zurücknehmen“ frei konfigurierbar. -- Beim Ausgeben werden Name und Datum in einem Dialog abgefragt; aktuelles Datum ist vorbelegt. -- LDAP-Benutzersuche in den LDAP-Einstellungen. -- Datenbankmigrationen ergänzen die neuen Felder automatisch. - -Hinweise: -- Nach einer Änderung der Benutzerrechte muss sich der Benutzer neu anmelden. -- Dieses Update enthält keine .env, keine config.json, keine docker-compose.yml, keine Uploads, Logs oder Datenbankdaten. diff --git a/UPDATE-0.3.4.7.txt b/UPDATE-0.3.4.7.txt deleted file mode 100644 index aaa0aa4..0000000 --- a/UPDATE-0.3.4.7.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager v0.3.4.7 - -- MeshCentral-Kategoriezuordnung verwendet stabile Kategorie-IDs statt Kategorienamen. -- Konfigurierbare Fallback-Kategorie, Standard-ID 1. -- Konfigurierbares Mapping der MeshCentral-Gerätetypen 1 bis 8 auf AssetManager-Kategorien. -- Bestehende Assets behalten ihre Kategorie. -- Neue Geräte verwenden Mapping oder Fallback. -- Ungültige Mapping-Kategorien brechen die Synchronisierung nicht mehr ab. -- Einstellungen und Synchronisierungsseite zeigen die Zuordnung an. - -Keine .env, config.json, docker-compose.yml, Datenbankdaten, Uploads oder Logs enthalten. diff --git a/UPDATE-0.3.4.txt b/UPDATE-0.3.4.txt deleted file mode 100644 index d884497..0000000 --- a/UPDATE-0.3.4.txt +++ /dev/null @@ -1,10 +0,0 @@ -AssetManager v0.3.4 - -- Hierarchische Gerätezuordnung über übergeordnetes Gerät -- Grafische Baustruktur mit Bild, Name, IP, Standort und Raum -- Filter nach Wurzelgerät, Kategorie und Namensbestandteil -- Neues Feld Raumnummer -- Import-Dubletten: Inventarnummer global eindeutig, leere Werte erlaubt; Seriennummer nur zusammen mit Hersteller -- Schutz vor Kreisbeziehungen in der Hierarchie - -Nicht enthalten: .env, docker-compose.yml, config.json, Daten, Uploads oder Logs. diff --git a/UPDATE-0.3.5.1.txt b/UPDATE-0.3.5.1.txt deleted file mode 100644 index 1a1cc89..0000000 --- a/UPDATE-0.3.5.1.txt +++ /dev/null @@ -1,13 +0,0 @@ -AssetManager 0.3.5.1 - Hotfix Diagramme nach Anmeldung - -Behoben: -- Jinja2-Fehler "builtin_function_or_method object is not iterable" -- Ursache war die Kollision des Dictionary-Schlüssels "items" mit der Python-Methode dict.items - -Installation: -1. ZIP im Verzeichnis oberhalb von assetmanager entpacken. -2. Container neu starten bzw. neu bauen. -3. Browser mit Strg+F5 aktualisieren. - -Dieses Paket enthält ausschließlich die korrigierte Diagrammvorlage und diese Update-Datei. -Keine Konfiguration, Datenbankdaten, Uploads oder Logs werden überschrieben. diff --git a/UPDATE-0.3.5.txt b/UPDATE-0.3.5.txt deleted file mode 100644 index 0728c16..0000000 --- a/UPDATE-0.3.5.txt +++ /dev/null @@ -1,24 +0,0 @@ -AssetManager 0.3.5 – konfigurierbare Diagramme - -Neu: -- Menüpunkt „Diagramme“ für alle berechtigten Benutzer -- Admin-Verwaltung zum Erstellen, Bearbeiten und Löschen von Diagrammen -- Diagrammtypen: Donut, Kuchen, Balken, gestapelte Balken -- Gruppierung nach Kategorie, Status, Betriebssystem, Hersteller, Modell, - Standort, Raumnummer, Abteilung, MeshCentral-Gruppe, Antivirus oder TPM-Version -- Optionale zweite Gruppierung für gestapelte Balken -- Anzeige ausgewählter Diagramme auf der Übersicht -- Berechtigungen werden berücksichtigt: Nicht-Admins sehen nur Auswertungen der - MeshCentral-Gruppen, für die sie freigeschaltet sind -- Standarddiagramme werden beim ersten Öffnen automatisch angelegt - -Installation: -1. ZIP im Verzeichnis oberhalb von assetmanager entpacken. -2. Container neu bauen und starten: - cd /srv/docker/assetmanager - docker compose down - docker compose up -d --build -3. Browser mit Strg+F5 aktualisieren. - -Die neue Tabelle chart_definitions wird automatisch angelegt. -Konfigurationsdateien, .env, Datenbankdaten, Uploads und Logs sind nicht im Paket enthalten. diff --git a/UPDATE-0.3.6.2.txt b/UPDATE-0.3.6.2.txt deleted file mode 100644 index 9a9c7a1..0000000 --- a/UPDATE-0.3.6.2.txt +++ /dev/null @@ -1,15 +0,0 @@ -AssetManager 0.3.6.2 - -Neu: -- Benutzer können in der Benutzerverwaltung gelöscht werden. -- Schutz vor Löschen des aktuell angemeldeten Benutzers. -- Schutz vor Löschen des letzten aktiven Administrators. -- Mehrfachauswahl in der Asset-Tabelle inklusive „Alle markieren“. -- Massenaktion „Daten ändern“ für gemeinsame Felder der ausgewählten Gerätekategorien. -- Massenaktion „Markierte löschen“. -- Jede Massenänderung wird in der Asset-Historie protokolliert. - -Sicherheit: -Inventarnummer, Seriennummer, MeshCentral Node-ID und übergeordnetes Gerät sind von Massenänderungen ausgeschlossen. - -Das Update enthält keine .env, config.json, Datenbankdaten, Uploads oder Logs. diff --git a/UPDATE-0.3.6.3.txt b/UPDATE-0.3.6.3.txt deleted file mode 100644 index c57f4cb..0000000 --- a/UPDATE-0.3.6.3.txt +++ /dev/null @@ -1,12 +0,0 @@ -AssetManager 0.3.6.3 - -Änderungen: -- Übergeordnetes Gerät (parent_asset_id) ist in der Massenänderung verfügbar. -- Auswahl des übergeordneten Geräts erfolgt über ein Dropdown. -- Schutz vor Selbstzuordnung und zyklischen Baumstrukturen. -- LDAP-Ergebnisliste besitzt Checkboxen und eine Aktion zum Speichern ausgewählter Benutzer. -- Bereits vorhandene Benutzer werden nicht erneut auswählbar angeboten. -- Leere LDAP-Suche zeigt alle aktiven AD-Benutzer. -- LDAP-Suche unterstützt * als Wildcard. - -Dieses Update enthält keine Konfiguration, .env, Datenbankdaten, Uploads oder Logs. diff --git a/UPDATE-0.3.6.txt b/UPDATE-0.3.6.txt deleted file mode 100644 index 09d3fa6..0000000 --- a/UPDATE-0.3.6.txt +++ /dev/null @@ -1,13 +0,0 @@ -AssetManager 0.3.6 – Diagramm-Werte zusammenfassen - -Neu: -- Diagramme können Rohwerte automatisch zusammenfassen. -- Betriebssysteme werden z. B. zu Windows 11, Windows 10, Windows Server, Ubuntu usw. gruppiert. -- Eigene Zuordnungen sind pro Diagramm möglich: Suchtext => Anzeigename. -- Die Originalwerte der Assets werden nicht verändert. -- Das bestehende Standarddiagramm „Betriebssysteme“ wird automatisch auf Zusammenfassung umgestellt. - -Installation: -1. ZIP im Verzeichnis oberhalb von assetmanager entpacken. -2. Container neu bauen/starten. -3. Browser mit Strg+F5 aktualisieren. diff --git a/UPDATE-0.3.7.10.txt b/UPDATE-0.3.7.10.txt deleted file mode 100644 index e5c6e52..0000000 --- a/UPDATE-0.3.7.10.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.3.7.10 - -- Sprachwechsel auf der Login-Seite verwendet die Session-Sprache, solange noch kein Benutzer angemeldet ist. -- /profile/language ist vor der Anmeldung ausdrücklich freigegeben. -- Vor der Anmeldung wird die Sprache nur in der Session gespeichert, nicht in einem Benutzerkonto. -- Korrekte englische und deutsche Login-Texte werden beim Start geprüft und repariert. -- Toastmeldungen erscheinen unten rechts und überdecken damit nicht mehr die Navigations- und Aktionsschaltflächen oben rechts. -- Keine Konfigurations-, Daten-, Upload- oder Logdateien enthalten. diff --git a/UPDATE-0.3.7.3.txt b/UPDATE-0.3.7.3.txt deleted file mode 100644 index 711d205..0000000 --- a/UPDATE-0.3.7.3.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.3.7.3 - -Korrektur der Reihenfolge im Bereich Einstellungen > Darstellung: -- Firmenlogo auswählen -- vorhandene Logo-Vorschau und Option "Logo entfernen" -- Standardsprache - -Es werden keine Konfigurations-, Datenbank-, Upload- oder Logdateien überschrieben. diff --git a/UPDATE-0.3.7.4.txt b/UPDATE-0.3.7.4.txt deleted file mode 100644 index f9af1f3..0000000 --- a/UPDATE-0.3.7.4.txt +++ /dev/null @@ -1,18 +0,0 @@ -AssetManager 0.3.7.4 - -Kumulative Korrektur auf Basis der vom Benutzer bereitgestellten 0.3.7.3-Dateien. - -Änderungen: -- Sprachmenü mit dunkelblauem Hintergrund und gut lesbarer weißer Schrift. -- Schaltfläche "Alle löschen" aus den Assetlisten entfernt. -- Neue Asset-Spalte mesh_mtype (Integer), automatische Migration und Index. -- MeshCentral-Sync speichert node.mtype; nur falls nicht vorhanden, wird für das bestehende Kategorienmapping weiterhin node.icon verwendet. -- mesh_mtype wird im Assetdetail immer schreibgeschützt angezeigt. -- Kategorie-Felddefinitionen besitzen nun die Eigenschaft readonly. -- mesh_node_id und mesh_mtype sind immer readonly. -- Readonly-Felder werden bei manueller Anlage, Bearbeitung, Excel-Import und Massenänderung nicht verändert. -- Neuer Admin-Button "Mesh Debug" im Assetdetail. -- Der Debug-Aufruf startet eine aktuelle MeshCentral-Synchronisierung, gibt das gespeicherte Roh-JSON als JSON-Antwort zurück, schreibt es in die Browserkonsole und speichert eine Datei unter /app/data/logs/mesh-debug/. -- Der Browser stellt das Ergebnis zusätzlich unter window.meshDebugData bereit. - -Enthält keine .env, config.json, Datenbankdaten, Uploads oder sonstige persistente Daten. diff --git a/UPDATE-0.3.7.5.txt b/UPDATE-0.3.7.5.txt deleted file mode 100644 index 3e21e82..0000000 --- a/UPDATE-0.3.7.5.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.3.7.5 - -- Weitere feste Oberflächentexte auf Übersetzungsschlüssel umgestellt: - Dashboard, Assetliste, Asset tree, Charts, Kategorien, Statuswerte, - MeshCentral-Synchronisierung und Einstellungen. -- Neue englische und deutsche Übersetzungseinträge werden beim Start ergänzt. -- Profilansicht responsiv korrigiert; Bereiche stehen sauber nebeneinander - und auf kleineren Bildschirmen untereinander. -- Sprachdropdown bleibt dunkel und kontrastreich lesbar. - -Keine .env, config.json, Datenbankdaten, Uploads oder Logs enthalten. diff --git a/UPDATE-0.3.7.8.txt b/UPDATE-0.3.7.8.txt deleted file mode 100644 index baac6f0..0000000 --- a/UPDATE-0.3.7.8.txt +++ /dev/null @@ -1,16 +0,0 @@ -AssetManager 0.3.7.8 - -Änderungen: -- Benutzerprofil linksbündig ausgerichtet. -- Benutzerinformationen und Sprache stehen auf großen Bildschirmen nebeneinander. -- Unter 900 px werden die Bereiche responsiv untereinander dargestellt. -- Mehrfachwerte aus MeshCentral werden mit sichtbaren Trennlinien bzw. Zeilenumbrüchen gespeichert. -- Arbeitsspeichermodule und Datenträger erhalten eine deutliche Trennlinie. -- Mehrere GPU- und Antivirus-Einträge werden jeweils in separaten Zeilen gespeichert. -- Mehrzeilige Assetwerte werden in der Detailansicht mit erhaltenen Zeilenumbrüchen angezeigt. - -Enthaltene Dateien: -- app/templates/profile.html -- app/templates/asset_detail.html -- app/static/css/app.css -- app/meshcentral.py diff --git a/UPDATE-0.3.8.2.txt b/UPDATE-0.3.8.2.txt deleted file mode 100644 index 726639a..0000000 --- a/UPDATE-0.3.8.2.txt +++ /dev/null @@ -1,17 +0,0 @@ -AssetManager 0.3.8.2 – vollständige MeshCentral-Mapping-Reparatur - -Wesentliche Änderungen: -- Alle bisherigen MeshCentral-Felder werden als aktivierte System-Mappings in PostgreSQL angelegt/repariert. -- IP, MAC, RAM, Datenträger, GPU und Antivirus verwenden konfigurierbare Spezial-Transformationen. -- Die Synchronisierung liest Assetwerte ausschließlich aus mesh_field_mappings; die alte parallele Hardcode-Zuordnung wurde entfernt. -- Alte field_rules aus config.json werden beim ersten Start in die System-Mappings übernommen. -- Eigene Mapping-Regeln können in der MeshCentral-Seite angelegt, bearbeitet, deaktiviert und gelöscht werden. -- System-Mappings können bearbeitet/deaktiviert, aber nicht gelöscht werden. -- Source Paths unterstützen Punktnotation, [] für Listen und | für alternative Pfade. -- MeshCentral-Verbindung, Verhalten und Mappings sind auf der Seite klar getrennt. -- Ein Klartextkennwort aus Altversionen wird beim nächsten Speichern der Verbindung aus config.json entfernt. Das Kennwort bleibt in .env. - -Nicht überschreiben: -.env, config.json, data/config/config.json, Datenbank-/Daten-Volumes, Uploads und Logs. - -Rollback: v0.3.7.10. diff --git a/UPDATE-0.3.8.3.txt b/UPDATE-0.3.8.3.txt deleted file mode 100644 index 83a34d4..0000000 --- a/UPDATE-0.3.8.3.txt +++ /dev/null @@ -1,35 +0,0 @@ -AssetManager v0.3.8.3 – dynamische MeshCentral-Feldsynchronisierung -=================================================================== - -Korrekturen: -- Feste SYNC_FIELDS-Liste vollständig entfernt. -- Ausschließlich aktivierte Einträge aus mesh_field_mappings bestimmen die Synchronisierung. -- Systemfelder werden dynamisch über field_definitions und die Asset-Spalten geschrieben. -- Custom-Felder werden dynamisch in asset_field_values gespeichert. -- Neue Mappings auf bestehende System- oder Custom-Felder funktionieren ohne Codeänderung. -- Update-Regeln fill_empty, meshcentral_wins und local_wins gelten für beide Feldarten. -- Pro tatsächlich angewendetem Mapping erscheint eine Debug-Zeile im Live-Protokoll. -- Unbekannte/inaktive Zielfelder und fehlende Systemspalten werden verständlich protokolliert. -- mesh_mtype wurde im ORM-Modell ergänzt; die vorhandene Migration bleibt kompatibel. -- Neue Assets werden vor dem Schreiben von Custom-Feldern geflusht, damit asset_id korrekt gesetzt ist. - -Installation: -1. Datenbank sichern. -2. ZIP im bestehenden AssetManager-Verzeichnis entpacken. -3. Vorhandene .env, config.json, Daten, Uploads und Logs nicht ersetzen. -4. docker compose down -5. docker compose up -d --build -6. docker compose logs --tail=200 app - -Prüfung: -- Auf der MeshCentral-Seite nur die gewünschten Mapping-Regeln aktivieren. -- Für Teständerungen Update-Regel "MeshCentral gewinnt" verwenden. -- Im Live-Protokoll nach "Mapping '' angewendet" suchen. - -Getestet: -- Python-Syntax aller App-Module. -- Isolierter SQLite-Lauf mit einem Systemfeld (notes), mesh_mtype und einem Custom-Feld. -- Derselbe RAM-Quellpfad wurde erfolgreich gleichzeitig in notes und in ein Custom-Feld geschrieben. - -Nicht durchgeführt: -- Kein Produktivtest gegen die reale PostgreSQL-/MeshCentral-Installation des Anwenders. diff --git a/UPDATE-0.3.8.4.txt b/UPDATE-0.3.8.4.txt deleted file mode 100644 index c7badfd..0000000 --- a/UPDATE-0.3.8.4.txt +++ /dev/null @@ -1,36 +0,0 @@ -AssetManager v0.3.8.4 -===================== - -Änderungen ----------- -1. Kategorie in der Massenänderung - - "Daten ändern" bietet jetzt das Feld "Kategorie" an. - - Die ausgewählten Assets können gemeinsam in eine andere Kategorie verschoben werden. - - Die Änderung wird in der Asset-Historie protokolliert. - -2. Kategorie in Excel-Importvorlage und Import - - Die Importvorlage enthält die Spalte "Kategorie". - - Pro Zeile kann der Kategoriename oder die numerische Kategorie-ID angegeben werden. - - Bleibt die Zelle leer, wird die im Importdialog ausgewählte Kategorie verwendet. - - Unbekannte Kategorien werden zeilenbezogen als Fehler gemeldet. - -3. Auswahl bei gefilterten Tabellen - - "Alle markieren" berücksichtigt nur aktuell sichtbare Tabellenzeilen. - - Durch einen Filter ausgeblendete Zeilen werden automatisch abgewählt. - - Datenänderung und Löschen erhalten ausschließlich sichtbare, markierte IDs. - -4. Sprachabhängige Sortierung - - Aktive Statuswerte werden alphabetisch gemäß Benutzersprache sortiert. - - Kategorien und Geräte in den neuen/angepassten Dropdowns werden ebenfalls sprachabhängig sortiert. - - Für Deutsch werden Umlaute bei der Sortierung wie ae/oe/ue behandelt. - -Installation ------------- -Dieses Update setzt v0.3.8.3 voraus. -Vorhandene .env-, config.json-, Datenbank-, Upload- und Logdaten sind nicht im ZIP enthalten. - - unzip -o assetmanager-v0.3.8.4-bulk-category-filter-selection-sorting.zip - cd assetmanager - docker compose up -d --build - -Danach Browser-Cache mit Strg+F5 aktualisieren. diff --git a/UPDATE-0.3.8.5.txt b/UPDATE-0.3.8.5.txt deleted file mode 100644 index b12bb5b..0000000 --- a/UPDATE-0.3.8.5.txt +++ /dev/null @@ -1,22 +0,0 @@ -AssetManager 0.3.8.5 -==================== - -Änderungen: -- Fehlenden Import `from typing import Any` dauerhaft übernommen. -- Sprach-/Benutzermenü: lesbare Schriftfarbe `color:#222` und kompakte Formulare im Dropdown. -- Strg+S speichert das aktuell sichtbare Formular über dessen Speichern-Schaltfläche. -- Neue Benutzeroption im Profil: dauerhafte Browserspeicherung. -- Tabellenfilter werden je Tabelle und Benutzerbrowser gespeichert. -- Bei aktivierter Option erfolgt die Speicherung in localStorage und bleibt nach dem Schließen des Browsers erhalten. -- Bei deaktivierter Option wird sessionStorage verwendet; der Zustand bleibt innerhalb des geöffneten Browser-Tabs erhalten. -- Die Spaltenreihenfolge der Asset-Tabelle verwendet dieselbe Speichereinstellung. - -Datenbankmigration: -- users.persist_browser_state BOOLEAN DEFAULT FALSE - -Nicht enthalten/überschrieben: -- .env -- config.json und data/config/config.json -- Datenbank-/PostgreSQL-Volumes -- Uploads -- Logs diff --git a/UPDATE-0.3.8.6.txt b/UPDATE-0.3.8.6.txt deleted file mode 100644 index 43b5cc1..0000000 --- a/UPDATE-0.3.8.6.txt +++ /dev/null @@ -1,25 +0,0 @@ -AssetManager v0.3.8.6 - -Änderungen: -- Toast-Position pro Benutzer einstellbar: links/mitte/rechts, oben/unten. -- Toast-Anzeigedauer pro Benutzer von 1 bis 120 Sekunden einstellbar. -- Der Button und der Endpunkt „Alles löschen“ wurden entfernt. -- Diagramme können über die Verwaltungsseite eingesehen und bearbeitet werden. -- Standarddiagramme sind bearbeitbar, aber gegen Löschen geschützt. -- Diagramme können dupliziert werden. -- Pro Diagramm können mehrere Statuswerte ausgeschlossen werden. -- Der Statusfilter wird sowohl auf der Diagrammseite als auch auf dem Dashboard angewendet. -- Enthält weiterhin die Korrekturen aus v0.3.8.5 (Any-Import, Sprachmenü, Strg+S und Browserzustand). - -Automatische Datenbankergänzungen: -- users.toast_position -- users.toast_duration_seconds -- chart_definitions.excluded_statuses -- chart_definitions.is_system - -Nicht enthalten/überschrieben: -- .env -- config.json -- Datenbank- und Daten-Volumes -- Uploads -- Logs diff --git a/UPDATE-0.3.9.0.txt b/UPDATE-0.3.9.0.txt deleted file mode 100644 index 56c3995..0000000 --- a/UPDATE-0.3.9.0.txt +++ /dev/null @@ -1,16 +0,0 @@ -AssetManager v0.3.9.0 – MeshCentral Geräteinventar - -Neu: -- Hardwareinventar wird bei jeder MeshCentral-Synchronisierung als JSON-Snapshot gespeichert. -- Softwareinventar wird gespeichert, sofern die MeshCentral-Antwort ein Softwaresegment enthält. -- Vollständige Rohdaten bleiben zusätzlich in mesh_source_data erhalten. -- Neue Geräteansicht mit Tabs Hardware, Software, MeshCentral JSON und Synchronisierung. -- Aufklappbare Baumdarstellung für beliebig verschachtelte Hardwaredaten. -- Filterbare Softwaretabelle. -- Download des vollständigen Geräteinventars als JSON. -- Automatische Datenbankerweiterung um mesh_hardware_data, mesh_software_data und mesh_inventory_updated_at. - -Hinweis: -Die aktuelle MeshCentral ListDevices-details-Ausgabe enthält Hardwaredaten, aber je nach Agent/Server-Version keine installierte Software. In diesem Fall zeigt der Software-Tab einen entsprechenden Hinweis. Sobald MeshCentral ein Softwaresegment liefert, wird es ohne weitere Datenbankänderung übernommen. - -Dieses Update enthält keine .env, config.json, Datenbank-, Upload- oder Logdateien. diff --git a/UPDATE-0.3.9.1.txt b/UPDATE-0.3.9.1.txt deleted file mode 100644 index aa3613e..0000000 --- a/UPDATE-0.3.9.1.txt +++ /dev/null @@ -1,13 +0,0 @@ -AssetManager v0.3.9.1 -======================= - -Änderungen: -- Schriftfarbe der Geräteinventar-Registerkarten explizit auf Schwarz gesetzt. -- Farbige Symbole für Hardware-Hauptsektionen und Unterbereiche ergänzt. -- Globales Feld „Eigenes CSS“ in den Einstellungen ergänzt. -- Das gespeicherte Custom CSS wird über /custom.css nach app.css geladen und kann Standardregeln überschreiben. -- Custom CSS wird in general.custom_css der bestehenden config.json gespeichert. - -Hinweis: -- .env, config.json, Datenbank-, Upload- und Logdateien sind nicht im Update enthalten. -- Das Paket wurde syntaktisch und über Jinja-Template-Laden geprüft, aber nicht gegen die produktive PostgreSQL-/Docker-Umgebung getestet. diff --git a/UPDATE-0.3.9.2.txt b/UPDATE-0.3.9.2.txt deleted file mode 100644 index 222f0e9..0000000 --- a/UPDATE-0.3.9.2.txt +++ /dev/null @@ -1,17 +0,0 @@ -AssetManager v0.3.9.2 – erweitertes MeshCentral-Geräteinventar - -Änderungen: -- Hardwareinventar wird aus mehreren MeshCentral-JSON-Bereichen aufgebaut, nicht nur aus sys.hardware. -- Netzwerkadapter aus net.netif2 inklusive IPv4, IPv6, MAC, Gateway, Netzmaske, Status, Typ, DNS-Suffix und Schnittstellenindex. -- Loopback-Adapter werden in der normalen Inventaransicht ausgeblendet. -- Sicherheitsbereich mit deduplizierten Antivirus-Produkten, Windows-Sicherheitscenter und Defender-Status. -- Bereiche für Systemübersicht, BIOS/UEFI, Mainboard, CPU, RAM, Datenträger/Volumes, Grafik, TPM, Betriebssystemdetails sowie MeshCentral-/Laufzeitdaten. -- Unbekannte zusätzliche Hardwarebereiche bleiben unter „Weitere Hardwaredaten“ sichtbar. -- Bereits gespeicherte Rohdaten werden in der Detailansicht als Fallback sofort aufbereitet; eine neue Synchronisierung schreibt den neuen Snapshot dauerhaft. -- Deutsche Abschnittsnamen erhalten passende Symbole im Inventarbaum. - -Hinweise: -- mesh_source_data bleibt unverändert als vollständiges Roh-JSON erhalten. -- Keine .env-, config.json-, Datenbank-, Upload- oder Logdateien enthalten. -- Python-Syntax, Jinja-Templates und die Aufbereitung anhand des bereitgestellten vollständigen MeshCentral-Datensatzes wurden geprüft. -- Kein produktiver Docker-/PostgreSQL-Test durchgeführt. diff --git a/UPDATE-0.3.9.3.txt b/UPDATE-0.3.9.3.txt deleted file mode 100644 index 5318a47..0000000 --- a/UPDATE-0.3.9.3.txt +++ /dev/null @@ -1,16 +0,0 @@ -AssetManager v0.3.9.3 – übersetzbares Geräteinventar und kompakter Hardwarebaum - -Änderungen: -- Geräteinventar verwendet für alle neu aufbereiteten Hauptsegmente und bekannten Eigenschaften sprachneutrale i18n-Schlüssel. -- Deutsche und englische Übersetzungen für Inventar, Netzwerk, Sicherheit, Laufzeit, Tabs und Meldungen ergänzt. -- Bestehende Rohdaten werden beim Öffnen erneut aufbereitet, damit ältere deutsch beschriftete Snapshots ohne erneute Synchronisierung aktualisiert werden. -- Hardwarebaum ist beim ersten Öffnen vollständig zugeklappt; nur die Hauptsegmente stehen untereinander. -- Auf-/Zuklappzustand wird über das vorhandene Browser-State-System je Asset gespeichert. -- Letzte Erweiterungen in Diagrammverwaltung, Diagrammformular, Custom CSS und relevanten Einstellungen auf i18n-Nutzung umgestellt. -- Netzwerkdaten inklusive IPv4/IPv6, Gateway, Netzmaske und MAC bleiben enthalten. - -Validierung: -- Python-Syntaxprüfung erfolgreich. -- Alle Jinja2-Templates geladen. -- Inventaraufbereitung mit dem bereitgestellten vollständigen MeshCentral-JSON getestet. -- Kein produktiver Docker-/PostgreSQL-Test durchgeführt. diff --git a/UPDATE-0.3.9.4.txt b/UPDATE-0.3.9.4.txt deleted file mode 100644 index 14eb843..0000000 --- a/UPDATE-0.3.9.4.txt +++ /dev/null @@ -1,19 +0,0 @@ -# AssetManager v0.3.9.4 - -## Excel-Import und -Export über Asset-ID - -- Die interne `Asset.id` wird im Asset-Export als erste Spalte `Asset-ID` ausgegeben. -- Die Excel-Importvorlage enthält ebenfalls als erste Spalte `Asset-ID`. -- Zeilen mit Asset-ID aktualisieren ausschließlich den vorhandenen Datensatz mit dieser ID. -- Zeilen ohne Asset-ID legen immer ein neues Asset an. -- Eine unbekannte oder ungültige Asset-ID erzeugt einen Zeilenfehler; es wird kein neues Asset angelegt. -- Bei Updates werden nur ausgefüllte Excel-Zellen übernommen. -- Leere Excel-Zellen löschen oder überschreiben keine vorhandenen Werte. -- Eine bestehende Kategorie wird nur geändert, wenn in der Zeile ausdrücklich eine Kategorie angegeben ist. -- Der Asset-Detail-Template-Hotfix aus v0.3.9.3.1 ist enthalten. - -## Validierung - -- Python-Syntaxprüfung durchgeführt. -- ZIP-Struktur geprüft. -- Kein produktiver Test gegen die bestehende PostgreSQL-Datenbank durchgeführt. diff --git a/UPDATE-0.3.9.5.txt b/UPDATE-0.3.9.5.txt deleted file mode 100644 index 5d0591b..0000000 --- a/UPDATE-0.3.9.5.txt +++ /dev/null @@ -1,21 +0,0 @@ -# AssetManager v0.3.9.5 - -## Excel-Import unabhängig von Kategoriefeldern - -- Standardmäßig werden alle global bekannten Felder importiert, die im Feldkatalog: - - aktiv sind, - - für Excel-Import freigegeben sind, - - nicht schreibgeschützt sind. -- Die Felder müssen in der Zielkategorie nicht aktiv oder sichtbar sein. -- Neue Option im Importdialog: `Import only active fields` -- Die Option ist standardmäßig deaktiviert. -- Ist sie aktiviert, werden nur die aktiven Felder der jeweiligen Kategorie importiert. -- Systemfelder und dynamische benutzerdefinierte Felder werden unterstützt. -- Leere Excel-Zellen überschreiben weiterhin keine bestehenden Werte. -- Die Importvorlage enthält alle global importierbaren Felder. - -## Validierung - -- Python-Syntaxprüfung erfolgreich. -- ZIP-Struktur geprüft. -- Kein produktiver Import gegen die bestehende PostgreSQL-Datenbank durchgeführt. diff --git a/UPDATE-0.3.9.6.1.txt b/UPDATE-0.3.9.6.1.txt deleted file mode 100644 index 17b2424..0000000 --- a/UPDATE-0.3.9.6.1.txt +++ /dev/null @@ -1,31 +0,0 @@ -# AssetManager v0.3.9.6.1 - -## Assetliste -- Serverseitige Seitennavigation wieder entfernt. -- Die komplette Assetliste wird wieder auf einer Seite geladen. -- Tabellenfilter durchsuchen dadurch wieder alle Assets. -- Die Query-Optimierungen aus v0.3.9.6 bleiben erhalten: - - selectinload für Kategorienfelder - - Kategorie pro Asset mit joinedload - - Sortierung in PostgreSQL - - keine wiederholte Mitladung der Kategorienfelder je Asset - -## Datumsfelder -- Excel-Datumswerte werden anhand der Felddefinition normalisiert. -- Felder vom Typ date werden als YYYY-MM-DD gespeichert. -- Felder vom Typ datetime werden als YYYY-MM-DDTHH:MM gespeichert. -- Der Bearbeitungsdialog formatiert alte Zeitstempel korrekt für HTML-Datumsfelder. -- Beim Start werden ältere Werte wie YYYY-MM-DD 00:00:00 in den Systemfeldern - purchase_date, warranty_until und assigned_on auf YYYY-MM-DD korrigiert. - -## Ursache -OpenPyXL liest formatierte Excel-Datumszellen häufig als Python-datetime. -Die bisherige Importfunktion speicherte daraus YYYY-MM-DD 00:00:00. -Die Detailansicht konnte diesen Text anzeigen, ein HTML-input type=date akzeptiert -jedoch ausschließlich YYYY-MM-DD und erschien deshalb leer. - -## Validierung -- Python-Syntaxprüfung erfolgreich. -- Jinja2-Templates syntaktisch geprüft. -- ZIP-Struktur geprüft. -- Kein produktiver Lauf gegen die bestehende PostgreSQL-Datenbank durchgeführt. diff --git a/UPDATE-0.3.9.6.2.txt b/UPDATE-0.3.9.6.2.txt deleted file mode 100644 index 11de4c3..0000000 --- a/UPDATE-0.3.9.6.2.txt +++ /dev/null @@ -1,26 +0,0 @@ -# AssetManager v0.3.9.6.2 - -Hotfix für den Startfehler: - -NameError: name '_html_field_value' is not defined - -Ursache: -Die Jinja2-Hilfsfunktion wurde als Template-Global registriert, bevor ihre -Python-Funktion definiert war. - -Korrektur: -Die Registrierung erfolgt jetzt unmittelbar nach der Funktionsdefinition. - -Alle Änderungen aus v0.3.9.6.1 bleiben enthalten: -- vollständige Assetliste ohne Pagination -- optimierte Datenbankabfragen -- Datumsnormalisierung für Excel-Import -- Anzeige alter Datumswerte im Bearbeitungsformular -- automatische Reparatur älterer Datumsstrings beim Start - -Validierung: -- Reihenfolge von Definition und Registrierung geprüft -- Python-Syntaxprüfung erfolgreich -- Jinja2-Templates syntaktisch geprüft -- ZIP-Struktur geprüft -- kein produktiver Docker-/PostgreSQL-Lauf durchgeführt diff --git a/UPDATE-0.3.9.6.3.txt b/UPDATE-0.3.9.6.3.txt deleted file mode 100644 index 5bb8f05..0000000 --- a/UPDATE-0.3.9.6.3.txt +++ /dev/null @@ -1,6 +0,0 @@ -v0.3.9.6.3 - -- Standardsortierung der Assetliste immer nach Bezeichnung (alphabetisch). -- Neuer Button 'Inhalt neu laden'. -- Lädt die Asset-Tabelle per AJAX neu, ohne die komplette Seite zu aktualisieren. -- Filter, Scrollposition und Browserzustand bleiben erhalten. diff --git a/UPDATE-0.3.9.6.txt b/UPDATE-0.3.9.6.txt deleted file mode 100644 index c5b06f2..0000000 --- a/UPDATE-0.3.9.6.txt +++ /dev/null @@ -1,28 +0,0 @@ -# AssetManager v0.3.9.6 - -## Excel-Importergebnis -- Ausgabe je Excel-Zeile mit Excel-Zeilennummer, Asset-ID, Aktion und Begründung. -- Übersprungene Zeilen zeigen ausdrücklich, dass keine Änderungen festgestellt wurden. -- Fehler und Neuanlagen erscheinen ebenfalls zeilenweise. - -## Performance der Assetliste -- Serverseitige Seitennavigation. -- Standard: 100 Assets pro Seite; zulässig 25 bis 250. -- SQL LIMIT/OFFSET statt Laden aller Assets. -- Kategorienfelder werden mit selectinload geladen. -- Assets laden nur die Kategorie, nicht erneut alle Kategorienfelder. -- Sortierung erfolgt in PostgreSQL ohne Beachtung der Groß-/Kleinschreibung. -- Kategorie-Assetzahlen werden aggregiert statt über N+1-Lazy-Loads ermittelt. - -## Standardfelder -- Neues Merkmal `is_default` an Felddefinitionen. -- In den Feldeinstellungen kann ein Feld als Standardfeld markiert werden. -- Kategorienliste enthält Auswahl-Checkboxen. -- Aktion `Standardfelder aktivieren` aktiviert alle markierten Standardfelder in den ausgewählten Kategorien. -- Die Migration markiert die bisherigen DEFAULT_FIELDS initial als Standardfelder. - -## Validierung -- Python-Syntaxprüfung durchgeführt. -- Jinja2-Templates syntaktisch geprüft. -- ZIP-Struktur geprüft. -- Kein produktiver Lauf gegen die bestehende PostgreSQL-Datenbank durchgeführt. diff --git a/UPDATE-0.3.9.7.txt b/UPDATE-0.3.9.7.txt deleted file mode 100644 index 4b16950..0000000 --- a/UPDATE-0.3.9.7.txt +++ /dev/null @@ -1,30 +0,0 @@ -# AssetManager v0.3.9.7 - -## Standardfelder -- Die Aktion „Standardfelder aktivieren“ setzt jetzt zusätzlich - `show_in_list = True`. -- Bereits vorhandene Standardfelder werden ebenfalls für die Listenanzeige - aktiviert. -- Neu angelegte Feldzuordnungen sind sofort aktiv und in der Liste sichtbar. - -## Datensatzanzeige -- Jede Tabelle mit der Klasse `data-table` erhält oben rechts eine Anzeige: - „Angezeigt: X von Y Datensätzen“. -- Ausgeblendete Zeilen durch Such- und Spaltenfilter werden berücksichtigt. -- Die Anzeige aktualisiert sich bei Filtereingaben und Tabellenänderungen. - -## Assetliste -- Neuer direkter Bearbeiten-Button ✎ in jeder Zeile. - -## Scrollverhalten -- Seiten mit einer `sticky-table` verwenden auf Desktop nur noch den - Tabellenbereich als vertikale Scrollfläche. -- Die äußere Browserseite scrollt auf diesen Listenseiten nicht zusätzlich. -- Für kleinere Bildschirme bleibt ein responsiver Rückfall erhalten. - -## Validierung -- Python-Syntaxprüfung erfolgreich. -- Jinja2-Templates syntaktisch geprüft. -- JavaScript-Datei strukturell geprüft. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein produktiver Docker-/PostgreSQL-Lauf durchgeführt. diff --git a/UPDATE-0.3.9.8.txt b/UPDATE-0.3.9.8.txt deleted file mode 100644 index e173bd9..0000000 --- a/UPDATE-0.3.9.8.txt +++ /dev/null @@ -1,33 +0,0 @@ -# AssetManager v0.3.9.8 - -## Browser-Tab-Logo / Favicon -- Neues Uploadfeld in Einstellungen → Allgemein. -- Upload funktioniert analog zum vorhandenen Firmenlogo. -- Unterstützte Formate: PNG, JPG, JPEG, WEBP und GIF. -- Vorhandenes Favicon kann angezeigt, ersetzt und entfernt werden. -- Wenn kein eigenes Favicon gesetzt ist, wird das Firmenlogo als Fallback genutzt. - -## Übersetzungen -- Neue und bestehende Texte der Assetliste wieder über `t()` ausgegeben. -- Datensatzanzeige erhält lokalisierte Texte aus dem Template. -- Dynamische Schaltflächen behalten die Sprache auch bei Zähleränderungen. - -## Kategorienliste -- Ungültige verschachtelte Formulare entfernt. -- Gerade Tabellenlinien im Aktionsbereich wiederhergestellt. -- Neue Spalten: Felder gesamt, aktive Felder, in Liste sichtbare Felder. -- Aktive Attribute werden als kompakte Chips dargestellt. -- Blau markierte Chips sind zusätzlich in der Assetliste sichtbar. - -## Assetliste -- Bearbeiten-Symbol mit eigener CSS-Klasse und robustem HTML-Zeichen korrigiert. -- Tabellenzellen verwenden wieder normale Tabellengeometrie. - -## Scrollverhalten -- Single-Scroll-Modus wird ausschließlich auf Seiten mit `#asset-table` aktiviert. - -## Validierung -- Python-Syntaxprüfung erfolgreich. -- Jinja2-Templates syntaktisch geprüft. -- ZIP-Wurzel `assetmanager/` geprüft. -- Kein produktiver Docker-/PostgreSQL-Lauf durchgeführt. diff --git a/UPDATE-0.3.9.9.txt b/UPDATE-0.3.9.9.txt deleted file mode 100644 index e156e06..0000000 --- a/UPDATE-0.3.9.9.txt +++ /dev/null @@ -1,33 +0,0 @@ -# AssetManager v0.3.9.9 - -## Horizontales Scrollen -- Oberhalb der Assettabelle gibt es eine zweite, stets erreichbare horizontale - Scrollleiste. -- Obere und untere Scrollleiste werden synchronisiert. -- Die Tabelle kann weiterhin vertikal innerhalb des Tabellenbereichs scrollen. - -## Spalten ein-/ausblenden -- Neuer Button „Spalten“ in der Assetliste. -- Rechtsklick auf eine Tabellenüberschrift öffnet ein Kontextmenü. -- Einzelne Spalten können ausgeblendet werden. -- Im Spaltendialog können ausgeblendete Spalten wieder eingeblendet werden. -- Auswahl wird benutzerspezifisch im Browser gespeichert. -- „Alle einblenden“ und „Zurücksetzen“ sind vorhanden. - -## Spaltenbreite -- Felddefinitionen besitzen die neue optionale Einstellung - „Breite in Listen (Pixel)“. -- Zulässiger Bereich: 40 bis 800 Pixel. -- Leer bedeutet automatische Breite. -- Lange Inhalte in fest begrenzten Spalten werden mit Auslassungspunkten - dargestellt. - -## Datenbank -- Neue nullable Spalte `field_definitions.list_width`. -- Lightweight-Migration ergänzt die Spalte automatisch. - -## Validierung -- Python-Syntaxprüfung durchgeführt. -- Jinja2-Templates syntaktisch geprüft. -- ZIP-Struktur geprüft. -- Kein produktiver Docker-/PostgreSQL-Lauf durchgeführt. diff --git a/UPDATE-0.4.0.0.txt b/UPDATE-0.4.0.0.txt deleted file mode 100644 index e788833..0000000 --- a/UPDATE-0.4.0.0.txt +++ /dev/null @@ -1,25 +0,0 @@ -# AssetManager v0.4.0.0 - -## Backup-System - -- Neuer produktiver Bereich unter Einstellungen > Sicherung. -- Manuelle Sicherung per Schaltfläche. -- Automatische Sicherung alle 8 Stunden. -- Automatische Löschung von Sicherungen, die älter als 3 Tage sind. -- Ablage unter `/data/backups`. -- PostgreSQL-Dump im Custom-Format. -- Sicherung von `config.json`, `APPINFO.json` und Upload-Dateien. -- Download, Upload und Löschen vorhandener Sicherungen. -- Wiederherstellung nach Eingabe von `RESTORE`. -- Automatische Sicherheitssicherung unmittelbar vor jeder Wiederherstellung. -- Vollständig deutsch/englisch übersetzbare Oberfläche. - -## Docker - -Das App-Image enthält nun `postgresql-client` für `pg_dump` und `pg_restore`. -Der Hostpfad `/data/backups` wird nach `/data/backups` in den Container eingebunden. - -## Datenschutz und Update-Schutz - -Die Datei `.env` und Umgebungsvariablen werden nicht in Sicherungen aufgenommen. -Das Update-ZIP enthält keine Laufzeitdaten, Backups, Uploads, Logs oder Datenbankdateien. diff --git a/UPDATE-0.4.0.1.txt b/UPDATE-0.4.0.1.txt deleted file mode 100644 index d8965ed..0000000 --- a/UPDATE-0.4.0.1.txt +++ /dev/null @@ -1,15 +0,0 @@ -# AssetManager v0.4.0.1 - -## Backup -- Fehler `NoneType object has no attribute get` beim manuellen Backup behoben. -- Benutzername wird nun sicher über die bestehende Session-Hilfsfunktion ermittelt. -- Backup-Seite als übersichtliche Karten- und Tabellenansicht überarbeitet. -- Neue Status-, Hilfe- und Erfolgstexte vollständig in Deutsch und Englisch übersetzt. - -## Asset-Dialog -- Raumnummer und übergeordnetes Gerät werden nicht mehr doppelt angezeigt. -- Beide Felder bleiben an ihrer konfigurierten Position und vollständig bearbeitbar. -- Bild-Beschriftung in das Übersetzungssystem aufgenommen. - -## Update-Schutz -Nicht enthalten bzw. nicht überschrieben: .env, APPINFO.json, data/config/config.json, Datenbankdaten, Uploads, Backups und Logs. diff --git a/UPDATE-0.4.0.10.txt b/UPDATE-0.4.0.10.txt deleted file mode 100644 index 1b40ab4..0000000 --- a/UPDATE-0.4.0.10.txt +++ /dev/null @@ -1,61 +0,0 @@ -# AssetManager v0.4.0.10 - -## Dark-Mode-Nacharbeiten - -### Einstellungen und Bereichsränder - -Weiße Ränder und Flächen in Einstellungsbereichen wurden entfernt. - -Diese Elemente verwenden jetzt: - -- `Inhaltsflächen` für den Hintergrund -- `Rahmenfarbe` für Umrandungen -- `Textfarbe` für Beschriftungen - -Damit werden die betroffenen Bereiche über die vorhandenen -Darstellungseinstellungen gesteuert. - -### Sprachmenü - -Nicht ausgewählte Sprachen waren im Dark Mode erst beim Überfahren mit der -Maus sichtbar. - -Korrigiert wurden: - -- Hintergrund des Menüs -- Textfarbe aller Einträge -- Hover-Zustand -- aktiver Spracheintrag -- Rahmenfarbe - -### Assetbaum - -Korrigiert wurden: - -- Kategorienamen im Dark Mode -- Legenden und Feldbeschriftungen -- Hintergrund und Text des Schalters zum Ausblenden einzelner Geräte -- Hover- und Auswahlzustände der Kategorien - -### Farbzuordnung - -Die betroffenen Elemente verwenden jetzt konsequent: - -- `Inhaltsflächen` -- `Rahmenfarbe` -- `Textfarbe` -- `Primärfarbe` - -Es wurde kein zusätzliches Farbmerkmal eingeführt. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.11.txt b/UPDATE-0.4.0.11.txt deleted file mode 100644 index dcb3b60..0000000 --- a/UPDATE-0.4.0.11.txt +++ /dev/null @@ -1,61 +0,0 @@ -# AssetManager v0.4.0.11 - -## Dark Mode auf weiteren Seiten vervollständigt - -Die verbleibenden fest codierten hellen Flächen wurden für den Dark Mode -übersteuert. - -Korrigiert wurden insbesondere: - -- MeshCentral-Synchronisierung - - Statistik-Karten - - Verbindungsformular - - Live-Protokoll - - Statushinweise -- Statuswerte - - Formularhintergrund - - Eingabefelder - - Tabellenbereich -- Sicherungen - - Übersichtskarten - - automatische Sicherung - - Upload-Bereich - - Dateiauswahl - - Backup-Tabelle -- Kategorien - - Tabellenflächen - - Aktionsformulare - - Attribut-Badges -- Übersetzungen - - Filterbereich - - Auswahlbereich - - Textfelder -- Benutzerverwaltung - - Anlageformular - - Benutzerformulare - - Gruppen- und Rechtebereiche - - Beschriftungen und Checkboxen - -## Farbzuordnung - -Die korrigierten Flächen orientieren sich weiterhin an: - -- Inhaltsflächen -- Rahmenfarbe -- Textfarbe -- Primärfarbe - -Spezielle Dark-Mode-Abstufungen werden nur verwendet, um Formulare, -Tabellenköpfe und eingebettete Bereiche visuell voneinander zu trennen. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.12.txt b/UPDATE-0.4.0.12.txt deleted file mode 100644 index e8a4aeb..0000000 --- a/UPDATE-0.4.0.12.txt +++ /dev/null @@ -1,52 +0,0 @@ -# AssetManager v0.4.0.12 - -## Ladeanzeige an Hell- und Dunkelmodus angepasst - -Der Ladebereich der Assetliste verwendet jetzt ein echtes Bildschirm-Overlay. - -### Heller Modus - -- halbtransparenter heller Hintergrund -- Inhaltsfläche und Rahmenfarbe aus der Darstellungskonfiguration -- Spinner in Primärfarbe - -### Dunkler Modus - -- dunkler halbtransparenter Bildschirmhintergrund -- dunkle Dialogfläche -- helle Beschriftungen -- dunkler Rahmen -- Spinner in Primärfarbe -- stärkere, zum Dark Mode passende Schattenwirkung - -## Weitere Dialoge und Fortschrittsanzeigen - -Zusätzlich wurden vereinheitlicht: - -- native Dialogfenster -- Dialog-Hintergründe -- HTML-Fortschrittsanzeigen -- allgemeine Fortschrittsleisten - -Diese Elemente verwenden nun ebenfalls: - -- Inhaltsflächen -- Rahmenfarbe -- Textfarbe -- Primärfarbe - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs - -Mit dieser Version ist der Theme-/Dark-Mode-Ausbau für die 0.4-Reihe -abgeschlossen. Der nächste Entwicklungsschritt startet mit v0.5.0.0 und der -Softwareinventarisierung. diff --git a/UPDATE-0.4.0.13.txt b/UPDATE-0.4.0.13.txt deleted file mode 100644 index ec8cb32..0000000 --- a/UPDATE-0.4.0.13.txt +++ /dev/null @@ -1,49 +0,0 @@ -# AssetManager v0.4.0.13 - -## Scrollbars an Hell- und Dunkelmodus angepasst - -Die Scrollbars wurden systemweit vereinheitlicht. - -Betroffen sind unter anderem: - -- Assettabelle -- obere horizontale Scrollleiste der Assettabelle -- Verwaltungstabellen -- Baumansicht -- Kategorienauswahl im Assetbaum -- Dialoge -- Protokollbereiche -- Textfelder -- Dropdown-Menüs -- sonstige scrollbare Bereiche - -## Dark Mode - -- dunkler Scrollbar-Hintergrund -- kontrastreicher graublauer Scrollgriff -- hellerer Hover-Zustand -- aktiver Zustand in Primärfarbe -- dunkle Scrollbar-Ecken - -## Heller Modus - -- heller Scrollbar-Hintergrund -- mittelgrauer Scrollgriff -- dunklerer Hover-Zustand - -## Browserunterstützung - -- Firefox über `scrollbar-color` und `scrollbar-width` -- Chromium, Edge und Safari über `::-webkit-scrollbar` - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.14.txt b/UPDATE-0.4.0.14.txt deleted file mode 100644 index 5b2ea3a..0000000 --- a/UPDATE-0.4.0.14.txt +++ /dev/null @@ -1,39 +0,0 @@ -# AssetManager v0.4.0.14 - -## Gespeicherte Tabellenfilter beim Zurücksetzen bereinigt - -Der Button „Filter zurücksetzen“ im gelben Filterhinweis leert jetzt nicht -nur die sichtbaren Filterfelder, sondern entfernt zusätzlich den dazugehörigen -gespeicherten Browserzustand. - -Damit gilt jetzt für beide Wege dasselbe Verhalten: - -- Filter manuell im Filterfeld löschen -- Filter über den gelben Hinweis zurücksetzen - -Nach dem Zurücksetzen: - -- sind alle Filterfelder leer -- verschwindet die gelbe Markierung -- verschwindet der Filterhinweis -- werden wieder alle Datensätze angezeigt -- bleibt die Tabelle auch nach einem Refresh ungefiltert - -## Technische Änderung - -Programmgesteuerte Änderungen an Eingabefeldern lösen im Browser keine -`input`- oder `change`-Ereignisse aus. Deshalb sendet der zentrale -Filter-Reset jetzt ein eigenes Ereignis. Die Browser-State-Verwaltung entfernt -daraufhin gezielt den gespeicherten Filterzustand der betroffenen Tabelle. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.2.txt b/UPDATE-0.4.0.2.txt deleted file mode 100644 index 9a15254..0000000 --- a/UPDATE-0.4.0.2.txt +++ /dev/null @@ -1,45 +0,0 @@ -# AssetManager v0.4.0.2 - -## Behoben: übergeordnetes Gerät speichern - -`parent_asset_id` wurde beim Bearbeiten zunächst durch die allgemeine -Formularverarbeitung als Text gesetzt. Die anschließende Datenbankabfrage -verglich deshalb eine Integer-ID mit einem VARCHAR-Wert. - -- `parent_asset_id` wird nicht mehr durch den allgemeinen Feld-Loop verarbeitet. -- Das Feld wird ausschließlich durch die typisierte Spezialverarbeitung gesetzt. -- Bestehende Werte werden vor Datenbankabfragen defensiv in Integer umgewandelt. -- `room_number` wird ebenfalls nur noch durch seine Spezialverarbeitung gesetzt. - -## Behoben: Filter in den übrigen Tabellen - -Tabellen ohne `data-field`-Attribute konnten seit der Tabellenoptimierung keine -Zellwerte mehr ihrem Filter zuordnen. - -- Normale Tabellen verwenden nun einen stabilen ursprünglichen Spaltenindex. -- Assettabellen verwenden weiterhin die performante `data-field`-Zuordnung. -- Sortierung und Filter bleiben auch nach DOM-Änderungen korrekt verbunden. -- Betroffen sind unter anderem Felder, Kategorien, Übersetzungen und Benutzer. - -## Behoben: vertikales Scrollen in Verwaltungstabellen - -Die großen Verwaltungstabellen besitzen wieder einen eigenen vertikalen und -horizontalen Scrollbereich mit fixierter Kopf- und Filterzeile. - -## Behoben: Raum doppelt in der Asset-Detailansicht - -`room_number` und `parent_asset_id` werden aus der allgemeinen Feldanzeige -ausgeschlossen und nur noch über ihre ausdrücklich übersetzten Spezialzeilen -ausgegeben. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.3.txt b/UPDATE-0.4.0.3.txt deleted file mode 100644 index f5f425a..0000000 --- a/UPDATE-0.4.0.3.txt +++ /dev/null @@ -1,52 +0,0 @@ -# AssetManager v0.4.0.3 - -## Assetbaum: Kategorienfilter überarbeitet - -- übersichtliche Karten statt zusammengedrängter Standard-Checkboxen -- responsive Spalten -- klarer ausgewählter Zustand -- besserer Abstand und besser lesbare Kategorienamen -- eigener Scrollbereich nur innerhalb der Kategorienauswahl - -Es wurden keine neuen fest codierten sichtbaren Texte eingeführt. - -## Verwaltungstabellen: nur noch ein vertikaler Scrollbereich - -Felder, Kategorien, Übersetzungen und Benutzerverwaltung verwenden jetzt das -Browserfenster als einzigen vertikalen Scrollbereich. Die Tabellencontainer -scrollen nur noch horizontal, falls die Tabelle breiter als die Seite ist. - -Damit entfallen ineinander verschachtelte vertikale Scrollbereiche und -unsichtbare innere Scrollbalken. - -## Filter für editierbare Tabellen - -Die Filterlogik liest jetzt zusätzlich die aktuellen Werte aus: - -- Textfeldern -- Zahlenfeldern -- Textbereichen -- Auswahllisten -- Checkboxen -- Optionsfeldern - -Dadurch funktionieren die Filter nun auch in: - -- MeshCentral-Feld-Mappings -- Status-Werten -- weiteren Tabellen mit direkt bearbeitbaren Zellen - -Nach Änderungen in einem Eingabefeld wird der Filtercache automatisch -aktualisiert. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.4.txt b/UPDATE-0.4.0.4.txt deleted file mode 100644 index 47448d5..0000000 --- a/UPDATE-0.4.0.4.txt +++ /dev/null @@ -1,42 +0,0 @@ -# AssetManager v0.4.0.4 - -## Tabellenfilter vollständig getrennt - -Die Assetliste behält ihre optimierte Tabellen-Engine. - -Alle übrigen Tabellen verwenden jetzt eine eigene, einfache und robuste -Filter- und Sortierlogik: - -- keine Filter-Caches -- keine Asset-Spaltenereignisse -- keine Zuordnung über verschiebbare Spalten -- Filterung ausschließlich anhand der festen Spaltenposition -- Filterzeilen liegen ausschließlich im Tabellenkopf -- nur Datenzeilen im `tbody` können ausgeblendet werden -- Suchfelder bleiben immer sichtbar und können jederzeit geleert werden -- bearbeitbare Werte in Inputs, Selects, Textareas, Checkboxen und - Radiobuttons werden direkt gelesen - -Damit werden insbesondere MeshCentral-Feld-Mappings, Status-Werte, Felder, -Kategorien, Übersetzungen und Benutzerverwaltung zuverlässig gefiltert. - -## Assetbaum-Filter neu angeordnet - -- Oberster Knoten, Namensfilter, Einzelschalter und Aktionen stehen oben. -- Der Kategorienfilter befindet sich darunter über die gesamte verfügbare Breite. -- Die Option zum Ausblenden einzelner Geräte wird als klarer Schalter dargestellt. -- Responsive Darstellung für kleinere Bildschirmbreiten. -- Keine neuen fest codierten sichtbaren Texte; vorhandene Übersetzungsschlüssel - werden weiterverwendet. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.5.txt b/UPDATE-0.4.0.5.txt deleted file mode 100644 index 041a5de..0000000 --- a/UPDATE-0.4.0.5.txt +++ /dev/null @@ -1,46 +0,0 @@ -# AssetManager v0.4.0.5 - -## Einheitliche Tabellenlogik - -Die getrennte Filter-Engine aus v0.4.0.4 wurde vollständig entfernt. - -Alle Tabellen verwenden jetzt dasselbe stabile Prinzip wie die Assetliste: - -- jede Spalte besitzt eine dauerhafte interne Feldkennung -- Assetspalten verwenden ihre vorhandenen `data-field`-Kennungen -- normale Tabellen erhalten automatisch synthetische Kennungen -- jede Datenzelle wird eindeutig ihrer Kopfspalte zugeordnet -- Filter lesen Zellwerte live und nicht aus einem veralteten Cache -- Eingabefelder, Selects, Textareas, Checkboxen und Radiobuttons werden - gemeinsam mit sichtbarem Zelltext ausgewertet -- nur Zeilen im Tabellenkörper können ausgeblendet werden -- die Filterzeile befindet sich ausschließlich im Tabellenkopf und bleibt - immer sichtbar -- Browser-wiederhergestellte Filterwerte werden nach dem Laden erneut angewendet - -## MeshCentral-Feld-Mappings - -Ein Filter wie `Computer` im Zielfeld findet nun unter anderem -`Computername (hostname) – System`, weil sowohl der aktuelle Select-Wert als -auch der sichtbare Text der gewählten Option durchsucht werden. - -## Tabellenkopf nach dem Filtern - -Die fehlerhaften Sticky-Abstände der Verwaltungstabellen wurden entfernt. -Dadurch werden Kopf- und Filterzeile nach dem Filtern oder Neuladen nicht mehr -abgeschnitten. - -Die Assetliste behält ihre fixierte Kopf- und Filterzeile innerhalb ihres -eigenen Scrollcontainers. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.6.txt b/UPDATE-0.4.0.6.txt deleted file mode 100644 index 352a41d..0000000 --- a/UPDATE-0.4.0.6.txt +++ /dev/null @@ -1,44 +0,0 @@ -# AssetManager v0.4.0.6 - -## MeshCentral-Feld-Mappings: Select-Filter korrigiert - -Die Spalten `Zielfeld` und `Transformation` verwenden Select-Felder. - -Die Filterauswertung wurde erweitert: - -- Selects werden über `tagName` statt über einen JavaScript-Klassentest erkannt. -- Es werden sowohl der technische Select-Wert als auch der sichtbare Text der - ausgewählten Option ausgewertet. -- Die beiden Mapping-Zellen erhalten zusätzlich einen serverseitig erzeugten - `data-filter-value`. -- Ein Filter wie `Computer` findet damit zuverlässig - `Computername (hostname) – System`. -- Transformationswerte wie `string`, `number`, `date` oder weitere definierte - Optionen werden zuverlässig gefiltert. - -## Assetliste: Inhalt neu laden bei geänderter Spaltenreihenfolge - -Beim Nachladen wurde bisher nur der Tabellenkörper ersetzt. Der neue -Tabellenkörper kam in der ursprünglichen Server-Reihenfolge, während der -Tabellenkopf in der benutzerdefinierten Reihenfolge blieb. - -Vor dem Einsetzen des neuen Tabellenkörpers werden jetzt: - -1. die aktuell sichtbaren Kopfspalten in ihrer vorhandenen Reihenfolge gelesen, -2. sämtliche neuen Datenzeilen anhand ihrer `data-field`-Kennung umsortiert, -3. erst danach der bisherige Tabellenkörper ersetzt. - -Damit stimmen Überschriften und Inhalte nach `Inhalt neu laden` weiterhin -überein. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.7.txt b/UPDATE-0.4.0.7.txt deleted file mode 100644 index 083dd29..0000000 --- a/UPDATE-0.4.0.7.txt +++ /dev/null @@ -1,53 +0,0 @@ -# AssetManager v0.4.0.7 - -## Assetliste: Spaltenverschiebung wiederhergestellt - -Die gemeinsame Tabellenlogik hatte in v0.4.0.5 und v0.4.0.6 auch der -Auswahl- und Aktionsspalte künstliche `data-field`-Kennungen gegeben. - -Dadurch wurden diese festen Spalten irrtümlich wie verschiebbare Assetspalten -behandelt. Das führte zu: - -- verschwindenden Spaltenüberschriften, -- beschädigter Spaltenreihenfolge, -- falscher Darstellung nach `Inhalt neu laden`. - -Korrektur: - -- Nur normale Verwaltungstabellen erhalten künstliche Feldkennungen. -- Die Assetliste verwendet ausschließlich ihre echten Feldkennungen. -- Auswahl- und Aktionsspalte bleiben feste, nicht verschiebbare Spalten. -- Filter für feste Spalten verwenden bei Bedarf nur den ursprünglichen Index. -- Nach dem Nachladen werden Spaltenbreiten und Sichtbarkeit erneut angewendet. - -Bereits beschädigte gespeicherte Spaltenfolgen werden beim nächsten Laden -automatisch bereinigt, weil unbekannte künstliche Kennungen verworfen werden. - -## MeshCentral-Mappings: Select-Filter korrigiert - -Der Zelltext eines HTML-Selects enthält technisch die Texte aller Optionen, -nicht nur die aktuell ausgewählte Option. - -Dadurch galt beispielsweise `Computer` für jede Zeile als Treffer, weil -`Computername` in jedem Zielfeld-Select als mögliche Option enthalten war. - -Die Filterauswertung verwendet jetzt ausschließlich: - -- den tatsächlichen Select-Wert, -- den Text der aktuell ausgewählten Option, -- ausdrücklich gesetzte Filterwerte, -- sichtbaren Text außerhalb des Select-Feldes. - -Nicht ausgewählte Select-Optionen werden nicht mehr durchsucht. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.8.txt b/UPDATE-0.4.0.8.txt deleted file mode 100644 index a9187c3..0000000 --- a/UPDATE-0.4.0.8.txt +++ /dev/null @@ -1,58 +0,0 @@ -# AssetManager v0.4.0.8 - -## Aktive Tabellenfilter deutlich sichtbar - -Für alle Tabellen wurde eine gemeinsame visuelle Filteranzeige ergänzt. - -### Filterfelder - -Sobald in einem Spaltenfilter ein Wert steht: - -- erhält das Eingabefeld einen gelben Hintergrund, -- wird der Rahmen farblich hervorgehoben, -- wird auch die zugehörige Filterzelle markiert. - -Dadurch sind aktive und vom Browser wiederhergestellte Filter sofort sichtbar. - -### Filterstatus an der Tabelle - -Bei mindestens einem aktiven Filter erscheint direkt oberhalb der Tabelle eine -Statusleiste mit: - -- Anzahl aktiver Filter, -- Anzahl sichtbarer Datensätze, -- Gesamtzahl der Datensätze, -- Schaltfläche zum Zurücksetzen aller Filter dieser Tabelle. - -Ohne aktive Filter bleibt die Statusleiste ausgeblendet. - -### Übersetzungen - -Alle neuen sichtbaren Texte wurden in das bestehende Übersetzungssystem -aufgenommen: - -- `lists.filter_active` -- `lists.filters_active` -- `lists.filter_status` -- `lists.clear_filters` - -Deutsch und Englisch sind vollständig enthalten. - -## Nächster Entwicklungsschritt - -Als nächster Funktionsblock ist die Software-Inventarisierung vorgesehen. -Sie soll als erster vollständiger Job-/Callback-Workflow dienen und damit die -technische Grundlage für spätere Softwareverteilung und weitere Clientaktionen -bilden. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.4.0.9.txt b/UPDATE-0.4.0.9.txt deleted file mode 100644 index 18493ea..0000000 --- a/UPDATE-0.4.0.9.txt +++ /dev/null @@ -1,69 +0,0 @@ -# AssetManager v0.4.0.9 - -## Konfigurierbare Systemfarben - -Unter `Einstellungen → Darstellung` steht eine neue Sektion -`Systemfarben` zur Verfügung. - -Konfigurierbar sind: - -- Primärfarbe -- Primärfarbe bei Auswahl -- Farbe der Kopfzeile -- Navigationsfarbe -- Seitenhintergrund -- Inhaltsflächen -- Textfarbe -- Rahmenfarbe -- Erfolgsfarbe -- Warnfarbe -- Fehlerfarbe - -Die Eingaben erfolgen über Farbwähler. Eine Vorschau wird beim Ändern sofort -aktualisiert. Über `Farben zurücksetzen` können die Standardwerte wieder in -die Eingabefelder übernommen werden. - -Die Werte werden in `config.json` unter `general.colors` gespeichert. - -## Heller und dunkler Darstellungsmodus - -Jeder angemeldete Benutzer besitzt nun eine eigene Einstellung: - -- Hell -- Dunkel - -Die Einstellung wird in der Benutzerdatenbank gespeichert und bei jeder -Anmeldung in die Sitzung übernommen. - -Umschalten ist möglich: - -- direkt in der oberen Navigationsleiste, -- im Profil über eine grafische Auswahl. - -Unter `Einstellungen → Darstellung` kann zusätzlich der Standardmodus für -nicht angemeldete Benutzer bzw. neue Sitzungen festgelegt werden. - -## Datenbankmigration - -Die Benutzertabelle erhält automatisch die Spalte: - - theme_mode VARCHAR(20) DEFAULT 'light' - -Es ist kein manueller SQL-Befehl notwendig. - -## Übersetzungen - -Alle neuen sichtbaren Texte wurden vollständig in Deutsch und Englisch in das -bestehende Übersetzungssystem aufgenommen. - -## Update-Schutz - -Nicht enthalten bzw. nicht überschrieben: - -- .env -- APPINFO.json -- data/config/config.json -- Datenbankdaten -- Uploads -- Backups -- Logs diff --git a/UPDATE-0.5.0.0.txt b/UPDATE-0.5.0.0.txt deleted file mode 100644 index e0bf5f5..0000000 --- a/UPDATE-0.5.0.0.txt +++ /dev/null @@ -1,18 +0,0 @@ -# AssetManager v0.5.0.0 - -- Job- und Callback-Grundlage aktiviert -- Navigation „Software und Aufträge“ -- Softwarepaket- und Auftragsübersicht -- sichere, zeitlich begrenzte Callback-Tokens -- Live-Status, Timeout-Erkennung und Diagnose -- erste Softwareinventur für Windows, Linux und macOS -- alle neuen sichtbaren Texte Deutsch/Englisch übersetzt - -Backup-Fehler: -`unknown` entstand, weil nur feste VERSION-Dateien im Container geprüft wurden. -Jetzt wird auf APP_VERSION zurückgefallen. Neue Backups enthalten zusätzlich -eine VERSION-Datei; alte Archive werden auf VERSION und APPINFO geprüft. -Enthält ein altes Backup keine Versionsinformation, ist diese nicht eindeutig -nachträglich ermittelbar und wird entsprechend angezeigt. - -Geschützte Dateien/Daten werden nicht überschrieben. diff --git a/UPDATE-0.5.0.1.txt b/UPDATE-0.5.0.1.txt deleted file mode 100644 index 488e9a7..0000000 --- a/UPDATE-0.5.0.1.txt +++ /dev/null @@ -1,53 +0,0 @@ -# AssetManager v0.5.0.1 - -## Software-Einstellungsseite - -Neu unter Einstellungen → Software: - -- Callback-Basisadresse für HTTP und HTTPS -- Vorschau des daraus erzeugten Health-Endpunkts -- Gültigkeitsdauer des Callback-Tokens -- Zeitlimit des Verbindungstests -- optionale TLS-Zertifikatsprüfung beim Test -- aktivierbares Callback-Debugprotokoll -- maximale Anzahl gespeicherter Protokollzeilen -- Live-Protokollfenster mit automatischer Aktualisierung -- Protokoll löschen -- Callback-Verbindung direkt testen - -Der Verbindungstest protokolliert: - -- verwendete Basis- und Health-Adresse -- Schema, Host und Port -- DNS-Auflösung -- Zeitlimit und TLS-Prüfung -- HTTP-Status -- Content-Type -- Antwortinhalt -- detaillierte Verbindungsfehler - -Empfangene Job-Callbacks werden ebenfalls ohne Token und ohne Softwareinhalt -im Diagnoseprotokoll vermerkt. - -## Backup-Darstellung - -Die Backupseite und ihre Tabelle verwenden nun die komplette verfügbare -Breite. Die Tabellenhülle scrollt nur noch horizontal, wenn der Browser -tatsächlich zu schmal ist. Die Backupfunktion selbst wurde nicht verändert. - -## Kompatibilität - -Die bisherige Callback-Adresse aus `general.callback_base_url` wird weiterhin -als Rückfall gelesen. Beim Speichern der neuen Seite wird nur der neue -Konfigurationsabschnitt `software` ergänzt. - -## Schutz bestehender Funktionen - -Bestehende Backup-, MeshCentral-, Tabellen-, Theme- und Jobfunktionen wurden -nicht strukturell verändert. Die neue Funktionalität ist additiv eingebunden. - -Alle neuen sichtbaren Texte sind auf Deutsch und Englisch im bestehenden -Übersetzungssystem enthalten. - -Nicht überschrieben: .env, APPINFO.json, config.json, Datenbank, Uploads, -Backups und Logs. diff --git a/UPDATE-0.5.0.2.txt b/UPDATE-0.5.0.2.txt deleted file mode 100644 index e5ed97d..0000000 --- a/UPDATE-0.5.0.2.txt +++ /dev/null @@ -1,27 +0,0 @@ -# AssetManager v0.5.0.2 - -## Korrektur der Auftragsstatus-Race-Condition - -Der Client konnte die Softwareinventur erfolgreich abschließen und der -AssetManager konnte den Callback mit HTTP 200 annehmen. Trotzdem blieb der -Auftrag anschließend auf „Gesendet; Callback ausstehend“. - -Ursache: - -MeshCtrl wartet auf das Ende des Befehls auf dem Client. Der Client sendete -den erfolgreichen Callback bereits, während der MeshCtrl-Prozess auf dem -AssetManager noch lief. Nach Rückkehr von MeshCtrl setzte dessen Thread den -bereits erfolgreichen Auftrag erneut pauschal auf „Gesendet“. - -Korrektur: - -- MeshCtrl-Diagnoseausgaben werden getrennt vom Auftragsstatus gespeichert. -- Ein bereits eingegangener oder abgeschlossener Callback wird nicht mehr - überschrieben. -- Die Statusänderung erfolgt als bedingtes Datenbank-Update und schließt - dadurch auch das kleine Zeitfenster zwischen Prüfung und Speicherung. -- Die Statusmeldung spricht neutral von „Callback“ statt fälschlich immer von - „HTTPS-Callback“, da HTTP und HTTPS unterstützt werden. - -Es wurden keine bestehenden Callback-Endpunkte, Inventurskripte, -Einstellungen, Tabellen, Themes oder Backupfunktionen verändert. diff --git a/UPDATE-0.5.0.3.txt b/UPDATE-0.5.0.3.txt deleted file mode 100644 index c7ca3bf..0000000 --- a/UPDATE-0.5.0.3.txt +++ /dev/null @@ -1,34 +0,0 @@ -# AssetManager v0.5.0.3 - -## Callback-JSON korrigiert - -Die Windows-PowerShell übergab den durch `ConvertTo-Json` erzeugten Text als -PowerShell-String an `Invoke-RestMethod`. Unter Windows PowerShell 5.1 kann -dieser Request-Body als UTF-16 übertragen werden, obwohl nur -`application/json` angegeben ist. Der AssetManager erwartete UTF-8 und meldete -deshalb „Ungültiges JSON“. - -Korrektur auf dem Client: - -- JSON wird ausdrücklich in UTF-8-Bytes umgewandelt. -- Content-Type enthält jetzt `charset=utf-8`. -- Die Protokollmeldung verwendet neutral „Callback“ statt „HTTPS callback“. - -Zusätzliche Absicherung auf dem Server: - -- vollständiger Request-Body wird vor dem Parsen gelesen -- UTF-8-BOM, UTF-16 LE und UTF-16 BE werden erkannt -- der erkannte Zeichensatz wird protokolliert -- vollständiger Callback-Body erscheint im Software-Debugprotokoll -- bei einem Parserfehler erscheint der komplette Body zusätzlich im Job-Log -- Verarbeitungsschritte und Datenbank-Commit werden einzeln protokolliert - -## Diagnoseoberfläche - -- Job-ID als eigene Spalte in der Auftragsübersicht -- Job-ID in der Auftragsdetailansicht -- „Log kopieren“ im Software-Debugprotokoll -- „Log kopieren“ für Client-, MeshCtrl-Standard- und MeshCtrl-Fehlerausgabe - -Bestehende Backup-, MeshCentral-, Theme-, Tabellen- und Einstellungsfunktionen -wurden nicht verändert. diff --git a/UPDATE-0.5.0.4.txt b/UPDATE-0.5.0.4.txt deleted file mode 100644 index 8485d40..0000000 --- a/UPDATE-0.5.0.4.txt +++ /dev/null @@ -1,44 +0,0 @@ -# AssetManager v0.5.0.4 - -## Softwareliste pro Asset - -Die vom Callback gespeicherten Softwareeinträge werden als Softwareliste des -jeweiligen Assets dargestellt. - -Die Aktion unterscheidet jetzt zwischen: - -- „Softwareliste initialisieren“, wenn noch keine Einträge vorhanden sind -- „Softwareinventur aktualisieren“, sobald eine Inventur gespeichert wurde - -Zusätzlich wird die Anzahl der gespeicherten Einträge sichtbar angezeigt. -Bei leerer Liste erscheint ein eigener Initialisierungshinweis. - -Die Inventur übernimmt weiterhin bewusst alle vom Client gemeldeten Einträge. -Es werden in dieser Version noch keine Windows-, Microsoft- oder sonstigen -Standardkomponenten ausgeschlossen. - -## Ausschlussregeln vorbereitet - -Auf der Software-Einstellungsseite ist der künftige Bereich für Regeln nach: - -- Softwarename -- Hersteller -- Suchmuster bzw. regulärem Ausdruck - -bereits sichtbar gekennzeichnet. Die Regeln sind noch nicht aktiv, damit die -erste vollständige Datengrundlage unverändert aufgebaut werden kann. - -## Log kopieren korrigiert - -`navigator.clipboard` ist bei einer normalen HTTP-Adresse häufig nicht -verfügbar, weil die Clipboard-API einen sicheren Browserkontext verlangt. - -Der Kopiervorgang verwendet nun: - -1. die moderne Clipboard-API bei HTTPS bzw. sicherem Kontext -2. einen kompatiblen Fallback über ein temporäres Textfeld bei HTTP - -Die Schaltfläche zeigt anschließend „Kopiert“ oder „Kopieren fehlgeschlagen“. - -Bestehende Callback-, Datenbank-, MeshCentral-, Backup- und Themefunktionen -wurden nicht verändert. diff --git a/UPDATE-0.5.0.5.txt b/UPDATE-0.5.0.5.txt deleted file mode 100644 index a1fcf6d..0000000 --- a/UPDATE-0.5.0.5.txt +++ /dev/null @@ -1,48 +0,0 @@ -# AssetManager v0.5.0.5 - -## Softwareliste im tatsächlichen Asset-Inventar - -Die gespeicherte Callback-Inventur wird nun im vorhandenen Bereich -„Geräteinventar → Software“ angezeigt. Dieser Bereich hatte vorher nur das -Softwaresegment der allgemeinen MeshCentral-Detailabfrage verwendet und konnte -die neue Tabelle `installed_software` deshalb nicht sehen. - -Im Software-Tab stehen jetzt: - -- Button „Softwareliste initialisieren“, wenn noch keine Liste vorhanden ist -- danach „Softwareinventur aktualisieren“ -- Anzahl der gespeicherten Einträge -- letzter Auftrag mit Job-ID und Status -- letzte Inventur -- Tabelle mit Name, Version, Hersteller, Architektur, Installationsdatum und - letzter Sichtung -- Filterung und Sortierung über die bestehenden Tabellenwerkzeuge - -Nach dem Start einer Inventur wird wieder das Asset geöffnet und der -Software-Tab automatisch ausgewählt. - -## Zentrale Softwareübersicht - -Der Navigationspunkt „Software und Aufträge“ enthält jetzt: - -1. Alle Softwareinstallationen - - eine Zeile je Software und Asset - - Link zum jeweiligen Asset - - Spaltenfilter und Sortierung - -2. Kumulierte Softwareliste - - Gruppierung nach Softwarename und Hersteller - - vorhandene Versionen - - Anzahl unterschiedlicher Versionen - - Anzahl betroffener Assets - - Anzahl der Einträge - - letzte Sichtung - -3. Letzte Softwareaufträge - - bestehende Jobübersicht mit Job-ID und Status - -Die Inventur übernimmt weiterhin alle Einträge. Ausschlussregeln bleiben -vorbereitet, aber noch deaktiviert. - -Bestehende Callback-, Backup-, MeshCentral-, Theme- und Datenbankfunktionen -wurden nicht verändert. diff --git a/UPDATE-0.5.0.6.txt b/UPDATE-0.5.0.6.txt deleted file mode 100644 index adab545..0000000 --- a/UPDATE-0.5.0.6.txt +++ /dev/null @@ -1,45 +0,0 @@ -# AssetManager v0.5.0.6 - -## Softwaretabellen auf eigenen Seiten - -Die zentrale Softwareübersicht ist jetzt kompakt und verlinkt auf: - -- `/software/installations` - Detaillierte Liste aller Softwareinstallationen über alle Assets. - -- `/software/summary` - Kumulierte Softwareliste mit Versionen und Häufigkeiten. - -Die Auftragsübersicht bleibt auf der zentralen Softwareseite. - -## Numerische Filteroperatoren - -Ausschließlich die numerischen Spalten der kumulierten Softwareliste -unterstützen jetzt: - -- `< 2` -- `<= 5` -- `> 10` -- `>= 3` -- `= 1` -- `1..5` -- `1-5` -- `zwischen 1 und 5` -- `between 1 and 5` - -Die Erweiterung ist opt-in über `data-numeric-filter="1"` und verändert das -Verhalten bestehender Tabellen und Textfilter nicht. - -## Darkmode - -Korrigiert wurden: - -- Toastmeldungen einschließlich Erfolgs-, Warn- und Fehlervarianten -- Schließen-Schaltfläche der Toasts -- Überschriften im Geräteinventar -- Inventar-Tabs -- Softwarebereich im Geräteinventar -- leere Inventurzustände - -Bestehende Callback-, Inventur-, Backup-, MeshCentral- und Datenbankfunktionen -wurden nicht verändert. diff --git a/UPDATE-0.5.0.7.txt b/UPDATE-0.5.0.7.txt deleted file mode 100644 index ed176ef..0000000 --- a/UPDATE-0.5.0.7.txt +++ /dev/null @@ -1,57 +0,0 @@ -# AssetManager v0.5.0.7 - -## MeshCentral Presence Service - -Diese Version ergänzt einen eigenständigen Online-Status für Assets mit -MeshCentral Node-ID. - -Neue Assetfelder: - -- `mesh_online` -- `mesh_online_state` -- `mesh_presence_updated_at` -- `mesh_last_online_at` -- `mesh_presence_source` - -Assets ohne `mesh_node_id` werden nicht bei MeshCentral abgefragt und erhalten -keinen künstlichen Offline-Status. - -## Statusermittlung - -Der Presence-Service verwendet dieselbe MeshCentral-Konfiguration und dieselben -Zugangsdaten wie die bestehende Synchronisierung. - -- MeshCentral-Geräteliste wird standardmäßig alle 30 Sekunden abgefragt. -- `conn > 0` wird als online interpretiert. -- `conn = 0` wird als offline interpretiert. -- nicht eindeutig zuordenbare Zustände bleiben `unknown`. -- nur erfolgreich gelesene Abfragen ändern den gespeicherten Status. - -Die Browseroberfläche liest ausschließlich den gespeicherten Status aus der -AssetManager-Datenbank und aktualisiert sichtbare Anzeigen alle fünf Sekunden. -Dadurch entsteht keine zusätzliche MeshCentral-Abfrage pro Browser oder Asset. - -## Live-Anzeige - -Der Online-Status erscheint: - -- auf der Asset-Detailseite -- im Geräteinventar mit letzter Aktualisierung und letzter Online-Sichtung -- als eigene Spalte in der Assetliste - -## Manuelle Softwareinventur - -Die manuelle Softwareinventur wurde nicht verändert. Der Button bleibt -dauerhaft verfügbar und startet den Auftrag weiterhin unmittelbar. Der neue -Presence-Service blockiert, verzögert oder ersetzt keine manuell gestartete -Inventur. - -## Ausblick - -Der gespeicherte Presence-Status bildet die Grundlage für einen späteren -Dispatcher, der geplante oder wartende Aufträge erst bei einem Online-Signal -versendet. Diese Warteschlangenlogik ist in dieser Version bewusst noch nicht -aktiviert. - -Bestehende Callback-, Software-, Backup-, MeshCentral-Synchronisierungs-, -Tabellen- und Themefunktionen wurden nicht verändert. diff --git a/UPDATE-0.5.0.8.txt b/UPDATE-0.5.0.8.txt deleted file mode 100644 index 22fa724..0000000 --- a/UPDATE-0.5.0.8.txt +++ /dev/null @@ -1,37 +0,0 @@ -# AssetManager v0.5.0.8 - -## Spaltenverwaltung im Darkmode - -Das Kontextmenü per Rechtsklick auf einen Spaltentitel und der Dialog zur -Spaltenverwaltung verwenden nun die Darkmode-Farben für Hintergrund, Text, -Rahmen, Hoverzustände und Schatten. - -## Job-Aktion - -`software_jobs` besitzt nun das neue Feld `action`. Bestehende Jobs erhalten -durch die Migration den Standardwert `run`. Die Softwareinventur erzeugt -weiterhin direkt ausführbare Jobs mit: - -- Paket/Jobtyp: Softwareinventur -- Aktion: `run` -- Parameter: jobbezogenes JSON - -Die Datenstruktur ist damit für spätere Aktionen wie `install`, `uninstall` -und `update` vorbereitet, ohne die Paketlogik in dieser Version vorwegzunehmen. - -## Softwareinventur für markierte Assets - -Administratoren können in der Assetliste mehrere sichtbare Assets markieren -und über „Softwareinventur starten“ für jedes Asset einen eigenen Job erzeugen. - -- Ein Asset kann beliebig viele Jobs besitzen. -- Es gibt keine Ein-Job-pro-Asset-Beschränkung. -- Assets ohne MeshCentral Node-ID oder ohne unterstützte Plattform werden - übersprungen. -- Nach Abschluss zeigt eine Meldung die Anzahl erzeugter und übersprungener - Jobs. -- Die bestehende manuelle Softwareinventur auf der Assetseite bleibt - unverändert erhalten. - -Noch nicht enthalten: automatisches Warten auf Online-Status, Paketaktionen -install/uninstall/update und Job-Workflows. diff --git a/UPDATE-0.5.0.9.txt b/UPDATE-0.5.0.9.txt deleted file mode 100644 index bbb0f36..0000000 --- a/UPDATE-0.5.0.9.txt +++ /dev/null @@ -1,46 +0,0 @@ -# AssetManager v0.5.0.9 - -## Korrektur der Sammelroute - -Die bisherige Route unter `/assets/bulk-jobs/software-inventory` konnte von -FastAPI als dynamische Asset-ID interpretiert werden. Dadurch entstand beim -Aufruf der Fehler, dass `bulk-jobs` nicht als Integer gelesen werden konnte. - -Die Sammelroute lautet nun eindeutig: - - POST /jobs/bulk-create - -Sie kollidiert nicht mehr mit `/assets/{asset_id}`. - -## Allgemeine Job-Auswahl in der Assetliste - -Der feste Button „Softwareinventur starten“ wurde ersetzt durch: - -- Auswahlfeld „Job-Art“ -- Button „Job starten“ - -Aktuell steht als Job-Art zur Verfügung: - -- Softwareinventur - -Die Oberfläche und die Backendroute sind bereits so aufgebaut, dass später -weitere Job-Arten ergänzt werden können, ohne die Sammelbedienung erneut -umzubauen. - -Pro markiertem Asset wird weiterhin ein eigenständiger Job erzeugt. Mehrere -Jobs pro Asset sind weiterhin ausdrücklich erlaubt. - -## Abgrenzung dieses Entwicklungsschritts - -Diese Version ergänzt noch keine neuen Paketaktionen. Die bestehende -Softwareinventur verwendet weiterhin: - -- Job-Art: Softwareinventur -- Aktion: run -- Parameter: {} - -`install`, `uninstall`, `update` und paketabhängige Parameter folgen in -späteren, kleinen Entwicklungsschritten. - -Die direkte manuelle Softwareinventur auf der Asset-Detailseite bleibt -unverändert verfügbar. diff --git a/UPDATE-0.5.1.0.txt b/UPDATE-0.5.1.0.txt deleted file mode 100644 index 15ebd34..0000000 --- a/UPDATE-0.5.1.0.txt +++ /dev/null @@ -1,26 +0,0 @@ -# AssetManager v0.5.1.0 – Allgemeines Jobmodell - -Diese Version erweitert ausschließlich das bestehende Jobfundament. - -## Neue Jobfelder -- Job-Art (`job_type`) -- Aktion (`action`, bereits vorhanden) -- Priorität (`priority`) -- Parameter als JSON (`parameters`, bereits vorhanden) -- Ergebnisdaten als JSON (`result_data`) -- Anzahl Versuche (`attempt_count`) -- Maximale Versuche (`max_attempts`) -- Geplanter Zeitpunkt (`scheduled_at`) -- Ersteller (`created_by`, bereits vorhanden) -- Start-, Sende- und Endzeitpunkte (bereits vorhanden) - -Bestehende Softwareinventur-Jobs werden automatisch als `software_inventory` mit Priorität 100 eingeordnet. - -## Oberfläche -Die zentrale Jobliste, die Asset-Softwareseite und die Jobdetails zeigen nun Job-Art, Aktion und Priorität. Die Detailseite zeigt zusätzlich Parameter, Ergebnisdaten, Ersteller, Planung und Versuche. - -## Kompatibilität -- Neue primäre Detailroute: `/jobs/{job_id}` -- Alte Route `/software/jobs/{job_id}` bleibt als Weiterleitung erhalten. -- Die Softwareinventur und Sammelausführung bleiben funktional unverändert. -- Noch keine neuen Jobarten, Softwarepakete oder Dispatcher-Funktion. diff --git a/UPDATE-0.5.1.1.txt b/UPDATE-0.5.1.1.txt deleted file mode 100644 index 3ed6777..0000000 --- a/UPDATE-0.5.1.1.txt +++ /dev/null @@ -1,22 +0,0 @@ -# AssetManager v0.5.1.1 - -## Lokale Zeitanzeige bei UTC-Speicherung - -- Datenbank, APIs und Logdateien bleiben in UTC. -- Sichtbare Zeitstempel werden zentral im Browser in dessen lokale Zeitzone umgerechnet. -- Die Umrechnung berücksichtigt automatisch Sommer- und Winterzeit. -- Tabellen behalten den UTC-Wert für eine korrekte Sortierung. -- Der originale UTC-Wert und die erkannte Browser-Zeitzone stehen als Tooltip zur Verfügung. -- Dynamisch aktualisierte Jobzeiten, Presence-Zeiten und MeshCentral-Live-Logs werden ebenfalls umgerechnet. -- Sichtbare Zeitstempel im Software-Debuglog werden lokalisiert; die Datei auf dem Server bleibt unverändert UTC. - -## Abgedeckte Bereiche - -- Joblisten und Jobdetails -- Softwareinventur und Softwareübersichten -- Assetdetails und Presence-Anzeige -- MeshCentral-Synchronisationsläufe und Live-Log -- Benutzerprofil und Benutzerverwaltung -- Sicherungsübersicht - -Es ist keine Änderung der Server- oder Container-Zeitzone erforderlich. diff --git a/UPDATE-0.5.1.2.txt b/UPDATE-0.5.1.2.txt deleted file mode 100644 index 1300ed4..0000000 --- a/UPDATE-0.5.1.2.txt +++ /dev/null @@ -1,27 +0,0 @@ -# AssetManager v0.5.1.2 - -## Jobs erneut starten - -- Bestehende Jobs können aus der zentralen Jobliste, der Asset-Softwareseite und der Jobdetailseite erneut gestartet werden. -- Es wird kein neuer Jobdatensatz erzeugt; die Job-ID bleibt erhalten. -- Für jeden Neustart wird ein neuer Callback-Token erzeugt. Alte Callback-Tokens werden dadurch ungültig. -- Laufzeitfelder und Ergebnisse des vorherigen Versuchs werden zurückgesetzt. -- Der Versuchszähler wird beim erneuten Sendeversuch erhöht. -- Aktive Jobs in den Zuständen `sending` oder `running` können nicht parallel erneut gestartet werden. - -## Jobverlauf - -Die neue Tabelle `job_events` dokumentiert unter anderem: - -- Erstellung -- manuellen Neustart -- Sendeversuch -- MeshCtrl-Ergebnis -- Callback -- Fehler - -Der Verlauf wird auf der Jobdetailseite angezeigt. Bestehende ältere Jobs besitzen naturgemäß erst ab diesem Update Verlaufsereignisse. - -## Unverändert - -Konfiguration, Daten, Uploads, Logs, Backups und die Laufzeitdatei APPINFO.json werden nicht ausgeliefert oder überschrieben. diff --git a/UPDATE-0.5.1.3.txt b/UPDATE-0.5.1.3.txt deleted file mode 100644 index 850aea4..0000000 --- a/UPDATE-0.5.1.3.txt +++ /dev/null @@ -1,8 +0,0 @@ -# AssetManager v0.5.1.3 - -- Plattform wird direkt in jedem Software-Inventareintrag gespeichert. -- Vorhandene Einträge werden beim Update anhand des letzten Softwarejobs nachgepflegt. -- Plattform ist in Asset-Softwareliste, Installationsreport und Zusammenfassung sichtbar und filterbar. -- Einzelne, mehrere oder alle aktuell sichtbaren Inventareinträge können markiert und gelöscht werden. -- Löschen entfernt ausschließlich Inventardaten und deinstalliert keine Software. -- Die nächste Inventur legt tatsächlich vorhandene Einträge wieder an. diff --git a/UPDATE-0.5.1.4.txt b/UPDATE-0.5.1.4.txt deleted file mode 100644 index 4da8791..0000000 --- a/UPDATE-0.5.1.4.txt +++ /dev/null @@ -1,32 +0,0 @@ -AssetManager 0.5.1.4 -==================== - -Assetliste ----------- -- Der Button „Inhalt neu laden“ ersetzt nicht mehr das komplette tbody-Element. -- Filter, Sortierung und bestehende Tabellen-Eventhandler bleiben dadurch aktiv. -- Markierungen werden nach dem Nachladen korrekt zurückgesetzt. -- Auswahlzähler und Aktionsbuttons werden nach dem Reload neu berechnet. -- „Alle markieren“ funktioniert nach dem Reload wieder für die sichtbaren Zeilen. -- Der Asset-Zähler wird gezielt über die Klasse asset-total aktualisiert. - -Backups und Systeminformationen -------------------------------- -- Docker-Compose verwendet für Backups standardmäßig ./data/backups:/data/backups. -- Beim Start wird das Backupverzeichnis auf Existenz und Schreibbarkeit geprüft. -- Der tatsächlich verwendete Backup-Pfad und der erkannte Mount-Status werden protokolliert. -- Unter Einstellungen → Systeminformationen werden jetzt angezeigt: - - PostgreSQL-Verbindungsstatus - - Konfigurationsverzeichnis - - Uploadverzeichnis - - Logverzeichnis - - Backupverzeichnis - - Schreibbarkeit des Backupverzeichnisses - - Erkennung eines eigenen Docker-Mounts - - letztes Backup - - Anzahl vorhandener Backups - - belegter Backup-Speicher - -Hinweis -------- -Die Anwendung kann nur den Containerpfad und den Mount-Status erkennen. Der konkrete Hostpfad wird weiterhin durch die docker-compose.yml festgelegt. diff --git a/UPDATE-0.5.1.5.txt b/UPDATE-0.5.1.5.txt deleted file mode 100644 index 7a0b6ff..0000000 --- a/UPDATE-0.5.1.5.txt +++ /dev/null @@ -1,21 +0,0 @@ -AssetManager v0.5.1.5 -======================== - -Kategorien: Sammelbearbeitung -- Markierte Kategorien können über „Feld ändern“ gemeinsam bearbeitet werden. -- Änderbar sind Beschreibung und Kategoriebild. -- Der Kategoriename kann bei genau einer markierten Kategorie geändert werden. -- Felder können ausdrücklich geleert werden. -- „Alle markieren“ berücksichtigt nur aktuell sichtbare/gefilterte Kategorien. -- Auswahlzähler und Aktionsbuttons werden konsistent aktualisiert. -- Serverseitige Prüfung von Auswahl, Feld, Pflichtwerten und eindeutigen Kategorienamen. -- Alle neuen sichtbaren Texte wurden in Deutsch und Englisch in das Übersetzungssystem aufgenommen. - -Hinweis zur Tabellenstruktur -- Aktuell bestehen eigenständige Verwaltungslisten für Assets, Kategorien und Benutzer. -- Hersteller, Lieferanten, Standorte, Gruppen und Lizenztypen waren Zukunftsbeispiele und sind in dieser Version nicht als eigene Tabellen eingeführt. -- Die Benutzerverwaltung bleibt wegen ihrer komplexen Berechtigungsformulare vorerst unverändert. - -Update -- Persistente Konfigurations-, Daten-, Upload-, Log- und Backup-Verzeichnisse nicht überschreiben. -- Container nach Austausch der Programmdateien neu erstellen/starten. diff --git a/UPDATE-0.5.1.6.txt b/UPDATE-0.5.1.6.txt deleted file mode 100644 index 95433b1..0000000 --- a/UPDATE-0.5.1.6.txt +++ /dev/null @@ -1,18 +0,0 @@ -AssetManager v0.5.1.6 -======================== - -Fehlerkorrektur: optionale Zahlenfelder in Formularen -- Leere HTML-Zahlenfelder werden jetzt serverseitig zuverlässig als NULL behandelt. -- Das Feld „Breite in Listen (Pixel)“ kann leer bleiben, ohne dass FastAPI mit einem int_parsing-Fehler abbricht. -- Erstellen und Bearbeiten von Felddefinitionen verwenden dieselbe zentrale Konvertierung. -- Gültige Werte werden weiterhin auf den erlaubten Bereich von 40 bis 800 Pixel begrenzt. -- Ungültige, nichtnumerische Werte führen zu einer kontrollierten HTTP-400-Meldung statt zu einer technischen 422-Pydantic-Antwort. - -Ursache -- Browser übertragen ein leeres als leere Zeichenfolge. -- Der bisherige Parameter int | None wurde von FastAPI bereits vor dem Aufruf der Route validiert; eine leere Zeichenfolge ist dabei weder Integer noch NULL. -- Der Fehler stand nicht in direktem Zusammenhang mit dem Entfernen des Hakens „Standard-Feld“. Beim Speichern wurde lediglich das gesamte Formular einschließlich des leeren Feldes list_width übertragen. - -Update -- Persistente Konfigurations-, Daten-, Upload-, Log- und Backup-Verzeichnisse nicht überschreiben. -- Container nach Austausch der Programmdateien neu erstellen/starten. diff --git a/UPDATE-0.5.1.7.txt b/UPDATE-0.5.1.7.txt deleted file mode 100644 index 06a22f2..0000000 --- a/UPDATE-0.5.1.7.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager v0.5.1.7 - -- Neue Massenaktion „Felder verwalten“ in der Kategorienliste -- Felder in mehreren Kategorien gleichzeitig hinzufügen/aktivieren -- Felder in mehreren Kategorien gleichzeitig entfernen/deaktivieren -- Pflichtfeld- und Listenanzeige-Einstellungen gemeinsam ändern -- Komplette Feldkonfiguration einer Vorlagenkategorie übernehmen -- Assetdaten bleiben beim Entfernen oder Übernehmen erhalten -- Das Namensfeld bleibt geschützt und kann nicht entfernt werden -- Allgemeine Tabellenlogik wurde nicht verändert -- Alle neuen sichtbaren Texte sind in Deutsch und Englisch übersetzt diff --git a/UPDATE-0.5.2.0.txt b/UPDATE-0.5.2.0.txt deleted file mode 100644 index af3a987..0000000 --- a/UPDATE-0.5.2.0.txt +++ /dev/null @@ -1,15 +0,0 @@ -AssetManager v0.5.2.0 – Asset-Sichtbarkeit und Mitarbeiterprofil - -Neu: -- Mehrfach auswählbare Sichtbarkeitsregeln je Benutzer: eigene Geräte, eigene Abteilung, eigener Standort, alle Geräte. -- Bestehende MeshCentral-Gruppen bleiben erhalten und werden mit allen Sichtbarkeitsregeln per ODER verknüpft. -- Mitarbeiterprofil mit Abteilung und Standort in der Benutzerverwaltung. -- Eigene Geräte werden über den Benutzernamen im Assetfeld „Zugeordnet“ erkannt. -- Zentrale Zugriffsfunktion schützt Assetlisten, Detailansichten und darauf aufbauende Softwareansichten. -- Benutzer ohne aktive Regel und ohne MeshCentral-Gruppe sehen keine Assets. -- Administratoren sehen weiterhin alle Assets. -- Neue Datenbankfelder werden automatisch per Lightweight-Migration ergänzt. -- Alle sichtbaren neuen Texte sind in Deutsch und Englisch übersetzt. - -Hinweis: -Nach einer Rechteänderung muss sich der betroffene Benutzer einmal ab- und wieder anmelden, damit die Sitzung die neuen Regeln übernimmt. diff --git a/UPDATE-0.5.2.1.txt b/UPDATE-0.5.2.1.txt deleted file mode 100644 index 08d87a7..0000000 --- a/UPDATE-0.5.2.1.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager v0.5.2.1 - -Bugfix Einstellungen: -- Darstellung und LDAP/Authentifizierung konnten nicht geöffnet werden. -- Ursache: Das gemeinsame Template settings.html rendert alle Einstellungsbereiche. Die Laufzeitvariable system_storage wurde jedoch nur für die Seite Systeminformationen bereitgestellt. -- system_storage wird nun für alle Einstellungsrouten bereitgestellt. -- Die Systeminformationen bleiben weiterhin nur im Bereich System sichtbar. -- Keine Änderung an Datenbank, Berechtigungsmodell oder Tabellenlogik. diff --git a/UPDATE-0.5.2.2.txt b/UPDATE-0.5.2.2.txt deleted file mode 100644 index a812042..0000000 --- a/UPDATE-0.5.2.2.txt +++ /dev/null @@ -1,13 +0,0 @@ -AssetManager 0.5.2.2 -==================== - -Presence-Status korrigiert und vereinheitlicht: -- Online: MeshCentral meldet aktuell eine aktive Verbindung. -- Offline: aktuell nicht verbunden, aber ein historischer Zeitpunkt "Zuletzt gesehen" ist vorhanden. -- Unbekannt: keine aktive Verbindung und noch kein historischer Verbindungszeitpunkt vorhanden. -- MeshCentral-Zeitfelder werden robust aus unterschiedlichen CLI-JSON-Varianten gelesen. -- Der vollständige MeshCentral-Sync setzt "Zuletzt gesehen" nicht mehr pauschal auf die Synczeit. -- Assetliste und Detailansicht zeigen konsistente Live-Statuswerte und "Zuletzt gesehen". -- Erweiterte Debug-Protokollierung für Node-ID, Livezustand, letzte Verbindung, Adresse und abgeleiteten Status. - -Bestehende Konfigurationen, Daten, Uploads, Logs und Sicherungen bleiben erhalten. diff --git a/UPDATE-0.5.3.0.txt b/UPDATE-0.5.3.0.txt deleted file mode 100644 index 6d0714c..0000000 --- a/UPDATE-0.5.3.0.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.5.3.0 - -- Administratorbereich „Jobdefinitionen“ -- Skriptquellen Inline, gemountetes Verzeichnis und UNC-Pfad -- Interpreter PowerShell, CMD/Batch, Bash und Python -- Validierungs-/Testfunktion ohne produktive Ausführung -- automatische Revisionen bei Änderungen -- Softwareinventur als bearbeitbare System-Jobdefinitionen für Windows und Linux -- persistenter Skript-Mount ./data/scripts:/scripts - -Bestehende Konfigurationen, Daten, Uploads, Logs und Sicherungen bleiben erhalten. diff --git a/UPDATE-0.5.3.1.txt b/UPDATE-0.5.3.1.txt deleted file mode 100644 index 15bd344..0000000 --- a/UPDATE-0.5.3.1.txt +++ /dev/null @@ -1,7 +0,0 @@ -AssetManager 0.5.3.1 - -- Vollständige deutsche und englische Übersetzungen für alle jobdefs.*-Texte. -- Jobdefinitionstest zeigt bei Inline-Skripten eine Vorschau mit ersetzten Beispielvariablen. -- Vorschau kann direkt in die Zwischenablage kopiert werden. -- Generator für einen Ausführungsrahmen mit Logging, Fehlerbehandlung und Callback für PowerShell, CMD, Bash und Python. -- Übersetzungsprüfung als Release-Werkzeug ergänzt. diff --git a/UPDATE-0.5.3.2.txt b/UPDATE-0.5.3.2.txt deleted file mode 100644 index 6aa42cc..0000000 --- a/UPDATE-0.5.3.2.txt +++ /dev/null @@ -1,22 +0,0 @@ -AssetManager 0.5.3.2 -==================== - -Korrektur ---------- -- Behebt den Startabbruch aus 0.5.3.1: app.version stellt APP_VERSION wieder bereit. -- __version__ bleibt als kompatibler Alias erhalten. - -Qualitaetssicherung -------------------- -- Neuer Release-Validator unter tools/validate_release.py. -- Prueft APP_VERSION und __version__, Python-Kompilierung, Template-Laden, - Jobdefinitions-Uebersetzungen sowie den Import der FastAPI-Anwendung. -- Der Validator kann vor dem Packen mit folgendem Befehl ausgefuehrt werden: - - python tools/validate_release.py - -Enthalten bleiben ------------------ -- Vollstaendige deutsche und englische jobdefs.*-Uebersetzungen. -- Inline-Skriptvorschau mit ersetzten Beispielvariablen und Kopierfunktion. -- Generator fuer PowerShell-, Batch-, Bash- und Python-Ausfuehrungsrahmen. diff --git a/UPDATE-0.5.3.4.txt b/UPDATE-0.5.3.4.txt deleted file mode 100644 index 5cc8d55..0000000 --- a/UPDATE-0.5.3.4.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager v0.5.3.4 - -- Jobdefinitionen können direkt aus einer Asset-Detailseite gestartet werden. -- In der Assetliste können Jobdefinitionen für mehrere markierte Assets gestartet werden. -- Bei einheitlicher Auswahlplattform werden nur passende Definitionen angezeigt. -- Bei gemischter Auswahl werden unpassende Assets ohne Benutzerfehler übersprungen. -- MeshCentral RunCommand führt Inline-, gemountete und UNC-basierte Definitionen aus. -- Neue sichtbare Texte vollständig in Deutsch und Englisch. diff --git a/UPDATE-0.5.3.5.txt b/UPDATE-0.5.3.5.txt deleted file mode 100644 index e7bc400..0000000 --- a/UPDATE-0.5.3.5.txt +++ /dev/null @@ -1,12 +0,0 @@ -AssetManager 0.5.3.5 - -- Callback-Verarbeitung vereinheitlicht: Jede gültige Callback-Rückmeldung aktualisiert Client-Protokoll, Status, Exit-Code, Meldung, Ergebnisdaten und Historie. -- Callback ohne eigenes log-Feld erzeugt automatisch einen nachvollziehbaren Client-Protokolleintrag. -- STDOUT und STDERR aus Callback-Payloads werden im Client-Protokoll übernommen. -- Das vollständige aufgelöste Skript mit echten Asset-, Job- und Callback-Werten wird pro Job gespeichert. -- Auf der Jobdetailseite kann das lesbare, aufgelöste Skript angezeigt und kopiert werden. -- Der technische MeshCentral-Befehl bleibt separat verfügbar. -- Neue PowerShell-Ausführungsrahmen senden ihr lokales Protokoll im Callback zurück. -- Testskripte verwenden Write-JobLog. -- Datenbankmigration ergänzt software_jobs.resolved_script. -- Deutsche und englische Übersetzungen ergänzt. diff --git a/UPDATE-0.5.3.6.txt b/UPDATE-0.5.3.6.txt deleted file mode 100644 index 0dd3465..0000000 --- a/UPDATE-0.5.3.6.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager v0.5.3.6 - -- Job-Rahmen und Testskripte werden serverseitig erzeugt. -- Wrapper liegen als getrennte Vorlagendateien unter app/templates/jobs. -- Frontend verwendet nur noch einen kleinen JSON-Aufruf und setzt den gelieferten Text in den Editor. -- Statusanzeige, Toast-Fehler und Browser-/Server-Diagnose ergänzt. -- Generator ist ausschließlich für Administratoren erreichbar. -- Keine Konfigurations-, Datenbank-, Upload-, Log- oder Sicherungsdaten werden überschrieben. diff --git a/UPDATE-0.5.3.7.txt b/UPDATE-0.5.3.7.txt deleted file mode 100644 index 553c277..0000000 --- a/UPDATE-0.5.3.7.txt +++ /dev/null @@ -1,10 +0,0 @@ -AssetManager 0.5.3.7 - -- Aktiv-Checkbox linksbündig am Anfang der Jobdefinition -- Jobdefinition enthält nur noch eigene Skriptbefehle; Laufzeitrahmen wird automatisch erzeugt -- Parameterdefinitionen mit Schlüssel, Bezeichnung, Beschreibung, Typ und Standardwert -- Asset-spezifische Parameter-Overrides direkt im Asset -- Beschreibungen werden aus der Jobdefinition angezeigt und nicht dupliziert -- Entfernte Parameter und ihre Overrides werden per FK-Cascade bereinigt -- Effektive Parameter werden beim Erzeugen des Jobs als Snapshot gespeichert -- Parameterplatzhalter {{Param.schluessel}} oder {{schluessel}} diff --git a/UPDATE-0.5.3.8.txt b/UPDATE-0.5.3.8.txt deleted file mode 100644 index 3928042..0000000 --- a/UPDATE-0.5.3.8.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.5.3.8 - -- Jobdefinitionen enthalten nur noch den fachlichen Skriptcode. -- Der technische Wrapper wird immer erst zur Laufzeit aus den zentralen Interpreter-Templates erzeugt. -- Die bisherige Kompatibilitaetserkennung fuer bereits eingerahmte Skripte wurde entfernt. -- Die Systemdefinitionen der Windows- und Linux-Softwareinventur werden auf reine Skriptkoerper normalisiert. -- Wrapper koennen fachliche Ergebnisdaten ueber $JobResult beziehungsweise job_result an den Callback uebergeben. -- Im Asset wird nun eine Jobliste angezeigt, auch wenn eine Jobdefinition keine Parameter besitzt. -- Parameterbeschreibungen werden direkt aus der Jobdefinition angezeigt und nicht doppelt gespeichert. -- Neue Parameter erscheinen automatisch mit ihrem Standardwert; entfernte Parameter verschwinden aus der Bearbeitung. -- Alle neuen sichtbaren Texte wurden in Deutsch und Englisch ergaenzt. diff --git a/UPDATE-0.5.3.9.txt b/UPDATE-0.5.3.9.txt deleted file mode 100644 index 43e82e9..0000000 --- a/UPDATE-0.5.3.9.txt +++ /dev/null @@ -1,14 +0,0 @@ -AssetManager 0.5.3.9 - -- Dokumentation zu Variablen, Parametern und Hilfsfunktionen direkt in der Jobdefinition. -- Interpreterabhängige Beispiele für PowerShell, Python, Bash und CMD. -- Hinweis auf den Unterschied zwischen Inline/Mounted und UNC-Skripten. -- Eigene unbenutzte Jobdefinitionen können dauerhaft gelöscht werden. -- Systemdefinitionen und bereits von Jobs referenzierte Definitionen bleiben geschützt und können stattdessen deaktiviert werden. -- Deutsche und englische Übersetzungen ergänzt. -- Jobdefinitionsliste zeigt standardmäßig nur aktive Definitionen. -- Filter kann deaktiviert werden, um auch deaktivierte Definitionen einzublenden. -- Suche nach Name oder Beschreibung ergänzt. -- Sortierung: aktive Definitionen zuerst, danach alphabetisch nach Name. -- Eigene Statusspalte mit Aktiv/Deaktiviert und Systemkennzeichnung. -- Löschschaltflächen für geschützte Definitionen sind deaktiviert und erklären den Grund per Tooltip. diff --git a/UPDATE-0.5.4.0.txt b/UPDATE-0.5.4.0.txt deleted file mode 100644 index ddd166a..0000000 --- a/UPDATE-0.5.4.0.txt +++ /dev/null @@ -1,14 +0,0 @@ -AssetManager 0.5.4.0 - -- Neuer deklarativer Jobtyp Windows-Registry. -- Mehrere Registry-Einträge pro Jobdefinition. -- Aktionen: Wert setzen, Wert löschen, Schlüssel rekursiv löschen. -- Fehlende Schlüssel werden beim Setzen automatisch angelegt. -- Unterstützte Typen: REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_DWORD, REG_QWORD und REG_BINARY. -- Registry-Werte unterstützen Jobparameter und Assetvariablen. -- Optionale lokale Registry-Sicherung vor Änderungen. -- Ausführungsergebnis je Eintrag im JobResult und Joblog. -- Presence-Hinweise verwenden bei Online-Assets den Zeitstempel der letzten erfolgreichen Presence-Abfrage. -- Datenbankmigration ergänzt job_kind und configuration ohne bestehende Definitionen zu verändern. - -Hinweis: HKCU bezieht sich bei Ausführung über den MeshCentral-Agenten auf dessen Ausführungskonto, normalerweise SYSTEM, und nicht automatisch auf den angemeldeten Benutzer. diff --git a/UPDATE-0.5.4.1.txt b/UPDATE-0.5.4.1.txt deleted file mode 100644 index c1c94ef..0000000 --- a/UPDATE-0.5.4.1.txt +++ /dev/null @@ -1,9 +0,0 @@ -AssetManager 0.5.4.1 - -- Fehler beim Öffnen einer neuen Jobdefinition behoben: Platzhalter in der Hilfe werden als Text dargestellt und nicht mehr von Jinja ausgewertet. -- Registry-Jobs unterstützen nun die Aktion „Schlüsselberechtigungen setzen“. -- Benutzer/Gruppe/SID, RegistryRights, Allow/Deny, Vererbung und Ersetzen/Hinzufügen der Regel sind konfigurierbar. -- Registry-Pfad, Identität und Berechtigung können Jobparameter enthalten. -- Fehlende Registry-Schlüssel werden auch vor einer Berechtigungsänderung automatisch angelegt. -- Berechtigungsänderungen und die anschließend gefundenen Regeln werden im Joblog und im Ergebnis protokolliert. -- Deutsche und englische Übersetzungen ergänzt. diff --git a/UPDATE-0.5.4.2.txt b/UPDATE-0.5.4.2.txt deleted file mode 100644 index 27c200b..0000000 --- a/UPDATE-0.5.4.2.txt +++ /dev/null @@ -1,9 +0,0 @@ -AssetManager 0.5.4.2 - -- Registry-Berechtigungen werden nun als optionale Erweiterung eines Registry-Eintrags gespeichert. -- Fehler behoben: Berechtigungs-Einträge wurden durch die Formularvalidierung verworfen und erschienen nach dem Speichern nicht mehr. -- Ein Registry-Eintrag kann einen Wert setzen und anschließend Berechtigungen vergeben. -- Für reine Berechtigungsänderungen kann "Registry-Wert setzen" deaktiviert werden; der Schlüssel wird bei Bedarf angelegt. -- Vorhandene Berechtigungs-Einträge aus 0.5.4.1 werden beim Bearbeiten kompatibel übernommen. -- Hauptmenübezeichnung lautet konsistent "Software und Jobs". -- Deutsche und englische Übersetzungen ergänzt. diff --git a/UPDATE-0.5.4.4.txt b/UPDATE-0.5.4.4.txt deleted file mode 100644 index 789a4af..0000000 --- a/UPDATE-0.5.4.4.txt +++ /dev/null @@ -1,6 +0,0 @@ -AssetManager 0.5.4.4 - -- Registry-Editor: Ein- und Ausblenden der aktionsabhängigen Felder korrigiert. -- Inaktive Eingabebereiche werden zuverlässig verborgen und deaktiviert. -- Wert-, Berechtigungs- und Löschfelder können nicht mehr gleichzeitig sichtbar oder versehentlich aktiv sein. -- Bestehende Registry-Jobdefinitionen bleiben kompatibel. diff --git a/UPDATE-0.5.4.6.txt b/UPDATE-0.5.4.6.txt deleted file mode 100644 index 9d4c84f..0000000 --- a/UPDATE-0.5.4.6.txt +++ /dev/null @@ -1,6 +0,0 @@ -AssetManager 0.5.4.6 - -- Registry-Berechtigungen verwenden jetzt kanonische PowerShell-Providerpfade im Format Registry::HKEY_LOCAL_MACHINE\... -- Get-Acl und Set-Acl verwenden denselben Pfadtyp wie das bekannte funktionierende Administrationsskript. -- Vor ACL-Änderungen wird das tatsächliche Ziel und das Ergebnis von Test-Path in das Joblog geschrieben. -- Normale Registry-Wertaktionen, Löschaktionen und Sicherungen bleiben kompatibel. diff --git a/UPDATE-0.5.5.0.txt b/UPDATE-0.5.5.0.txt deleted file mode 100644 index 5277251..0000000 --- a/UPDATE-0.5.5.0.txt +++ /dev/null @@ -1,10 +0,0 @@ -AssetManager 0.5.5.0 - -- Neuer dateibasierter MeshCentral-Dispatcher für lokale Jobs. -- Skripte werden mit MeshCtrl Upload in ein geschütztes Jobverzeichnis auf dem Client übertragen. -- Windows-Zielpfad: C:\ProgramData\AssetManager\Jobs\-. -- Das Jobverzeichnis wird auf SYSTEM und lokale Administratoren beschränkt. -- Der anschließende RunCommand enthält nur noch den kurzen lokalen Dateiaufruf. -- Erfolgreich per Callback bestätigte Jobs werden automatisch vom Client entfernt. -- Bei fehlendem oder fehlerhaftem Callback bleiben die Dateien zur Diagnose erhalten. -- Dieselbe Transportbasis ist später für Softwarepakete und zusätzliche Paketdateien verwendbar. diff --git a/UPDATE-0.5.5.10.txt b/UPDATE-0.5.5.10.txt deleted file mode 100644 index 24203f7..0000000 --- a/UPDATE-0.5.5.10.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.5.5.10 - -- Dritte Gruppierung der kumulierten Softwareliste: Name und Plattform. -- Unterschiedliche Herstellerbezeichnungen und Versionen werden dabei innerhalb einer Zeile zusammengefasst. -- Die Statusfelder der sichtbaren letzten Jobs werden automatisch aktualisiert. -- Die Jobliste fragt nur aktive Job-IDs gesammelt in einer schlanken Datenbankabfrage ab. -- Auswahl-Checkboxen und Neustartaktion werden nach Statusänderungen passend aktualisiert. -- Deutsche und englische Übersetzungen ergänzt. diff --git a/UPDATE-0.5.5.11.txt b/UPDATE-0.5.5.11.txt deleted file mode 100644 index cbe0e0b..0000000 --- a/UPDATE-0.5.5.11.txt +++ /dev/null @@ -1,17 +0,0 @@ -AssetManager 0.5.5.11 -===================== - -Neu: -- Automatische Wiederholung fehlgeschlagener Softwarejobs. -- Berücksichtigt werden ausschließlich die Status Fehler, Teilweise erfolgreich und Zeitüberschreitung. -- Das maximale Jobalter ist unter Software-Einstellungen konfigurierbar; Standard: 12 Stunden. -- Die Wartezeit vor einer weiteren automatischen Ausführung ist in Sekunden konfigurierbar; Standard: 60 Sekunden. -- Die maximale Anzahl automatischer Wiederholungen je Job ist konfigurierbar; Standard: 3. -- Erfolgreiche, aktive und abgebrochene Jobs werden niemals automatisch neu gestartet. -- Der vorhandene Dispatcher-Abstand zwischen Jobstarts gilt auch für automatische Wiederholungen. -- Die für einen Job verwendete Callback-Basisadresse wird im Job-Snapshot hinterlegt, damit Hintergrundwiederholungen denselben Rückkanal verwenden. -- Automatische Wiederholungen erscheinen im Jobverlauf als eigenes Ereignis. - -Hinweise: -- Es sind keine Datenbankmigrationen erforderlich. -- Bestehende Konfigurationsdateien und Nutzdaten werden nicht überschrieben. diff --git a/UPDATE-0.5.5.12.txt b/UPDATE-0.5.5.12.txt deleted file mode 100644 index 055de3a..0000000 --- a/UPDATE-0.5.5.12.txt +++ /dev/null @@ -1,10 +0,0 @@ -AssetManager 0.5.5.12 - -- Stabiler Rückfallstand bleibt 0.5.5.10. -- Callback-Datenbankverarbeitung läuft in einem eigenen ThreadPool mit separater SQLAlchemy-Session je Worker. -- Standardmäßig vier parallele Callback-Worker; unter Software-Einstellungen konfigurierbar (Neustart erforderlich). -- Job- und Asset-Zeilen werden bei der Callback-Verarbeitung gezielt gesperrt, damit parallele Callbacks sicher bleiben. -- Status „Gesendet; Callback ausstehend“ wird in die automatische Wiederholung einbezogen. -- Das Wiederholungsintervall für gesendete Jobs wird ab sent_at berechnet. -- Zähler-Labels bleiben im Darkmode weiß mit dunkler, lesbarer Schrift. -- VERSION und app/version.py wurden auf 0.5.5.12 aktualisiert. diff --git a/UPDATE-0.5.5.13.txt b/UPDATE-0.5.5.13.txt deleted file mode 100644 index 7e456a0..0000000 --- a/UPDATE-0.5.5.13.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.5.5.13 - -- Client-Callbacks werden bei einem Übertragungsfehler bis zu drei Mal gesendet. -- Zwischen den Versuchen wird 2 beziehungsweise 4 Sekunden gewartet. -- Der Callback-Timeout beträgt pro Versuch 60 Sekunden. -- Wiederholte Abschluss-Callbacks mit demselben gültigen Token werden idempotent als erfolgreich angenommen. -- Die Wiederholung gilt für PowerShell-, Python-, Bash- und CMD-Runtime-Wrapper sowie die eingebauten Inventur-Fallbacks. -- Das Diagramm-Label `.chart-total` erhält im Darkmode ausdrücklich eine dunkle Schriftfarbe. -- Die zentrale CSS-Datei wird mit der Versionsnummer geladen, damit Browser nach Updates nicht die alte Regel aus dem Cache verwenden. -- VERSION und app/version.py wurden auf 0.5.5.13 aktualisiert. -- Stabiler Rückfallstand vor dem Callback-Worker-Umbau bleibt 0.5.5.10. diff --git a/UPDATE-0.5.5.14.txt b/UPDATE-0.5.5.14.txt deleted file mode 100644 index 467d0bb..0000000 --- a/UPDATE-0.5.5.14.txt +++ /dev/null @@ -1,9 +0,0 @@ -AssetManager 0.5.5.14 - -- Aktive Ausschlussliste in den Software-Einstellungen -- Regeln bestehen aus Plattform und Text, der im Softwarenamen enthalten ist -- Vergleich ohne Beachtung der Groß-/Kleinschreibung -- Ausgeschlossene Software wird beim Callback vor dem Datenbankimport entfernt -- Bestehende ausgeschlossene Einträge verschwinden bei der nächsten Inventur des Assets -- Callback-Diagnose protokolliert empfangene, ausgeschlossene und gespeicherte Einträge -- Deutsche und englische Oberflächentexte ergänzt diff --git a/UPDATE-0.5.5.15.txt b/UPDATE-0.5.5.15.txt deleted file mode 100644 index 9e48c33..0000000 --- a/UPDATE-0.5.5.15.txt +++ /dev/null @@ -1,9 +0,0 @@ -AssetManager 0.5.5.15 - -- Benutzerfreundliche Job-Art für Jobdefinitionen: Skript oder Windows-Registry statt technischem Wert job_definition. -- In der Spalte Paket wird bei Jobdefinitionen der tatsächliche Name der ausgewählten Jobdefinition angezeigt. -- Gilt einheitlich für Sammeljobs, Einzeljobs, Asset-Softwareliste und Jobdetailansicht. -- Neue Jobs speichern zusätzlich Jobart, Interpreter, Quelltyp und Erstellungsart als kleine Metadaten. -- Sammeljobs erhalten eine gemeinsame Batch-ID sowie Position und Gesamtanzahl für die Diagnose. -- Dispatcher-Protokoll zeigt technische und fachliche Jobmetadaten getrennt an. -- Alte Jobdefinitions-Jobs werden anhand ihrer bestehenden definition_id/definition_name weiterhin korrekt angezeigt. diff --git a/UPDATE-0.5.5.16.txt b/UPDATE-0.5.5.16.txt deleted file mode 100644 index fcc34a6..0000000 --- a/UPDATE-0.5.5.16.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.5.5.16 - -Korrekturen: -- Excel-Export der Assetliste wird nicht mehr von der dynamischen Asset-Detailroute abgefangen. -- Die Asset-Detailroute akzeptiert nur noch numerische Asset-IDs. -- Der Download-Button verwendet die konfliktfreie Export-Route /export/assets.xlsx. - -Keine Konfigurations- oder Nutzdaten werden durch dieses Update ersetzt. diff --git a/UPDATE-0.5.5.17.txt b/UPDATE-0.5.5.17.txt deleted file mode 100644 index d947e86..0000000 --- a/UPDATE-0.5.5.17.txt +++ /dev/null @@ -1,17 +0,0 @@ -AssetManager 0.5.5.17 - -Neue Funktionen: -- Die Assetliste kann bei Bedarf nach dem Ausführungsstand einer Softwareinventur oder Jobdefinition gefiltert werden. -- Filterbedingungen: mindestens einmal erfolgreich, noch nicht erfolgreich, noch nie ausgeführt, letzter Status fehlgeschlagen, teilweise erfolgreich, Zeitüberschreitung, Callback ausstehend, aktiv/eingereiht und letzter Erfolg älter als X Tage. -- Bei Jobdefinitionen kann optional nur die aktuelle Definitionsrevision berücksichtigt werden. -- Jobstatus, letzte Ausführung, letzter Erfolg und Revision werden nur bei aktivem Jobfilter als zusätzliche Spalten geladen. -- Der ausgewählte Job kann direkt für alle aktuell gefilterten Assets gestartet werden. Das vorhandene Dispatcher-Warteintervall gilt unverändert. - -Technische Erweiterungen: -- Neue abgeleitete Tabelle asset_job_states für einen kompakten Jobstatus je Asset und Jobdefinition. -- Die Tabelle wird beim ersten Start aus der vorhandenen Jobhistorie aufgebaut und danach bei Statusänderungen aktualisiert. -- Indizes für schnelle Filter nach Job, Status und letztem Erfolg. -- Beim Zusammenführen von Assets wird der abgeleitete Jobstatus aus der verschobenen Jobhistorie neu aufgebaut. -- Die normale Assetliste greift ohne aktiven Jobfilter nicht auf asset_job_states zu. - -Keine Konfigurations- oder Nutzdaten werden durch dieses Update ersetzt. diff --git a/UPDATE-0.5.5.18.txt b/UPDATE-0.5.5.18.txt deleted file mode 100644 index 266f2bb..0000000 --- a/UPDATE-0.5.5.18.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.5.5.18 - -- Asset-Jobfilter auf frei wählbare Ausschlussstatus umgestellt. -- Alle bekannten Jobstatus einschließlich „Noch nie ausgeführt“ können einzeln ausgeschlossen werden. -- Jobinformationen werden weiterhin nur bei aktivem Jobfilter geladen. -- Neue Administratoransicht „Jobstatus je Asset“ in der Jobübersicht. -- Die neue Ansicht verwendet die bestehenden Tabellenfunktionen für Filterung und Sortierung. -- Start eines Jobs für die gefilterten Assets verwendet weiterhin das konfigurierte Dispatcher-Intervall. diff --git a/UPDATE-0.5.5.19.txt b/UPDATE-0.5.5.19.txt deleted file mode 100644 index b211f37..0000000 --- a/UPDATE-0.5.5.19.txt +++ /dev/null @@ -1,8 +0,0 @@ -AssetManager 0.5.5.19 - -- Der Jobstatusfilter der Assetliste unterstützt mehrere gleichzeitig ausgewählte Jobs. -- Mehrere Jobs werden als alternative Ausführungen zusammengefasst; der zuletzt ausgeführte ausgewählte Job bestimmt den angezeigten Status. -- Der letzte erfolgreiche Lauf wird über alle ausgewählten Jobs hinweg berücksichtigt. -- Beim Start für gefilterte Assets wird bei mehreren ausgewählten Jobs der konkret auszuführende Job separat ausgewählt. -- Deaktivierte Jobdefinitionen werden in den Jobauswahlfeldern der Assetliste nicht mehr angezeigt. -- Die normale Assetliste lädt weiterhin keine Jobstatusdaten, solange der Jobfilter nicht aktiv ist. diff --git a/UPDATE-0.5.5.20.txt b/UPDATE-0.5.5.20.txt deleted file mode 100644 index 860a5d6..0000000 --- a/UPDATE-0.5.5.20.txt +++ /dev/null @@ -1,6 +0,0 @@ -AssetManager 0.5.5.20 - -- MeshCentral-Präsenzabfragen behalten erfolgreiche ListDevices-Rohdateien nicht mehr dauerhaft. -- Fehlerhafte MeshCtrl-Aufrufe bleiben weiterhin als Diagnose erhalten. -- Parsefehler der Präsenzabfrage werden in einer einzigen überschreibbaren Datei gespeichert. -- Das Software-Job-Debugging bleibt davon unabhängig. diff --git a/UPDATE-0.5.5.21.txt b/UPDATE-0.5.5.21.txt deleted file mode 100644 index bb5909a..0000000 --- a/UPDATE-0.5.5.21.txt +++ /dev/null @@ -1,11 +0,0 @@ -AssetManager 0.5.5.21 - -- Administratoren können die MeshCentral Node-ID direkt in der Assetdetailseite initialisieren oder ändern. -- Die Geräteauswahl wird erst beim Öffnen der Verknüpfungsseite aus MeshCentral geladen und beeinflusst die normale Assetdetailseite nicht. -- Es werden ausschließlich MeshCentral-Geräte angeboten, deren Node-ID noch keinem anderen Asset zugeordnet ist. -- Zur sicheren Auswahl werden Gerätename, Hersteller, Seriennummer, Gerätegruppe, Betriebssystem und Node-ID angezeigt. -- Beim Speichern wird erneut geprüft, ob das Gerät in MeshCentral existiert und die Node-ID noch frei ist. -- Administratoren können eine vorhandene MeshCentral-Verknüpfung lösen, ohne das Asset oder seine gespeicherten Fachdaten zu löschen. -- Änderungen und gelöste Verknüpfungen werden in der Asset-Historie protokolliert. -- Nach einer manuellen Änderung werden nur die verknüpfungsabhängigen Präsenzdaten zurückgesetzt; andere Assetfelder bleiben bis zur nächsten Synchronisierung unverändert. -- Erfolgreiche Geräteabfragen für die Auswahl werden nicht dauerhaft im Diagnoseverzeichnis gespeichert. diff --git a/UPDATE-0.5.5.22.txt b/UPDATE-0.5.5.22.txt deleted file mode 100644 index 99322ea..0000000 --- a/UPDATE-0.5.5.22.txt +++ /dev/null @@ -1,9 +0,0 @@ -AssetManager 0.5.5.22 - -- Administratoren können die MeshCentral Node-ID direkt im Bearbeitungsformular eines Assets editieren. -- Ein leeres Node-ID-Feld löst die Verknüpfung beim Speichern, ohne das Asset oder andere Fachdaten zu löschen. -- Der Button „Node-ID leeren“ leert das Feld; gespeichert wird die Änderung erst mit dem normalen Speichern-Button. -- Über „MeshCentral-Gerät auswählen“ bleibt zusätzlich die abgesicherte Geräteauswahl verfügbar. -- Doppelt vergebene MeshCentral Node-IDs werden vor dem Speichern abgewiesen. -- Änderungen werden in der Asset-Historie protokolliert und setzen nur die verknüpfungsabhängigen Laufzeitdaten zurück. -- Andere Assetdaten werden erst beim nächsten MeshCentral-Sync gemäß den bestehenden Mapping-Regeln aktualisiert. diff --git a/UPDATE-0.5.5.23.txt b/UPDATE-0.5.5.23.txt deleted file mode 100644 index 52a2a86..0000000 --- a/UPDATE-0.5.5.23.txt +++ /dev/null @@ -1,7 +0,0 @@ -AssetManager 0.5.5.23 - -- Die Spaltenfilter der Liste „Letzte Jobs“ werden serverseitig auf die vollständige Jobhistorie angewendet. -- Erst nach der Filterung wird die Auswahl 25/50/100/500/1000 begrenzt. -- Alte Job-IDs sind damit unabhängig von ihrer Position in der Historie auffindbar. -- Filterwerte bleiben beim Wechsel der Trefferanzahl erhalten. -- Erfolgs-, Status-, Asset-, Paket-, Plattform- und weitere Spaltenfilter durchsuchen ebenfalls den Gesamtbestand. diff --git a/UPDATE-0.5.5.24.txt b/UPDATE-0.5.5.24.txt deleted file mode 100644 index 650b8fa..0000000 --- a/UPDATE-0.5.5.24.txt +++ /dev/null @@ -1,12 +0,0 @@ -AssetManager 0.5.5.24 -===================== - -Docker-Hardening ohne Änderung der Laufzeit-Benutzerrechte: - -- Dockerfile verwendet für die MeshCentral-Installation WORKDIR statt "RUN cd ...". -- Docker-HEALTHCHECK prüft alle 30 Sekunden den vorhandenen Endpunkt - http://127.0.0.1:8000/api/software-callback/health. -- Der Container läuft weiterhin wie bisher als Root. Verzeichnis- und Volume-Rechte - werden durch dieses Update nicht verändert. - -Nach dem Update muss das App-Image neu gebaut und der Container neu erstellt werden. diff --git a/UPDATE-0.5.5.25.txt b/UPDATE-0.5.5.25.txt deleted file mode 100644 index 21615e5..0000000 --- a/UPDATE-0.5.5.25.txt +++ /dev/null @@ -1,25 +0,0 @@ -AssetManager 0.5.5.25 -===================== - -Geschützter lokaler Notfall-Administrator bei aktivem LDAP: - -- Über LOCAL_ADMIN_USERNAME und LOCAL_ADMIN_PASSWORD kann ein lokales - Break-Glass-Administratorkonto eingerichtet werden. -- Das Konto kann sich auch anmelden, wenn authentication.mode auf "ldap" steht. -- Das lokale Passwort wird vor einem LDAP-Versuch geprüft. Für denselben - Benutzernamen gibt es bei einem falschen lokalen Passwort keinen LDAP-Fallback. -- Das Konto bleibt aktiv, behält Administratorrechte und kann in der GUI weder - deaktiviert noch gelöscht werden. -- Das Initialkennwort wird nur beim erstmaligen Anlegen oder bei einem lokalen - Konto ohne Passwort-Hash übernommen. Ein vorhandenes Passwort wird beim - Containerstart nicht überschrieben. -- Existiert derselbe Benutzername bereits als LDAP-Konto, wird kein lokales - Konto angelegt; der Konflikt wird im Containerlog ausgegeben. - -Einrichtung in /srv/docker/assetmanager/.env: - -LOCAL_ADMIN_USERNAME=emergency-admin -LOCAL_ADMIN_PASSWORD=EinSehrSicheresKennwortMitMindestens12Zeichen - -Danach das App-Image neu bauen und den Container neu erstellen. -Das Kennwort kann später in der Benutzerverwaltung geändert werden. diff --git a/UPDATE-0.5.5.26.txt b/UPDATE-0.5.5.26.txt deleted file mode 100644 index e790a5f..0000000 --- a/UPDATE-0.5.5.26.txt +++ /dev/null @@ -1,7 +0,0 @@ -AssetManager 0.5.5.26 - -- Festes Herstellerlogo im Info-Popup ergänzt. -- Das Logo ist nicht über die GUI konfigurierbar. -- Automatische Suche nach app/static/img/manufacturer-logo.svg, .png, .jpg, .jpeg oder .webp. -- Das bereitgestellte PNG wird als app/static/img/manufacturer-logo.png ausgeliefert. -- Versionsdateien auf 0.5.5.26 aktualisiert. diff --git a/UPDATE-0.5.5.27.txt b/UPDATE-0.5.5.27.txt deleted file mode 100644 index 6b4d099..0000000 --- a/UPDATE-0.5.5.27.txt +++ /dev/null @@ -1,13 +0,0 @@ -AssetManager 0.5.5.27 - -- Vollständige Apache-License-2.0-Lizenzdatei ergänzt. -- Lizenzkennung in den Projektinformationen auf den SPDX-Wert Apache-2.0 vereinheitlicht. -- README für den aktuellen Funktionsstand und die Veröffentlichung auf GitHub neu erstellt. -- CONTRIBUTING.md, SECURITY.md, THIRD_PARTY_NOTICES.md, .gitignore, .dockerignore, .gitattributes und .env.example ergänzt. -- Öffentliche Kommentare und ältere Versionshinweise von reinen Produktvergleichen bereinigt. -- Interne Server-, Domänen-, Konto- und Pfadbeispiele durch neutrale Beispieldaten ersetzt. -- GitHub-Exporter erstellt einen bereinigten Quellstand ohne Datenbank, Konfiguration, Zugangsdaten, Logs, Backups oder Uploads. -- Veröffentlichungsprüfung kontrolliert Lizenz, Versionsgleichheit, vertrauliche Dateien und unerwünschte Vergleichsnennungen. -- Docker-Build sammelt Lizenzdateien der tatsächlich installierten Python- und Node.js-Abhängigkeiten. -- MeshCentral- und MeshCtrl-Nennungen bleiben ausschließlich dort erhalten, wo die tatsächliche technische Integration beschrieben wird. -- Keine Änderung an der fachlichen Programmlogik. diff --git a/UPDATE-0.5.5.5.txt b/UPDATE-0.5.5.5.txt deleted file mode 100644 index 027f3f4..0000000 --- a/UPDATE-0.5.5.5.txt +++ /dev/null @@ -1,35 +0,0 @@ -AssetManager 0.5.5.5 - kumulatives Update ab 0.5.5.0 - -Enthaltene Korrekturen aus 0.5.5.1 bis 0.5.5.5: -- PowerShell-Dateijobs starten über Windows-Eingabeaufforderung mit: - powershell -ExecutionPolicy Bypass -File "C:\ProgramData\AssetManager\Jobs\-\run.ps1" -- Für diesen Start wird MeshCtrl NICHT mit --powershell aufgerufen. -- Diagnoseprotokoll zeigt Shell, exakten Startbefehl und MeshCtrl-PowerShell-Modus. -- Vor dem Upload wird eine eventuell vorhandene Zieldatei entfernt. -- Fehlgeschlagene Uploads werden einmal erneut versucht und vollständig protokolliert. -- Merge von MeshCentral-Asset in ein bestehendes importiertes Asset gibt mesh_node_id zuerst frei. -- Merge-Fehler werden auf /assets als Toast angezeigt; keine Redirect-Schleife mehr. -- VERSION und app/version.py sind beide auf 0.5.5.5 gesetzt. -- Dockerfile kopiert VERSION in das Image. - -Paketstruktur: -Die Dateien liegen direkt im ZIP-Stamm. Es gibt keinen zusätzlichen Ordner -"assetmanager" und keinen Ordner mit Versionsnummer. - -Installation: - cd /srv/docker/assetmanager - unzip -o /pfad/assetmanager-v0.5.5.5-cumulative-root.zip -d /srv/docker/assetmanager - cat VERSION - grep APP_VERSION app/version.py - grep -n "powershell -ExecutionPolicy Bypass -File" app/software_control.py - docker compose build --no-cache app - docker compose up -d --force-recreate app - -Nach dem Start im Container prüfen: - docker compose exec app python -c "from app.version import APP_VERSION; print(APP_VERSION)" - docker compose exec app grep -n "powershell -ExecutionPolicy Bypass -File" /app/app/software_control.py - -Ein neuer Windows-PowerShell-Job muss im Diagnoseprotokoll enthalten: - Remote execution shell: Windows Command Prompt - Remote execution command: powershell -ExecutionPolicy Bypass -File "...\run.ps1" - MeshCtrl PowerShell mode: False diff --git a/UPDATE-0.5.5.6.txt b/UPDATE-0.5.5.6.txt deleted file mode 100644 index de4ca39..0000000 --- a/UPDATE-0.5.5.6.txt +++ /dev/null @@ -1,19 +0,0 @@ -AssetManager 0.5.5.6 -==================== - -Änderungen ----------- -- Konfigurierbare Pause zwischen Jobstarts auf der Seite Software-Einstellungen. -- Standardwert: 2 Sekunden; zulässiger Bereich: 0 bis 60 Sekunden. -- Globale Dispatcher-Steuerung verteilt auch große Sammelaktionen zeitlich, ohne die HTTP-Anfrage zu blockieren. -- Wartende Dispatcher-Threads öffnen erst nach Ablauf ihrer Wartezeit eine Datenbanksitzung. -- Abgelaufene Jobs werden alle 30 Sekunden automatisch auf Zeitüberschreitung gesetzt. -- Statusprüfung erfolgt zusätzlich beim Öffnen der Softwareübersicht, der Jobdetails und vor einem Neustart. -- Auswahl für die Anzahl der letzten Jobs: 25, 50, 100, 500 oder 1000. -- Softwareinventur-Einträge aus Callbacks werden gesammelt in die Datenbank geschrieben, um parallele Rückmeldungen schneller zu verarbeiten. -- Client-Abbrüche während eines Callback-Uploads werden protokolliert, ohne einen unkontrollierten ASGI-Traceback zu erzeugen. -- Deutsche und englische Übersetzungen ergänzt. - -Update ------- -Das ZIP beginnt mit dem Hauptordner assetmanager/. Bestehende Konfigurations-, Datenbank-, Upload-, Log- und Sicherungsdaten sind nicht enthalten und werden nicht überschrieben. diff --git a/UPDATE-0.5.5.7.txt b/UPDATE-0.5.5.7.txt deleted file mode 100644 index 429be57..0000000 --- a/UPDATE-0.5.5.7.txt +++ /dev/null @@ -1,17 +0,0 @@ -AssetManager 0.5.5.7 -==================== - -Änderungen ----------- -- Die Tabelle „Letzte Jobs“ enthält eine Auswahlspalte mit Checkboxen. -- Nur Jobs, die nicht erfolgreich und aktuell nicht im Status „Wird gesendet“ oder „Läuft“ sind, können für einen Sammelneustart markiert werden. -- Eine Checkbox in der Tabellenüberschrift markiert alle sichtbaren und erneut startbaren Jobs. -- Der Button „Markierte Jobs erneut starten“ wird erst nach einer Auswahl aktiv und zeigt die Anzahl der markierten Jobs an. -- Der Sammelneustart verwendet denselben bestehenden Neustartpfad wie der Einzelneustart. -- Alle markierten Jobs werden über den vorhandenen Dispatcher gestartet; das in den Software-Einstellungen konfigurierte Warteintervall gilt unverändert. -- Erfolgreiche, inzwischen aktive, nicht mehr vorhandene oder nicht mit MeshCentral verbundene Jobs werden serverseitig sicher übersprungen. -- Deutsche und englische Übersetzungen ergänzt. - -Update ------- -Das ZIP beginnt mit dem Hauptordner assetmanager/. Bestehende Konfigurations-, Datenbank-, Upload-, Log- und Sicherungsdaten sind nicht enthalten und werden nicht überschrieben. diff --git a/UPDATE-0.5.5.8.txt b/UPDATE-0.5.5.8.txt deleted file mode 100644 index e8dec25..0000000 --- a/UPDATE-0.5.5.8.txt +++ /dev/null @@ -1,15 +0,0 @@ -AssetManager 0.5.5.8 -==================== - -Performanceoptimierung der Software-/Jobübersicht: - -- Die Startseite des Softwaremoduls lädt nicht mehr die vollständige Softwareinventur. -- Die drei Kennzahlen werden durch kompakte SQL-Aggregationen und eine schlanke DISTINCT-Auswahl berechnet. -- Die Liste der letzten Jobs lädt nur noch die tatsächlich angezeigten Spalten. -- Große Skript-, Callback-, JSON- und Logfelder bleiben bei der Listenabfrage außen vor. -- Asset und Softwarepaket werden weiterhin in derselben Abfrage geladen; es entstehen keine N+1-Abfragen. -- Neue Indizes beschleunigen die Sortierung der neuesten Jobs, die Timeout-Suche und die Softwarezusammenfassung. -- Template-Übersetzungen öffnen nicht mehr für jede Tabellenzelle eine eigene Datenbanksitzung. -- Bei weiterhin langsamen Aufrufen wird eine aufgeteilte Zeitmessung im Anwendungslog ausgegeben. - -Es werden keine Konfigurationsdateien oder Nutzdaten überschrieben. diff --git a/UPDATE-0.5.5.9.txt b/UPDATE-0.5.5.9.txt deleted file mode 100644 index 7a0cc78..0000000 --- a/UPDATE-0.5.5.9.txt +++ /dev/null @@ -1,16 +0,0 @@ -AssetManager 0.5.5.9 - -Änderungen: -- Kumulierte Softwareliste wird vollständig in PostgreSQL gruppiert. -- Die Liste lädt nicht mehr alle Softwareinventar-ORM-Objekte in Python. -- Neue Auswahl für die Gruppierung: - - Name, Hersteller und Plattform (Versionen zusammenfassen) - - Name, Hersteller, Plattform und Version (Versionen getrennt) -- Alle Softwareinstallationen laden nur noch die tatsächlich sichtbaren Datenbankspalten. -- Die Asset-Beziehung wird nicht mehr als vollständiges ORM-Objekt pro Installation geladen. -- Zusätzliche Datenbankindizes für Gruppierung und Listenreihenfolge. -- Zeitmessungen für beide Softwarelisten im Containerlog, wenn der Seitenaufbau länger als 0,5 Sekunden dauert. -- Deutsche und englische Übersetzungen ergänzt. - -Hinweis: -Beim ersten Start werden die neuen Indizes automatisch angelegt. Je nach Größe der Tabelle kann der erste Containerstart deshalb einmalig etwas länger dauern. diff --git a/UPDATE-HINWEIS.txt b/UPDATE-HINWEIS.txt deleted file mode 100644 index 402b9f1..0000000 --- a/UPDATE-HINWEIS.txt +++ /dev/null @@ -1,20 +0,0 @@ -AssetManager 0.5.5.27 – Update- und GitHub-Paket - -Dieses öffentliche Paket enthält absichtlich NICHT: -- `.env` -- `data/config/config.json` und die laufzeitbezogene `data/config/APPINFO.json` -- PostgreSQL-Daten -- Uploads, Logs, Backups und bereitgestellte Laufzeitskripte -- lokale Datenbankdateien und alte Sicherungskopien des Programmcodes - -Vorhandene Konfigurationen, Passwörter und Nutzdaten werden beim Kopieren in ein bestehendes Projekt nicht überschrieben. - -Update einer vorhandenen Installation: -1. `.env` und den gesamten Ordner `data/` sichern. -2. Inhalt des neuen Ordners `assetmanager/` über den bestehenden Projektordner kopieren. -3. `docker compose down` -4. `docker compose up -d --build` -5. `docker compose logs --tail=100 -f` - -Öffentlichen GitHub-Quellstand erneut erzeugen: -`python tools/create_github_source.py` diff --git a/VERSION b/VERSION index ce144ad..cec68e0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.5.5.27 +0.5.5.28 diff --git a/app/version.py b/app/version.py index d540d31..22eb65a 100644 --- a/app/version.py +++ b/app/version.py @@ -1,2 +1,2 @@ -APP_VERSION = "0.5.5.27" +APP_VERSION = "0.5.5.28" __version__ = APP_VERSION diff --git a/docs/architecture/SOFTWARE-CLIENT-ARCHITECTURE.md b/docs/architecture/SOFTWARE-CLIENT-ARCHITECTURE.md new file mode 100644 index 0000000..19d0b45 --- /dev/null +++ b/docs/architecture/SOFTWARE-CLIENT-ARCHITECTURE.md @@ -0,0 +1,168 @@ +# Proposal: Client communication and future software deployment + +## Target architecture + +A small Windows client ("AssetManager Agent") runs on every managed computer. A Netlogon or GPO startup script only installs or updates this agent. Inventory and software jobs are then controlled through a secured HTTPS API. + +## Why not execute every command directly in a Netlogon script? + +A startup script is useful for bootstrap and repair, but unsuitable for permanent job control: + +- User and computer startup is delayed. +- Results and retries are difficult to track. +- A network share or domain controller may not yet be reachable during startup. +- Software installations require status, timeout, exit-code, and restart handling. +- Passwords or global API keys must not be stored in the script. + +## Recommended components + +### 1. Bootstrap through GPO or Netlogon + +The startup script: + +1. creates `C:\ProgramData\AssetManager\agent`, +2. downloads a signed agent version from an internal HTTPS address, +3. installs a Windows service, +4. stores only the server URL and a one-time registration identifier, +5. starts the service. + +### 2. Device identity + +During initial registration, the agent reports: + +- computer name, +- AD domain, +- BIOS serial number, +- Windows MachineGuid, +- optionally, the MeshCentral node ID. + +The server then creates a device-specific token. Windows DPAPI protects the token locally. Do not use a shared API key for all clients. + +### 3. Agent polling + +For example, the client requests a job every five minutes over HTTPS: + +`GET /api/agent/v1/jobs/next` + +Response when no job is available: + +```json +{"job": null, "next_poll_seconds": 300} +``` + +Response with a job: + +```json +{ + "job": { + "id": 4711, + "type": "software_inventory", + "expires_at": "2026-07-22T23:00:00Z", + "payload": {} + } +} +``` + +The client first acknowledges receipt and later reports the result, exit code, log excerpt, and timestamps. + +### 4. Software inventory + +The first agent function should: + +- read installed MSI applications from the 32-bit and 64-bit registry, +- optionally include AppX packages, +- collect name, version, publisher, installation date, and uninstall string, +- send the compressed result to AssetManager, +- store inventory runs per asset on the server. + +Do not use `Win32_Product`, because that WMI class may trigger MSI repairs and can be very slow. + +### 5. Software catalog for future deployment + +Server-side tables: + +- `software_packages` +- `software_package_versions` +- `software_jobs` +- `software_job_results` +- `agent_devices` +- `agent_tokens` +- `agent_inventory_runs` + +A software package contains: + +- name and version, +- installation source, +- SHA-256 hash, +- installation command, +- uninstall command, +- detection rule, +- accepted exit codes, +- restart behavior, +- timeout, +- target architecture. + +### 6. Installation source + +Packages may initially remain on a file server, for example: + +`\\fileserver\software\packages\ExampleApp\1.0\` + +A job must not contain arbitrary PowerShell code. It refers to an approved package definition. The agent verifies that: + +1. the package is approved on the server, +2. the source is below an allowed UNC base path, +3. the file hash matches, +4. the installation command matches the package definition. + +An internal HTTPS package download is more robust in the long term because it does not require machine access to a share and is easier to audit. + +### 7. Security rules + +- use HTTPS only, with an internally trusted certificate, +- use a separate revocable token per device, +- sign jobs on the server or deliver them through an authenticated TLS connection, +- do not provide unrestricted shell or PowerShell input in the web interface, +- execute commands only through defined job types, +- verify package files with SHA-256, +- keep a complete audit log, +- use roles and permissions for approval and execution, +- enforce maximum runtime and retry limits, +- run the agent as SYSTEM only when a specific job requires it. + +## Suggested implementation phases + +### Phase 1 – Inventory + +- agent registration +- heartbeat and last-contact tracking +- operating-system and software inventory +- display on the asset detail page +- manual inventory job + +### Phase 2 – Job model + +- generic job queue +- statuses: pending, claimed, running, success, failed, expired +- exit codes, logs, timeout, and retry +- live status in AssetManager + +### Phase 3 – Software catalog + +- package definitions +- detection rules +- installation and uninstallation +- single devices and device groups +- maintenance windows + +### Phase 4 – Rollout safety + +- pilot groups +- approval workflow +- staged deployment +- abort on excessive failure rate +- restart coordination + +## Recommendation for the next development step + +Implement Phase 1 first. The agent should not yet execute arbitrary commands. Once registration, heartbeat, and software inventory are stable, the same secured communication can be used for the job queue and later software deployment. diff --git a/docs/version-history/README.md b/docs/version-history/README.md new file mode 100644 index 0000000..22cca9b --- /dev/null +++ b/docs/version-history/README.md @@ -0,0 +1,157 @@ +# Version history + +Release notes are stored outside the project root to keep the repository overview compact. + +The current release is **0.5.5.28**. + +Older notes are concise English summaries migrated from the original release documents. Git history remains authoritative for exact implementation details. + +## Releases + +- [0.5.5.28](UPDATE-0.5.5.28.md) +- [0.5.5.27](UPDATE-0.5.5.27.md) +- [0.5.5.26](UPDATE-0.5.5.26.md) +- [0.5.5.25](UPDATE-0.5.5.25.md) +- [0.5.5.24](UPDATE-0.5.5.24.md) +- [0.5.5.23](UPDATE-0.5.5.23.md) +- [0.5.5.22](UPDATE-0.5.5.22.md) +- [0.5.5.21](UPDATE-0.5.5.21.md) +- [0.5.5.20](UPDATE-0.5.5.20.md) +- [0.5.5.19](UPDATE-0.5.5.19.md) +- [0.5.5.18](UPDATE-0.5.5.18.md) +- [0.5.5.17](UPDATE-0.5.5.17.md) +- [0.5.5.16](UPDATE-0.5.5.16.md) +- [0.5.5.15](UPDATE-0.5.5.15.md) +- [0.5.5.14](UPDATE-0.5.5.14.md) +- [0.5.5.13](UPDATE-0.5.5.13.md) +- [0.5.5.12](UPDATE-0.5.5.12.md) +- [0.5.5.11](UPDATE-0.5.5.11.md) +- [0.5.5.10](UPDATE-0.5.5.10.md) +- [0.5.5.9](UPDATE-0.5.5.9.md) +- [0.5.5.8](UPDATE-0.5.5.8.md) +- [0.5.5.7](UPDATE-0.5.5.7.md) +- [0.5.5.6](UPDATE-0.5.5.6.md) +- [0.5.5.5](UPDATE-0.5.5.5.md) +- [0.5.5.0](UPDATE-0.5.5.0.md) +- [0.5.4.8](UPDATE-0.5.4.8.md) +- [0.5.4.7](UPDATE-0.5.4.7.md) +- [0.5.4.6](UPDATE-0.5.4.6.md) +- [0.5.4.5](UPDATE-0.5.4.5.md) +- [0.5.4.4](UPDATE-0.5.4.4.md) +- [0.5.4.3](UPDATE-0.5.4.3.md) +- [0.5.4.2](UPDATE-0.5.4.2.md) +- [0.5.4.1](UPDATE-0.5.4.1.md) +- [0.5.4.0](UPDATE-0.5.4.0.md) +- [0.5.3.9](UPDATE-0.5.3.9.md) +- [0.5.3.8](UPDATE-0.5.3.8.md) +- [0.5.3.7](UPDATE-0.5.3.7.md) +- [0.5.3.6](UPDATE-0.5.3.6.md) +- [0.5.3.5](UPDATE-0.5.3.5.md) +- [0.5.3.4](UPDATE-0.5.3.4.md) +- [0.5.3.3](UPDATE-0.5.3.3.md) +- [0.5.3.2](UPDATE-0.5.3.2.md) +- [0.5.3.1](UPDATE-0.5.3.1.md) +- [0.5.3.0](UPDATE-0.5.3.0.md) +- [0.5.2.2](UPDATE-0.5.2.2.md) +- [0.5.2.1](UPDATE-0.5.2.1.md) +- [0.5.2.0](UPDATE-0.5.2.0.md) +- [0.5.1.7](UPDATE-0.5.1.7.md) +- [0.5.1.6](UPDATE-0.5.1.6.md) +- [0.5.1.5](UPDATE-0.5.1.5.md) +- [0.5.1.4](UPDATE-0.5.1.4.md) +- [0.5.1.3](UPDATE-0.5.1.3.md) +- [0.5.1.2](UPDATE-0.5.1.2.md) +- [0.5.1.1](UPDATE-0.5.1.1.md) +- [0.5.1.0](UPDATE-0.5.1.0.md) +- [0.5.0.9](UPDATE-0.5.0.9.md) +- [0.5.0.8](UPDATE-0.5.0.8.md) +- [0.5.0.7](UPDATE-0.5.0.7.md) +- [0.5.0.6](UPDATE-0.5.0.6.md) +- [0.5.0.5](UPDATE-0.5.0.5.md) +- [0.5.0.4](UPDATE-0.5.0.4.md) +- [0.5.0.3](UPDATE-0.5.0.3.md) +- [0.5.0.2](UPDATE-0.5.0.2.md) +- [0.5.0.1](UPDATE-0.5.0.1.md) +- [0.5.0.0](UPDATE-0.5.0.0.md) +- [0.4.0.14](UPDATE-0.4.0.14.md) +- [0.4.0.13](UPDATE-0.4.0.13.md) +- [0.4.0.12](UPDATE-0.4.0.12.md) +- [0.4.0.11](UPDATE-0.4.0.11.md) +- [0.4.0.10](UPDATE-0.4.0.10.md) +- [0.4.0.9](UPDATE-0.4.0.9.md) +- [0.4.0.8](UPDATE-0.4.0.8.md) +- [0.4.0.7](UPDATE-0.4.0.7.md) +- [0.4.0.6](UPDATE-0.4.0.6.md) +- [0.4.0.5](UPDATE-0.4.0.5.md) +- [0.4.0.4](UPDATE-0.4.0.4.md) +- [0.4.0.3](UPDATE-0.4.0.3.md) +- [0.4.0.2](UPDATE-0.4.0.2.md) +- [0.4.0.1](UPDATE-0.4.0.1.md) +- [0.4.0.0](UPDATE-0.4.0.0.md) +- [0.3.15.2](UPDATE-0.3.15.2.md) +- [0.3.15.1](UPDATE-0.3.15.1.md) +- [0.3.15.0](UPDATE-0.3.15.0.md) +- [0.3.14.8](UPDATE-0.3.14.8.md) +- [0.3.14.7](UPDATE-0.3.14.7.md) +- [0.3.14.6](UPDATE-0.3.14.6.md) +- [0.3.14.5](UPDATE-0.3.14.5.md) +- [0.3.14.4](UPDATE-0.3.14.4.md) +- [0.3.14.3](UPDATE-0.3.14.3.md) +- [0.3.14.2](UPDATE-0.3.14.2.md) +- [0.3.14.1](UPDATE-0.3.14.1.md) +- [0.3.14.0](UPDATE-0.3.14.0.md) +- [0.3.13.1](UPDATE-0.3.13.1.md) +- [0.3.13.0](UPDATE-0.3.13.0.md) +- [0.3.12.1](UPDATE-0.3.12.1.md) +- [0.3.12.0](UPDATE-0.3.12.0.md) +- [0.3.11.0](UPDATE-0.3.11.0.md) +- [0.3.10.0](UPDATE-0.3.10.0.md) +- [0.3.9.9](UPDATE-0.3.9.9.md) +- [0.3.9.8](UPDATE-0.3.9.8.md) +- [0.3.9.7](UPDATE-0.3.9.7.md) +- [0.3.9.6.3](UPDATE-0.3.9.6.3.md) +- [0.3.9.6.2](UPDATE-0.3.9.6.2.md) +- [0.3.9.6.1](UPDATE-0.3.9.6.1.md) +- [0.3.9.6](UPDATE-0.3.9.6.md) +- [0.3.9.5](UPDATE-0.3.9.5.md) +- [0.3.9.4](UPDATE-0.3.9.4.md) +- [0.3.9.3](UPDATE-0.3.9.3.md) +- [0.3.9.2](UPDATE-0.3.9.2.md) +- [0.3.9.1](UPDATE-0.3.9.1.md) +- [0.3.9.0](UPDATE-0.3.9.0.md) +- [0.3.8.6](UPDATE-0.3.8.6.md) +- [0.3.8.5](UPDATE-0.3.8.5.md) +- [0.3.8.4](UPDATE-0.3.8.4.md) +- [0.3.8.3](UPDATE-0.3.8.3.md) +- [0.3.8.2](UPDATE-0.3.8.2.md) +- [0.3.8.1](UPDATE-0.3.8.1.md) +- [0.3.8.0](UPDATE-0.3.8.0.md) +- [0.3.7.10](UPDATE-0.3.7.10.md) +- [0.3.7.8](UPDATE-0.3.7.8.md) +- [0.3.7.7](UPDATE-0.3.7.7.md) +- [0.3.7.6](UPDATE-0.3.7.6.md) +- [0.3.7.5](UPDATE-0.3.7.5.md) +- [0.3.7.4](UPDATE-0.3.7.4.md) +- [0.3.7.3](UPDATE-0.3.7.3.md) +- [0.3.7](UPDATE-0.3.7.md) +- [0.3.6.3](UPDATE-0.3.6.3.md) +- [0.3.6.2](UPDATE-0.3.6.2.md) +- [0.3.6](UPDATE-0.3.6.md) +- [0.3.5.1](UPDATE-0.3.5.1.md) +- [0.3.5](UPDATE-0.3.5.md) +- [0.3.4.7](UPDATE-0.3.4.7.md) +- [0.3.4](UPDATE-0.3.4.md) +- [0.3.3](UPDATE-0.3.3.md) +- [0.3.1](UPDATE-0.3.1.md) +- [0.3.0](UPDATE-0.3.0.md) +- [0.2.9.1](UPDATE-0.2.9.1.md) +- [0.2.9](UPDATE-0.2.9.md) +- [0.2.8](UPDATE-0.2.8.md) +- [0.2.7.2](UPDATE-0.2.7.2.md) +- [0.2.7.1](UPDATE-0.2.7.1.md) +- [0.2.7](UPDATE-0.2.7.md) +- [0.2.6.1](UPDATE-0.2.6.1.md) + +## Update instructions + +See [UPDATE-NOTE.md](UPDATE-NOTE.md). diff --git a/docs/version-history/UPDATE-0.2.6.1.md b/docs/version-history/UPDATE-0.2.6.1.md new file mode 100644 index 0000000..dccb691 --- /dev/null +++ b/docs/version-history/UPDATE-0.2.6.1.md @@ -0,0 +1,17 @@ +# AssetManager 0.2.6.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.7.1.md b/docs/version-history/UPDATE-0.2.7.1.md new file mode 100644 index 0000000..005775d --- /dev/null +++ b/docs/version-history/UPDATE-0.2.7.1.md @@ -0,0 +1,11 @@ +# AssetManager 0.2.7.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Backups, configuration, settings, and persistent data. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.7.2.md b/docs/version-history/UPDATE-0.2.7.2.md new file mode 100644 index 0000000..8bff11b --- /dev/null +++ b/docs/version-history/UPDATE-0.2.7.2.md @@ -0,0 +1,11 @@ +# AssetManager 0.2.7.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Backups, configuration, settings, and persistent data. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.7.md b/docs/version-history/UPDATE-0.2.7.md new file mode 100644 index 0000000..113262b --- /dev/null +++ b/docs/version-history/UPDATE-0.2.7.md @@ -0,0 +1,18 @@ +# AssetManager 0.2.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.8.md b/docs/version-history/UPDATE-0.2.8.md new file mode 100644 index 0000000..10afcac --- /dev/null +++ b/docs/version-history/UPDATE-0.2.8.md @@ -0,0 +1,20 @@ +# AssetManager 0.2.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.9.1.md b/docs/version-history/UPDATE-0.2.9.1.md new file mode 100644 index 0000000..9a69250 --- /dev/null +++ b/docs/version-history/UPDATE-0.2.9.1.md @@ -0,0 +1,15 @@ +# AssetManager 0.2.9.1 + +## Summary + +This historical release included changes in the following areas: + +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.2.9.md b/docs/version-history/UPDATE-0.2.9.md new file mode 100644 index 0000000..a5ba852 --- /dev/null +++ b/docs/version-history/UPDATE-0.2.9.md @@ -0,0 +1,17 @@ +# AssetManager 0.2.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.0.md b/docs/version-history/UPDATE-0.3.0.md new file mode 100644 index 0000000..7f45027 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.0.md @@ -0,0 +1,14 @@ +# AssetManager 0.3.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.1.md b/docs/version-history/UPDATE-0.3.1.md new file mode 100644 index 0000000..b5a9df6 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.1.md @@ -0,0 +1,15 @@ +# AssetManager 0.3.1 + +## Summary + +This historical release included changes in the following areas: + +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.10.0.md b/docs/version-history/UPDATE-0.3.10.0.md new file mode 100644 index 0000000..efbdb43 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.10.0.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.10.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.11.0.md b/docs/version-history/UPDATE-0.3.11.0.md new file mode 100644 index 0000000..7863b3a --- /dev/null +++ b/docs/version-history/UPDATE-0.3.11.0.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.11.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.12.0.md b/docs/version-history/UPDATE-0.3.12.0.md new file mode 100644 index 0000000..e7369f0 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.12.0.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.12.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.12.1.md b/docs/version-history/UPDATE-0.3.12.1.md new file mode 100644 index 0000000..966596c --- /dev/null +++ b/docs/version-history/UPDATE-0.3.12.1.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.12.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.13.0.md b/docs/version-history/UPDATE-0.3.13.0.md new file mode 100644 index 0000000..e2b5a14 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.13.0.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.13.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.13.1.md b/docs/version-history/UPDATE-0.3.13.1.md new file mode 100644 index 0000000..e096e85 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.13.1.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.13.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.0.md b/docs/version-history/UPDATE-0.3.14.0.md new file mode 100644 index 0000000..60d2371 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.0.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.14.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.1.md b/docs/version-history/UPDATE-0.3.14.1.md new file mode 100644 index 0000000..6e47d53 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.1.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.14.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.2.md b/docs/version-history/UPDATE-0.3.14.2.md new file mode 100644 index 0000000..f433adb --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.2.md @@ -0,0 +1,16 @@ +# AssetManager 0.3.14.2 + +## Summary + +This historical release included changes in the following areas: + +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.3.md b/docs/version-history/UPDATE-0.3.14.3.md new file mode 100644 index 0000000..aea4154 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.3.md @@ -0,0 +1,21 @@ +# AssetManager 0.3.14.3 + +## Summary + +This historical release included changes in the following areas: + +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.3.14.4.txt b/docs/version-history/UPDATE-0.3.14.4.md similarity index 100% rename from UPDATE-0.3.14.4.txt rename to docs/version-history/UPDATE-0.3.14.4.md diff --git a/docs/version-history/UPDATE-0.3.14.5.md b/docs/version-history/UPDATE-0.3.14.5.md new file mode 100644 index 0000000..e6cb751 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.5.md @@ -0,0 +1,24 @@ +# AssetManager 0.3.14.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.6.md b/docs/version-history/UPDATE-0.3.14.6.md new file mode 100644 index 0000000..ada656d --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.6.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.14.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.7.md b/docs/version-history/UPDATE-0.3.14.7.md new file mode 100644 index 0000000..c039cf9 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.7.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.14.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.14.8.md b/docs/version-history/UPDATE-0.3.14.8.md new file mode 100644 index 0000000..943a41b --- /dev/null +++ b/docs/version-history/UPDATE-0.3.14.8.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.14.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.15.0.md b/docs/version-history/UPDATE-0.3.15.0.md new file mode 100644 index 0000000..db7c2b5 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.15.0.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.15.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.15.1.md b/docs/version-history/UPDATE-0.3.15.1.md new file mode 100644 index 0000000..b223a48 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.15.1.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.15.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.15.2.md b/docs/version-history/UPDATE-0.3.15.2.md new file mode 100644 index 0000000..3133ce2 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.15.2.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.15.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.3.md b/docs/version-history/UPDATE-0.3.3.md new file mode 100644 index 0000000..8603626 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.3.md @@ -0,0 +1,14 @@ +# AssetManager 0.3.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.4.7.md b/docs/version-history/UPDATE-0.3.4.7.md new file mode 100644 index 0000000..31b5fc1 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.4.7.md @@ -0,0 +1,13 @@ +# AssetManager 0.3.4.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.4.md b/docs/version-history/UPDATE-0.3.4.md new file mode 100644 index 0000000..61a0a53 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.4.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.5.1.md b/docs/version-history/UPDATE-0.3.5.1.md new file mode 100644 index 0000000..b3b1ca1 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.5.1.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.5.1 + +## Summary + +This historical release included changes in the following areas: + +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.5.md b/docs/version-history/UPDATE-0.3.5.md new file mode 100644 index 0000000..bcc40ae --- /dev/null +++ b/docs/version-history/UPDATE-0.3.5.md @@ -0,0 +1,16 @@ +# AssetManager 0.3.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.6.2.md b/docs/version-history/UPDATE-0.3.6.2.md new file mode 100644 index 0000000..72d2b23 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.6.2.md @@ -0,0 +1,14 @@ +# AssetManager 0.3.6.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.6.3.md b/docs/version-history/UPDATE-0.3.6.3.md new file mode 100644 index 0000000..031bf7c --- /dev/null +++ b/docs/version-history/UPDATE-0.3.6.3.md @@ -0,0 +1,12 @@ +# AssetManager 0.3.6.3 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.6.md b/docs/version-history/UPDATE-0.3.6.md new file mode 100644 index 0000000..b4667b2 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.6.md @@ -0,0 +1,10 @@ +# AssetManager 0.3.6 + +## Summary + +This historical release included changes in the following areas: + +- User interface, translations, dark mode, charts, and styling. +- Docker, release packaging, validation, licensing, and public repository files. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.7.10.md b/docs/version-history/UPDATE-0.3.7.10.md new file mode 100644 index 0000000..39749f5 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.7.10.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.7.10 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.7.3.md b/docs/version-history/UPDATE-0.3.7.3.md new file mode 100644 index 0000000..91b87ee --- /dev/null +++ b/docs/version-history/UPDATE-0.3.7.3.md @@ -0,0 +1,10 @@ +# AssetManager 0.3.7.3 + +## Summary + +This historical release included changes in the following areas: + +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.7.4.md b/docs/version-history/UPDATE-0.3.7.4.md new file mode 100644 index 0000000..bf82cfb --- /dev/null +++ b/docs/version-history/UPDATE-0.3.7.4.md @@ -0,0 +1,16 @@ +# AssetManager 0.3.7.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.7.5.md b/docs/version-history/UPDATE-0.3.7.5.md new file mode 100644 index 0000000..73c5424 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.7.5.md @@ -0,0 +1,14 @@ +# AssetManager 0.3.7.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.3.7.6.txt b/docs/version-history/UPDATE-0.3.7.6.md similarity index 91% rename from UPDATE-0.3.7.6.txt rename to docs/version-history/UPDATE-0.3.7.6.md index fee8fe5..6cb8a5b 100644 --- a/UPDATE-0.3.7.6.txt +++ b/docs/version-history/UPDATE-0.3.7.6.md @@ -1,4 +1,4 @@ -AssetManager 0.3.7.6 +# AssetManager 0.3.7.6 - User management fully translated - Translation filter layout fixed diff --git a/UPDATE-0.3.7.7.txt b/docs/version-history/UPDATE-0.3.7.7.md similarity index 97% rename from UPDATE-0.3.7.7.txt rename to docs/version-history/UPDATE-0.3.7.7.md index 0abe1ac..23b8979 100644 --- a/UPDATE-0.3.7.7.txt +++ b/docs/version-history/UPDATE-0.3.7.7.md @@ -1,4 +1,4 @@ -AssetManager 0.3.7.7 +# AssetManager 0.3.7.7 - Login page translated via i18n keys. - Language switching remains available before login and is stored only in the session until authentication. diff --git a/docs/version-history/UPDATE-0.3.7.8.md b/docs/version-history/UPDATE-0.3.7.8.md new file mode 100644 index 0000000..520fd30 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.7.8.md @@ -0,0 +1,11 @@ +# AssetManager 0.3.7.8 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.3.7.txt b/docs/version-history/UPDATE-0.3.7.md similarity index 90% rename from UPDATE-0.3.7.txt rename to docs/version-history/UPDATE-0.3.7.md index e6307d1..7ebc39d 100644 --- a/UPDATE-0.3.7.txt +++ b/docs/version-history/UPDATE-0.3.7.md @@ -1,4 +1,4 @@ -AssetManager 0.3.7 - Internationalization foundation +# AssetManager 0.3.7 - Internationalization foundation Stable rollback reference: 0.3.6.3 (German-only UI). diff --git a/UPDATE-0.3.8.0.txt b/docs/version-history/UPDATE-0.3.8.0.md similarity index 90% rename from UPDATE-0.3.8.0.txt rename to docs/version-history/UPDATE-0.3.8.0.md index 5fbd3d0..897437a 100644 --- a/UPDATE-0.3.8.0.txt +++ b/docs/version-history/UPDATE-0.3.8.0.md @@ -1,4 +1,4 @@ -AssetManager 0.3.8.0 - Central field catalog and MeshCentral GUI configuration +# AssetManager 0.3.8.0 - Central field catalog and MeshCentral GUI configuration IMPORTANT: - Stable rollback version before this structural migration: 0.3.7.10 diff --git a/UPDATE-0.3.8.1.txt b/docs/version-history/UPDATE-0.3.8.1.md similarity index 92% rename from UPDATE-0.3.8.1.txt rename to docs/version-history/UPDATE-0.3.8.1.md index 636c9e2..cf7eb35 100644 --- a/UPDATE-0.3.8.1.txt +++ b/docs/version-history/UPDATE-0.3.8.1.md @@ -1,4 +1,4 @@ -AssetManager 0.3.8.1 - MeshCentral field mapping correction +# AssetManager 0.3.8.1 - MeshCentral field mapping correction Changes: - mesh_field_mappings is now the database-backed source of truth. diff --git a/docs/version-history/UPDATE-0.3.8.2.md b/docs/version-history/UPDATE-0.3.8.2.md new file mode 100644 index 0000000..6135ee6 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.8.2.md @@ -0,0 +1,13 @@ +# AssetManager 0.3.8.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.8.3.md b/docs/version-history/UPDATE-0.3.8.3.md new file mode 100644 index 0000000..3f1c3e6 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.8.3.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.8.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.8.4.md b/docs/version-history/UPDATE-0.3.8.4.md new file mode 100644 index 0000000..def06cd --- /dev/null +++ b/docs/version-history/UPDATE-0.3.8.4.md @@ -0,0 +1,16 @@ +# AssetManager 0.3.8.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.8.5.md b/docs/version-history/UPDATE-0.3.8.5.md new file mode 100644 index 0000000..2b86afb --- /dev/null +++ b/docs/version-history/UPDATE-0.3.8.5.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.8.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.8.6.md b/docs/version-history/UPDATE-0.3.8.6.md new file mode 100644 index 0000000..167c94d --- /dev/null +++ b/docs/version-history/UPDATE-0.3.8.6.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.8.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.0.md b/docs/version-history/UPDATE-0.3.9.0.md new file mode 100644 index 0000000..a84bc6b --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.0.md @@ -0,0 +1,12 @@ +# AssetManager 0.3.9.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.1.md b/docs/version-history/UPDATE-0.3.9.1.md new file mode 100644 index 0000000..eb667e1 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.1.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.9.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.2.md b/docs/version-history/UPDATE-0.3.9.2.md new file mode 100644 index 0000000..95633f4 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.2.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.9.2 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.3.md b/docs/version-history/UPDATE-0.3.9.3.md new file mode 100644 index 0000000..a56e946 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.3.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.9.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.4.md b/docs/version-history/UPDATE-0.3.9.4.md new file mode 100644 index 0000000..01267ce --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.4.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.9.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.5.md b/docs/version-history/UPDATE-0.3.9.5.md new file mode 100644 index 0000000..7853237 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.5.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.9.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.6.1.md b/docs/version-history/UPDATE-0.3.9.6.1.md new file mode 100644 index 0000000..7d304ec --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.6.1.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.9.6.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.6.2.md b/docs/version-history/UPDATE-0.3.9.6.2.md new file mode 100644 index 0000000..2b6839b --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.6.2.md @@ -0,0 +1,18 @@ +# AssetManager 0.3.9.6.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.6.3.md b/docs/version-history/UPDATE-0.3.9.6.3.md new file mode 100644 index 0000000..255019b --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.6.3.md @@ -0,0 +1,9 @@ +# AssetManager 0.3.9.6.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.6.md b/docs/version-history/UPDATE-0.3.9.6.md new file mode 100644 index 0000000..04481e0 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.6.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.9.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.7.md b/docs/version-history/UPDATE-0.3.9.7.md new file mode 100644 index 0000000..1ba3ea6 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.7.md @@ -0,0 +1,17 @@ +# AssetManager 0.3.9.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- Docker, release packaging, validation, licensing, and public repository files. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.8.md b/docs/version-history/UPDATE-0.3.9.8.md new file mode 100644 index 0000000..11852d0 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.8.md @@ -0,0 +1,19 @@ +# AssetManager 0.3.9.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.3.9.9.md b/docs/version-history/UPDATE-0.3.9.9.md new file mode 100644 index 0000000..c2592c8 --- /dev/null +++ b/docs/version-history/UPDATE-0.3.9.9.md @@ -0,0 +1,20 @@ +# AssetManager 0.3.9.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.0.md b/docs/version-history/UPDATE-0.4.0.0.md new file mode 100644 index 0000000..1731cf7 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.0.md @@ -0,0 +1,16 @@ +# AssetManager 0.4.0.0 + +## Summary + +This historical release included changes in the following areas: + +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.1.md b/docs/version-history/UPDATE-0.4.0.1.md new file mode 100644 index 0000000..aae56f4 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.1.md @@ -0,0 +1,19 @@ +# AssetManager 0.4.0.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.10.md b/docs/version-history/UPDATE-0.4.0.10.md new file mode 100644 index 0000000..846f7f2 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.10.md @@ -0,0 +1,17 @@ +# AssetManager 0.4.0.10 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.11.md b/docs/version-history/UPDATE-0.4.0.11.md new file mode 100644 index 0000000..405d2dd --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.11.md @@ -0,0 +1,19 @@ +# AssetManager 0.4.0.11 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.12.md b/docs/version-history/UPDATE-0.4.0.12.md new file mode 100644 index 0000000..e46cfcc --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.12.md @@ -0,0 +1,16 @@ +# AssetManager 0.4.0.12 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.13.md b/docs/version-history/UPDATE-0.4.0.13.md new file mode 100644 index 0000000..b466907 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.13.md @@ -0,0 +1,17 @@ +# AssetManager 0.4.0.13 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.14.md b/docs/version-history/UPDATE-0.4.0.14.md new file mode 100644 index 0000000..c1d9f8c --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.14.md @@ -0,0 +1,16 @@ +# AssetManager 0.4.0.14 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.2.md b/docs/version-history/UPDATE-0.4.0.2.md new file mode 100644 index 0000000..85a8c90 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.2.md @@ -0,0 +1,20 @@ +# AssetManager 0.4.0.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.3.md b/docs/version-history/UPDATE-0.4.0.3.md new file mode 100644 index 0000000..4edde7a --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.3.md @@ -0,0 +1,19 @@ +# AssetManager 0.4.0.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.4.md b/docs/version-history/UPDATE-0.4.0.4.md new file mode 100644 index 0000000..e570203 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.4.md @@ -0,0 +1,20 @@ +# AssetManager 0.4.0.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.5.md b/docs/version-history/UPDATE-0.4.0.5.md new file mode 100644 index 0000000..4b6b3be --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.5.md @@ -0,0 +1,18 @@ +# AssetManager 0.4.0.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.6.md b/docs/version-history/UPDATE-0.4.0.6.md new file mode 100644 index 0000000..e52c8b8 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.6.md @@ -0,0 +1,19 @@ +# AssetManager 0.4.0.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.7.md b/docs/version-history/UPDATE-0.4.0.7.md new file mode 100644 index 0000000..c4a02db --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.7.md @@ -0,0 +1,18 @@ +# AssetManager 0.4.0.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.8.md b/docs/version-history/UPDATE-0.4.0.8.md new file mode 100644 index 0000000..92e9e9d --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.8.md @@ -0,0 +1,18 @@ +# AssetManager 0.4.0.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.4.0.9.md b/docs/version-history/UPDATE-0.4.0.9.md new file mode 100644 index 0000000..687a467 --- /dev/null +++ b/docs/version-history/UPDATE-0.4.0.9.md @@ -0,0 +1,19 @@ +# AssetManager 0.4.0.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Authentication, LDAP, users, roles, and permissions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.0.md b/docs/version-history/UPDATE-0.5.0.0.md new file mode 100644 index 0000000..792c21b --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.0.md @@ -0,0 +1,22 @@ +# AssetManager 0.5.0.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.1.md b/docs/version-history/UPDATE-0.5.0.1.md new file mode 100644 index 0000000..ceac2fd --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.1.md @@ -0,0 +1,18 @@ +# AssetManager 0.5.0.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.2.md b/docs/version-history/UPDATE-0.5.0.2.md new file mode 100644 index 0000000..17796bb --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.2.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.0.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.3.md b/docs/version-history/UPDATE-0.5.0.3.md new file mode 100644 index 0000000..c57a0dc --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.3.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.0.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.4.md b/docs/version-history/UPDATE-0.5.0.4.md new file mode 100644 index 0000000..b4a83c7 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.4.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.0.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.5.md b/docs/version-history/UPDATE-0.5.0.5.md new file mode 100644 index 0000000..fd3e18b --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.5.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.0.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.6.md b/docs/version-history/UPDATE-0.5.0.6.md new file mode 100644 index 0000000..35c35a3 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.6.md @@ -0,0 +1,15 @@ +# AssetManager 0.5.0.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.7.md b/docs/version-history/UPDATE-0.5.0.7.md new file mode 100644 index 0000000..dee3a67 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.7.md @@ -0,0 +1,15 @@ +# AssetManager 0.5.0.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.8.md b/docs/version-history/UPDATE-0.5.0.8.md new file mode 100644 index 0000000..7cbcd09 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.8.md @@ -0,0 +1,19 @@ +# AssetManager 0.5.0.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.0.9.md b/docs/version-history/UPDATE-0.5.0.9.md new file mode 100644 index 0000000..910c9c7 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.0.9.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.0.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.0.md b/docs/version-history/UPDATE-0.5.1.0.md new file mode 100644 index 0000000..2a02a4c --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.0.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.1.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.1.md b/docs/version-history/UPDATE-0.5.1.1.md new file mode 100644 index 0000000..761c678 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.1.md @@ -0,0 +1,15 @@ +# AssetManager 0.5.1.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.2.md b/docs/version-history/UPDATE-0.5.1.2.md new file mode 100644 index 0000000..bb96b9d --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.2.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.1.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.3.md b/docs/version-history/UPDATE-0.5.1.3.md new file mode 100644 index 0000000..defe703 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.3.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.1.3 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.4.md b/docs/version-history/UPDATE-0.5.1.4.md new file mode 100644 index 0000000..91b0241 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.4.md @@ -0,0 +1,17 @@ +# AssetManager 0.5.1.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.5.md b/docs/version-history/UPDATE-0.5.1.5.md new file mode 100644 index 0000000..5971c8e --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.5.md @@ -0,0 +1,16 @@ +# AssetManager 0.5.1.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.6.md b/docs/version-history/UPDATE-0.5.1.6.md new file mode 100644 index 0000000..64f69ed --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.6.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.1.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.1.7.md b/docs/version-history/UPDATE-0.5.1.7.md new file mode 100644 index 0000000..42238b2 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.1.7.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.1.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.2.0.md b/docs/version-history/UPDATE-0.5.2.0.md new file mode 100644 index 0000000..679faf6 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.2.0.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.2.0 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Authentication, LDAP, users, roles, and permissions. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.2.1.md b/docs/version-history/UPDATE-0.5.2.1.md new file mode 100644 index 0000000..84bf978 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.2.1.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.2.1 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.2.2.md b/docs/version-history/UPDATE-0.5.2.2.md new file mode 100644 index 0000000..aaacda4 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.2.2.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.2.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.0.md b/docs/version-history/UPDATE-0.5.3.0.md new file mode 100644 index 0000000..6a7e8e2 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.0.md @@ -0,0 +1,16 @@ +# AssetManager 0.5.3.0 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.1.md b/docs/version-history/UPDATE-0.5.3.1.md new file mode 100644 index 0000000..169afba --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.1.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.3.1 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.2.md b/docs/version-history/UPDATE-0.5.3.2.md new file mode 100644 index 0000000..cdc313f --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.2.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.3.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.5.3.3.txt b/docs/version-history/UPDATE-0.5.3.3.md similarity index 96% rename from UPDATE-0.5.3.3.txt rename to docs/version-history/UPDATE-0.5.3.3.md index 664978f..92284c4 100644 --- a/UPDATE-0.5.3.3.txt +++ b/docs/version-history/UPDATE-0.5.3.3.md @@ -1,4 +1,4 @@ -AssetManager v0.5.3.3 +# AssetManager v0.5.3.3 - German terminology standardized from "Auftrag/Aufträge" to "Job/Jobs" throughout software and job pages. - Dark-mode category initials on the dashboard use a dark foreground on the light placeholder tile. diff --git a/docs/version-history/UPDATE-0.5.3.4.md b/docs/version-history/UPDATE-0.5.3.4.md new file mode 100644 index 0000000..7a5f5cb --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.4.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.3.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.5.md b/docs/version-history/UPDATE-0.5.3.5.md new file mode 100644 index 0000000..3d39ace --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.5.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.3.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.6.md b/docs/version-history/UPDATE-0.5.3.6.md new file mode 100644 index 0000000..d056517 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.6.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.3.6 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.7.md b/docs/version-history/UPDATE-0.5.3.7.md new file mode 100644 index 0000000..fb49b73 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.7.md @@ -0,0 +1,9 @@ +# AssetManager 0.5.3.7 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.8.md b/docs/version-history/UPDATE-0.5.3.8.md new file mode 100644 index 0000000..cb1bd42 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.8.md @@ -0,0 +1,10 @@ +# AssetManager 0.5.3.8 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.3.9.md b/docs/version-history/UPDATE-0.5.3.9.md new file mode 100644 index 0000000..9142442 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.3.9.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.3.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.4.0.md b/docs/version-history/UPDATE-0.5.4.0.md new file mode 100644 index 0000000..d822147 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.4.0.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.4.0 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.4.1.md b/docs/version-history/UPDATE-0.5.4.1.md new file mode 100644 index 0000000..c682c02 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.4.1.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.4.1 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.4.2.md b/docs/version-history/UPDATE-0.5.4.2.md new file mode 100644 index 0000000..370aa57 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.4.2.md @@ -0,0 +1,17 @@ +# AssetManager 0.5.4.2 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.5.4.3.txt b/docs/version-history/UPDATE-0.5.4.3.md similarity index 95% rename from UPDATE-0.5.4.3.txt rename to docs/version-history/UPDATE-0.5.4.3.md index 4ed51ef..0929c54 100644 --- a/UPDATE-0.5.4.3.txt +++ b/docs/version-history/UPDATE-0.5.4.3.md @@ -1,4 +1,4 @@ -AssetManager 0.5.4.3 +# AssetManager 0.5.4.3 - Registry editor redesigned around one explicit operation per entry. - Radio-card selection for setting values, changing permissions, deleting values, or deleting keys. diff --git a/docs/version-history/UPDATE-0.5.4.4.md b/docs/version-history/UPDATE-0.5.4.4.md new file mode 100644 index 0000000..8211966 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.4.4.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.4.4 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.5.4.5.txt b/docs/version-history/UPDATE-0.5.4.5.md similarity index 96% rename from UPDATE-0.5.4.5.txt rename to docs/version-history/UPDATE-0.5.4.5.md index 5ae2607..efbf7f7 100644 --- a/UPDATE-0.5.4.5.txt +++ b/docs/version-history/UPDATE-0.5.4.5.md @@ -1,4 +1,4 @@ -AssetManager 0.5.4.5 +# AssetManager 0.5.4.5 - Registry principal choices now display their well-known SID in square brackets. - Registry permission and value option checkboxes are left-aligned and stacked vertically. diff --git a/docs/version-history/UPDATE-0.5.4.6.md b/docs/version-history/UPDATE-0.5.4.6.md new file mode 100644 index 0000000..3c35de0 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.4.6.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.4.6 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/UPDATE-0.5.4.7.txt b/docs/version-history/UPDATE-0.5.4.7.md similarity index 94% rename from UPDATE-0.5.4.7.txt rename to docs/version-history/UPDATE-0.5.4.7.md index fb28b3d..642b6bc 100644 --- a/UPDATE-0.5.4.7.txt +++ b/docs/version-history/UPDATE-0.5.4.7.md @@ -1,4 +1,4 @@ -AssetManager 0.5.4.7 +# AssetManager 0.5.4.7 - PowerShell jobs use compressed transport to avoid Windows/MeshCtrl command-line truncation. - Immediate running callback proves that execution started on the client. diff --git a/UPDATE-0.5.4.8.txt b/docs/version-history/UPDATE-0.5.4.8.md similarity index 96% rename from UPDATE-0.5.4.8.txt rename to docs/version-history/UPDATE-0.5.4.8.md index 79ee21c..39dc223 100644 --- a/UPDATE-0.5.4.8.txt +++ b/docs/version-history/UPDATE-0.5.4.8.md @@ -1,4 +1,4 @@ -AssetManager 0.5.4.8 +# AssetManager 0.5.4.8 - Fixes the common Windows job dispatcher used by software inventory, registry jobs and PowerShell job definitions. - Sends PowerShell source through MeshCtrl's native `--powershell` channel instead of nesting `cmd.exe` and `powershell.exe -EncodedCommand`. diff --git a/docs/version-history/UPDATE-0.5.5.0.md b/docs/version-history/UPDATE-0.5.5.0.md new file mode 100644 index 0000000..f3dc11b --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.0.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.0 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.10.md b/docs/version-history/UPDATE-0.5.5.10.md new file mode 100644 index 0000000..b9d5acb --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.10.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.5.10 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.11.md b/docs/version-history/UPDATE-0.5.5.11.md new file mode 100644 index 0000000..b5f58b0 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.11.md @@ -0,0 +1,15 @@ +# AssetManager 0.5.5.11 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.12.md b/docs/version-history/UPDATE-0.5.5.12.md new file mode 100644 index 0000000..2224c0d --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.12.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.12 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.13.md b/docs/version-history/UPDATE-0.5.5.13.md new file mode 100644 index 0000000..1e6c762 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.13.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.5.13 + +## Summary + +This historical release included changes in the following areas: + +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.14.md b/docs/version-history/UPDATE-0.5.5.14.md new file mode 100644 index 0000000..4bd1bbb --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.14.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.14 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.15.md b/docs/version-history/UPDATE-0.5.5.15.md new file mode 100644 index 0000000..9d8f074 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.15.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.15 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Authentication, LDAP, users, roles, and permissions. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.16.md b/docs/version-history/UPDATE-0.5.5.16.md new file mode 100644 index 0000000..372d8f0 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.16.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.16 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset import, export, bulk editing, and duplicate merging. +- Backups, configuration, settings, and persistent data. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.17.md b/docs/version-history/UPDATE-0.5.5.17.md new file mode 100644 index 0000000..112f5b7 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.17.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.5.17 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- Backups, configuration, settings, and persistent data. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.18.md b/docs/version-history/UPDATE-0.5.5.18.md new file mode 100644 index 0000000..a5d3b81 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.18.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.18 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.19.md b/docs/version-history/UPDATE-0.5.5.19.md new file mode 100644 index 0000000..db66b47 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.19.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.19 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.20.md b/docs/version-history/UPDATE-0.5.5.20.md new file mode 100644 index 0000000..cfbeef9 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.20.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.20 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.21.md b/docs/version-history/UPDATE-0.5.5.21.md new file mode 100644 index 0000000..4f46276 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.21.md @@ -0,0 +1,15 @@ +# AssetManager 0.5.5.21 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Logging, diagnostics, error handling, and operational reliability. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.22.md b/docs/version-history/UPDATE-0.5.5.22.md new file mode 100644 index 0000000..3595b05 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.22.md @@ -0,0 +1,11 @@ +# AssetManager 0.5.5.22 + +## Summary + +This historical release included changes in the following areas: + +- Asset fields, categories, types, status values, and forms. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.23.md b/docs/version-history/UPDATE-0.5.5.23.md new file mode 100644 index 0000000..425fb4f --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.23.md @@ -0,0 +1,10 @@ +# AssetManager 0.5.5.23 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Job definitions, dispatch, callbacks, retries, and job status tracking. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.24.md b/docs/version-history/UPDATE-0.5.5.24.md new file mode 100644 index 0000000..5ddda76 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.24.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.24 + +## Summary + +This historical release included changes in the following areas: + +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Authentication, LDAP, users, roles, and permissions. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.25.md b/docs/version-history/UPDATE-0.5.5.25.md new file mode 100644 index 0000000..d3ef55f --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.25.md @@ -0,0 +1,21 @@ +# AssetManager 0.5.5.25 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- Authentication, LDAP, users, roles, and permissions. +- User interface, translations, dark mode, charts, and styling. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +## Validation + +- The release notes report source, template, or package-structure validation appropriate to the change. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.26.md b/docs/version-history/UPDATE-0.5.5.26.md new file mode 100644 index 0000000..d09db0c --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.26.md @@ -0,0 +1,10 @@ +# AssetManager 0.5.5.26 + +## Summary + +This historical release included changes in the following areas: + +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.27.md b/docs/version-history/UPDATE-0.5.5.27.md new file mode 100644 index 0000000..1002617 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.27.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.27 + +- Added the complete Apache License 2.0 license file. +- Standardized the project license identifier to the SPDX value `Apache-2.0`. +- Recreated the README for the current feature set and public repository release. +- Added `CONTRIBUTING.md`, `SECURITY.md`, `THIRD_PARTY_NOTICES.md`, `.gitignore`, `.dockerignore`, `.gitattributes`, and `.env.example`. +- Removed pure product-comparison references from public comments and older release notes. +- Replaced internal server, domain, account, and path examples with neutral example data. +- Added a public-source exporter that excludes databases, configuration, credentials, logs, backups, and uploads. +- Added release validation for licensing, version consistency, sensitive files, and unwanted comparison references. +- The Docker build now collects license files from the installed Python and Node.js dependencies. +- MeshCentral and MeshCtrl are mentioned only where the actual technical integration is documented. +- No application business logic was changed. diff --git a/docs/version-history/UPDATE-0.5.5.28.md b/docs/version-history/UPDATE-0.5.5.28.md new file mode 100644 index 0000000..e58ab5f --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.28.md @@ -0,0 +1,12 @@ +# AssetManager 0.5.5.28 + +- Translated the public repository documentation into English. +- Moved historical release notes from the project root to `docs/version-history/`. +- Converted release-note file extensions from `.txt` to Markdown (`.md`). +- Added concise English summaries for older historical release notes while preserving exact file-level history in Git. +- Moved the client communication and software deployment architecture document to `docs/architecture/`. +- Added a version-history index and updated all repository documentation links. +- Updated public project metadata to use English descriptions. +- Updated release validation for the reorganized documentation paths and current release note. +- Updated the public-source exporter for the reorganized repository layout. +- No application business logic, database schema, or runtime configuration was changed. diff --git a/docs/version-history/UPDATE-0.5.5.5.md b/docs/version-history/UPDATE-0.5.5.5.md new file mode 100644 index 0000000..ec5ecaa --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.5.md @@ -0,0 +1,14 @@ +# AssetManager 0.5.5.5 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.6.md b/docs/version-history/UPDATE-0.5.5.6.md new file mode 100644 index 0000000..8911012 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.6.md @@ -0,0 +1,19 @@ +# AssetManager 0.5.5.6 + +## Summary + +This historical release included changes in the following areas: + +- Asset import, export, bulk editing, and duplicate merging. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.7.md b/docs/version-history/UPDATE-0.5.5.7.md new file mode 100644 index 0000000..1ae48a8 --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.7.md @@ -0,0 +1,20 @@ +# AssetManager 0.5.5.7 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset import, export, bulk editing, and duplicate merging. +- MeshCentral and MeshCtrl integration, synchronization, and device presence. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Docker, release packaging, validation, licensing, and public repository files. +- Logging, diagnostics, error handling, and operational reliability. + +## Update safety + +- Runtime configuration, database data, uploads, logs, and backups were not intended to be overwritten by this release package. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.8.md b/docs/version-history/UPDATE-0.5.5.8.md new file mode 100644 index 0000000..1cb6a1e --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.8.md @@ -0,0 +1,16 @@ +# AssetManager 0.5.5.8 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Asset fields, categories, types, status values, and forms. +- Job definitions, dispatch, callbacks, retries, and job status tracking. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Backups, configuration, settings, and persistent data. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-0.5.5.9.md b/docs/version-history/UPDATE-0.5.5.9.md new file mode 100644 index 0000000..3e58d4a --- /dev/null +++ b/docs/version-history/UPDATE-0.5.5.9.md @@ -0,0 +1,13 @@ +# AssetManager 0.5.5.9 + +## Summary + +This historical release included changes in the following areas: + +- Asset list, tables, filtering, sorting, and navigation. +- Software inventory, software lists, and inventory exclusions. +- Performance, database queries, indexes, and background processing. +- User interface, translations, dark mode, charts, and styling. +- Logging, diagnostics, error handling, and operational reliability. + +> This English summary was migrated from the original historical release note. The Git history remains the authoritative source for exact file-level implementation details. diff --git a/docs/version-history/UPDATE-NOTE.md b/docs/version-history/UPDATE-NOTE.md new file mode 100644 index 0000000..5e27cbe --- /dev/null +++ b/docs/version-history/UPDATE-NOTE.md @@ -0,0 +1,25 @@ +# AssetManager update and public source package + +This public package intentionally does **not** contain: + +- `.env` +- `data/config/config.json` or the runtime-specific `data/config/APPINFO.json` +- PostgreSQL data +- uploads, logs, backups, or deployed runtime scripts +- local database files or old source-code backups + +Copying this package over an existing installation does not overwrite existing configuration, passwords, or user data. + +## Updating an existing installation + +1. Back up `.env` and the complete `data/` directory. +2. Copy the contents of the new `assetmanager/` directory over the existing project directory. +3. Run `docker compose down`. +4. Run `docker compose up -d --build`. +5. Run `docker compose logs --tail=100 -f`. + +## Recreating the sanitized public source archive + +```bash +python tools/create_github_source.py +``` diff --git a/tools/create_github_source.py b/tools/create_github_source.py index dbccd6c..1731071 100755 --- a/tools/create_github_source.py +++ b/tools/create_github_source.py @@ -20,7 +20,6 @@ EXCLUDED_FILES = { "data/config/config.json", "data/config/APPINFO.json", "app/main_old.py", - "PRUEFEN-0.5.5.5.sh", "assetmanager.db", ".public-release-local-patterns", } diff --git a/tools/legacy/check-0.5.5.5.sh b/tools/legacy/check-0.5.5.5.sh new file mode 100644 index 0000000..fd7447d --- /dev/null +++ b/tools/legacy/check-0.5.5.5.sh @@ -0,0 +1,12 @@ +#!/bin/sh +set -eu +ROOT="${1:-/srv/docker/assetmanager}" +cd "$ROOT" +echo "VERSION: $(cat VERSION)" +grep -n 'APP_VERSION = "0.5.5.5"' app/version.py +grep -n 'powershell -ExecutionPolicy Bypass -File' app/software_control.py +if sed -n '/def _launch_uploaded_script/,/return _run_meshctrl/p' app/software_control.py | grep -q "action=.*--powershell"; then + echo "FEHLER: _launch_uploaded_script contains --powershell" >&2 + exit 1 +fi +echo "files auf dem Host are korrekt." diff --git a/tools/validate_release.py b/tools/validate_release.py index a7ac81c..08e35b4 100755 --- a/tools/validate_release.py +++ b/tools/validate_release.py @@ -48,6 +48,25 @@ def check_version() -> None: ok(f"Version exports are valid ({app_version})") + +def check_repository_documentation() -> None: + required = [ + ROOT / "README.md", + ROOT / "CONTRIBUTING.md", + ROOT / "SECURITY.md", + ROOT / "THIRD_PARTY_NOTICES.md", + ROOT / "docs" / "architecture" / "SOFTWARE-CLIENT-ARCHITECTURE.md", + ROOT / "docs" / "version-history" / "README.md", + ROOT / "docs" / "version-history" / f"UPDATE-{(ROOT / 'VERSION').read_text(encoding='utf-8').strip()}.md", + ] + missing = [str(path.relative_to(ROOT)) for path in required if not path.is_file()] + if missing: + fail("Required repository documentation is missing: " + ", ".join(missing)) + root_notes = sorted(ROOT.glob("UPDATE-*.txt")) + sorted(ROOT.glob("UPDATE-*.md")) + if root_notes: + fail("Release notes must be stored under docs/version-history/: " + ", ".join(path.name for path in root_notes)) + ok("Repository documentation layout is valid") + def check_compile() -> None: if not compileall.compile_dir(str(APP_DIR), quiet=1, force=True): fail("Python compilation failed") @@ -136,6 +155,7 @@ def check_fastapi_import() -> None: def main() -> None: print("AssetManager release validation") check_version() + check_repository_documentation() check_compile() check_translations() check_templates()