source: Klonkt/CHANGELOG.de.md@ 4425cc2

main
Last change on this file since 4425cc2 was c8e3b98, checked in by Robin <roboburr@…>, 3 weeks ago

Changelog: 1.7.0 dekt nu ook de 226 commits na de bump

De sectie stond op 07-08 en beschreef alleen de toestand van toen, terwijl de
release-commit 234 commits terug ligt en er sindsdien geen enkele
changelog-commit is geweest. Uitgebreid in nl/en/de en de datum meegezet.

Wat erbij komt, kort: muziek federeert als muziek (Audio-objecten, albums,
playlist-collecties, Funkwhale-vormen), accountmigratie met alles erin
(FEP-1580), de leesweergave, gastlogin via OpenWebAuth, acht werkende
guardianship-poorten, paginering op elke collectie, en zes beveiligingsfixes
waarvan het lek in betaalde posts de zwaarste is.

Co-Authored-By: Claude Opus 5 <noreply@…>

  • Property mode set to 100644
File size: 38.4 KB
Line 
1# Änderungen — Klonkt
2
3Alle nennenswerten Änderungen an Klonkt. Das Neueste oben.
4Versionen folgen [SemVer](https://semver.org/lang/de/) (`1.0.0-beta.N` während der Beta).
5
6## [Unreleased]
7
8## [1.7.0] · 2026-08-21
9
10### Hinzugefügt
11- **Deine Musik reist als Musik, nicht als Verweis darauf.** Ein Track ging als
12 Notiz mit angehängter Datei über die Leitung, ein fremder Server sah also Text
13 mit Anhang und nichts, was sagte: „das ist eine Veröffentlichung dieser
14 Künstlerin oder dieses Künstlers“. Tracks sind jetzt vollwertige Audio-Objekte,
15 ein Album ist ein eigenes Objekt auf der Leitung, und der Outbox trägt die
16 Diskografie mit. Playlists föderieren als ActivityPub-Sammlungen und sind als
17 solche auffindbar. Die Formen folgen dem, was Funkwhale bereits spricht, damit
18 eine Klonkt-Veröffentlichung in einer Funkwhale-Bibliothek landet, statt
19 verworfen zu werden.
20- **Der Beitrag ist die Veröffentlichung.** Einzelne Tracks in einem Beitrag
21 werden zu einer Sammlung, Veröffentlichungsdatum und MusicBrainz-Release-ID
22 reisen mit, und die Hashtags werden aus dem Rohtext gelesen statt aus der
23 gesetzten Fassung — deshalb kamen sie vorher als Unsinn an, oder gar nicht.
24- **Beanspruche dich selbst in MusicBrainz.** Unter Verwaltung → Audio kannst du
25 dich suchen und bestätigen, dass du das bist. Die Verknüpfung geht als
26 `schema:sameAs` auf die Leitung, sodass andere Server dein Klonkt mit der
27 Künstlerin oder dem Künstler verbinden können, die oder der du anderswo längst
28 bist.
29- **Die ganze Seite als Musikkanal.** `/tracks.xml` veröffentlicht alles, was du
30 herausgebracht hast, als einen Feed — für Player, die RSS sprechen und kein
31 ActivityPub.
32- **Zieh mit deinem Konto um und nimm alles mit (FEP-1580).** Deine Beiträge,
33 deine Audios, die Cover, die Playlists und die GUIDs ziehen mit, deine
34 Folgeliste reist als CSV zum Hochladen oder Einfügen, und die Guardianship zieht
35 vor dem Folgen um — in der anderen Reihenfolge stand ein Ward kurz ohne
36 Aufsicht da. Ein umgezogenes Konto verriegelt die ausgehende Seite, damit von
37 einer Adresse, die du nicht mehr nutzt, nichts Neues mehr abgeht. Das steht
38 jetzt auf einer Seite, in Schritten, statt verstreut.
39- **Eine Leseansicht, neben Zeitleiste und Raster.** Ein Beitrag füllt den
40 Bildschirm, die Nachbarn stehen links und rechts bereit, und das Scrollen
41 rastet am oberen Rand des nächsten Beitrags ein. Jede Seite entscheidet selbst:
42 Lesen, Zeitleiste, oder Zeitleiste am Rechner und Lesen am Telefon.
43- **Gäste melden sich mit dem Konto an, das sie schon haben (OpenWebAuth).** Ein
44 Fan meldet sich über sein eigenes Klonkt an und wird hier Follower, nicht noch
45 ein Kontoinhaber mit noch einem Passwort. Zwei Klonkts können einander
46 anmelden, das funktioniert also in beide Richtungen.
47- **Acht Guardianship-Tore, die wirklich schalten.** Das Torpanel ist ein
48 Cockpit: jedes Tor sichtbar, jeder Chip trägt seinen eigenen Stand, und die
49 Apps wissen vorab, was zu ist. Antworten ist ein eigenes Tor, Folgeanfragen
50 werden bei mehreren Guardians per Mehrheit entschieden, ein Ward kann selbst
51 eine Frage stellen, und ein Logbuch bewahrt, warum eine Entscheidung fiel.
52- **Follower zuerst genehmigen, wenn du magst.** Eine Folgeanfrage wartet auf
53 dein Ja, und bis dahin sieht die anfragende Person nichts von deinen Beiträgen.
54- **Jede Sammlung paginiert.** Der Outbox liefert jetzt `first` und `last` und
55 blättert wirklich durch seine Seiten. Funkwhale wies ihn ohne diese beiden
56 rundweg ab — eine Sammlung ohne Paginierung war also kein Schönheitsfehler,
57 sondern eine verschlossene Tür.
58- **Gespräche wissen, was du gelesen hast.** Ungelesen zählt pro Gespräch, eine
59 Lesung ist ein Ereignis statt einer Vermutung, und eine wartende Lesung
60 antwortet mit der Differenz — kein Abholen einer ganzen Liste mehr, um eine
61 neue Zeile zu finden.
62- **Apple-Music- und YouTube-Playlists betten sauber ein**, mit derselben
63 Auswertung wie im Hub und einer Höhe, die zu dem passt, was du tatsächlich
64 eingebettet hast.
65- **Nachrichten ist eine einzige Gesprächsansicht.** Nachrichten, Gespräche und
66 Gesendet waren drei getrennte Filter, wodurch ein Austausch auseinanderfiel:
67 was du gesendet hast, stand unter Gesendet, was zurückkam unter einem der
68 beiden anderen, und um einem Verlauf zu folgen, musstest du hin und her
69 wechseln. Es ist jetzt eine Gesprächsansicht, in der Gesendetes und
70 Empfangenes im selben Verlauf stehen, das Älteste oben, mit deinen eigenen
71 Beiträgen markiert. Vier Filter bleiben: Alle, Gespräche, Aktivität und
72 Moderation.
73- **Ein Gespräch sagt, worum es geht.** Hängt ein Verlauf an einem deiner
74 Beiträge, verlinkt die Kopfzeile darauf. Ohne diesen Zusammenhang lässt sich
75 eine Antwort in einer Liste nicht einordnen. Verläufe ohne Beitrag laufen
76 stattdessen pro Person.
77- **Beiträge in Nachrichten sehen aus wie Beiträge.** Formatierung, Bilder,
78 Audio, Video, Zitatkarten und Link-Vorschauen werden jetzt genauso dargestellt
79 wie in den Nachrichten der Zeitung — auch bei dem, was du selbst gesendet hast:
80 ein von dir angehängtes Foto kam auf dem eigenen Bildschirm als nackter Text
81 an, während alle anderen das Bild sahen.
82- **Die Guardian-App zeigt Beiträge deines Wards vollständig.** Dieselbe Lücke
83 steckte in der Guardian-Ansicht: ein Beitrag deines Wards kam ohne Medien,
84 Zitatkarte oder Emoji an — genau der Beitrag, den ein Guardian beurteilen
85 können muss. Eine Inhaltswarnung bleibt dort wie bisher eingeklappt.
86- **Aus einem Gespräch heraus antworten.** Unter einem Verlauf steht ein eigenes
87 Antwortfeld, der reichhaltige Editor mit Formatierung, Medien und Sprachwahl.
88 Winken bleibt eine eigene Schaltfläche daneben: ein Winken ist ein Zeichen,
89 keine Antwort.
90
91### Behoben
92- **Der Verlauf unter einem fremden Beitrag wird über deinen eigenen Server
93 geholt und nie gespeichert.** Antworten, Like- und Boost-Status und die
94 FEP-9098-Emoji kommen jetzt mit, und die nächste Seite wird ebenfalls gelesen —
95 vorher brach ein langer Verlauf auf halber Strecke ab.
96- **Die Ratenbegrenzung zählte die ganze Seite statt der aufrufenden Stelle**,
97 sodass eine viel besuchte Seite allen 429er gab. Dazu gehört: ob du einem Proxy
98 traust, hängt davon ab, wo du läufst, nicht davon, ob du in Entwicklung oder
99 Produktion bist.
100- **Eine mitlaufende Uhr in der Antwort machte aus dem langen Poll eine
101 Schleife.** Die Antwort änderte sich jede Sekunde, also wartete er nie — er kam
102 nur immer wieder zurück.
103- **Der Editor übersteht einen Seitenwechsel.** An Elemente gebundene Module
104 starten bei jeder Navigation neu, die Bearbeitungsseite lädt ihren Editor nach
105 einem Zurück also wieder, und Speichern ohne Modul löscht nicht mehr, was du
106 geschrieben hattest.
107- **Ein Slug ist ein lokaler Schlüssel, kein Name auf der Leitung.** Halbe Namen,
108 fehlende Namen und drei Schreibweisen desselben Namens kamen alle daher, dass
109 das eine für das andere gehalten wurde.
110- **Der Zirkel fiel über ein Medienfeld, das keine Liste war**, und riss dann die
111 ganze Seite mit, statt nur diesen einen Beitrag.
112- **Menschen auf datenschutzstrengen Servern können dir wieder folgen.** Manche
113 Server geben den öffentlichen Schlüssel eines Kontos nur an eine signierte
114 Anfrage heraus. Klonkt fragte ohne Signatur, wurde abgewiesen und konnte die
115 gerade eingegangene Folge-Anfrage deshalb nicht prüfen — sie wurde abgelehnt,
116 und der andere Server versuchte es tagelang erneut. Klonkt signiert diese
117 Abfrage jetzt, und solche Follows kommen durch. Das betraf auch alles andere,
118 was von so einem Server geholt wurde: Profile, Beiträge und Antworten.
119- **Antworten anderer kommen jetzt im Verlauf an.** Antwortete jemand auf einen
120 Beitrag in einem Gespräch, an dem du beteiligt warst, leitete dessen Server die
121 Antwort an dich weiter — und sie wurde abgewiesen, weil ein weiterleitender
122 Server mit seinem eigenen Schlüssel signiert und nicht mit dem des Autors.
123 Verläufe waren auf deiner Seite dadurch stillschweigend unvollständig. Eine
124 solche Antwort wird jetzt an der Quelle geprüft statt abgewiesen: der Beitrag
125 wird bei dem Server geholt, der ihn beherbergt, und nur das von dort wird
126 gespeichert. Eine weitergeleitete Löschung wird weiterhin abgewiesen, denn ein
127 gelöschter Beitrag lässt sich nicht prüfen.
128- **Ein Like oder Boost sieht überall gleich aus.** Derselbe Beitrag konnte in
129 der Zeitung als geliked und auf der Interact-Seite als nicht geliked
130 erscheinen, weil beide eine eigene Buchführung hatten. Es gibt jetzt nur noch
131 eine, also stimmen die Schaltflächen überein — auch für alles, worauf du vor
132 dieser Version schon reagiert hast; das wird beim Aktualisieren der Seite
133 automatisch übernommen.
134- **Ein Like aus einer App bleibt jetzt bestehen.** Ein Like aus Shaer wurde
135 zwar gespeichert, aber die App bekam das nie zurück, sodass das Herz beim
136 nächsten Laden wieder aussprang — und weil die App das Like nie sah, konnte sie
137 es nur erneut senden und nie zurücknehmen. Das Zurücknehmen aus einer App
138 funktioniert jetzt.
139
140### Sicherheit
141- **Bezahlte Beiträge gaben ihren vollen Inhalt über den Outbox und den
142 Follower-Backfill preis.** Die Schwärzung selbst funktionierte; die Abfragen
143 reichten ihr eine Zeile ohne die Spalte `paid`, also las das Tor `undefined`,
144 ließ alles durch und sagte nichts. Beide Abfragen holen jetzt, worüber sie
145 entscheiden, und ein Test bewacht die Art des Fehlers statt dieses einen Falls.
146- **Fan-only-Beiträge gingen mit einem öffentlichen Etikett hinaus.** Sie waren
147 richtig adressiert, aber falsch beschrieben — und so einen Widerspruch löst ein
148 fremder Server genau in die falsche Richtung auf.
149- **Ein Leck zwischen Seiten im Tracker-Export.** Eine Seite kam über den
150 Exporter an die Zeilen einer anderen.
151- **Das Playlist-Tor öffnet jetzt nur noch Dateien der Seite selbst.**
152- **Ein Schlüssel ist an den Akteur gebunden, für den er spricht.** Eine Signatur
153 wird nur akzeptiert, wenn Schlüssel, Eigentümer und Akteur übereinstimmen;
154 vorher konnte ein Schlüssel für jemanden bürgen, zu dem er keine Beziehung
155 hatte.
156- **OpenWebAuth entpackt PKCS#1 v1.5 selbst**, ohne frühen Ausstieg und mit einer
157 Obergrenze für Versuche. Node hat den Padding-Modus, der das erledigte,
158 entfernt, weil er über Timing leckt (CVE-2023-46809, der Marvin-Angriff); es
159 von Hand zu tun hält den Pfad gleich lang und schließt das Orakel, statt es
160 wieder zu öffnen.
161
162- **Aktualisierte Komponenten schließen sieben Sicherheitshinweise.** Der
163 schwerwiegendste steckte in der Bibliothek, die von außen eintreffende
164 Beiträge säubert: ein sorgfältig gebauter Beitrag konnte ein Skript daran
165 vorbeischmuggeln, und ein Skript, das auf deiner Seite läuft, kann in deinem
166 Namen handeln. Gleichzeitig ging der Mailversand drei Hauptversionen weiter
167 und schloss damit eine Reihe von Lücken — darunter eine, bei der ein
168 präparierter Name Befehle in das Gespräch mit dem Mailserver einschleusen
169 konnte, und eine, bei der eine Nachricht bei einer anderen Domain landen
170 konnte als der adressierten. An Aussehen und Verhalten von Klonkt ändert das
171 nichts. Ein Hinweis bleibt bewusst offen: er betrifft eine Art, Bezeichner zu
172 erzeugen, die Klonkt nicht verwendet.
173
174## [1.6.0] · 2026-07-31
175
176### Hinzugefügt
177- **Guardians (FEP-633c).** Ein Konto kann jetzt von einer oder mehreren
178 Guardians behütet werden, so wie ein Kind Eltern hat. Eine Guardian bietet an,
179 sich um jemanden zu kümmern; der Ward nimmt in seinen eigenen Nachrichten an,
180 und etwaige bestehende Guardians stimmen mit zu, sodass sich niemand allein an
181 ein Kind hängen kann. Nach der Zusage erscheint die Guardian am Actor des Wards
182 (`shaer:guardians`) und ist erreichbar, wenn der Ward um Hilfe ruft. Es baut auf
183 gewöhnlichem ActivityPub auf, Guardian und Ward dürfen also auf verschiedenen
184 Servern liegen.
185- **Eine Guardian-App zum Installieren.** Eine eigene, installierbare Ecke unter
186 `/guardian` für Guardians: Wards hinzufügen und verwalten, ein Nachrichten-
187 zentrum für eingehende Hilferufe und eigene Meldungen für Hilferufe und
188 Vormundschafts-Verkehr, auch bei geschlossener App.
189- **Vormundschaftsangebote landen in deinen Nachrichten.** Wenn dir jemand
190 anbietet, deine Guardian zu werden, erscheint das in deinen eigenen Nachrichten
191 als klarer Eintrag mit Annehmen und Ablehnen, sodass du dort antwortest, wo du
192 ohnehin deine Nachrichten liest, nicht an einer separaten Stelle.
193- **Die Inhaberin kann ihre Inbox über C2S lesen.** Ein GET auf die Inbox mit
194 dem eigenen Bearer liefert aktuelle eingegangene Beiträge (die Konten, denen
195 du folgst) als Create(Note)-Einträge, damit eine verbundene App (Shaer) einen
196 vereinten Feed bauen kann. Für alle anderen bleibt die Inbox write-only.
197- **"Mehr laden" in den Feeds.** Solo (Start), Zirkel, Zeitung und Nachrichten
198 laden jetzt in Blöcken von 72 mit einem "Mehr laden"-Button statt einer harten
199 Grenze, sodass ältere Einträge wieder erreichbar sind. 72 ist durch 2, 3 und 4
200 teilbar, damit die Rasteransichten immer mit einer vollen Reihe enden. Das
201 Nachladen ist sofort (htmx), Suche und Filter in Nachrichten funktionieren über
202 alle Seiten, und der Button verschwindet auf der letzten Seite.
203- **"Über das Fediverse interagieren" neben Teilen.** Auf einem Beitrag bekommen
204 Besucher neben Teilen einen Button, um von ihrem eigenen Fediverse-Server zu
205 antworten, zu liken oder zu boosten (fragt nach deinem Server und übergibt an
206 deine Instanz). Für die Seiteninhaberin und bei ausgeschalteter Föderation
207 ausgeblendet.
208- **FEDERATION.md (FEP-67ff).** Die Repo-Wurzel dokumentiert jetzt, was Klonkt
209 auf der Leitung spricht: ActivityPub S2S und C2S, WebFinger, HTTP Signatures,
210 NodeInfo 2.1, OAuth (PKCE), die gesendeten und empfangenen Activities und
211 Objekttypen, die Mastodon-kompatiblen Erweiterungsterme und die FEPs, die es
212 unterstützt oder verfolgt. Hilft anderen Implementierungen bei der
213 Interoperabilität.
214- **Nachrichten: deine Umfrage ist beendet.** Wenn eine deiner eigenen Umfragen
215 schließt, zeigt Nachrichten einen "Umfrage beendet"-Eintrag mit dem Ergebnis:
216 ein Balken je Option mit Prozentwert, plus die Anzahl der Teilnehmer. Er liegt
217 unter dem Chip Aktivität und ist wie der Rest durchsuchbar.
218- **Nachrichten: schärfere Filter und ein Suchfeld.** Die Filter-Chips sind
219 jetzt Nachrichten (@Mentions und private/DM-Antworten), Gespräche (öffentliche
220 Antworten), Aktivität (Likes, Boosts, Follows), Moderation (Meldungen) und
221 Gesendet, neben Alle. Ein Suchfeld filtert die Liste nach Absender und
222 Nachrichtentext und kombiniert sich mit dem aktiven Chip. Komplett
223 client-seitig, sofort.
224- **Der Antwort-Editor wurde optisch aufgeräumt.** Seine Symbolleiste nutzt jetzt
225 dieselben Icons und 32px-Buttons wie der Beitragseditor, aktive Formatierung
226 in der Akzentfarbe gefüllt, eine gerahmte Editor-Box mit Fokus-Ring und
227 aufgeräumtere Sprach-, Mention- und Anhang-Chips. Eine Editor-Familie auf der
228 ganzen Seite.
229- **Der Antwort-Editor zeigt, wen du adressierst (reichhaltige Antworten,
230 Phase 3).** Eine "An:"-Leiste über dem Editor zeigt die Gesprächspartner (den
231 Autor, dem du antwortest, plus die früheren Autoren des Threads) als
232 entfernbare Chips, statt deinen Text mit @Mentions zu füllen. Entferne einen
233 Chip und diese Person wird nicht mehr erwähnt, getaggt oder angepingt; selbst
234 getippte Mentions bleiben im Text. Das Bearbeiten einer gesendeten Antwort
235 behält jede Co-Mention.
236- **Das Bearbeiten einer gesendeten Antwort nutzt jetzt ebenfalls den
237 Rich-Editor.** Die Bearbeiten-Formulare auf Nachrichten und der
238 Interaktionsseite öffnen denselben Editor wie neue Antworten (Formatierung
239 bleibt, Sprache anpassbar, Vollbild auf Telefonen). Anhänge der Antwort
240 überstehen eine Bearbeitung unangetastet.
241- **Medien in Antworten (reichhaltige Antworten, Phase 2).** Ziehe, füge ein
242 oder wähle Bilder, Audio und Video direkt im Antwort-Editor (die Büroklammer
243 funktioniert auf Telefonen). Dateien laden auf deine eigene Seite hoch,
244 erscheinen beim Schreiben als entfernbare Chips, reisen als echte Anhänge der
245 föderierten Note mit und erscheinen in deinem Thread. Eine Antwort nur mit
246 Medien (ohne Text) geht auch.
247- **Reichhaltige Antworten (Phase 1).** Das Antworten auf Fediverse-Kommentare
248 (inline im Thread und auf der Interaktionsseite) nutzt jetzt einen geteilten
249 Rich-Editor: fett, kursiv, Links, Listen und Zitate, plus eine Sprachwahl für
250 deine Antwort (als Language-Map der Note mitgesendet). Auf Telefonen öffnet
251 der Editor als Vollbild-Ansicht, das Muster, das auf Mobilgeräten wirklich
252 funktioniert. Ohne JavaScript funktioniert das einfache Textfeld weiter.
253 Medien in Antworten sind die nächste Phase.
254- **Verbundene Apps auf deiner Kontoseite widerrufen.** Ein Abschnitt
255 "Verbundene Apps" listet jede App auf, der du per OAuth Zugriff gegeben hast
256 (Name, Seite, Scope, zuletzt genutzt), mit einem Widerrufen-Knopf. Bereits
257 vergebene Tokens erscheinen ebenfalls, da sie immer (gehasht) gespeichert
258 waren; das Token selbst wird nie behalten, daher erfolgt der Widerruf über den
259 Token-Hash.
260- **Der Kontoinhaber kann seine eigenen Follower und Gefolgten über C2S lesen.**
261 Die `followers`- und `following`-Sammlungen bleiben für die Öffentlichkeit
262 count-only (Datenschutz), aber eine Anfrage mit einem auf diese Seite
263 begrenzten C2S-Bearer liefert jetzt die echten Actor-URIs, damit eine App
264 (Shaer) eine Freundesliste bauen kann. Für anonyme Aufrufer ändert sich
265 nichts.
266- **App-Zugriff über OAuth 2.0 (ActivityPub Client-to-Server, Phase 1).** Klonkt
267 spricht jetzt den standardmäßigen AP-C2S-Auth-Handshake, damit native und
268 Web-Clients (zuerst die Shaer-Apps) sich verbinden können: dynamische
269 Client-Registrierung (RFC 7591), ein PKCE-Authorization-Code-Flow mit einem
270 Zustimmungsbildschirm, auf dem du wählst, als welche deiner Seiten die App
271 posten darf, und Bearer-Tokens (gehasht gespeichert, einmalige Codes). Das
272 Actor-Dokument bewirbt die OAuth- und uploadMedia-Endpunkte und
273 `/.well-known/oauth-authorization-server` (RFC 8414) liefert die Metadaten,
274 sodass Clients alles entdecken statt Pfade festzuschreiben. Nur öffentliche
275 Clients + PKCE, keine Client-Secrets.
276- **Die Outbox nimmt Beiträge von Apps an (C2S, Phase 1 komplett).** Ein
277 `POST` mit Bearer-Token an `/ap/users/:slug/outbox` steuert jetzt dein Konto
278 aus einer App: einen Beitrag veröffentlichen, antworten, liken, teilen, folgen
279 und all das rückgängig machen. Aktivitäten laufen über dieselbe
280 Zustell-Maschinerie wie die Web-UI; eine nackte Note wird laut Spezifikation in
281 ein Create verpackt; Inhalt wird bereinigt; das Token ist an eine Seite
282 gebunden. Hinweis: Das ist ActivityPub C2S, das die Shaer-Apps sprechen.
283 Mastodon-Clients (Ivory usw.) nutzen Mastodons eigene API und werden hier nicht
284 unterstützt.
285
286### Behoben
287- **OAuth-Zustimmung übergibt jetzt zuverlässig an native Apps.** Nach
288 Allow/Deny war die Weiterleitung an ein natives Custom-Scheme (z. B.
289 `com.klonkt.shaer:/oauth`) ein einfacher 302, den mobile Browser stillschweigend
290 verwerfen. Der Zustimmungsschritt liefert nun eine kleine Zwischenseite für
291 Nicht-http-Redirect-URIs, die automatisch weiterleitet und einen "App öffnen"-
292 Tipp-Link bietet (ein Tipp startet die App auf Android zuverlässig; iOS'
293 Web-Auth-Session fängt sie ohnehin ab). Web-Clients (http/https) bekommen
294 weiterhin einen 302.
295- **Besucher können auf die eigenen Kommentare des Seiteninhabers antworten.**
296 Der Knopf "über das Fediverse antworten" erschien nur bei Kommentaren anderer;
297 bei den eigenen Kommentaren der Seite in einem Thread bekamen Besucher nichts,
298 sodass man dem Autor nicht von der eigenen Instanz aus antworten konnte.
299
300## [1.5.0] · 2026-07-18
301
302### Hinzugefügt
303- **Nachrichten: deine Antworten und Meldungen auf einer Seite.** Ein
304 Nachrichten-Tab ersetzt Antworten und Meldungen. Ein Strom mit Filterchips
305 (Alle, Gespräche, Aktivität, Gesendet): deine eigenen gesendeten Antworten
306 stehen mit im Gespräch (mit Bearbeiten und Löschen), Likes und Boosts auf
307 denselben Beitrag gruppieren sich zu einer Zeile, private Antworten tragen ein
308 Schloss, und Neues seit deinem letzten Besuch bekommt einen Punkt. Das
309 Interaktions-Bookmarklet zog mit um. Alte /fediverse- und
310 /notifications-Links leiten auf /messages um.
311- **Connect: wem du folgst und wer dir folgt auf einer Seite.** Ein Connect-Tab
312 ersetzt die getrennten Folge-ich- und Follower-Seiten, mit Richtung pro
313 Verbindung (folge ich →, Follower ←, gegenseitig ↔) und, für Konten, an die du
314 zustellst, wann sie zuletzt erreicht wurden. Konten, die du nicht mehr
315 erreichst, wandern in einen eingeklappten Bereich "Nicht erreichbar" zum
316 Aufräumen. Alte /following- und /followers-Links leiten auf /connect um.
317- **Eingehende Antworten auf deine Beiträge moderieren.** Als Seiteninhaber
318 kannst du eine Antwort jetzt aus deinem Thread entfernen (sie bleibt weg:
319 erneute Zustellung und Thread-Auffüllung werden durch einen Tombstone
320 blockiert) und sie beim Server des Autors melden, direkt aus dem Thread.
321 Funktioniert auch für private Antworten, die sich nicht über den
322 Fediverse-Interaktionsfluss behandeln lassen.
323
324### Behoben
325- **Ein geboosteter Videobeitrag behält sein Video im Zirkel.** Das Boosten
326 eines Nur-Video-Beitrags (Loops.video) speicherte ihn ohne Medien, sodass der
327 Zirkel eine nackte Textkachel statt eines Video-Thumbnails zeigte; erneutes
328 Boosten konnte das Video sogar aus einer bereits gecachten Kopie löschen.
329 Boosts tragen jetzt die vollen typisierten Medien, und ein Refresh löscht
330 gecachte Medien nicht mehr.
331- **Der Titel der Interaktionsseite folgt deiner Sprache.** "Interacteer via de
332 fediverse" stand fest auf Niederländisch im Browser-Tab, auch auf einer
333 englischsprachigen Seite.
334- **Das Apple-Music-Icon sieht wieder wie das Apple-Logo aus.** Das alte Icon
335 war eine entstellte Form.
336- **Statistik-Spalten springen in der 30- und 90-Tage-Ansicht nicht mehr.**
337 Spalten ohne Datumslabel klappten leicht ein; jede Spalte behält jetzt ihre
338 Labelzeile.
339- **Private Antworten erscheinen nicht mehr auf der öffentlichen Beitragsseite.**
340 Eine Nur-Follower- oder Direkt-(DM-)Antwort auf deinen Beitrag wurde für alle
341 im öffentlichen Thread gezeigt. Eingehende Antworten speichern jetzt ihre
342 Fediverse-Adressierung; der öffentliche Thread zeigt nur öffentliche und
343 ungelistete Antworten. Private erreichen dich weiterhin über Meldungen, mit
344 dem zugehörigen Beitrag.
345- **Nackte Video/Audio-Embeds laufen nicht mehr über die Spalte hinaus.** Ein
346 `.webm` / `.mp4` / `.mp3`-Player passt jetzt in die Inhaltsbreite wie die
347 iframe-Embeds; die Breitenregel galt zuvor nur für `iframe`.
348
349## [1.4.0] · 2026-07-14
350
351### Hinzugefügt
352- **Follower-Liste mit Zustellstatus.** Ein neuer Fediverse-Tab zeigt, wer dir
353 folgt und wann jedes Konto zuletzt erreicht wurde, sodass tote Konten auffallen
354 und du sie nach einer Prüfung entfernen kannst.
355- **Nackte Medienlinks spielen direkt ab.** Ein einfacher `.webm`-, `.mp4`- oder
356 `.mp3`-Link wird jetzt ein echter Player statt eines toten Links.
357- **Hashtags, Links und Erwähnungen sind auch auf deiner Seite anklickbar.**
358 `#Tags`, URLs und `@Erwähnungen` in einem Beitrag werden zu Links auf der Seite
359 selbst, nicht nur in der föderierten Kopie. Erwähnungen werden einmal beim
360 Speichern aufgelöst, sodass Seiten schnell bleiben.
361
362### Behoben
363- **Antworten, gelöschte und bearbeitete Antworten kommen immer an.** Sie gingen
364 verloren, wenn ein Server kurz nicht erreichbar war; sie laufen jetzt über die
365 Retry-Warteschlange wie Beiträge.
366- **Video-Thumbnails für mehr Videos.** Cover von Videos mit ihren Metadaten am
367 Ende der Datei (Loops.video, Handy-Exporte) bekommen jetzt ein Thumbnail statt
368 keines.
369- **Ein reines Video-Cover zeigt ein Posterbild auf der Beitragsseite.** Es bleibt
370 in der Solo-Ansicht nicht mehr leer.
371- **Die installierte App zeigt bei wackeligem Start keine alten Daten mehr.** Ein
372 Kaltstart bei schlechter Verbindung aktualisiert jetzt, statt eine veraltete
373 Seite zu zeigen.
374- **Die Updates-Seite folgt deinem Branch.** Auf dem Stable-Branch siehst du die
375 Änderungen von main nicht mehr als „neueste“.
376
377## [1.3.5] — 2026-07-04
378
379### Behoben
380- **Umfragen behalten ihr Cover, wenn sie geboostet werden.** Eine Umfrage mit
381 Musik oder Embed wurde ohne Cover föderiert, sodass eine geteilte Umfrage eine
382 leere Kachel zeigte; das Cover reist jetzt mit.
383- **Die Updates-Seite der Android-App zeigt, was wirklich installierbar ist.**
384 Sie las den neuesten Release-Branch, der der Handy-Build kurzzeitig
385 vorauslaufen konnte — Aktualisieren installierte dann dieselbe Version erneut.
386 Sie liest jetzt die Version des Handy-Bundles selbst.
387
388## [1.3.4] — 2026-07-04
389
390### Behoben
391- **Boosts, die ihr Cover verloren hatten, bekommen es automatisch zurück.**
392 Beiträge, die du vor dem Cover-Fix geboostet hast, waren ohne Artwork
393 gespeichert; sie werden beim nächsten Neustart einmalig aufgefrischt. Ist der
394 Heimserver eines Beitrags in dem Moment kurz nicht erreichbar, wird es bei den
395 nächsten Neustarts erneut versucht statt endgültig übersprungen. Einen Beitrag
396 erneut zu boosten aktualisiert jetzt ebenfalls die gespeicherte Kopie (Cover,
397 Inhalt) — aus dem Feed wie von der Interact-Seite.
398
399## [1.3.3] — 2026-07-03
400
401### Behoben
402- **Geteilte Musikbeiträge behalten ihr Cover.** Wenn du einen Titel von jemandem
403 geteilt (geboostet) hast, dem du nicht folgst, fehlte das Cover; es wird jetzt
404 angezeigt, genau wie bei Personen, denen du folgst.
405
406## [1.3.2] — 2026-07-02
407
408### Behoben
409- **Die Updates-Seite funktioniert jetzt in der Android-App.** Sie zeigt ab
410 sofort die neueste verfügbare Version, und der Aktualisieren-Button lädt und
411 installiert sie direkt auf dem Handy (Beiträge und Einstellungen bleiben
412 erhalten).
413
414## [1.3.1] — 2026-07-02
415
416### Behoben
417- **Musik läuft auf Android im Hintergrund weiter.** Wenn ein Titel endete,
418 während das Handy gesperrt oder die App im Hintergrund war, startete der
419 nächste Titel und stoppte nach einer Sekunde wieder. Der Player führt die
420 Warteschlange jetzt als einen durchgehenden Stream zu, sodass das
421 Weiterspringen zum nächsten Titel nicht mehr als "neue" Wiedergabe zählt,
422 die der Browser pausieren darf.
423
424## [1.3.0] — 2026-07-02
425
426### Hinzugefügt
427- **Wähle eine helle oder dunkle Teilen-Karte.** Das automatisch erzeugte Teilbild folgt deinem
428 Site-Thema; unter Verwaltung → SEO kannst du es jetzt fest auf hell oder dunkel stellen.
429- **Eine Erwähnung ist jetzt eine Benachrichtigung.** Wenn dich jemand im Fediverse in einem
430 Beitrag erwähnt — auch in einem, der keine Antwort an dich ist — erscheint das in deinen
431 Fediverse-Benachrichtigungen mit einem Link zum Original.
432- **Cover-Art bei offen geteiltem Audio.** Ein offen im Fediverse geteilter Track trägt jetzt sein
433 Cover (oder das Beitragscover) mit, sodass Audio-Player, die Artwork unterstützen, es statt einer
434 leeren Kachel anzeigen.
435- **Einen Beitrag im Fediverse melden.** Von einem Fediverse-Beitrag aus kannst du ihn jetzt den
436 Moderatoren seines Heimatservers melden, mit optionaler Begründung — und meldet jemand deine Seite,
437 erscheint die Meldung in deinen Fediverse-Benachrichtigungen.
438- **Sprache eines Beitrags festlegen.** Wähle, in welcher Sprache du einen Beitrag geschrieben hast —
439 im Fediverse funktionieren damit der Sprachfilter der Timeline und die Übersetzen-Schaltfläche.
440- **Alt-Text für Bilder.** Gib deinem Titelbild eine Beschreibung (Inline-Bilder behalten ihren
441 eigenen Alt-Text) — sie föderiert ins Fediverse und lässt Screenreader das Bild beschreiben.
442- **Erwähne Personen in einem Beitrag.** `@benutzer@server` in einem Beitrag verlinkt jetzt auf ihr
443 Profil und benachrichtigt sie im Fediverse — auch wenn sie dir nicht folgen — wie eine Erwähnung
444 in einer Antwort.
445- **Kurze Videos im Feed spielen automatisch ab und wiederholen sich.** Ein animiertes Cover oder ein
446 kurzer (≤30s) Clip im News-Feed wird jetzt automatisch stumm in Schleife abgespielt, wie ein GIF;
447 längere Videos behalten ihre Steuerung.
448- **Über Fediverse-Umfragen abstimmen.** Eine Umfrage von einem Konto, dem du folgst, erscheint jetzt
449 im News-Feed mit Optionen und aktuellen Ergebnissen, und du kannst abstimmen — das föderiert zurück
450 wie eine normale Mastodon-Stimme.
451- **Erstelle eigene Umfragen.** Ein Beitrag kann jetzt eine Umfrage enthalten (Einfach- oder
452 Mehrfachauswahl, mit einer Laufzeit). Sie föderiert als echte Fediverse-Umfrage, sodass deine
453 Mastodon-Follower aus ihrer eigenen App abstimmen können; die Live-Ergebnisse stehen am Beitrag und
454 die Umfrage schließt sich selbst, sobald die Zeit abgelaufen ist.
455
456### Geändert
457- **Audio offen zu teilen ist jetzt unumkehrbar.** Sobald ein Track offen im Fediverse geteilt wurde,
458 ist die Datei verbreitet — erneutes "Schließen" wäre Scheinsicherheit. Der Editor sperrt die Wahl
459 nach dem Öffnen und warnt dich, bevor du sie ankreuzt.
460
461### Behoben
462- **Entfernte Videos zeigen ein Vorschaubild.** Ein Video im News-Feed oder auf einer Zirkel-Kachel
463 (z.B. von Loops oder PeerTube) erschien als schwarze Fläche, bis man auf Abspielen drückte; jetzt
464 gibt es ein echtes Posterbild. (Längere Videos behalten bewusst ihre Steuerung — nur Clips unter
465 30 Sekunden laufen automatisch wie ein GIF.)
466- **Erwähnungen, Hashtags und Links in Klammern funktionieren jetzt.** Eine Erwähnung wie
467 `(@benutzer@server)`, ein `(#hashtag)` oder eine URL in Klammern föderierte als reiner Text —
468 und die erwähnte Person wurde nie benachrichtigt. Sie verlinken (und benachrichtigen) jetzt wie
469 ohne Klammern.
470- **Nackte Webadressen werden im Fediverse zu Links.** Eine einfache URL in einem Beitrag oder einer
471 Antwort föderiert jetzt als klickbarer Link statt als reiner Text.
472
473## [1.2.0] — 2026-07-01
474
475### Hinzugefügt
476- **PeerTube-Videos im Feed.** Ein PeerTube-Link in einem Beitrag zeigt jetzt einen eingebetteten
477 Player im News-Feed, wie es YouTube, Spotify und SoundCloud bereits taten.
478- **Helle Teilen-Bilder.** Seiten mit einem hellen Standard-Theme erhalten beim Teilen einer Seite
479 nun eine passende helle Open-Graph-Karte statt immer einer dunklen.
480- **Eigene Besuche aus der Statistik ausschließen.** Als Administrator kannst du jetzt deine eigene
481 IP-Adresse aus deiner Seitenstatistik ausschließen, für ein wahreres Bild der echten Besucher.
482- **Rechtsklick „Speichern" ist bei Covern, Bildern und Videos deaktiviert** — eine leichte Hürde,
483 damit das Artwork nicht mit einem Klick gespeichert werden kann (Reibung, kein Schutz).
484
485### Behoben
486- **Animierte Video-Cover werden jetzt überall korrekt angezeigt.** Im Zirkel und im Raster konnten
487 sie als kaputtes Bild oder leere Kachel erscheinen; sie werden nun als echtes, sich wiederholendes
488 Video angezeigt, das das Quadrat füllt, zentriert. Ein Rechtsklick auf ein Cover zeigt das normale
489 Link-Menü statt der Video-Steuerung des Browsers.
490- **Jemandem zu folgen bleibt nicht mehr hängen.** Eine Follow-Anfrage, deren erste Zustellung
491 fehlschlägt (der andere Server kurz nicht erreichbar), wird jetzt automatisch mit Backoff erneut
492 versucht, statt für immer auf „ausstehend" zu bleiben.
493- **Geboostete Beiträge zeigen ihren echten Text** im Zirkel, statt eines „RE: <Link>"-Präfixes.
494- **Robustere Fediverse-Verarbeitung** — strengere Signaturprüfungen bei eingehenden Aktivitäten,
495 Blockierungen erfassen jetzt auch einen Boost eines blockierten Autors, und die Synchronisierung
496 angehefteter Beiträge kollidiert nicht mehr, wenn du mehrmals schnell speicherst.
497
498## [1.1.0] — 2026-06-30
499
500### Hinzugefügt
501- **Animierte Cover spielen überall flüssig.** Lade ein animiertes WebP als Cover hoch, und Klonkt
502 erstellt zusätzlich ein stummes, sich wiederholendes Video davon. iOS Safari — wo animiertes WebP
503 ruckelt — bekommt das flüssige Video, jeder andere Browser behält das scharfe WebP, und im Fediverse
504 federiert das Cover als Video, das in Mastodon und seinen Apps abspielt. Sichtbar im Beitrag, im
505 Raster, im Feed und bei verwandten Beiträgen.
506- **Medienbibliothek (Verwaltung → Medien).** Sieh jedes hochgeladene Bild, wo es verwendet wird,
507 kopiere die URL und räume ungenutzte Dateien mit einem Klick auf — einschließlich des übrigen
508 Videos/Posters eines animierten Covers. Bilder, Audio und Playlists teilen sich jetzt eine Tab-Leiste.
509- **Teilen-Button** unter jedem Beitrag (natives Teilen-Menü oder Link kopieren).
510- **Ersetze die Audiodatei eines Tracks**, ohne den Track neu zu erstellen.
511- **Musik im Fediverse (erster Schritt).** Audio-Beiträge tragen jetzt schema.org *MusicRecording* /
512 *MusicAlbum*-Daten, und ein Schalter pro Beitrag kann einen gehosteten Track als echten
513 Fediverse-Audioanhang teilen, der in den Feeds der Follower abspielt.
514
515### Geändert
516- **Sauberere Embeds auf Mastodon.** Ein Beitrag mit einem YouTube/Spotify/SoundCloud-Link lässt
517 Mastodon jetzt seine Player-Karte anzeigen; Link-only-Tracks teilen ihre Streaming-Links. Das Cover
518 bleibt in anderen Klonkt-Feeds sichtbar. (Auf deiner eigenen Seite ändert sich nichts — Player und
519 Cover werden wie zuvor angezeigt.)
520- **Zirkel bleiben auf die Fediverse-Art synchron** — Bearbeitungen und verpasste Beiträge holen über
521 Standard-ActivityPub automatisch auf, sodass ein Zirkel nicht mehr veraltet.
522- **Alles, was Klonkt federiert, ist jetzt gültiges AS2 / JSON-LD**, durch einen Test abgesichert,
523 damit striktere Server es akzeptieren.
524- Die Trackliste ist **nach Neueste zuerst** sortiert.
525
526### Behoben
527- **Animierte WebP-Cover werden nicht mehr auf ein einzelnes Bild eingefroren** (der Zuschneide-Editor
528 und der Thumbnailer machten sie statisch).
529- **Link-only-Tracks** (Spotify/YouTube, keine hochgeladene Datei) lassen sich wieder in einen Beitrag
530 einfügen.
531- **Link-Vorschauen** (og:image / Twitter-Karte) verwenden jetzt absolute Bild-URLs, damit sie auf
532 Signal, WhatsApp und anderen Scrapern erscheinen.
533- Mehrere **Fediverse-Zustellungs-Fixes**: Cover/Links werden auf Mastodon keine schwarze Kachel mehr,
534 rohe Audiodateien überladen keinen Beitrag, der bereits einen Player hat, und tote Links eines
535 umbenannten Remote-Beitrags heilen sich selbst.
536- Der **mobile Feed** lädt Cover in voller Auflösung; lange Titel brechen um, statt überzulaufen.
537- **Self-Hosting-Updates** sind zuverlässiger: ein erneuter Lauf des Installers behält deinen Kanal,
538 und der Updater startet nicht mehr neu (oder behauptet kein Update), wenn du bereits aktuell bist.
539
540## [1.0.0] — 2026-06-30
541
542### Hinzugefügt
543- **Klonkt ist jetzt im Fediverse (ActivityPub).** Deine Seite ist ein echtes
544 Fediverse-Konto: Menschen auf **Mastodon** — oder auf einem anderen **Klonkt** — können
545 dir folgen, und deine Beiträge landen in ihren Feeds. Du kannst Konten folgen und ihre
546 Beiträge in einem **News**-Feed lesen, **Benachrichtigungen** erhalten und Beiträge
547 **liken, teilen und beantworten**. Eingehende Aktivität wird überprüft, sodass gefälschte
548 Antworten, Likes und Follower abgewiesen werden.
549- **Jede:r kann deine Beiträge aus dem Fediverse beantworten, liken oder teilen** —
550 Besucher:innen interagieren von ihrem eigenen Konto aus (sie geben einfach ihren Server
551 ein); ein Konto auf deiner Seite ist nicht nötig.
552- **Circles**: Folge anderen **Klonkt**-Seiten und zeigt euch gegenseitig die öffentlichen
553 Beiträge in eurem **Circle** — dezentral, ohne zentrale Plattform.
554- **Sensible (NSFW) Beiträge** mit eigenem Warnhinweis-Text: auf der ganzen Seite
555 verschwommen mit Klick zum Anzeigen, und im Fediverse als Inhaltswarnung dargestellt.
556- **Blockiere** ein Konto oder eine ganze Domain, von der du lieber nichts hören möchtest.
557- Die Suche findet jetzt auch **Tracks** (nach Titel, Künstler:in und Album), direkt aus den
558 Ergebnissen abspielbar mit einem Link zum Beitrag, in dem sie vorkommen — und die
559 Beitragssuche zeigt Treffer schon beim Tippen.
560- **Live-Theme-Vorschau** in Verwaltung → Seiteneinstellungen: Akzent, Theme und Palette
561 aktualisieren sich sofort, noch bevor du speicherst.
562- Hochgeladene Bilder werden automatisch zu **WebP** optimiert, für schnellere Seiten.
563- Ein großzügigeres **mobiles Schreiberlebnis**: Tippe, um einen ablenkungsfreien
564 Vollbild-Editor zu öffnen, wobei die Formatierungsleiste über der Tastatur sichtbar bleibt.
565
566### Geändert
567- **Paletten auf 8 überarbeitet**: das neutrale **Klonkt** (goldener Akzent) ist der neue
568 Standard, dazu sieben Vollfarb-Themes — **Forest**, **Ocean**, **Teal**, **Lilac**,
569 **Sunset**, **Candy** und **Amber**.
570
571### Entfernt
572- **Hub-Modus** — **Klonkt** ist jetzt **solo oder Circles**; ein Kollektiv oder Label baust
573 du über **Circles** auf (föderierte, eigenständige Seiten).
574- **Native Kommentare und Google-Login** — Antworten, Likes und Boosts laufen jetzt komplett
575 über das Fediverse.
576- **Lokale Favoriten (♥)** — ersetzt durch das ⭐ Fediverse-Like.
577
578### Behoben
579- Der Mini-Player springt und scrollt zum gerade laufenden Track — auch aus einem Album oder
580 einer Playlist — und hält ihn hervorgehoben.
581- Leere Album-/Playlist-Cover greifen jetzt auf das Cover des ersten Tracks zurück.
582- Ein Profilfoto, das nach dem Wechsel zu **WebP** im Header kaputtging, repariert sich nun
583 selbst.
584- Viele Korrekturen am **mobilen Beitrags-Editor**: zuverlässiges Scrollen, eine
585 Formatierungsleiste, die an Ort und Stelle bleibt, keine Seitensprünge beim Tippen auf eine
586 Schaltfläche, und eine Speicherleiste, die direkt über der Tastatur sitzt.
587
588## [1.0.0-beta.2] — 2026-06-19
589
590Erste Veröffentlichung, bei der wir die Version aktiv mitverfolgen (im Fußbereich angezeigt —
591klick darauf für diese Seite).
592
593### Hinzugefügt
594- Versionsverfolgung: Die Versionsnummer im Fußbereich verlinkt auf diese Changelog-Seite.
595- Acht Premium-Funktionen (über **Patreon** freigeschaltet): Newsletter/Mailingliste,
596 Download-für-E-Mail, Veröffentlichungsplanung + Vorschauen nur für Fans, **EPK**/Pressekit,
597 Profi-Statistiken, Link-in-Bio + Klickstatistiken, einbettbarer Player sowie Konzertkalender
598 + Benachrichtigung.
599- Newsletter-Anmeldefeld im Fußbereich (ein/aus in Verwaltung → Einstellungen).
600- **SMTP**-Einstellungen in Verwaltung → Einstellungen konfigurierbar (keine Bearbeitung der
601 Konfigurationsdatei mehr nötig), mit einer Test-Mail-Schaltfläche.
602
603### Geändert
604- Aufgeräumtere Einstellungsformulare (gestapelte Beschriftungen, Eingabefelder in voller
605 Breite).
606- Das **EPK**/Pressekit zeigt die 10 meistgehörten Tracks.
607- Schönere 404-Seite (mobilfreundlich) und klarere Login-Fehlermeldungen.
608
609### Behoben
610- Der seitenweite Audioplayer lud keine Tracks.
611- Schaltflächentext wurde beim Überfahren unlesbar.
612- Datumsauswahlen folgen jetzt dem Theme.
613- Die Vor-/Zurück-Navigation zeigt keinen doppelten Header mehr.
Note: See TracBrowser for help on using the repository browser.