Releases
platform-v0.29.0
Compare
Sorry, something went wrong.
No results found
0.29.0 (2026-07-27)
Features
ai: add workspace AI Studio and legal coverage (6de4e39 )
ai: enforce external app usage policy (e229116 )
apps: unify and redesign app catalog (b679068 )
auth: offer Microsoft sign-in again (fe981ee )
calendar: redesign workspace sidebar (194e126 )
chat: mirror Zalo history media to Drive (b8b5d7b )
cms: add relation bundles and managed assets (fe5ef8a )
cms: add relation bundles and managed assets (#4990 ) (3148aa6 )
cms: redesign content library controls (220ee96 )
cms: redesign media library loading (d382b3b )
cms: redesign workspace home (cd727b8 )
cms: safeguard entry publishing workflow (2371b08 )
cms: support Richfield external project forms (befa92f )
contacts: migrate feedbacks, tutoring, guest-leads to apps/contacts (47bafeb )
contacts: migrate reports + groups and complete the users cutover (2ee89cd )
contacts: migrate users [userId]/follow-up; fix owned-route matcher (765b87a )
contacts: migrate users approvals module, extracting shared parts to packages (e66ae32 )
contacts: migrate users attendance; add satellite-safe workspace-user link helper (8f53453 )
contacts: migrate users group-tags module (bcc61e4 )
contacts: migrate users topic-announcements module (01e19ab )
contacts: migrate users/database UI into apps/contacts (d3aa461 )
contacts: migrate users/structure (org chart) to apps/contacts (93f2cb5 )
contacts: move user-management settings into apps/contacts dialog (b6a3efe )
contacts: reconcile managers and harden attendance (9f0d302 )
contacts: redirect non-migrated workspace routes to apps/web (f5a6518 )
contacts: refine report review experience (0dd3247 )
contacts: serve notifications locally (0fd7a89 )
editor: add icon toolbar tooltips (6b3f1b8 )
editor: add icon toolbar tooltips (#5034 ) (7e687b1 )
editor: add localized external project editing (38cae2c )
edu: add vocabulary journey (#4946 ) (06535d2 )
education: align teach and learn navigation (48896cd )
external-apps: add scoped drive attachments (a03d577 )
external-projects: let a linked app apply its own schema sync (4bcb90a )
external-projects: let a linked app install its own content model (cf0d668 )
external-projects: list form submissions for scheduled forwarding (d0ca353 )
external-projects: send mail via SES and gate forms with Turnstile (0fe6851 )
forms: merge satellite migration (e739f1b )
forms: migrate product to satellite app (51b9392 )
implement AI-assisted feedback generation for student quiz submissions (e347a46 )
improve vocabulary details (#4958 ) (9e01bd1 )
infrastructure: add platform account recovery (8a0c757 )
infrastructure: improve internal account management (fa4e535 )
infrastructure: manage internal accounts (02fd9f3 )
inventory: add analytics and storefront setup (82503f2 )
inventory: add bulk sales period controls (8140a46 )
inventory: add guarded bulk stock management (3516913 )
inventory: add guided Square POS setup (4f0560a )
inventory: add POS device management (822a171 )
inventory: add promotions navigation (f1c5b76 )
inventory: add responsive catalog workflows (f81815f )
inventory: add sales periods and mobile commerce (fa442c9 )
inventory: complete Square commerce integration (fe63eca )
inventory: guide Square POS launch (74e0a3a )
inventory: improve sales discovery and cart (cced561 )
inventory: improve search sales and analytics (9af9256 )
inventory: keep sale entry open (cba815d )
inventory: optimize mobile sales workflow (1ee5f6b )
inventory: revamp payments control center (0f3d220 )
inventory: secure Square POS event checkout (532b463 )
inventory: streamline sales entry (ae22db5 )
inventory: support cent-level Square prices (146f90f )
inventory: support Square POS app payments (2cd087e )
inventory: unify commerce currency and sales periods (2042bc5 )
inventory: unify promotions and referrals (ea9b3be )
landing: drop the hero badge and rebuild the product frame (b3259df )
landing: retile the app bento and rebuild the problem section (c56f42a )
mail: add advanced mailbox APIs and shadow ingestion (2543fc5 )
mail: add catch-all delivery and revamp client (8d4cb12 )
mail: add smart labels and assisted composing (8ccd2fa )
mail: focus mailbox shell (4c2604d )
mail: refine composer and reading experience (926a28c )
mail: streamline instant navigation and AI drafting (76bd964 )
marketing: rebuild security, partners, careers, blog and contributors (98515d7 )
marketing: rebuild the legal kit, security subpages and docs chrome (9a4cfaa )
migrate vocabulary details and suggestions from OED to Laban Dictionary (0f549c2 )
mobile: revamp app lock experience (22b300b )
navigation: open workspace selector on reveal (c760d42 )
offline: own service worker runtime and refresh dependencies (ae44477 )
platform: complete satellite app cutover (b9ac2ef )
posts: audit log + revert for group-post completion checks (b38de09 )
posts: reset / uncheck-all / history UI for group-post checks (bb2ecdc )
reports: add periodic reporting automation (ec7bd5e )
satellite: add workspace management to app settings (68df8c3 )
satellite: clarify app picker (6549e6b )
satellite: emphasize app picker icons (7a13608 )
satellite: refine app picker header controls (89b860d )
satellite: refine apps picker navigation (f84b553 )
satellite: standardize fixed app headers (7b86c42 )
satellite: unify app switcher headers (411a00c )
seo: improve discovery metadata (a574409 )
seo: improve discovery metadata (8e2420d )
seo: improve page metadata (0c621cb )
seo: standardize app metadata (6523d91 )
storefront: add inventory management deep link (c59bc71 )
storefront: refine the buyer experience (45d0e76 )
tasks: add autonomous progress intelligence (ba35df5 )
tasks: add leaderboard leave button and per-member sparklines (5b65238 )
tasks: consolidate task dialog details into one disclosure (bcc2219 )
tasks: keep realtime on deep-linked cross-workspace tasks (5a29e78 )
tasks: make task management autonomous (431212d )
tasks: promote progress tracking workspace (058503a )
tasks: resilient AI catch-up fallback and recommended-next panel (393f47c )
tasks: revamp progress, goals, analytics & leaderboards with TrackBear parity (d1bda0e )
tasks: streamline bulk selection and progress (3bd2934 )
tooling: guard satellites against cookie-client authorization (5c8fbd3 )
ui: align landing and locale experience (aa6e47f )
web: add member invite link management (7b46280 )
web: improve workspace navigation context (73959e3 )
web: rebuild about and contact pages (4775ac2 )
web: rebuild changelog and branding on the marketing system (813a6e9 )
web: rebuild marketing navbar (f0cd6f6 )
web: rebuild product marketing pages (fb96cd1 )
web: redesign marketing landing page (13ede78 )
web: refine marketing experience (c7f1cec )
web: serve the GitHub release feed on /changelog (cca2927 )
Bug Fixes
ai: keep version badge inside intl provider (ace9003 )
ai: prevent satellite auth loops (80f264c )
ai: repair Mira reasoning streams (c04386a )
ai: suspend locale app shell (14c64a2 )
apps: opt authed pages and GET routes into request-time rendering under cacheComponents (9496ec3 )
apps: stop registering a service worker the apps do not serve (16688e9 )
auth: keep a stored account session usable across switches (fb882cd )
auth: resume a pending sign-in after switching accounts (5403718 )
backend: remove obsolete authenticated request helper (81844db )
backend: restore Rust CI (34e7c6a )
backend: unblock workspace permissions deploy (1588c71 )
calendar: deduplicate mirrored events (04716f3 )
calendar: reconcile deleted provider events (fd0cedb )
calendar: restore connection visibility controls (a1cf05b )
calendar: restore provider calendar management (68753a8 )
chat: harden personal Zalo integration (f1d12c6 )
chat: keep Zalo phone sync alive (5cc7a0d )
chat: stop Zalo phone sync spam (b45e778 )
ci: align E2E with satellite routes (1a26853 )
ci: align marketing migration checks (7a94038 )
ci: align tanstack public route assertions (3cf9547 )
ci: build dist-only packages before the release check (8eecae4 )
ci: build packages for storefront cache e2e (a93c08c )
ci: grant E2E Bake secret access (1faff06 )
ci: include workflow config core in sparse checkout (4c3fcec )
ci: isolate production database secrets (d6859ae )
ci: isolate reusable deployment concurrency (2de6fef )
ci: keep latest production deploy runnable (45e4ceb )
ci: keep task helper collection source-only (7355a05 )
ci: keep the release-notes branch until the release is tagged (833ceeb )
ci: pin the environment in portless setup tests (9e4928a )
ci: preserve package release metadata (a30c029 )
ci: prevent duplicate and scheduled runs (73e5a17 )
ci: publish portable vendored UI dependencies (e69563f )
ci: remove duplicate Docker volumes (20add8b )
ci: repair the two failing checks on main (c6848fe )
ci: resolve AI quality findings (0073444 )
ci: resolve biome format + empty-package test failures on main (e1520a0 )
ci: resolve biome release failures (77e6b68 )
ci: resolve shared task helper during e2e collection (0319a3b )
ci: resolve types from source in storage-core tests (080328a )
ci: restore dependency refresh validation (fc47eca )
ci: restore explicit CodeQL ownership (9e1137a )
ci: restore repository validation parity (db6afe4 )
ci: run the release check without ripgrep and cache its turbo build (13e36a0 )
ci: select Buildx for E2E caching (63bf5d4 )
ci: stabilize E2E caching (18edc81 )
ci: stabilize flaky unit-test timeouts under repo-wide Turbo runs (832bd2c )
ci: stabilize satellite dependency installs (8e8d05a )
ci: stabilize tasks lifecycle flow (f7a6356 )
ci: stop three script tests depending on the machine that runs them (c5fd573 )
clear residual quality findings (3ff6c3f )
cms: accept compressed sync manifests (#4959 ) (bc77d84 )
cms: accept offset concurrency timestamps (3060ecb )
cms: accept offset concurrency timestamps (#4992 ) (01afeba )
cms: address managed delivery review findings (7888033 )
cms: allow bound project member setup (c3d420d )
cms: allow root admin member bootstrap (87f138e )
cms: batch large project queries (#4960 ) (c71e58b )
cms: canonicalize sync schemas (#4963 ) (17fa553 )
cms: fence managed import claims (f4f9dda )
cms: grant relation tables to service role (62d1d11 )
cms: grant relation tables to service role (#4991 ) (c34a711 )
cms: harden managed asset imports (60a1115 )
cms: harden managed asset imports (#4993 ) (b380b91 )
cms: harden managed import recovery (f266874 )
cms: paginate external project snapshots (#4962 ) (1d3a253 )
cms: preserve entry dialog navigation state (21f13c7 )
cms: reconcile legacy slug identities (#4961 ) (0499cb4 )
contacts: add missing shared i18n namespaces; move contacts into the checked apps (0971c8f )
contacts: authenticate users database requests (54ddc74 )
contacts: authorize attendance and consolidate manager links (a11d06d )
contacts: backfill shared-shell translation keys and close the scan gap (90b4672 )
contacts: complete CRM translations (0a9ba1c )
contacts: complete database translations (d20b991 )
contacts: complete report translations (61c77f0 )
contacts: consolidate manager profiles (69529a3 )
contacts: drop force-dynamic segment config incompatible with cacheComponents (db263e1 )
contacts: fall back to first workspace, not the root workspace (937d8d0 )
contacts: load group metrics and calendar (8f3d310 )
contacts: opt authed pages into request-time rendering with connection() (df7288c )
contacts: own post approval APIs (632aa32 )
contacts: own settings and profile APIs (d809fe0 )
contacts: own workspace user mutations (21ab1fb )
contacts: provide nuqs adapter (17f4ac4 )
contacts: redirect app entry to the default workspace (244e852 )
contacts: repair approval detail dialog (a948ea2 )
contacts: resolve group API app sessions locally (30a8917 )
contacts: resolve workspace + permissions from the app session (55cffe4 )
contacts: restore attendance and translation checks (3f1587b )
contacts: restore audit log exports (4bae50b )
contacts: restore coupon discovery (cb7dfea )
contacts: restore group and report operations (8760868 )
contacts: restore group post mutations (fe621e4 )
contacts: restore user group and report mutations (0f3f12d )
contacts: restore workspace posts (df08eae )
contacts: stop catch-all routes from shadowing the /api � web proxy (852a79b )
contacts: stop shadowing the workspace permissions summary (1a89892 )
contacts: stream group overview sections (349e68f )
database: deduplicate workspace user archive audit entries (27a0aff )
database: link managers when membership arrives (04691ce )
database: reference private.user_group_posts in post-check-logs FK (15ec4bf )
database: refresh vocabulary migration timestamp (ced09e5 )
discord: update Pillow security release (eefc9d7 )
e2e: align workspace fixtures with creator membership (cfb13b6 )
e2e: follow actual tasks app origin (cb9604d )
e2e: follow satellite route ownership (591190c )
e2e: prepare tasks satellite dependencies (9af6be1 )
e2e: prune migrated routes from the tanstack auth-gate list (92e2862 )
e2e: run tasks lifecycle in CI (bed2cd5 )
e2e: skip satellite-owned web tests (04c58aa )
editor: avoid duplicate link extension (86c5ead )
editor: avoid duplicate link extension (#5035 ) (7d2c7f1 )
editor: harden toolbar focus handling (52a933e )
editor: harden toolbar interactions (8c4d77b )
editor: improve toolbar accessibility (8b46cb0 )
editor: refine tooltip accessibility (36180e6 )
editor: stabilize link popover (c400197 )
editor: use publishable icon runtime (059ea97 )
editor: validate rich text URLs (415094f )
edu: address follow-up vocabulary review (c21565f )
edu: resolve vocabulary journey review feedback (46e4180 )
email: use server-native HTML sanitizer (e16fbd8 )
external-projects: pin the submissions POST return type (0b0f900 )
finance: add overview net total translation (5e2059b )
finance: keep server API calls on finance origin (ca6248a )
finance: make pending invoice RPCs server-only (8c73298 )
finance: restore invoice creation dependencies (653d5cb )
finance: restore invoice promotions (00f7030 )
infrastructure: authorize external app registry sessions (a09e8f7 )
infrastructure: freeze Vercel dependency installs (96cd10c )
infrastructure: guard whitelist request rendering (a84acac )
infrastructure: own admin APIs and paginate models (a73514c )
infrastructure: own AI credit admin APIs (4606857 )
infrastructure: pin Vercel Bun installer (2dcaef0 )
infrastructure: restore production builds (a9adc4a )
infrastructure: use satellite database runtime (ee4044e )
inventory: authorize admin POS fallback (9ba0fbc )
inventory: clarify payment sync and settings (cf05ed6 )
inventory: clarify unconfigured Square readiness (c56d583 )
inventory: compact mobile sale workflow (779712c )
inventory: condense mobile sale catalog (fdea63b )
inventory: correct Square catalog currency units (85ea320 )
inventory: correct storefront bundle checkout (cb9c247 )
inventory: distinguish Square POS device paths (4654605 )
inventory: gate cent prices on schema readiness (276aa58 )
inventory: harden sales analytics and access (53968d3 )
inventory: harden Square production handoff (8ef0395 )
inventory: honor adjusted sale prices (1393ac9 )
inventory: improve sales period workflows (2a7cad5 )
inventory: localize Square POS checkout (a74a2be )
inventory: make storefront removal safe (9dd4dc6 )
inventory: normalize sales revenue units (99fa671 )
inventory: polish mobile sales and settings (59ef49c )
inventory: preserve fractional Square prices (9379464 )
inventory: reconcile checkout sales analytics (b872994 )
inventory: reconcile provider checkout stock (2160487 )
inventory: recover Square exact-price imports (a377ed8 )
inventory: repair Square terminal pairing (d4c297d )
inventory: repair storefront removal rollout (cb5828b )
inventory: require Drive image uploads (943a39d )
inventory: reset bulk edit controls (bffc4b9 )
inventory: restore product and sales CRUD (c691e74 )
inventory: restore referral settings and currency (6676838 )
inventory: streamline mobile sales and shared settings (72b7724 )
learn: clarify vocabulary practice requirement (44b5000 )
localize realtime analytics filters (10c14fa )
mail: add settings translations (da50201 )
mail: allow signed provider webhooks (adbbb87 )
mail: pass ingest secret to builds (7d4e317 )
mail: restore production inbox rendering (e03a782 )
mail: stabilize layout and managed sender identity (a22205e )
mail: use managed SES credentials (9ffb3a1 )
meet: authorize workspace app sessions (4a4f8b7 )
meet: resolve personal workspace invites by actor (1fab56d )
mobile: compact navigation and biometric lock (5fa1589 )
mobile: harden finance and inventory experiences (0f1e7a0 )
mobile: preserve bearer auth across satellites (f890170 )
mobile: refine compact navigation and page hierarchy (e422c19 )
mobile: require signed native release builds (55cedc3 )
mobile: restore tasks bearer access (2aedf84 )
mobile: route APIs to satellite owners (2f2222f )
mobile: simplify dense navigation and calendar events (dca28dd )
mobile: stabilize navigation and QR login (4e208a1 )
mobile: stabilize workspace selection and inventory cache (229af0d )
open pay billing links in new tabs (c6c565f )
pay: restore AI credit wallet loading (9b3aa65 )
pay: serve AI credits from Pay (cb9a9b5 )
platform: address attendance and invoice feedback (8d2a537 )
platform: improve satellite workspace routing (0c49c48 )
platform: improve task details and satellite saves (441c283 )
platform: persist settings dialog state (04d2128 )
platform: repair calendar sync and member auth (fcf8f89 )
quality: address AI findings (c24f827 )
remove unreachable group queries (0ff2882 )
reports: scale delivery maintenance and report counts (4dd4f47 )
resolve code quality findings (63f10b5 )
resolve remaining quality suggestions (826aec4 )
satellite: align app picker header (96758ef )
satellite: align sidebar workspace spacing (199de40 )
satellite: clarify apps picker controls (528bf51 )
satellite: harden workspace settings translations (7315a2d )
satellite: restore mobile workspace settings (e276f40 )
satellite: restore workspace settings access (6b4c4f9 )
satellite: share apps picker preference (fb80637 )
satellites: stop authorizing app-session callers with the cookie client (b0d0242 )
security: enforce infrastructure workspace permissions (00b469c )
security: hide workspace member handle probes (0369b58 )
security: prevent clickjacking across apps (c8ed36e )
security: remediate code scanning findings (023db2e )
security: sanitize unsubscribe response boundary (a179933 )
settings: enable satellite profile management (4876ae2 )
settings: harden workspace role management (0570687 )
settings: hydrate shared profile data (7890e61 )
settings: make the workspace permissions summary one total contract (d88e709 )
settings: repair satellite workspace management (63614cd )
settings: restore satellite workspace management (be1fb5a )
storefront: route inventory requests correctly (d924e8f )
storefront: show uploaded bundle images (beff755 )
storefront: stop registering missing service worker (655a382 )
tanstack: align migrated marketing routes (6337286 )
tasks: align selected checkbox icon (805f7d9 )
tasks: compile task styles with UI globals (bb1d600 )
tasks: guarantee root workspace resolution (94f674d )
tasks: isolate selection state from tooltips (d91670e )
tasks: localize root proxy rewrites (83109f9 )
tasks: make board settings dialog singleton (f6e9093 )
tasks: open task links that point outside the current workspace (8f46e08 )
tasks: open the dialog on Properties and settle it in one step (2780950 )
tasks: polish task card indicators (d34966f )
tasks: preserve bulk task list rows (5aac158 )
tasks: quiet the description toolbar and name the compact action honestly (51838a0 )
tasks: repair onboarding and external metadata (e0b62eb )
tasks: repair task media permissions (28a0bf1 )
tasks: restore app-session history reads (12bbc01 )
tasks: restore satellite bulk mutations (d0282a4 )
tasks: restore scrolling in the focused task dialog (ee2d312 )
tasks: restore task board layout styles (29e052b )
tasks: restore task description on deep-link opens (56d4efa )
tasks: route progress catch-ups through AI Gateway (780e917 )
tasks: show one skeleton per task dialog open (944288b )
tasks: show select all for empty lists (485ccd7 )
tasks: stabilize task card selection layout (5754a9c )
tasks: stop the task dialog remounting after it opens (9a423da )
tasks: widen focused task dialog (e9fd624 )
teach: address final AI review feedback (05fc697 )
teach: address vocabulary review feedback (4efa1a8 )
teach: harden AI feedback concurrency (f470e6e )
teach: preserve saved vocabulary feedback (976fd2c )
tooling: report which script test failed instead of nothing (e9154e4 )
ui: make member management mobile responsive (104c812 )
ui: prevent iOS form focus zoom (a0e3f3c )
ui: publish portable vendored dependencies (99ad359 )
ui: refine member access settings (b5b1ebf )
ui: unify workspace access and sidebar controls (450183e )
vocabulary: stabilize CI and OED lookup (0d153a7 )
vscode: update TypeScript SDK path and clean up settings (51c940b )
web: accept satellite app sessions for member invites (4d90ceb )
web: harden prerender client boundaries (ab1596a )
web: isolate UI docs navigation controls (94741d3 )
web: repair Mira model picker routing (5ad8a23 )
web: restore changelog preview build (7c85f52 )
web: restore hidden workspace selector spacing (da28160 )
web: route the QR generator to the tools app (424dbfd )
web: scroll to deep-linked landing sections (6a9d95e )
workspaces: keep the creator a member of the workspace they create (8b33f42 )
workspaces: propagate a workspace rename without a page reload (cca0b2d )
workspaces: repair shared member administration (8a1515b )
workspaces: revoke direct board guest access (32c0fc1 )
Performance Improvements
ci: attach deploys to commit runs (7d213b8 )
ci: centralize production deployment planning (1331e31 )
ci: deduplicate Bun caches (5d64570 )
ci: enable repository-wide remote caching (6250f91 )
ci: exclude gate-only changes from app deploys (da85ff6 )
ci: prepare E2E images before allocating shards (c109484 )
ci: reduce redundant runner fan-out (78fe6a0 )
ci: retain E2E registry layers (c6fcc55 )
ci: reuse E2E Docker images across shards (5329dbf )
ci: serialize BuildKit cache writers (72bab33 )
ci: skip deploys for orchestration-only changes (c543f99 )
ci: streamline E2E image caching (21d8c85 )
cms: scope external project studio reads (ff53213 )
contacts: accelerate virtual user listing (8d0b86c )
inventory: add event-driven storefront caching (2f571f4 )
storefront: share customer navigation shell (21cb78d )
storefront: stabilize navigation and cart rendering (471c6b7 )
web: optimize landing page (32a3023 )
web: reduce dashboard request overhead (93f4b2b )
web: smooth mobile landing sections (d3fae9a )
You can’t perform that action at this time.