RELEASE HISTORY
Patch Notes
What's changed across Wiltkey releases — the app on the left, the relay server on the right. Newest first.
Client — Android App
1.5.0
Latest Release
Video Messages, Human Verification & Security Hardening
- •NEW: Video Messages — record, trim and send short video clips in 1:1 and group chats, with a quality picker and a live size estimate.
- •NEW: One-Time Human Verification — on your first connection, solve a quick pixel puzzle. It keeps spam farms out; every reconnect after that is instant.
- •Security hardened — your device now proves itself with a private token; relays can demand a small proof-of-work plus the puzzle from brand-new devices.
- •Security fix: chat repair no longer reuses key material from an old session — every repair now uses a fresh, unpredictable encryption seed.
- •Security fix: group leave & kick with tombstones — a departing (or kicked) member’s byte lane is retired for good and shown in the members list as a pixel-art grave; it can never be handed to a new member on the same encryption seed.
- •Fresh lane on rejoin — rejoining a group after leaving or being kicked always allocates a new lane, so no byte is ever reused, even if a leave signal lands late.
- •Group contact requests — requests from group members now arrive as an approve/deny popup and live in your activity feed (they no longer clutter the group chat).
- •Merge fix — leaving a chat and creating a group can no longer pull the old chat’s history into the new group (rare id-collision bug).
- •Group reliability — messages now keep flowing live after a large file lands, and videos play correctly after restarting the app or switching chats.
- •Vote-to-nuke polish — 2-member groups destroy instantly without a vote, and the chat list’s Nuke action now follows the same voting rules as in-chat.
- •Smaller fixes — “Allow download” now defaults to ON, and the video send button is a clean icon.
1.4.5
Themed Story Text, Animated Borders, Clean Navigation & Security Gate
- •Themed story text tags — styled text boxes in stories now match your app theme (Cyberpunk, Dusk Garden, Paper Scroll, Matrix, Phosphor and more).
- •Keyboard-aware story studio — the story canvas no longer squashes when the keyboard opens; the active text box rides above it.
- •Edge-to-edge avatars — avatars fill circular borders fully, while square borders keep crisp corners.
- •Icon-only bottom navigation — no more clipped labels on small screens or long translations.
- •Update checks per build flavor — Play builds only check the Play release, so no false “update available” while a release is in review.
- •Fullscreen update gate — required updates show as an unskippable screen with a one-tap update button.
- •New premium themes — Hearth (warm candlelight, dripping-wax gauges) and Manuscript (medieval Rovás runes, calligraphy scrubbers).
1.4.0
24h Wilting Stories, Zero-Knowledge Social, In-Chat Pixel Art & Search
- •NEW: 24-Hour Wilting Stories — share photo, pixel art and text stories that vanish after 24 hours, with live updates and floating reactions.
- •Zero-knowledge story keys — every story is encrypted with a key only your mutual contacts can unwrap. The relay sees nothing, and stories cost no pad bytes.
- •Interactive story canvas — place styled text tags anywhere on a photo or pixel art; it all flattens into one crisp WebP.
- •Onboarding privacy modes — choose “WiltKey Social Account” (server-assisted stories) or “Zero Server Data Mode” (full anonymity, no registration).
- •NEW: In-chat pixel art — draw or pick a saved avatar template and send it straight into any chat.
- •NEW: Local message search — search a conversation with hit counts and next/previous navigation.
- •Private notes & nicknames — local-only notes and custom display names per contact.
- •Download placement & BLE stability — downloaded media slots into its original chronological position; BLE pairing handshake hardened.
1.3.5
QR Connect, Media Gallery, History Retention, Play Integrity & Modern Emojis
- •NEW: QR Connect — connect remotely with a scan or short PIN (creates a 7-day Time Wilt chat). Pad recharging still requires meeting in person.
- •NEW: Media gallery — browse a chat's photos, voice notes and links in one place.
- •NEW: History retention — keep only the last 100–1000 messages per chat, or clear a chat's history on demand.
- •Integrity badges — official Play builds show a shield badge (golden for Plus); community builds show an open-source badge.
- •Modern emoji library — hundreds of newer emoji added to reactions and the editor.
- •FOSS builds now check GitHub Releases directly for updates.
- •Fixed voice-note duration in the media gallery and profile exchange on QR connect.
1.3.0
Mentions, Granular Notifications, Voice Polish & Smart 1:1 Sync
- •NEW: @Mentions — type “@” in group chats to autocomplete a member's shortcode; mentions are highlighted for everyone.
- •Granular notifications — per-chat modes (All / Mentions & replies / Mute) plus global category toggles, filtered on-device.
- •Events feed — mentions, replies and security events land in the Dashboard Events list with deep links.
- •Hands-free voice recording — slide up to lock the mic; recording length adapts to your remaining byte budget.
- •Smart 1:1 sync — missing message ranges are verified automatically, clearing false “sync problem” warnings.
- •Fixed false “out of budget” warnings when editing or deleting messages.
1.2.0
Contacts, Profiles, Message Editing & Markdown
- •NEW: Contacts & profiles — add friends to a contact list; status messages, borders and theme backdrops sync instantly.
- •NEW: Emergency chats — an on-demand Time Wilt chat for reaching someone whose pad ran out.
- •Jump to replied message — tap a reply quote to scroll to the original.
- •Avatar templates — save up to 10 pixel art creations and switch between them.
- •Message editing & deletion — edit or delete sent messages without reusing pad material.
- •Markdown & link warnings — bold, italics, code and more, plus a prompt before opening links.
- •Group chats auto-detect missing messages across lanes on open.
- •Fixed voice notes failing to send in Time Wilt chats.
1.1.0
Time Wilt groups & faster group messaging
- •NEW: Time Wilt groups — temporary group chats with a countdown and no byte budget; great for events and meetups.
- •In-person countdown & renewal — your timer starts (and renews) by meeting the host over BLE; expired members go read-only until renewed.
- •Vote-to-nuke — destroying a group “for everyone” now needs a majority vote.
- •Single-upload group messages — the relay fans one upload out to every member: faster sends, less data.
- •Fixed re-joining an expired group and countdown/byte-info display mix-ups.
1.0.9
Snappier photo-heavy chats
- •Lazy photo loading — image-packed chats open instantly; photos decode only as they scroll into view.
- •Steady layout — consistent thumbnails, no jumping; tap for the full-screen zoom view.
- •Reliable large-photo delivery — big photos show up on their own, no nudge message needed.
- •The image dialog now leads with the real charged size, so pad-budget surprises are gone.
1.0.8+19
On-demand downloads & uncompressed photos
- •NEW: On-demand file downloads — photos and voice recordings are now downloaded on tap with a progress bar instead of auto-loading. The relay holds your file until your device confirms it saved, so interrupted downloads retry cleanly.
- •NEW: Uncompressed image option — send original full-resolution photo bytes untouched with the new top setting on the image compression slider.
- •NEW: Tier-aware file size caps — pre-send size validation enforces 5 MB for free accounts and 50 MB for WiltKey Plus subscribers with direct upgrade prompts.
- •Large-image stability fix — large message bodies now automatically store as local sidecar files, fixing chat loading issues on image-heavy histories.
1.0.7
Phosphor & Tideline themes
- •NEW: Premium themes — added Phosphor (arcade CRT glow) and Tideline (calming water theme), complete with live previews across all builds.
- •NEW: Animated avatar borders — dynamic animated frames (orbit, aurora) alongside classic static borders.
1.0.6
Keypad & security idle window
- •PIN keypads now register input instantly on press-down for snappier unlocking.
- •Configurable fingerprint security idle slider in Security settings (1–24 hours, or off) replacing the fixed 4-hour window.
1.0.5
Nuke & borrowing fixes
- •Fixed an issue where chat history appeared empty after nuking and re-pairing with a contact.
- •Corrected keystream borrowing accounting when lending keystream material to a peer.
1.0.4
Shop, WiltKey Plus & avatar borders
- •NEW: Avatar borders — dress up your pixel avatar with a frame. The Tinfoil Hat is free for everyone (and the only one on the GitHub/website build); your border shows up for the people you chat with, in one-on-ones and group chats alike.
- •NEW: Shop — a tabbed store for optional extras: colour-palette packs for the pixel-art editor, avatar borders, larger pad sizes at pairing, and the WiltKey Plus subscription. Cosmetics are purely local and never touch your chats.
- •NEW: WiltKey Plus — an optional subscription that keeps your offline messages waiting on the relay for 72 hours instead of 24, and raises your file-transfer limit from 5 MB to 50 MB.
- •Larger pad options at pairing, and a heads-up if there isn't enough free space on your device before you generate a big pad.
- •The GitHub/website (FOSS) build stays completely purchase-free and Google-free — palettes and larger pads are simply unlocked there.
1.0.3
Replies & leaner group chats
- •NEW: Swipe to reply — swipe any message to quote it, with the original shown above your response so threads stay easy to follow.
- •Group chats now derive their keystream on demand instead of storing a full pad on disk — the same security, a much smaller footprint, and room for bigger groups.
- •One-on-one chats now retire spent sections of their pad as you go, so used-up key material doesn't linger on the device.
1.0.2
Wilting messages
- •NEW: Wilting messages — send text that quietly disappears. Hold the send button to choose how long it lives (1–60 seconds); it wilts away shortly after the other person opens it. The countdown even survives closing the app.
- •NEW: Wilting photos — the same disappearing option for images, right in the send dialog.
- •Screenshot requests now leave a record: when someone asks to capture the chat, you get an in-conversation Accept / Decline that expires on its own — so you'll see it even if you were offline when they asked.
1.0.1
Photos, reactions & privacy hardening
- •NEW: Photo sharing with a tap-to-zoom viewer — pan and zoom any image full-screen. Senders can optionally allow saving, and you choose the file format when you download.
- •NEW: In-app camera — snap and send a photo without leaving the chat.
- •NEW: Message reactions — react to any message with an emoji, including your own custom ones.
- •NEW: Consensual screenshots — capture a chat only when the other side agrees (one-on-one, or a group majority), without ever weakening the screenshot block.
- •Richer pixel-art emojis — the editor now supports up to 256 colours and new palettes.
- •Extra privacy hardening: the screenshot & screen-recording block is back on, plus new protection against tap-hijacking overlays and a heads-up if an untrusted accessibility service is watching the screen.
- •Fixed the pre-send image size estimate, which used to wildly over-report how large a photo would be.
1.0.0+9
Voice messages & push notifications
- •NEW: Voice messages — hold the mic to record, and tap it first to pick the quality, from crisp all the way down to charmingly crunchy lo-fi. Each theme even plays them back with its own style.
- •NEW: Optional real-time push on the Play Store build — get notified the instant a message arrives without keeping a constant background connection. The wake-up is content-free: no message data ever passes through Google. The GitHub/website build stays 100% Google-free and uses its own on-device methods.
- •NEW: When a message arrives while you're using the app but not in that chat, a tappable banner now slides in — so you won't miss messages across busy conversations.
- •Fixed a loading spinner that could get stuck on the dashboard after finishing onboarding.
- •Tapping a message notification now reliably opens the right chat, and the alert clears once you've seen it instead of lingering.
1.0.0+7
Notifications, security & onboarding
- •Smarter battery-saver notifications: checks quickly right after you close the app, eases off to save battery while it stays quiet, and speeds back up the moment a message arrives.
- •Instant mode is now more resilient — if Android or your phone's battery manager stops the background connection, the app automatically falls back to catching messages so your alerts keep coming through.
- •New setup step explains how alerts work — Wiltkey never uses Google or Apple push, so you choose up front whether to be notified in the background.
- •Settings now have a dedicated Security tab for your fingerprint unlock, PIN, and identity reset, keeping the Profile tab just for customization.
- •Changing your PIN is now a clear two-step screen, fixing the confirm field overlapping the button on smaller phones.
1.0.0+6
Pairing, editor & input fixes
- •Pair screens now warn you (with a one-tap toggle) when Bluetooth is off, instead of silently hanging — fixes group creation freezing with Bluetooth disabled.
- •Smoother custom-emoji background erasing — strokes now follow your finger live instead of lagging, and the editor controls no longer overflow on small screens.
- •Fixed the send button disappearing in group chats when typing very long messages.
1.0.0+5
Stickers & delivery sync
- •NEW: Stickers — hold down any emoji (including your custom ones) to send it big and on its own.
- •Delivery status now catches up when you reopen the app, even without unlocking — fixes confirmations that could stay stuck after the app was minimized.
1.0.0+4
Messaging reliability & QOL
- •NEW: Updated custom emoji editor: erase to transparent, rotate your image, and undo steps while creating emojis.
- •Fixed messages getting stuck on a single "sent" check — delivery status now reconciles reliably, even if the app was closed when the message arrived.
- •Messages no longer go missing after reopening the app. Added a sync button in the chat header to manually pull anything you might be missing.
- •The chat now scrolls with the keyboard, so the latest message stays visible while you type.
- •Back button / gesture now closes the emoji picker first instead of leaving the chat.
- •Smoother PIN entry during setup — keyboard "enter" jumps between fields and submits.
1.0.0+3
QOL & Bugfixes
- •Navigation buttons now don't block the chat input anymore.
- •Fixed a chat disappearing from a device after a one-sided nuke signal and re-pairing.
- •Added a restart button on the pairing screen for a quick wipe.
- •Temporarily removed the screenshot block functionality for testing.
- •Added a copy debug button to help with bug reports.
- •Added a warning on the pairing sync screen to not close the app.
1.0.0
Initial release
First build of Wiltkey released.
Server — Blind Relay
2026-09-08
Device tokens, proof-of-work gate & human verification
- •Device tokens: a connecting device proves itself once with its private key and receives a token; reconnects present the token and are instant. The relay stores only a hash of the token.
- •Proof-of-work issuance: brand-new devices solve a small computational puzzle before minting a token — with a per-IP daily cap.
- •Human verification (optional gate): relays can additionally require a short drag puzzle only a human can solve, on repeat issuances. Off by default; self-hosters choose.
- •Security hardened: story operations now ride the authenticated connection only, banned IPs are checked before any challenge, and failed logins are punished without banning legitimate users.
- •Delivery reliability fix: a reconnecting device can no longer be silently dropped from live delivery by its own old connection — the case where messages only arrived after an app restart.
- •Deployed alongside app 1.5.0 (no relay back-compatibility — old apps update via the force-update gate). Self-hosters: rebuild and redeploy.
2026-08-25
24h story storage, quotas & live story delivery
- •Zero-knowledge story storage: stories and story media are stored encrypted with signed requests; the relay can never read them.
- •Rolling quotas — 10 MB per week on Free, 100 MB on Plus, tracked automatically with live remaining-space reporting.
- •Automatic 24-hour pruning — expired stories are purged from disk and database; a single signed request wipes all of a user's hosted social data.
- •Live story delivery — new stories and reactions are pushed instantly to online contacts.
2026-08-24
Play Integrity Attestation & Nonce Verification
- •Play Integrity verification: official Play builds are verified server-side (with anti-replay nonces) and receive a signed attestation other devices can check offline.
- •Attestations are cached relay-side, so verification is instant and Google API calls stay rare.
- •Zero-knowledge & FOSS invariant: Google never sees contact graphs, chat content or metadata, and community builds lose nothing.
2026-07-30
Reliable file re-delivery
- •The relay now re-advertises any not-yet-downloaded file on request, so a download offer missed while connected is recovered immediately instead of waiting for a reconnect.
2026-07-26
On-demand file download protocol
- •On-demand downloads: large files arrive as a lightweight offer; the body downloads only when you tap, with a progress bar.
- •Downloads use short-lived tokens over plain HTTPS and stream with progress tracking.
- •The stored file is only deleted after your device confirms the save — an interrupted download always retries cleanly.
2026-07-16
Bigger files, tiered storage & Plus
- •Large messages now stream through object storage (with a database fallback under memory pressure) instead of sitting in relay RAM — bigger transfers stay smooth. Only encrypted payloads are ever held, deleted on delivery.
- •WiltKey Plus, server-enforced: offline messages held 72 hours (vs 24) and a 50 MB transfer ceiling instead of 5 MB.
- •Self-hosters stay Google-free: without an entitlement store, everything simply holds 24 hours and subscription checks are no-ops.
2026-07-04
Push wake-up endpoint
- •Added an optional wake-up path for the Play Store build: the relay can send a content-free push when a message is waiting for an offline device, so the app is notified without holding a background connection.
- •The relay stores only a device wake-up token (in Redis, auto-expiring) — never message content. The encrypted payload stays queued and is pulled by the client on its next connection, exactly as before.
- •Entirely opt-in for self-hosters: the sender is a no-op unless Firebase credentials are configured, so a self-hosted or GitHub-build relay behaves identically to before with zero Google dependency and no new libraries.
2026-07-01
⚠ Critical Security
Relay security hardening
- •Crash & disruption flaws closed — a malicious client could crash the whole relay or disrupt another user's delivery; the legacy path behind it was removed.
- •Abuse protections added: per-connection flood limits, bounded offline queues, per-sender remote-wipe limits.
- •Per-IP rate limiting and bans restored behind the reverse proxy; the message-post endpoint hardened.
- •Entirely server-side — no app update was needed. Self-hosters should rebuild and redeploy.
Base
Blind relay online
The Go blind relay went live: challenge-response Ed25519 auth, blind message routing, and Redis-backed offline queues that hold only opaque ciphertext and delete it on delivery. Fully self-hostable — see the setup & security guide.