source: Klonkt/CHANGELOG.md@ eb5f978

main
Last change on this file since eb5f978 was eb5f978, checked in by Robin Genis <roboburr@…>, 2 months ago

feat(changelog): i18n the public changelog (English base + nl/de)

  • CHANGELOG.md — now the English base (translated from Dutch), the source of truth going forward.
  • CHANGELOG.nl.md — the previous Dutch changelog, kept as the Dutch translation.
  • CHANGELOG.de.md — German translation.
  • routes/changelog.js — serve CHANGELOG.<lang>.md for the visitor's language, fall back to the English base; title/empty-message via i18n.
  • services/i18n.js — changelog.title + changelog.empty (nl/en/de).
  • Property mode set to 100644
File size: 9.9 KB
Line 
1# Changelog — Klonkt
2
3All notable changes to Klonkt. Newest at the top.
4Versions follow [SemVer](https://semver.org/) (`1.0.0-beta.N` during the beta).
5
6> **Two separate version numbers — don't confuse them:**
7> - **App version** (this changelog + footer, `package.json`) = cosmetic; bump every release.
8> - **Federation proto** (`KLONKT_PROTO` in `CircleFederation.js`, now **2**) = determines whether
9> Klonkt sites can federate into each other's **circle** (it's part of the signed basis).
10> An app-version bump does **not** change the proto and therefore doesn't break circles. Bump the
11> proto **only** for federation/security changes, and then roll it out in **lockstep**
12> to all instances (including the democircles) so they keep working together.
13
14## [Unreleased]
15
16### Added
17- Search now also covers **tracks** (by title, artist and album), not just posts.
18 Found tracks are directly playable in the results list, with an
19 "in post →" link to the post/album/playlist the track appears in.
20- Posts search now uses **prefix matching**: type "astr" and you'll find "astra"
21 (each word as a prefix, AND between the words) — nicer search-as-you-type.
22- **Fediverse client**: follow accounts (WebFinger → signed Follow), a
23 **home timeline** (`/tijdlijn`) of who you follow, a **notifications inbox**
24 (`/meldingen`), and ⭐-like / 🔁-boost / ↩-reply from the timeline.
25- **Like and reply via the fediverse** on a post: visitors only fill in
26 their own server (`@you@server` or `server.com`) and handle it on their
27 own account (`/authorize_interaction`).
28- **HTTP signatures enforced** on the inbox: unsigned or forged
29 activities are rejected — no more fake replies/likes/followers.
30- **Block/defederate** an account or an entire domain (`/blokkeren`).
31- **Live theme preview** in Admin → site settings: accent, theme and palette
32 visible immediately before you save.
33
34### Changed
35- **Palettes revised** to 8: the neutral **Klonkt** (white/black, gold accent)
36 is now the default, plus 7 real-color themes (Forest, Ocean, Teal, Lilac,
37 Sunset, Candy, Amber). Accent choice cleaned up; the Klonkt background now
38 follows the chosen accent color.
39
40### Removed
41- **Hub mode** removed — Klonkt is now **solo or circles**. You now create a
42 collective/label via **Circles** (federated standalone sites).
43- **Native comments + Google login** removed — interaction now runs entirely
44 via the **fediverse**.
45- **Local favorites (♥)** removed — replaced by the ⭐ fediverse like.
46
47### Fixed
48- Mini player: jump + scroll to the playing track now also works from an
49 **album or playlist** (the track id wasn't in the playback queue).
50- The currently playing track now gets a **persistent highlight** in the post.
51- Empty **album/playlist covers** fixed (a missed reference in the
52 WebP conversion) + they now fall back to the cover of the first track.
53- Broken **avatar/profile photo** in the header after the WebP conversion: the viewer avatar
54 (and role) is now read fresh from the database, so an old session repairs
55 itself without logging in again.
56
57### Fixed (earlier)
58- Inline content layout on touch simplified: no formatting toolbar/border inline
59 anymore (you edit fullscreen anyway) — only the content preview + the tap-to-edit pill.
60- Couldn't scroll on the edit page: the fullscreen scroll lock (overflow:hidden
61 on html/body) stayed stuck. Lock removed — the fullscreen frame already covers the page
62 and on touch the scrollbars are hidden.
63- Leaving fullscreen now scrolls to the top of the content (instead of jumping
64 down to the footer).
65- The "tap to edit" hint on touch is now a pill that sticks to the bottom of the
66 container (above the Save bar) instead of being ugly-centered in the text.
67- Scrollbars hidden on mobile & tablet (touch) — scrolling still works,
68 only the bar UI is gone (no confusing/duplicate bars).
69- Fullscreen editor: no more double scrollbar — in fullscreen only the
70 text field scrolls; the frame and the page (html+body) behind it are locked.
71- Editor: the view no longer jumps when clicking a formatting button.
72 On mobile the writing field is now a bounded scroll box with the formatting toolbar
73 STICKY at the top: the text scrolls underneath it, the toolbar always stays in view, and
74 the caret scroll that mobile Chrome forces stays within the box instead of making the whole
75 page jump. (Plus: scroll position is held around each
76 formatting command.) `interactive-widget=resizes-content` removed again — it made
77 the page scroll up for the keyboard and broke the kb-open detection; the
78 action bar + fullscreen handle the keyboard via the visual viewport.
79- Post editor on mobile: the Save/Cancel bar now stays just above the
80 keyboard (sticky with a dynamic bottom offset = max of keyboard and
81 audio-player height), instead of falling behind it or floating in the middle of the screen.
82 Viewport scales with the keyboard (`interactive-widget=resizes-content`).
83- Mobile keyboard vs. layout (site-wide): as soon as the keyboard opens while
84 typing, the fixed bottom bars (bottom-tab + mini player) hide themselves, so
85 they no longer float over or overlap the input field. They come back as soon as
86 the keyboard closes. (Detection via visualViewport → `body.kb-open`.)
87- Editing a post on mobile no longer immediately opened the keyboard: the title no longer
88 gets automatic focus (`autofocus` removed). On desktop the title still focuses.
89- Writing posts on mobile: a formatting button (bold/italic/…) stole the focus from the
90 text field → the selection was lost (bold couldn't be turned off anymore) and the
91 page jumped down. The toolbar now keeps the focus in the editor
92 (mousedown-preventDefault + focus without scroll), so toggling works and there's no
93 more jump. Toolbar taps are also faster (touch-action: manipulation). Active
94 formatting is now clearly filled with the accent color (and :hover no longer sticks on
95 touch), so it's visible whether e.g. bold is on or off.
96
97### Added
98- Images → **WebP**: new uploads (post images/cover, avatar, site photo,
99 hub hero, audio cover) are automatically converted to WebP (smaller); existing
100 images were converted in one go and all references updated.
101- Images are **harder to save** (right-click "save" + dragging
102 blocked) — friction, not watertight protection.
103- Mini player (desktop): click the playing track → **jump to the post and scroll
104 to that track** (with highlight); also works for site-wide tracks via a lookup.
105- Text fields (`<textarea>`) now grow site-wide with the content instead of scrolling
106 internally (scroll-within-scroll was confusing). The inline writing field also grows
107 along naturally; typing on mobile/tablet goes fullscreen anyway.
108- On **mobile & tablet** (touch) the content behaves like a post: inline it is
109 **not typable** (tap area with a "✎ Tap to edit" pill). One tap opens a
110 **fullscreen writing "page"** — with real back-button support, so the
111 browser back or the **"✓ Done" button** closes it and you're back in the form
112 (all fields intact), after which you save everything together with the normal Save button.
113- The writing window can go **fullscreen** (button in the editor toolbar, or Escape to
114 go back) — nice for distraction-free writing on mobile. The formatting toolbar
115 always stays at the top of the view, even when the mobile keyboard opens
116 (frame follows the visual viewport).
117- The admin can link their **Google account** (Account → Sign in with Google) and
118 then also log in with Google. Safe: linking is only possible while you're logged in
119 with a password, and Google login only grants admin access if the exact
120 linked Google account (`google_sub`) matches. Unlinking is possible as long as there's a
121 password.
122- Liking / favoriting posts: logged-in users can like a post with a ♥ button
123 (shows the number of likes). Your liked posts are on the new **Favorites** page
124 (`/favorieten`, link in the account menu). Not logged in → the button leads to the login.
125
126### Changed
127- Post navigation (Newer/Older) now shows a 📌 if the linked post is pinned.
128- The Newer/Older post navigation now also appears on the fan gate (login wall of a
129 fan-only post), so a visitor doesn't get stuck but can keep browsing.
130 Nav moved to a shared partial (`partials/post-nav.ejs`).
131- Login split: the public login page (`/auth/login`) now shows visitors
132 **only** Google login (listeners/fans). The admin login (username +
133 password) is hidden at `/auth/admin` (not linked anywhere).
134- Post navigation (Newer/Older) now keeps the same two-card structure on every post:
135 if a newer/older post is missing, there's a subtle grayed-out
136 placeholder ("Newest post" / "Oldest post") instead of an empty space.
137- When opening a related/next post you now jump to the top of the
138 page (was: you stayed stuck at the old scroll position).
139
140## [1.0.0-beta.2] — 2026-06-19
141
142First release where we actively track the version (visible in the footer →
143click it for this page). Federation proto: **2** (unchanged).
144
145### Added
146- Release tracking: the version number in the footer links to this changelog page.
147- Eight premium features (Patreon-gated): newsletter/mailing list, download-for-email,
148 release scheduling + fan-only previews, EPK/press kit, pro statistics, link-in-bio +
149 click stats, embeddable player, and show agenda + notify-me.
150- Newsletter signup field in the footer (on/off in Admin → Settings).
151- SMTP settings configurable in Admin → Settings (no more `.env` edit needed),
152 with a test-mail button.
153
154### Changed
155- Admin → Settings: Hub and Circle config now sit directly under the Mode card;
156 forms tidier (stacked labels, full-width inputs).
157- EPK/press kit shows the top 10 most-listened tracks.
158- Nicer 404 page (mobile-friendly) and clearer login error messages.
159
160### Fixed
161- The site-wide audio player got no tracks (wrong column in the query).
162- Button text became unreadable on hover (same color as the button).
163- Date pickers now follow the theme.
164- htmx navigation updates the address bar again; no double header on back/forward.
Note: See TracBrowser for help on using the repository browser.