Skip to content

v0.21.0

Choose a tag to compare

@vasilyoshev vasilyoshev released this 17 Sep 08:42
7ce115a

0.21.0 (2026-09-17)

Features

  • analytics: a degenerate account half announces itself in the segment orderings (#2559) (#2571) (3c12997)
  • analytics: quiet-duration buckets, with no threshold and no such word (#2553) (#2566) (ff538e4)
  • analytics: the report sees the fossil - who left, and at which phase (#2552) (#2565) (42544eb)
  • android: optimised resource shrinking, measured rather than assumed (#2335) (#2522) (73b0e11)
  • modules: the programme fossil becomes a contract, not an accident (#2551) (#2564) (ee7641a)
  • nav: Looking back leaves the product (#2431, #2455) (#2462) (4fc038e)
  • reminders: the general reminder target, held out - registry, client, edge and copy (#2491) (#2498) (b4f7d5c)
  • reminders: the general reminder's columns, dedup keys and export (#2489) (#2497) (2618b9a)
  • reminders: the Reminders screen's two runs - the "For each tool" eyebrow under the general row (#2492) (#2499) (34685a1)
  • routines: the completion sheet states the record and stops (#2488) (#2514) (87e3706)
  • seo: /habits, the second public explainer page (#2470) (#2518) (6836509)
  • seo: /meditation, the first public explainer page (#2469) (#2512) (a74ced8)
  • seo: one SiteFooter on every public page, labelled by each page's H1, with its pin (#2467) (#2487) (09d9c88)
  • seo: the privacy page links /security and /account-deletion as real anchors (#2476) (#2486) (55dbc23)
  • seo: two truthful properties on the WebSite node, and nothing else (#2468) (#2502) (cede03a)
  • sound: each ambient bed declares its nominal length, pinned by an mdhd byte test (#2504) (#2511) (a656195)
  • sound: the lane holds two players and crossfades a swap, and the web bed loops on a buffer (#2506) (#2517) (f75ea91)
  • sound: the sound door and the sound panel, changing the bed from inside a sit (#2507) (#2519) (f39c65a)
  • store: the App Store description joins the repository, and every copy gate now reads it (#2524) (#2543) (97416c2)

Bug Fixes

  • a11y: the crisis callout and the cookie banner become real anchors (#2496) (#2561) (e1a6e04)
  • audio: the limiter's head hole leaves the beds - :latency=1 and the nine masters re-run (#2508) (#2521) (4a8421f)
  • favorites: the card's web hover washes the card, not a box inside it (#2407) (#2427) (1c97653)
  • modules: completion stops being erased - completed_at means the last time you finished (#2550) (#2563) (3c5530f)
  • seo: sameAs must name canonical URLs, and the deploy now checks (#2410) (#2444) (9ca8448)
  • store: a field the pull does not carry is not drift, and the run now says which (#2540) (#2541) (19b3713)
  • store: promoText leaves the mirror, because App Store Connect never held it (#2540) (#2545) (fabe719)