From 8ff526262d4509409766abc997ff7795893423c9 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Thu, 10 Sep 2026 00:16:26 +0200 Subject: [PATCH] chore(release): v1.11.0 Vier Aenderungen seit 1.10.1, alle bereits auf main. Minor statt Patch, weil eine neue Funktion dabei ist und zwei Schemaaenderungen mitkommen. Der Schwerpunkt liegt beim Abgleich, und die drei Punkte dort gehoeren zusammen: Ein verschluckter Fehler sah aus wie ein leeres Ergebnis (#19), ueberschrieb dabei den letzten guten Stand (#20), und weil niemand die Ursache sehen konnte, blieb sie tagelang unentdeckt. Erst als die Fehler sichtbar waren, liess sich der Rest ueberhaupt benennen: eine Seiten- groesse, die angefragt statt gemessen wurde (#22), und Zeitueber- schreitungen, die einen zweiten Versuch verdienen (#23). Dazu die Karten je Spalte (#16) und das Issue-Kennzeichen (#12) aus den Fassungen davor. Verlauf und Versionsnummer wandern zusammen; changelog.test.ts haelt das fest. Beim Ausrollen laufen zwei Migrationen mit: taskColumnLimit an AppSettings und missing/completeAt an RepoSnapshot. Refs #16 Refs #19 Refs #20 Refs #22 Refs #23 --- FEATURES.md | 2 +- ROADMAP.md | 7 +++--- package-lock.json | 4 +-- package.json | 2 +- src/lib/changelog.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+), 7 deletions(-) diff --git a/FEATURES.md b/FEATURES.md index 2013bd9..63073cb 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -584,7 +584,7 @@ Das gilt ausdrücklich **nicht** als Fehlschlag: `syncError` bleibt leer, der Z das Zurückhalten wird nicht erhöht, und der nächste Durchlauf versucht es normal wieder. Der Rest des Standes ist ja frisch. -> Vor v1.10.2 wurde jeder Fehlschlag in eine leere Liste verwandelt. Ein Repository mit +> Vor v1.11.0 wurde jeder Fehlschlag in eine leere Liste verwandelt. Ein Repository mit > 65 Commits meldete „Snapshot aktualisiert: 0 Branches, 0 Tags", überschrieb dabei den > letzten guten Stand, und aus der Oberfläche war nicht zu erkennen, dass überhaupt etwas > schiefgegangen war. diff --git a/ROADMAP.md b/ROADMAP.md index 25fe79a..8f7d6a0 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -7,7 +7,7 @@ Stück für Stück abarbeiten. Reihenfolge ist ein Vorschlag, keine Festlegung. Was bereits steht, listet [FEATURES.md](FEATURES.md). -**Stand:** v1.10.1. Alle Issues aus dem Dashboard sind abgearbeitet. +**Stand:** v1.11.0. Alle Issues aus dem Dashboard sind abgearbeitet. --- @@ -66,7 +66,7 @@ Voraussetzung, falls du das Projekt veröffentlichen willst. ## 3 · Aufgefallen beim Bauen -Beobachtungen aus der Arbeit an v1.6.0 bis v1.10.1 — festgehalten, damit sie +Beobachtungen aus der Arbeit an v1.6.0 bis v1.11.0 — festgehalten, damit sie nicht verloren gehen. Nichts davon ist dringend. ### 3.1 Anwendungsname bricht in der Kopfleiste ab `S` @@ -108,7 +108,7 @@ Beide stehen im Änderungsverlauf, existierten aber nie in der `package.json` — dort springt die Historie von 0.1.0 auf 0.4.0. Nachgetragen wurden sie in dem Commit, der den Verlauf einführte, und der liegt *nach* 0.4.0. Es gibt also keinen ehrlichen Commit, an dem ein Tag hängen könnte. -Die übrigen 19 Fassungen haben seit dem 18.08.2026 ein Release in Gitea. +Die übrigen 20 Fassungen haben seit dem 18.08.2026 ein Release in Gitea. --- @@ -179,6 +179,7 @@ Damit klar ist, was **nicht** kommt und warum: | **v1.9.0** Geschlossene Issues haken ihre Aufgabe auch ohne Webhook ab | ✓ | | **v1.10.0** Wochenrückblick, globale Zeitleiste, Suche über Aufgaben | ✓ | | **v1.10.1** Issue-Kennzeichen auf der Aufgabenkarte, Token-Rechte Aufruf für Aufruf belegt | ✓ | +| **v1.11.0** Karten je Spalte begrenzen; der Abgleich verschluckt keine Fehler mehr und verliert dabei nichts | ✓ | Zur Entscheidung beim Export: Git-Tokens gehen **nicht** mit. Die Verbindung wird nur beschrieben, das Token ist nach dem Import neu zu hinterlegen. Snapshots bleiben diff --git a/package-lock.json b/package-lock.json index 533315e..2bac35a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "nebula", - "version": "1.10.1", + "version": "1.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "nebula", - "version": "1.10.1", + "version": "1.11.0", "hasInstallScript": true, "dependencies": { "@dnd-kit/core": "^6.3.1", diff --git a/package.json b/package.json index 72a10b5..01b425f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nebula", - "version": "1.10.1", + "version": "1.11.0", "private": true, "description": "Nebula – Dashboard fuer Vibe-Coding Projekte mit Git-Anbindung (GitHub, GitLab, Gitea)", "scripts": { diff --git a/src/lib/changelog.ts b/src/lib/changelog.ts index ec260b2..10fe04a 100644 --- a/src/lib/changelog.ts +++ b/src/lib/changelog.ts @@ -41,6 +41,64 @@ export const KIND_META: Record }; export const CHANGELOG: Release[] = [ + { + version: "1.11.0", + date: "2026-09-10", + headline: "Der Abgleich sagt, was er nicht holen konnte — und verliert dabei nichts mehr.", + changes: [ + { + kind: "behoben", + text: + "Ein fehlgeschlagener Teil-Abruf sah aus wie ein leeres Ergebnis. Ein Repository " + + "mit 65 Commits meldete „Snapshot aktualisiert: 0 Branches, 0 Tags“ und überschrieb " + + "dabei den letzten guten Stand. Jetzt steht am Repository, welcher Teil nicht kam " + + "und woran es lag — und die vorhandenen Daten bleiben stehen.", + }, + { + kind: "behoben", + text: + "Die Commit-Heatmap kannte bei Gitea nur die jüngsten 50 Commits und gab deren " + + "ältesten als Anfang des Zeitraums aus. Grund war eine Seitengröße, die angefragt " + + "statt gemessen wurde: Gitea deckelt jede Antwort auf 50, egal was dasteht. Bei " + + "einem Repository mit 76 Commits fehlte damit ein Drittel.", + }, + { + kind: "besser", + text: + "Ein Abruf, der in eine Zeitüberschreitung läuft, wird einmal nachgeschlagen — " + + "einzeln statt zusammen mit den sieben anderen. Bei fehlenden Rechten oder einem " + + "Rate-Limit passiert das bewusst nicht; das wird durch Wiederholen nicht besser.", + }, + { + kind: "neu", + text: + "Das Aufgabenbrett zeigt je Spalte höchstens so viele Karten, wie unter " + + "Admin-Einstellungen eingestellt ist. Der Rest steht hinter „n weitere anzeigen“; " + + "die Zahl an der Spalte nennt weiterhin alle.", + }, + { + kind: "neu", + text: + "Eine Aufgabenkarte trägt die Nummer ihres verknüpften Git-Issues. Bisher stand " + + "die Verknüpfung nur im Bearbeiten-Dialog.", + }, + { + kind: "besser", + text: + "Die Rechte, die eine Git-Verbindung braucht, stehen Aufruf für Aufruf in der " + + "README — getrennt nach reinem Abgleich und zusätzlicher Issue-Anbindung. Der " + + "Hinweis unter dem Token-Feld nannte die Rechte für Actions nicht, ohne die bei " + + "GitHub kein CI-Zustand ankommt.", + }, + { + kind: "behoben", + text: + "Ein unbrauchbarer Wert in GIT_API_TIMEOUT_MS legte den ganzen Abgleich still: " + + "eine leere oder unlesbare Angabe wurde zu 0 ms, und damit brach jeder Aufruf ab, " + + "bevor er begann. Jetzt gilt die Vorgabe, mit Warnung im Log.", + }, + ], + }, { version: "1.10.1", date: "2026-08-18", -- 2.54.0