Skip to content

Releases: Quantumheart/Kohera

v1.11.1

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 17 Jul 12:36

1.11.1 (2026-07-17)

Bug Fixes

  • align install icons with pixel-art in-app branding (3c117d9)

v1.11.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 16 Jul 19:41

1.11.0 (2026-07-16)

Features

  • #784: use platform media players on iOS instead of bundled libmpv (50349fe), closes #784 #611
  • #790: inline video seek bar, time labels, and play-button tap target (ff05a75), closes #790
  • #791: video bubble skeleton, thumbnail retry, and retry-state guard (0887a9a), closes #791
  • #793: derive video bubble box from media dimensions (8afa5ed), closes #793 #797
  • #795: enable web video playback via HTML5 video_player (a988bae), closes #795
  • chat: create polls from the compose attachment menu (2164a9d), closes #596 #524
  • chat: end polls and show poll preview text (67b598e), closes #598 #599 #524
  • chat: render MSC3381 poll-start events as read-only bubbles (6f4bde2), closes #595
  • chat: render poll label in IRC timeline style (5aa3c85), closes #595
  • chat: vote on polls, change, and retract (d7c7ec7), closes #597 #524
  • e2ee: trim redundant taps in E2EE setup screen (50e299f), closes #622
  • show position and duration labels in fullscreen video slider (faae947), closes #797
  • swipe-to-dismiss and tap-to-pause fullscreen video (1a036ff), closes #797

Bug Fixes

  • #784: do not await just_audio play in open (d2b5715), closes #784
  • #784: harden mobile video/audio player lifecycle (91d957a), closes #785
  • #784: label recorded voice messages as audio/mp4 not audio/ogg (80e2839), closes #784
  • #784: remux Ogg/Opus voice messages to CAF on iOS (7dda848), closes #784
  • #784: seek to start before replay on iOS/Android audio (820b37d), closes #784
  • #784: sniff audio content magic bytes on iOS instead of mimetype (deecdf6), closes #784
  • #784: use PlaylistMode.none for non-loop media_kit playback (06867af), closes #784
  • chat: guard encrypted video/attachment thumbnails against invalid image data (ad1eb19)
  • e2ee: map verification cancel codes to friendly text (0c31188), closes #626
  • e2ee: show busy state while unlocking existing backup (4f9cbec), closes #626
  • fullscreen top bar reappears on tap and auto-hides slower (30b6039), closes #797
  • provide Material ancestor for media viewer dialog (e3a1c7b), closes #797
  • render poll question in push notification body (f69cddb), closes #799
  • respect top safe-area inset on call and key-backup banners (acad2aa), closes #771
  • seed fullscreen video controls with current playback state (ac1ed6b), closes #797
  • strip reply fallback from OS notification body (7c86e1d)

v1.10.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 07 Jul 03:08

1.10.0 (2026-07-07)

Features

  • #760: add IRC-style chat timeline display mode (9820ae6)
  • #761: expose Light/Dark/System mode picker in Appearance (e908350)
  • theme: convert Kohera to a pixel-art identity with swappable palettes (f168033)
  • theme: redesign brand mark as pixel-art mushroom (34ee547)

Bug Fixes

  • #628: derive inbox badge from global unread count (eeae023), closes #628
  • #629: concurrent decryption and TTL negative cache for inbox (d726caf), closes #629
  • #700: guard spaceChildren access for non-space rooms (485d8e4)
  • #706: address code review issues 1-7 (5378af4), closes #697 #706
  • #760: render text body and load media in IRC timeline (6f39f68)
  • inbox: scope thread-root preview cache to active client (27f2a4d), closes #631
  • notifications: sync global notification level to server push rules (#683) (a42170f)
  • rename RoomPermissionsConverter to RoomPermissionsResolver (472fc38), closes #705
  • resolve analyze lint issues in test files (5f72a33), closes #703
  • sync: reduce redundant /sync calls on web and multi-account (26b57d7)

v1.9.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 30 Jun 12:37

1.9.0 (2026-06-28)

Features

  • chat: open user profile sheet on tapping sender avatar (40054d0), closes #669
  • empty state for joined space with zero joined rooms (#681) (b16c1e5), closes #682
  • implement showSpaceRooms for direct space preview access (fc4b8bd), closes #679
  • inline unjoined child rooms in room list with one-tap Join (#680) (2513148)
  • resolve accurate joined-member count in room/space headers (048796c)
  • spaces: implement space child room hierarchy data layer (Issue #678) (5af5dbc)

Bug Fixes

  • calling: advertise the connected SFU so the focus stays sticky (e2af045), closes #668
  • calling: converge federated calls on the oldest member's SFU (bab21c7), closes #668
  • chat: guard OpenMoji precache against deactivated context (b6f9e0d)
  • chat: show pointer cursor on hover action bar buttons (42e3edc)
  • chat: show pointer cursor on tappable sender avatar (f7dfe93)
  • identify call participants by sender, not state-key regex (e7788b0), closes #191
  • pass via servers and alias to join from room tile (31fba06), closes #687 #682
  • spaces: meet all acceptance criteria for issue #678 (0ff5565)
  • spaces: provider type mismatch + real join-failure test (9b484e3)
  • spaces: resolve analyzer warnings in space rooms hierarchy (ec1d40e)

v1.8.1

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 23 Jun 16:48

1.8.1 (2026-06-23)

Bug Fixes

  • ios: strip unused permission_handler permissions to clear ITMS-90683 (20f3afd), closes #661
  • preserve inbox pagination on sync-driven refresh (7a2db1c), closes #625

v1.8.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 22 Jun 18:12

1.8.0 (2026-06-22)

Features

  • add QR-code device verification alongside SAS emoji (aadc1b8), closes #623 #626
  • default device verification to decimal SAS over emoji (48f5c14), closes #623

Bug Fixes

  • label QR chooser fallback "Compare numbers instead" (f6e7b5d), closes #623

v1.7.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 22 Jun 01:38

1.7.0 (2026-06-22)

Features

  • add shared Kohera mark and animated loader widgets (93a6cdc)
  • brand prominent loaders with the animated mushroom loader (e573422)
  • drive in-app logo from a generated SVG and align icon gradient (a2e3fa1)
  • place the Kohera mark in the auth logo, empty chat pane, and settings (f682376)
  • redesign app icon as mushroom + mycelial network (1924ef3)

Bug Fixes

  • #639: own add-account pending service in a single shell (3807535), closes #639
  • reflect remaining unread in APNs badge on inbox mark-read (6afe6f9), closes #630

v1.6.2

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 20 Jun 18:26

1.6.2 (2026-06-19)

Bug Fixes

  • decode OpenMoji with 2x headroom to stop blocky reaction emoji (4306058)

v1.6.1

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 16 Jun 14:43

1.6.1 (2026-06-16)

Bug Fixes

  • render emoji via system font on iOS to fix blank glyphs (5cb3233)

Reverts

  • drop COLRv1 OpenMoji font, restore bundled PNGs (e5d0408)

v1.6.0

Choose a tag to compare

@kohera-release-bot kohera-release-bot released this 16 Jun 12:49

1.6.0 (2026-06-16)

Features

  • #587: render decimal SAS in device verification (849487c), closes #587
  • #620: enable dehydrated devices (MSC3814) (842af35), closes #620
  • #620: hide dehydrated device from the devices list (12938b5), closes #620
  • #621: persist E2EE skip state and make backup banner dismissable (bd39f30), closes #621
  • #637: render Cloudflare Turnstile widget under recaptcha stage (c5ec986), closes #637

Bug Fixes

  • #589: add onHover fallback for hover bar on Flutter web canvas (ec36f06)
  • #627: make inbox mention detection push-rule-driven and Unicode-aware (8e28f80), closes #627
  • #635: debounce thread unread count refresh to avoid per-sync API calls (2a81e78)
  • #635: fetch thread unread count from server for app bar badge (e361caf)
  • decode OpenMoji at painted size so small emoji aren't blurry (42937c6), closes #608
  • exclude OpenMoji glyph text from semantics tree (96f530a)
  • security: validate URL schemes before launching links (7d035d9)
  • sync: pause Matrix sync when app backgrounds to avoid 0xdead10cc (b03134b)

Performance Improvements

  • render emoji via OpenMoji color font instead of 4495 PNGs (50ad58e)