Repository navigation
Releases: FennXWeb/Kinden
Release list
Kinden 0.15.0 — Your community, your way
Kinden 0.15.0 adds app themes, server experiences, multi-role membership and admission wizards.
- App themes are a separate cosmetic category from profile themes. The owner console includes a live theme builder for gradients and background artwork, panel transparency and blur, borders and shadows, typography, navigation widths and placement, message cards/bubbles/spacing, avatar shapes and buttons. Three starter designs are included: Midnight Studio, Paper Workshop and Terminal Club. Owned themes can be applied or reset from the shop.
- Server owners have Appearance and Onboarding tabs in server settings. A server can publish its own theme, background artwork, banner height, channel density/casing, category styling, icon and voice-participant visibility, member-list visibility and welcome text. Server appearance takes precedence over personal app themes while viewing that server. Mobile layout and reduced-transparency preferences remain supported.
- Members can hold up to 20 roles. Permissions combine across roles, while the highest-ranked role controls hierarchy and member-list position. Server profiles show assigned roles. Existing single-role assignments remain intact.
- Per-role channel overrides support Inherit, Allow and Deny for visibility, messages, reactions, uploads, joining voice, speaking, screen sharing, message moderation, publishing content/software and voice moderation. Deny wins between roles at the same level; child overrides replace inherited decisions. Existing category role allowlists still constrain access. The backend and Matrix policy hook enforce writes, and LiveKit enforces publishing rights.
- Onboarding supports up to 12 ordered steps: rules acceptance, written answers, single/multiple choices, uploaded MP4/WebM videos and a basic self-hosted human check. Choices assign non-administrative interest roles, which can unlock channels through channel role settings. New invitees receive no server membership until required steps pass. Existing members stay admitted. Policy revisions invalidate unfinished admissions.
- Video completion uses playback confirmation and a server-side minimum-time check; it cannot prove attention. The built-in human check is rate-limited friction, not a guarantee against automated bots. Owners should not ask for passwords or sensitive personal information in admission questions. Only the server owner can review recorded answers.
Web, Windows and Android use the same release. Existing balances, profile cosmetics, server content and memberships are preserved.
Kinden 0.14.1 — Conversation rewards
Kinden 0.14.1 rewards conversations that get people involved.
- Sending messages alone no longer earns sparks. Replies and reactions reward the original author.
- With the default engagement base of 2 sparks, a reply earns 4, a reaction earns 2, and a third distinct participant adds a 6-spark bonus.
- One reward per participant per message, up to five participants. The same pair can generate at most three rewards per direction per UTC day. Each participant can trigger a reward at most once every 30 seconds.
- Eligible messages must contain at least 12 letters/numbers with five distinct characters. Only one message per author per minute qualifies; repeated text within 24 hours, edits, GIF-only messages and self-engagement do not qualify. A caption can qualify. A qualifying reply can also earn its own rewards from others.
- Rewards apply to new messages recorded after this update and engagement within seven days of posting. Removed content, blocked users and inactive accounts cannot generate rewards. Existing balances and claimed quests are preserved.
- The conversation quest now counts distinct messages receiving rewarded engagement. All rewards still respect the platform daily cap. The admin engagement base setting controls the reward scale.
Available on web, Windows and Android. These limits reduce farming; they do not attempt to judge the subjective quality of every conversation.
Kinden 0.14.0 — Support, quests and presence
Kinden 0.14.0
- New website support and appeal portal: private ticket history, replies, closing/reopening, search/filter/sort, moderation notices, appeal submission, follow-ups and admin decisions. Restricted accounts can use it without access to chat or servers.
- Events & quests: daily conversation/time quests and a weekly active-days quest, verified server-side with single-use claims and the existing daily sparks cap. Owner administration can schedule daily, weekly or one-time events and pause availability. UTC reset times are shown in the app.
- Live presence indicators in friends and the DM sidebar, including offline state and automatic expiry.
- Windows screen-share audio requests and verifies exclusion of Kinden's own audio before publication. Capture paths that cannot verify exclusion share video only. Speakers can still leak into your microphone; headphones remain useful.
- Updated web, Windows and signed Android builds.
Rewarded advertising is not enabled. The iOS launch and advertising setup guide is in the private source repository at docs/ios-launch.md.
Validation includes API authorization, restricted-ticket isolation, appeal follow-ups, quest progress/deduplication/caps, schedule/MFA enforcement, presence expiry, and audio-exclusion fallback. Physical Windows audio-loopback and Android device behavior have not been verified in this release.
Kinden 0.13.0 — Android alpha
Kinden 0.13.0
Android now has a signed APK with encrypted local sessions, Firebase message and incoming-call notifications, native LiveKit voice calls, opt-in screen viewing, picture-in-picture, and screen-video sharing. Android notification registration respects account access, notification preferences, and device logout. Call-end events cancel incoming-call alerts.
Enable device notifications in Kinden settings and allow Android's notification permission. Android 7 or newer is required; picture-in-picture requires Android 8 or newer. Push requires Google Play services. Install future APKs over the existing app; retain the original signing key. Android screen sharing currently carries video, while system-audio capture remains Windows-only.
The webapp and Windows release include the matching client/backend changes. Windows continues to use its background updater.
Validation: 113 application tests; signed Android assemble, lint, unit-test task and APK signature verification; Windows updater manifest and packaged-client verification; production database-copy migration and integrity checks; Firebase OAuth and FCM validate-only request from the backend. Physical Android delivery, incoming calls and PiP still require device testing; this remains an early-alpha release.
Firebase project: kinden-3dada. The backend service account has only custom role projects/kinden-3dada/roles/kindenPushSender, containing cloudmessaging.messages.create. Its JSON key is mounted read-only at /run/secrets/kinden-fcm.json; FCM_CREDENTIALS_PATH selects it. Never place this key in client builds or source control.
Android signing material is held in private deployment files and private GitHub Actions secrets. Preserve it for future updates. Signed candidates are stored as draft releases in the private source repository, then verified and promoted to the public releases repository alongside Windows assets. The website discovers both APK and Windows installer from the latest public release.
Kinden 0.12.0
Kinden 0.12.0
Voice and screen sharing
- Streams open as still-preview cards. Choose Start watching or Stop watching.
- Streamers control outgoing stream audio; viewers control their own listening level.
- Right-click a user to adjust local voice volume from 0% to 200%.
- Stream start/stop alerts and profile identity cards in voice rooms.
- Fullscreen screen sharing with a full-window fallback and Escape to exit.
Accounts and administration
- My feedback history and status updates.
- Admin overview metrics, priority queues, and oldest unresolved tickets.
- Ticket and feedback search, sorting, and filters; resolved/closed items hidden by default.
- Case-scoped recovery snapshots allow restoring newly removed content in Kinden. Older removals without snapshots and user-deleted content cannot be restored.
- Configurable prestige tiers unlock larger uploads and higher stream quality using account age, connected time, and recent moderation standing. Connected time starts with this release.
Windows downloads updates in the background; choose Restart to update when ready.
Kinden 0.11.0
Kinden 0.11.0 improves server navigation, sounds and image viewing.
- Voice channels show a compact list of connected users, without avatar frames or nameplates.
- Online members sort by role rank, with the owner first. Server profiles show their role; offline members remain below online members.
- Message channels display unread counts, synchronized across devices.
- Notification and call cues use normalized audio levels and the selected output device. Notification settings include a Test sound button, and playback failures are reported.
- Clicking chat images opens a full-screen viewer with previous/next controls and Escape to close.
Windows updates download in the background. Choose Restart to update when prompted.
Kinden 0.10.0
Kinden 0.10.0 adds multi-image messages and Software marketplace channels.
- Drag images into chat, paste images repeatedly, or select multiple files. Preview and remove attachments before sending up to 10 images in one message.
- Publish public GitHub repositories with a cover image and tags. Browse, search, filter and sort listings, and open their full README.
- Download assets from the latest published GitHub Release after reviewing a third-party software warning. Publishers can edit and refresh their listings.
- Server owners can grant the new Publish and update own software listings permission to roles.
- Deleted and moderated messages hide all their attached images; removed listings cannot be downloaded through Kinden.
Existing Windows installations download updates in the background. Use Restart to update when prompted.
Kinden 0.9.0
Kinden 0.9.0 adds image paste and a new channel creation flow.
- Paste PNG, JPEG, WebP or GIF images into chat. Preview or remove the attachment before sending; existing drafts are not silently replaced.
- Create channels and categories through separate menu actions. Owners and roles with channel-management permission can right-click empty sidebar space or use the plus menu. Tap and hold opens the menu on mobile.
- Choose from six visual channel-type cards, then name the channel and select its category. Creating from a category menu preselects that category.
- Chat and post author names retain the nameplate's text color without its artwork, background, size or padding. Profile-picture frames and selected fonts stay in chat; full nameplates remain on profiles and member lists.
Existing Windows installations download this update in the background. Use Restart to update when it is ready. New installations use Kinden-Setup-0.9.0.exe.
Kinden 0.8.0 — New channel types
Kinden 0.8.0 adds three channel types for communities.
- Announcements / blog: titled posts with Markdown, optional images, link previews, and a separate discussion for each post.
- Forum: members start topics and reply in separate threads, with older topics and replies available through pagination.
- Info: a read-only HTML page for rules, guides, and reference material. Supports headings, lists, tables, links, uploaded images, alignment, and hex colors, with preview before publishing.
- New role permission: Publish announcements and edit info pages. Server owners always have this permission.
- Info-page edits detect conflicting changes and keep the editor's draft instead of overwriting newer content.
- New channels honor category restrictions, reports, message deletion, moderation notices, and live updates.
HTML scripts, forms, embeds, external images, and unsafe styling are removed. Info channels have no chat or reactions.
Validation: 83 automated tests, production build, desktop/mobile UI flow checks, and zero production dependency audit findings.
Windows updates download in the background. Use Restart to update when prompted.
Kinden 0.7.0 — Messaging and moderation
Kinden 0.7.0 adds channel tags, GIFs, link previews, unread DM badges, and server moderation controls.
- Type # to choose a channel and jump to it from chat. Channel names must be unique within a server.
- Authorized members can delete messages, channels, and categories. Deleting a category also removes its nested channels after confirmation.
- Roles can control screen sharing and grant voice mute, deafen, disconnect, and screen-share restriction permissions. Moderation respects role hierarchy.
- Discover, search, send, and favorite GIFs with GIPHY.
- Links display metadata cards, including YouTube titles, uploaders, and thumbnails.
- New DMs move their conversation to the top of the rail and show persistent unread counts.
- Server banners appear above the server name. Steam names remain on profiles and no longer appear in the member list.
Existing screen-sharing access is preserved until changed in server role settings. One pre-existing duplicate channel name receives a numeric suffix; its contents and membership stay intact. GIPHY beta API limits apply until GIPHY approves upgraded keys.
Validation: 76 automated tests passed, including permission boundaries, unread cursor races, deletion, GIF favorites, and private-address blocking. Browser checks covered channel tags, live GIPHY favorites, live YouTube metadata, deletion confirmation, and a 390-pixel mobile picker. Voice enforcement was tested against an isolated SFU mock; no production calls were interrupted for testing.
Windows downloads updates in the background. Use the update button to restart and apply this release without setup.