Changelog UI (go-upper)

Dieser Verlauf dokumentiert ausschließlich die eigenständige Go-Upper UI. Änderungen am Upper-Kern stehen im separaten Go-Upper-Changelog.

v0.39.0

Live seit 17. August 2026 zusammen mit Go-Upper v2026.15.0.

  • feature:
    • Upload-Bearbeitung: TV-Felder SeasonEpisodes und Episodes (general.tv.season_episodes, general.tv.episodes)
    • Template-Variablen-Picker enthält General.TV.SeasonEpisodes und General.TV.Episodes
  • bugfix:
    • Publishing-Presets behalten nach Instanz- oder UI-Update die gewählten Templates. Import und Rebind erkennen dieselbe Datei auch bei relativen vs. absoluten Pfaden; /presets und der Upload-Editor lösen veraltete db:-IDs über den normalisierten Pfad wieder auf.

v0.38.0

Live seit 14. August 2026 zusammen mit Go-Upper v2026.13.0.

  • feature:
    • Upload-Bearbeitung: neue Section TV mit editierbaren Feldern Staffel, Episode und SeasonEpisode (general.tv.*)
    • Template-Variablen-Picker enthält General.TV.Season, General.TV.Episode und General.TV.SeasonEpisode

v0.37.0

Live seit 3. August 2026 zusammen mit Go-Upper v2026.12.0.

  • improvement:

    • Die boersecx-Warteschlange verwendet wie darklight.to einen angemeldeten Chrome über mehrere Einträge und Worker-Durchläufe hinweg wieder. Vor jedem Ziel wird die Session geprüft und nur bei abgelaufener Anmeldung neu eingeloggt; die Login-Seite wird bei transienten Fehlern mit begrenztem Backoff erneut geöffnet und nach dem Absenden per Polling auf Redirect/Fehler gewartet.
    • Dieselbe Session-Wiederverwendung und Login-Härte gelten jetzt auch für myboerse.bz und data-load.me in der Publishing-Warteschlange (LostConnection-Recreate, non-blocking Error-Text-Lookup, Session-Skip bei bestehender Anmeldung).
  • refactor:

    • Das bisherige, mehr als 8.000 Zeilen grosse app.js ist jetzt in native ES-Module fuer Navigation, UI-Helfer und die einzelnen Funktionsbereiche (uploads, upload-edit, instances, templates, remote-sources, …) aufgeteilt. Fachlicher Zustand und Event-Bindings bleiben dadurch lokal; ein Embed-Test prueft alle relativen Modulimporte.
  • bugfix:

    • Die eingebetteten HTTP-, Hoster-, Crypter-, Content-, Download- und Zoom-Clients verwenden jetzt req v3.60.0 direkt; das interne reqcompat-Paket wurde vollständig entfernt und Multipart-Dateien werden beim Upload gestreamt statt vollständig gepuffert.

v0.36.0

Live seit 30. Juli 2026 zusammen mit Go-Upper v2026.11.1.

  • improvement:
    • Das Dashboard prüft die aktuelle Go-Upper-Release automatisch und hebt den Update-Button direkt hinter jeder veralteten Instanzversion mit Zielversion, farbigem Neu-Hinweis und passendem Tooltip hervor. Laufende Instanzen zeigen den Hinweis ebenfalls, bleiben bis zum Stoppen aber geschützt; aktuelle, unbekannte und nicht prüfbare Versionen erhalten eigene kompakte Zustände.
    • Die darklight.to-Warteschlange verwendet einen angemeldeten Chrome über mehrere Einträge und Worker-Durchläufe hinweg wieder. Vor jedem Ziel wird die Session geprüft und nur bei abgelaufener Anmeldung neu eingeloggt; einzelne Publish-Vorgänge bleiben auf fünf Minuten begrenzt und laufen serialisiert im gemeinsamen Browser.
  • bugfix:
    • Der Upload-Import übernimmt identische Result-JSONs bei gemeinsam genutzten oder über Pfad-Aliase eingebundenen Result-Ordnern instanzübergreifend nur noch einmal. Ein unveränderlicher Quell-Hash wird für bestehende Daten automatisch nachgetragen; parallele Import-Anfragen werden serverseitig serialisiert.

v0.34.6

Live.

  • feature:
    • Upper-Instanzen lassen sich im Dashboard aktualisieren: kleines Download-Icon neben der Version öffnet den Update-Dialog (wie UI-Update: installierte/neue Version, Release-Text, Status, Force); Download von latest.zip/latest.json aus https://go-toolz.com/dl/upper/, Entpacken, Binaries/Tools/Templates/Mappings und *.dist.yml überschreiben; Nutzer-Configs (upper.config.yml, remote.sources.yml), files/, log/ und upper-ui/ bleiben unangetastet. Nur bei gestoppter Instanz; danach Temp-Archiv aufräumen. Binary-Spalte ist schmaler.
    • Auf der Config-Seite (global und pro Instanz) gibt es vor Config bearbeiten den Button Config .dist ansehen: öffnet upper.config.dist.yml read-only im YAML-Viewer (ohne Speichern).
  • improvement:
    • Uploads-Liste skaliert: Filter, Sortierung und Pagination laufen per SQL über upper_uploads (inkl. denormalisiertem publish_status_key). Pro Request werden nur die sichtbaren Zeilen geladen; Result-Ordner werden für die Liste nicht mehr vollständig gescannt. Publish-Status wird bei Queue/Worker/Editor synchron gehalten und beim Start nachgezogen.
  • bugfix:
    • Uploads-Filter (Suche, Typ, Hoster, Instanz, Veröffentlichung) und Sortierung laufen serverseitig über die gesamte Liste; Pagination zählt nur noch die gefilterten Treffer. Der Publish-Filter heißt Alles statt „Alle Veröffentlichungen“.
    • Typ- und Hoster-Filteroptionen werden nicht mehr doppelt eingetragen; ein steckenbleibender Lade-Overlay (ausgegraute, nicht klickbare Uploads-Seite) nach Filterwechseln ist behoben.
    • Filter-Hydrate aktualisiert die Browser-URL per replaceState (vorher blieb die URL leer und lud die Seite endlos neu); Publish-Status und Autoimport-Pill flackern nicht mehr unnötig.
    • Kompakter Publish-Status: Teilweise veröffentlichte Uploads ohne offene Queue sind Ziel gewählt (nicht fälschlich Warteschlange); noch gequeuete Ziele bleiben unter Warteschlange, auch wenn andere Ziele bereits fehlgeschlagen sind.
    • Publishing-Presets behalten ihre Template-Auswahl auch dann, wenn importierte Templates bei einem UI-Update eine neue Datenbank-ID erhalten; stabile Template-Metadaten werden für bestehende Presets automatisch nachgetragen.
    • Auto-Publish verhindert doppelte Posts durch einen eindeutigen aktiven Ziel-Datensatz je Upload und Publishing-Service, bereinigt vorhandene Dubletten beim Datenbankstart, dedupliziert alte Preset-Einträge, hält lang laufende Publishing-Leases per Heartbeat aktiv und wiederholt fehlgeschlagene Board-Posts nur noch nach einer bewussten manuellen Freigabe.
    • Antworten in vorhandenen XenForo-Threads prüfen bei boersecx, darklight.to, data-load.me und myboerse.bz vor dem Absenden die letzten Beiträge anhand der eingeloggten Benutzer-ID beziehungsweise des Benutzernamens sowie des normalisierten Inhalts inklusive Ziel-Links. Ein bereits vorhandener eigener Beitrag wird als erfolgreich behandelt; bei nicht zuverlässig lesbarer Threadseite bricht Publishing sicher mit Fehler ab.
    • Der Login bei data-load.me öffnet die Login-Seite bei vorübergehenden Erreichbarkeitsproblemen mit begrenzten Timeouts und Backoff erneut, bevor Zugangsdaten eingegeben werden, und meldet aussagekräftigere Navigations- beziehungsweise HTTP-Fehler.
    • Der Login bei darklight.to öffnet die Login-Seite bei vorübergehenden Erreichbarkeitsproblemen mit begrenzten Timeouts und Backoff erneut, wartet nach dem Absenden auf Redirect oder Fehlermeldung statt einer festen Wartezeit und nutzt den form-spezifischen Submit-Selektor.

v0.33.1

Live seit 19. Juli 2026.

  • feature:
    • Der KI-Modellkatalog bietet zusätzliche ressourcenschonende Qwen-, Granite-, Llama-, Phi- und Ministral-Varianten ab ca. 1,4 GB; bestehende Gemma-Modelle bleiben erhalten.
    • Der Upload-Editor bietet KI prüfen: Regelprüfungen und das aktive lokale Ollama-Modell bewerten den aktuellen, noch ungespeicherten Formularstand inklusive vollständiger NFO, schlagen den Inhaltstyp vor und verlinken Auffälligkeiten direkt zum betroffenen Feld.
    • neuer Einstellungsbereich KI Modelle für lokale Ollama-Modelle mit kuratierten Gemma-4-/Qwen-Varianten, Downloadfortschritt, Löschen, Aktivieren, strukturiertem Modelltest und persistenter aktiver Auswahl
    • Upper-Instanzen können im Dashboard über Bearbeiten nachträglich umbenannt und auf eine andere Binary umgestellt werden; laufende Instanzen bleiben zum Schutz des Prozesses gesperrt.
    • Uploads bietet getrennte, persistente und abgesicherte Movie-, TV- und Game-Auto-Publish-Modi: Nur neue oder danach bearbeitete Einträge mit vollständigen typspezifischen Metadaten, Links und einem instanzbezogenen Auto-Preset werden automatisch vorgemerkt; blockierte Einträge zeigen den fehlenden Wert und werden vor dem externen Publishing erneut validiert.
  • improvement:
    • Die Seiten Templates, Presets und Mappings erklären direkt unter der Überschrift, wofür sie gedacht sind und welche Aufgaben dort möglich sind.
  • bugfix:
    • Der Instanzfilter auf Uploads listet alle Instanzen mit vorhandenen Uploads und nicht mehr nur die Instanzen der aktuell sichtbaren, serverseitig paginierten Seite.

v0.32.0

Live seit 13. Juli 2026.

  • bugfix:

    • Das Web-Terminal startet mit 80x24 als sicherem Fallback und passt Linux-PTY beziehungsweise Windows-ConPTY danach dynamisch an das skalierbare Browserfenster an; Terminal-Anwendungen wie Curl-Upload-Fortschrittsbalken nutzen dadurch die tatsächlich verfügbare Fläche.
    • “Starten (mit Terminal)” startete unter Windows nichts, weil der WS-Handler creack/pty’s pty.Start nutzte (auf Windows ErrUnsupported). Der Terminal-Start läuft jetzt über das neue Package internal/pkg/termproc, das auf Windows die native ConPTY-API verwendet; Unix bleibt bei creack/pty
    • Windows-ConPTY-Start setzt EXTENDED_STARTUPINFO_PRESENT jetzt korrekt als CreateProcess-Flag; non-zero Exit-Codes werden von termproc.Wait() auch unter Windows als Fehler gemeldet
  • feature:

    • Das Instanz-Dashboard bezeichnet den Browser-Terminal-Start konsistent als Starten (Web) und bietet daneben den kontrastreichen Button Starten (CMD). Der neue Endpoint GET /api/instance/:id/start-legacy startet Upper unter Windows über die bewährte cmd /k start /wait cmd.exe /k ...-Kette und übernimmt den Debug-Schalter.
    • Publishing-Tab und Warteschlange unterstützen myboerse.bz mit automatischer Zielauswahl aus dem eingebetteten Forum-Mapping
    • neues aufklappbares Menü Tools mit NFO Suche; die Seite durchsucht SRRDB, PreDB und xREL parallel, zeigt Quelle, Section und Gruppe und bietet NFO-Ansicht im Layer sowie direkten Download
    • Offene Uploads zeigt pro Release-Ordner den NFO-Status; bei fehlender Datei sucht ein Button über SRRDB, PreDB und xREL nach einem exakten Release-Treffer und speichert die NFO direkt im Ordner
  • improvement:

    • Der Instanzbereich steht im Dashboard jetzt direkt unter dem Seitenkopf und damit vor Kennzahlen und Diagrammen, analog zur Reupper UI.
    • die Lizenz-Kachel im Dashboard bietet einen kleinen externen Button zur Lizenzverlängerung
    • die Uploads-Warteschlange zeigt pro Upload einen live aktualisierten Fortschrittsbalken in Prozent sowie den aktuellen Schritt und das aktive Publishing-Ziel
    • laufende Publishing-Ziele verwenden einen persistenten processing-Status, werden atomar vom Worker übernommen und nach einem abgebrochenen UI-Prozess automatisch wieder freigegeben
    • Uploads bietet Veröffentlichen (alle mit Ziel), um alle datenbankweit im Status Ziel gewählt stehenden Uploads ohne vorherige Auswahl zur Publishing-Warteschlange hinzuzufügen
    • Veröffentlichen (alle mit Ziel) ist als blauer Hauptbutton nur aktiv, wenn passende Uploads vorhanden sind
    • ausgewählte und einzelne Uploads können über das Drei-Punkte-Menü inklusive ihrer Publishing-Ziele auf Unveröffentlicht zurückgesetzt werden
    • die Uploads-Tabelle blendet bei tatsächlichem horizontalem Überlauf gestaffelt zuerst Importiert, dann Crypter, Hoster und zuletzt Größe aus; die Optionsspalte bleibt rechts sichtbar
    • Publish-Mappings werden als eingebettete UI-Standards mitgeliefert; die Mappings-Seite zeigt Standard/angepasst an, speichert lokale Overrides unter config/mappings und kann Anpassungen wieder auf den eingebetteten Standard zurücksetzen
    • Templates bietet Text ersetzen (Replace), um finale Plain-Text-Ersetzungen nach dem Rendern global oder pro Instanz zu verwalten und in Vorschau sowie Publishing-Warteschlange anzuwenden
  • bugfix:

    • SQLite-Schreibzugriffe der Upper-UI werden serialisiert und warten kurz auf parallele Leser, damit Speichern im Upload-Editor keine vergiftete Verbindung mit cannot start a transaction within a transaction hinterlässt
    • der manuelle Cover-Upload zu pixelfox.cc berücksichtigt die erlaubten Thumbnail-Formate des Kontos und funktioniert mit Free-Konten ohne WebP-/AVIF-Berechtigung
    • automatische Publishing-Zielauswahl erkennt starke Music-Marker wie FLAC, Soundtrack, Discography und Album vor TV-/Video-Markern, damit Musik-Releases mit Season oder WEB-FLAC nicht falsch als Serie oder Film einsortiert werden
    • browserbasierte XenForo-Ziele brechen nach fünf Minuten ab, damit ein hängender Login oder Seitenaufruf nicht die gesamte Publishing-Warteschlange blockiert
    • data-load.me-Publishing lädt eine unbestätigte leere Suchantwort einmal neu und wiederholt die Themensuche, bevor der Lauf weiterhin konservativ mit Fehler abbricht
    • Veröffentlichen (alle mit Ziel) ignoriert verwaiste Publishing-Ziele bereits gelöschter Upload-Datensätze
    • Upload-Löschen entfernt den Upload, seine Publishing-Ziele und seine History jetzt dauerhaft und transaktional
    • gespeicherte Publishing-Template-Auswahlen werden nach erneutem Import oder Ersetzen eines Templates anhand des Quellpfads auf die aktuelle Template-ID umgebunden und bleiben im Upload-Editor ausgewählt
    • XenForo-Publishing in der UI-Warteschlange löst relative Mapping-Pfade anhand der jeweiligen Upper-Instanz auf, sodass UI und Upper-Instanzen in getrennten Ordnern liegen können

v0.17.0

Veröffentlicht am 7. Juni 2026.

  • feature:
    • Upload-Edit-Autocomplete unterstützt PreDB und speichert Release-, Section-, Group-, Status- und NFO-Metadaten im Upload-JSON
  • improvement:
    • Einstellungen enthält jetzt eine System-Seite mit lokaler SQLite-DB-Info, Pfad, Download und VACUUM-Aktion
    • System-Seite kann einzelne UI-Datenbanktabellen per Truncate-Aktion komplett leeren
    • Offene Uploads bietet über den Scan-Kandidaten einen Terminal-Button, der alle bereiten hinterlegten Go-Upper-Instanzen wie im Dashboard startet
    • uploads page moves the bulk “Aus Warteschlange entfernen” action into the three-dot menu and adds “Alles als erledigt markieren” next to Import to mark unfinished uploads green
    • upload edit Publishing tab adds “Alle Aktive wählen + Speichern” to enable every selectable publishing page, save the selection, and return to uploads
    • imported templates now show a Sync action that reloads the source file and overwrites the stored UI database copy
    • uploads now use server-side 50-row pagination, pending caps initial table rendering, heavy auto-refreshes are avoided, and imported upload rows skip unnecessary JSON parsing so large databases stay responsive
    • uploads page removes the redundant four metric cards above the table to keep the workspace tighter
    • Offene Uploads keeps its initial scan and adds an animated manual Scan button in the page header for explicit rescans
    • uploads filters now have a Clear button and persist search/filter selections in browser storage across Upload edit navigation and browser sessions
    • byte.to default publishing line shows a bold IMDb: label followed by the rating with /10 suffix (linked to the IMDB title) instead of the previous IMDB-Score: label
  • bugfix:
    • automatische Forum-Zielauswahl behandelt fehlende oder als - importierte Inhaltstypen korrekt, erkennt typische Film-/Serien-Releases aus dem Titel und verwendet bei unbekanntem Typ ein Mapping-Fallback statt der ersten Doku-/3D-Kategorie
    • template import skips the Global UI source when a registered Upper instance uses the same upper.config.yml, avoiding duplicate Global/instance template rows
    • templates delete now removes the stored UI database row permanently, so a later config import can import the same source file again
    • uploads publishing queue skips already published targets when a mixed-status upload is queued again, so only failed or open targets are retried
    • byte.to publishing makes the upload template optional in the Upper UI, uses the upload description plus a linked IMDB score when no template is selected, and formats the visible title without release dots
    • byte.to publishing uses the release title instead of the metadata title for the visible upload title and applies the same dot-removal formatting as boersecx
    • byte.to publishing sends audio languages in byte.to-compatible values such as GER, ENG, GER;ENG, and common multi-language combinations
    • XenForo queue publishing submits topic searches through the search field’s form instead of relying on Enter, so darklight.to no-result pages are detected correctly

v0.8.0

  • feature:
    • new standalone upper-ui web app for managing go-upper instances
    • upper-ui self update downloads the latest release zip, installs it through a helper process, and restarts the UI
    • modern Bootstrap/Lucide dashboard without frontend build step
    • instance manager with start, stop, delete, optional debug start, and in-browser terminal
    • config overview for paths, active hosters, linkcrypter, modules, and important switches
    • YAML config editor with syntax highlighting and save validation
    • per-instance config pages at /instance/{id}/config
    • upload import page with DB status, manual import, publishing status filter, multi-select queue/unqueue actions, and complete raw JSON storage
    • upload edit page for imported result JSONs with size, editable mirror/crypter links, movie/game metadata fields, cover preview, Contentgrabber autocomplete including NFO/SRRDB, conflict review, and persisted Publishing site/target/template selections
    • upload edit page has a History Log tab that records import time, field edits, direct JSON edits, Publishing target changes, queue actions, successful Publishing runs, manual published marks, and Publishing errors
    • upload edit cover panel can upload the entered cover URL to the configured Imagehoster and persist the hosted URL
    • endpoint-based Publishing targets like warezddl can be selected without requiring a template
    • publish.publishUi can keep the upper-ui queue active while publish.publishCli disables automatic CLI publishing
    • publishing queue worker processes queued Upload targets automatically after a 30-second safety delay and writes published/failed state back to the UI database
    • publishing queue supports the darklight.to XenForo service, including mapping-driven mandatory thread prefixes
    • publishing queue supports the data-load.me XenForo service and its writable leaf-forum mapping
    • new Offene Uploads page for not-yet-uploaded folders from all configured scan paths
    • new Templates page imports configured template files into SQLite, supports create/edit, type and format metadata, syntax-highlighted editing, previews, and export downloads
    • new Mappings page lists configured and available Publish mappings, deduplicates shared files across instances, supports YAML editing, and tests title-to-category matches with the standard resolver
    • new Integrationen page for Contentgrabber, Imagehoster, and Publishing service status across all discovered Upper configs
    • XenForo queue publishing runs headless by default and supports visible diagnostic runs with publish.services[].headless: false
    • upload metadata and Template management now include ebook and software content types
  • improvement:
    • update dialog reads latest.json and shows target version plus release text before installation
    • header now shows separate Go-Upper and Upper-UI versions; update dialog uses the Upper-UI version as installed version
    • update zip checksum is verified when sha256 is present in the manifest
    • make release-upper-ui now creates update manifests and uploads the release ZIP plus latest.zip via FTP
    • update manifests now point to the versioned release ZIP to avoid stale latest.zip cache mismatches
    • update dialog disables installation when installed and live Upper-UI versions are equal
    • update dialog has a Force checkbox to reinstall the live release even when versions are equal
    • topbar groups UI version/update before Go-Upper version/download/changelog/docs/login actions
    • topbar has a red shutdown button to stop the detached upper-ui process after confirmation
    • templates are now available from the normal sidebar and are imported idempotently from the active Upper config on UI startup
    • templates can be removed from the Templates UI without removing the original import files
    • left sidebar now groups Templates, Integrationen, and Remote Sources under an expandable Einstellungen menu
    • dashboard replaces the low-value link count metric with open import and missing-file status
    • dashboard, uploads, config, and logs are now separate routes
    • internal page navigation keeps browser terminals and websocket sessions alive while changing pages
    • active pages auto-refresh without reloading the whole browser window
    • uploads auto-import scans the result folder every 10 seconds and imports only missing JSON files
    • uploads table now stores compact crypter metadata in SQLite and shows grouped, numbered crypter links instead of result-changed and link-count columns
    • uploads table now shows a Veröffentlicht status column derived from saved per-target Publishing selections and can filter queued uploads
    • publishing errors are now shown as a dedicated failed status with visible error text on upload list and edit pages
    • Publishing integrations now show configured type and endpoint URL in addition to mapping and credentials status
    • new forum publishing selections use the mapping fallback target before special-case targets of the same content type
    • imported upload names now link to the metadata edit page
    • upload editing keeps long release titles on one compact line and separates metadata from Publishing in Item and Publishing tabs
    • uploads row menu can view or download the stored original JSON
    • imported upload rows can be deleted from the UI database through the uploads row options menu
    • uploads page now keeps search, filters, sort order, and pagination when switching away and returning during the same browser session
    • Offene Uploads has search, status/instance filters, sortable columns, and 50-item pagination
    • Offene Uploads can reset interrupted in Arbeit items by deleting their progress marker and matching copied work folders after the Upper instance has stopped
  • bugfix:
    • Remote Sources liest und schreibt Remote-Konfigurationen jetzt für die ausgewählte Go-Upper-Instanz statt implizit für die erste gefundene Config
    • boersecx queue publishing now respects the service-level enabled: false flag
    • saved boersecx publishing destinations remain selected by forum URL and content type after mapping categories are reordered
    • XenForo queue publishing posts into exact-title existing threads even when the selected target forum differs from the thread’s current forum
    • XenForo queue publishing renders the template content selected in the UI database, including edited imported and newly created templates
    • XenForo queue publishing submits BBCode directly for boersecx, darklight.to, and data-load.me instead of typing into the rich-text editor, avoiding extra rendered blank lines
    • UI publishing falls back to a matching stored template when the mapping template path is absent or unreadable, so UI-only setups are not blocked by mapping template files
    • bundled forum/uCMS mapping presets use portable bundled-template paths instead of a developer workstation path
    • upper-ui updater waits until the old UI process has exited before starting the new one, avoiding restart failures from an occupied listen port
    • templates page is no longer auto-refreshed every 15 seconds, so preview selections are not reset
    • uploads row option menus are positioned outside the responsive table scroll clipping area, so every action remains visible