starlings

Changelog

What changed in Starlings

Every release, newest first. The same notes ship with the Mac and iOS updates.

2654 commits since Aug 2026

Next release

On the web now. In the Mac and iPhone apps with the next release.

  • Starlings has a separate public site. Product pages, pricing, help and pilot enquiries live on starlingshq.com, with their own build and public navigation. Existing product-page addresses forward there. The Envisioning workspace can also use an explicitly configured Starlings hostname while installed apps and existing room links keep working.
  • Starlings has its own product site. A first public introduction explains the shared record for people and agents and links to early-access enquiries. Envisioning’s workspace and existing meeting links keep their current addresses.
  • The privacy notice, terms and help pages say Starlings. The public site named the product Meet on these pages. The help docs, the glossary and the llms.txt index now use the Starlings name too.
  • Starlings has its product and workspace addresses. The public site uses starlingshq.com, with www redirecting there. Envisioning's existing workspace also has envisioning.starlings.work; its legacy app and guest links continue to work. Google callback registration remains required for browser sign-in on the new workspace address.
  • Why Meet (web): Clarifies the direction of agents of all types working alongside people across providers. The researched products are examples of an open ecosystem, with current integration status shown separately.
  • Decisions and agent questions are easier to answer on Mac, iOS and web. Choices are visible buttons with room for longer labels, and each card names who asked. Decision summary rows on Home and Work also show the sender. The Mac decision sheet requires an explicit choice before Answer becomes available.
  • The web explains where agents fit in Meet. Why Meet now connects agent capabilities to shared project context and reviewable work, with a sourced comparison of eleven products and runtimes. Eve and the Claude connector are distinguished from integrations still to validate; Features links to the explanation.
  • The web pricing estimate follows the Starlings workspace model. A fixed workspace minimum includes built-in assistance, people and personal assistant connections are free, and additional shared agents have a flat price while unfrozen. Calls use one workspace allowance; external model spending is separate. All amounts remain examples, with card-backed trials and planned Admin usage visibility explained on the page.
  • The system diagram names every Cloudflare piece Meet, Docs and Keep run on. On /features/status, the drawing now shows the import queue, the backup bucket, the Core cache, rate limiting, the cron, Static Assets, Workers Logs and Workers Builds, and the storage and platform behind Docs and Keep.
  • The pilot form asks about your team, not your agents. It opens with "Would your team work in Meet?", no longer asks for a budget per agent, and says plainly that pricing is not decided. "Why Meet" adds meetings that file themselves and everything about a client in one place.
  • Home's MESSAGES rows have a menu on every client. Right-click or long-press a row to open it, mark it read, mute it, archive a direct conversation, or open a subject in Core. The web also copies the link and stars it.
  • The Docs graph moves like a living map. On Mac, iPhone, iPad and web the graph is drawn in one pass, so panning and zooming stay smooth with thousands of documents. It unfolds as it loads and settles on its own; drag a document to pull its links along, point at one to light up its links, and titles appear as you zoom in. Zoom follows the pointer, and on iPhone a document takes a fingertip-sized tap.
  • An issue a Claude files shows once in the project's channel. It used to leave two lines, one naming the Claude and one naming you. Now there is one, <you>’s Claude (<client>) filed #N · <title>, and GitHub reporting the same issue later adds nothing. A task a Claude completes names the Claude too.
  • The chips under a channel line look like links on the Mac and the web. A #710 chip that opens something is in the accent colour, shows a pointing hand and a tooltip saying where it goes. A task chip on the web now opens the task, as it does on the Mac; a decision chip on the Mac opens History and a goal chip opens Tasks, as on the web.
  • iPhone and iPad show the chips too. Tap an issue or a task chip under a channel line to open it, a decision or goal chip to see the subject's Overview, or a pull request, commit, run or release chip to open GitHub.
  • A message your Claude sends says so. A message sent through a connected Claude is still yours, and now shows a quiet "via claude.ai" beside the time on the web, Mac and iPhone, so the people reading it can tell.
  • A Claude's decisions and documents show in the client's channel. A decision a member's Claude records now reads "Michell’s Claude (claude.ai) recorded a decision", not as if the member typed it. A document a Claude writes, saves or updates on a project, lead or partner now leaves a line in that channel and its History.
  • Pause a Claude, freeze an agent. Settings › Account › Connected Claudes has Pause beside Revoke on the Mac, iPhone and web: Meet refuses the Claude's next call and tells it you paused it, and Resume lets it back without pairing again. Admin › Agents has Freeze: a frozen agent gets no messages, cannot read Meet and cannot post, from its next call, with no deploy. Writing to a frozen agent leaves a quiet line saying so.
  • /why and /interest name a wider audience. Meet is for companies and crews of 2 to 50 where people and agents share the work, not only firms of 5 to 50.
  • List rows answer the pointer on the Mac. Rows in the Work sidebar, the Work lists and the calendar agenda now brighten slightly under the pointer. The selected row keeps its border.

6.7.6 — 2026-10-01

  • UNOWNED has a filter, and Recently finished lives in MINE's (Mac, iPhone, iPad, web). UNOWNED's filter menu picks tasks, GitHub issues or both, and turns each subject on or off; both are remembered on each device. On the Mac and the phone, Recently finished is now a choice under Due in MINE's filter, as on the web, instead of a second list below MINE.
  • Work's Overview lists UNOWNED, and you can assign from it (Mac, iPhone, iPad, web). Below MINE, every open task on a subject that has no assignee and that the client does not owe, and every open GitHub issue with no assignee and no agent label, in the order MINE uses. Right-click a row (long-press on the phone) and choose Assign to ▸ a teammate: a task becomes theirs, an issue gets their GitHub username. The row leaves once someone holds it, and the section hides when nothing is unowned. Needs a Worker deploy.
  • A subject no longer moves when you open it (Mac, iPhone, iPad, web). Opening a subject in SUBJECTS reads it, and reading used to drop it below the subjects still unread. The open subject now keeps its place; it takes its real rank when you open a different one.
  • Work's Overview headers fold, and UNOWNED keeps up (Mac, iPhone, iPad, web). INBOX, Quick Notes, MINE and UNOWNED each fold from their header, and each device remembers its folds. UNOWNED opens on tasks, and a row you complete, cancel, close or assign leaves the list straight away.
  • Share, copy and download a meeting transcript, on the web, Mac and iPhone. The meeting page now shows who attended and what the meeting is filed on, with Copy link, Share…, Copy transcript and Download .md or .txt. The link opens only for people who can already read the meeting. While you host, the live transcript on the Mac and iPhone has a share button with the same link and the full transcript. Struck lines stay out and renamed speakers keep their new names (meet#692).
  • Research joins the team as an agent. Ask it what needs a review, or to review one technology: it checks the entry's sources, retires dead links, adds current sources, and stamps the entry as reviewed. It reports any text that is out of date and leaves the rewrite to you.
  • Your Claude can remove a wrong research link (Claude connector). cms with delete: true removes a tag, an organization, a geography or a signal link from a technology. Research content itself is never deleted, only unpublished.
  • Your Claude can merge duplicate contacts and organizations (Claude connector). Core keeps the oldest record, moves every link and email from the others onto it, and records the merge. Reconnect the connector to pick this up.
  • The Home grid is still (Mac, iPhone, iPad, web). The soft band that crossed the lattice every 30 seconds is gone. The grid still resolves outward from the centre when Home appears.
  • Home opens on what it last knew (Mac, iPhone, iPad). Every module draws its saved rows in the first frame and refreshes in place, instead of showing loading rows until the network answers. On the Mac, COMMERCIAL, QUICK ACCESS's stars and the rows from forwarded email are kept between launches too, and one module with nothing saved no longer holds the others back. Offline, the Mac keeps your agenda and published events on screen rather than emptying them or offering to connect a calendar.
  • The Team roster shows which version each colleague runs. On the Mac, the iPhone and the web, the devices line reads like Desktop (5.8.1), Web (5.8.1). A device that has not checked in since this release shows its name alone.
  • A connected Claude asks you where you are talking with it. In Claude Code or a chat it asks there, not in INBOX. Decisions in INBOX now come only from agents nobody is talking to, and only for real choices; a step you have to do by hand, such as setting a secret, is never a decision.
  • Your Claude's CRM lists keep to the filter it asked for (Claude connector). A list of one organization's leads came back as the newest leads of every organization; it now lists that organization's, and by contact too. A filter Core cannot apply is refused, naming the ones it takes, instead of answering with every row.
  • The changelog shows what is on the web before the apps have it (web). /changelog opens with Next release: everything already live in the browser that the Mac and iPhone apps get when the next release is cut.
  • Admin's heading and tabs hold still when you switch sections (web). Only the section's content crosses over, as in an app, instead of the whole page fading out and back in.
  • An admin can remove a channel whose project, lead, partner or event is gone, and put it back (web). Admin › Jobs lists the channels Core no longer has a subject for, each with Remove; removed ones have Restore. A removed channel leaves everyone's list, search and INBOX, its messages are kept, and it comes back by itself if its subject does. If Core can't be reached, nothing is removed.
  • The product pages say who Meet is for. /why opens on firms where people and agents do the client work together, 5 to 50 people on Mac and Google Workspace. /pricing says pricing is under consideration and shows the model being weighed: an instance fee with its services included, people free, and a floor for each agent.
  • Ask about a pilot. The header action and /interest replace "Run Meet yourself". The form asks whether you already work with Envisioning and how agents work with your team today.
  • More of what clients do shows up in the subject's channel. An offer accepted, an extension requested, an offer viewed and a project viewed each post one line in the lead's or the project's channel, where they used to go to Slack. A project view is one line per viewer per day, and views by Envisioning members are left out.

6.7.5 — 2026-10-01

  • Tasks, goals, decisions, quick notes, CMS records, profile and Home preferences and issue images moved into the Worker's route table. Each is one row naming who may call it. Nothing changes for a person using Meet (meet#339).

6.7.4 — 2026-10-01

  • Sign-in, people, conversations, connectors, Granola and device-token routes moved into the Worker's route table. Each declares who may call it (sign-in routes say what proves the caller). Nothing changes for a person using Meet (meet#339).

6.7.3 — 2026-10-01

  • The CRM, CMS and Core routes moved into the Worker's route table. Work, subjects, signals, the INBOX and the CMS read and write through one row per route naming the capability it needs. A request with no session is answered 401 whatever its origin, on every route. Nothing else changes for a person using Meet (meet#339).

6.7.2 — 2026-10-01

  • A teammate's schedule says why it is missing, and the calendar stops crying wolf. When Google will not show a colleague's day, their panel on the Mac, the phone and the web reads "Their calendar isn't shared with you." (often another Workspace domain) instead of a red error; a calendar you have not connected, a Google grant that expired and a Meet sign-in that expired each say so, and a real failure keeps Copy with the cause, code and request id. The Worker now gives every free/busy failure its own code and no longer turns a Google 403 into a "sign in" (meet#594). The web calendar retries a failed read quietly after 1 s and 3 s before any banner, the Worker mints a fresh Google token when one is refused instead of failing the refresh, and the Mac and phone retry the wake-time calendar check too; every banner's Copy names the classified cause and each logs one line without personal data (meet#613). Needs a Worker deploy.

6.7.1 — 2026-10-01

  • A Messages row on Home opens the chat at the newest line, and Team rows can Paste and send. Clicking a Messages row on the Mac, the phone or the web opens the conversation scrolled to the line the row previewed and flashes it once; banners and search results take the same route, and opening marks it read. On the web the permalink can also name a line (#thread-message-<id>). Right-click a person or agent on Mac Team, or open the web row menu, and Paste and send drops the clipboard into their chat without opening it, as the phone's long-press already did. The "Sent to" toast now carries Open on all three, which jumps to the thread (meet#632, meet#615).

6.7.0 — 2026-10-01

  • Every send field keeps its button inside the pill, and attendees are faces. The document comment box, the Work inspector's comment field, the calendar's describe field, the invitee Add fields and the iPhone issue comment now carry the round button at their right edge, so it cannot wrap at a narrow width (meet#621). Event guests show the Meet profile photo when they are members and initials otherwise, with the RSVP on the corner. Home event cards show an overlapping stack of up to five faces and "+N" on the Mac, the phone and the web, and the calendar, the invitee editors and the iPhone event sheet draw the same faces in rows (meet#623).

6.6.9 — 2026-10-01

  • Organization search and lead create are clearer on the iPhone and the web. The iPhone's organization search now asks the same Worker route as the Mac and the web, shows Searching, "No organizations match" and an error with Copy as three different things, and works before Core is linked on the phone. The web picker no longer shows "No organizations match" beside a search error. When Core answers a lead or project save with a 5xx, the message now carries what Core said instead of "failed (500)" (meet#625, meet#626).

6.6.8 — 2026-10-01

  • The calendar routes moved into the Worker's route table. Calendar events, accounts, subscriptions, pending invitations and preferences each have one row naming the capability they need. Nothing changes for a person using Meet (meet#339).

6.6.7 — 2026-10-01

  • The admin and diagnostics routes moved into the Worker's route table. The 23 /api/admin/* routes and the device and join-page error reports declare who may call them in one row each, and the router checks the caller before the handler runs. Nothing changes for a person using Meet (meet#339).

6.6.6 — 2026-10-01

  • Event guests are now avatars with their reply on the corner. Home's attendee rows on the Mac, phone and web show an initials disc with a cross for declined, a question mark for maybe and a hollow ring for no reply; a declined name is dimmed and the separate tick and Envisioning mark are gone.

6.6.5 — 2026-10-01

  • Send buttons now sit inside the message field. Thread and in-meeting composers on the web and Mac, and Home Quick Notes on both (a round + inside the pill), no longer put the button beside or below the field; an empty web composer no longer shows a scrollbar.

6.6.4 — 2026-10-01

  • The Home Invitations card now looks the same on the Mac, the web and the phone. Accept (and Add, for events from email) is the accent-filled button; Maybe, Decline and Discard are neutral; every button carries its icon, every row a calendar mark, and the date line drops the year unless it is another year.

6.6.3 — 2026-10-01

  • Three colours now match across the Mac, the phone and the web. The selected row in dark mode on the phone is the web's slightly bluer grey (#3f414d, was #434343). The label on an accent button is the same near-black (#1a1a1a) on all three instead of pure black on the Mac and phone. The outline on the Mac's call controls is a little stronger, as on the web. A fixture of 18 shared colours is now checked by a test on each surface (meet#599).

6.6.2 — 2026-10-01

  • Team on the phone: long-press a person or agent for Paste and send. Whatever is on the clipboard goes to that conversation as your message, without opening the chat; the menu item only shows when the clipboard holds text or a link.

6.6.1 — 2026-10-01

  • Clicking a conversation in Home Messages on the Mac now opens that conversation instead of the Team lounge, as it already did on the phone and the web.

6.6.0 — 2026-10-01

  • The call toolbar no longer keeps an outline on buttons you have clicked. Share screen, You, React, Hand and Chat stayed ringed (and looked taller than Mute, Camera and Leave) until the window closed; they now hand focus back after a click. Hand uses the filled glyph like the rest of the bar and turns accent when your hand is up.

6.5.9 — 2026-10-01

  • Task and issue titles in Work lists now start at the same edge on the web. The tick button on a task row carried a few points of padding the issue rows do not, so the titles zig-zagged down Mine; the Mac and iPhone already shared one mark column.

6.5.8 — 2026-10-01

  • The Worker's routes are starting to live in a table. Each row names its method, its path, who may call it and what answers; the router checks the caller before the handler runs, and a row without that line does not build. The download, health, feedback, interest, link-preview and service-to-service routes moved first. Nothing changes for a person using Meet (meet#339).

6.5.7 — 2026-10-01

  • Message previews no longer show raw markdown. A Vocab reply that arrived as **Biomolecule Watermarking** now reads as plain text in notifications on the Mac and iPhone, and in the Home Messages card, Team rail and Inbox on every surface.

6.5.6 — 2026-10-01

  • The web quick-note dialog's destination choice now looks like the Mac and iPhone one. Note, Task, Issue and the rest sit in one rounded track with the chosen segment filled in the accent, and the arrow keys move between them.

6.5.5 — 2026-10-01

  • The phone's Docs and Team lists now follow the same blocks as the Mac and the web. Each block (Explore, Work, By project and the rest in Docs; You, Groups, People and Agents in Team) can be folded, and the phone remembers which you folded. Library stays in Docs while empty and says so; People and Agents disappear while there is nobody to list, as they do on the Mac. A change to the order of these blocks now reaches the phone from the same table.

6.5.4 — 2026-10-01

  • The Mac and the phone now treat a slow or failed request the same way. Both wait 15 seconds, and both send a request that only reads or sets a value once more after a network blip or a server error; the phone never did. Before, a favourite, an issue, a read or muted conversation or a changed Inbox setting left a list stale on one device and not on the other. One table now says which lists each change refreshes, on the Mac, the phone and the web.

6.5.3 — 2026-10-01

  • The nightly backup no longer mails a false alarm. A chat or person created after 03:00 was counted as missing from that night's backup, which would have sent an "incomplete" mail every morning. The check now only asks for what existed when the night's backup was planned.

6.5.2 — 2026-10-01

  • The features page and the parity notes now say what the apps do. The by-surface table on the features page listed things as missing that already work: your own picture as a background, Today's work and the Calendars menu on the web, Calendar, Work and Settings in the Mac's Join mode. Fifteen cells changed. The parity notes also say five windows and five tabs, not four, and a test now holds the table to the lists of what each app shows.

6.5.1 — 2026-10-01

  • Each agent and Core now has its own key, and a key can only speak as its owner. Before, Core and every bot signed with one shared secret, so any of them could post as any other agent or read Meet as any member who had messaged that agent. A leaked key now lets someone speak as that one caller and nobody else. The old shared secret keeps working for callers that have not switched, and each use is recorded so the last user is visible before it is removed.

6.5.0 — 2026-10-01

  • A change to what Core sends now fails a test before it reaches you. Core's answers to Meet (tasks, subjects, issues, goals, Signals and the rest) and the events it posts to channels are recorded in Core's tests, copied here, and read through the same code the Worker uses in production. Found on the first run: opening an event's details would have been refused, because Core left out two lists the Worker expects. Core now sends them empty.

6.4.9 — 2026-10-01

  • More of the shared tables are generated, and search can open two more Settings pages. Row actions, subject kinds, Home's modules, the inspector blocks, calendar key prefixes, Team's conversation kind, the Work rail weights, the Docs and Team rail blocks and the Settings pages now come from one TypeScript table each; a check fails the build when the Swift copy is out of date. The search palette's Settings doors are the pages every client has, so Appearance and About join Account, Home, Work and Calendar.

6.4.8 — 2026-10-01

  • A revoked person is cut off everywhere within a minute. Before, someone you revoked kept their browser session, including search, calendar, Docs and the Core and Docs tokens, until it expired, up to eight hours. Every route that answers members now checks that the person is still active and what their role allows. Nothing changes for current members.

6.4.7 — 2026-10-01

  • The nightly backup now copes with a bad night and covers Quick Notes. Each chat, room and person's Quick Notes is saved as its own job, retried if it fails, and checked afterwards: anything missing is sent again, and a person is mailed if the night is still incomplete six hours in. An admin can restore one person's Quick Notes as well as a room or a chat. Expired sign-in codes and connector registrations nobody approved within a week are cleared out daily, and database migrations are now checked for order and for destructive steps before they can ship.

6.4.6 — 2026-10-01

  • A release that falls behind now sends a mail. When the Mac version the update feed offers is more than 8 days old, the Worker counts a "release_stale" failure every hour and mails it, and Admin › Operations › Failures shows the released version and when it went out. The same page now counts a TestFlight build older than 75 days; that check runs in the Worker because the weekly GitHub workflow could not start while the Actions budget was spent, and it waits for the App Store Connect values to be set as Worker secrets.

6.4.5 — 2026-10-01

  • Core can prove its connection to Meet without posting anything. A signed ping that writes no line now answers at /api/internal/ping; Core sends one every hour, so a drifted secret is reported the same day instead of after two weeks. It also counts as Core being in touch for the "Core's events gone quiet" alert.

6.4.4 — 2026-10-01

  • The Mac, iPhone and web now agree on four small rules. A subject's Docs folder, the letters on a camera-off tile, how a chat message reads as Markdown, and what Work asks for when it lists subjects are each pinned to one set of cases that all three clients answer to. Visible changes: a title with an apostrophe or a letter like ø files to the same Docs folder everywhere, a name with a bracketed note such as "Ana (Envisioning Labs) Silva" shows AS, and the Mac and iPhone trim a search and send no status for partners, as the web does.

6.4.3 — 2026-10-01

  • Work lists survive a Core hiccup. The short-lived copy of the board, feed and task lists, and the last-known copy that answers when Core is rate-limited or down, were stored where the hosted service never kept them, so every poll went to Core live. They are kept properly now. The service's own Core sign-in is also shared instead of two parts of it replacing each other's.

6.4.2 — 2026-10-01

  • Failures reach somebody. A signed call from Core or an agent refused for its signature, Core's events gone quiet for 72 hours, and a route answering 5xx twenty times in an hour now each raise the alert mail. Admin › Operations has a Failures card with the last seven days, and a deploy check that cannot run is shown there instead of being silent.

6.4.1 — 2026-10-01

  • A task moved in Work records who moved it. Core now stores the person on the task, whether the move came from the app, the web or an agent acting for someone.

6.4.0 — 2026-10-01

  • Calendar tiles show the time and place under the title. On Mac, iPhone and web a timed tile adds its time, then its location or meeting platform, as it grows tall enough. An event made in another time zone also shows that zone's clock, as in 12:05 – 14:05 (10:05 GMT).

6.3.9 — 2026-10-01

  • Filing a meeting from the iPhone works. It was refused every time. If the filing still fails when you start a meeting, the call screen now says so.

6.3.8 — 2026-10-01

  • Qualify a lead from Meet. New lead and Edit details show Core's five checks on web, Mac and iPhone, with a 3/5 summary on the lead. Claude sets them with task on create or update_lead.

6.3.7 — 2026-10-01

  • Your Claude can file your Quick Notes. It reads them through now, and files one as a task, an issue, a message or a doc by passing the note's id as quick_note; the note is marked filed there, as File… does. Claude cannot delete a note. Reconnect the connector to pick this up.

6.3.6 — 2026-10-01

  • The Worker's tests no longer reach the network. A test that calls a host it did not stub now fails with unexpected outbound request, and a local .dev.vars cannot change what the suite does. A green run no longer means "Core was reachable".

6.3.5 — 2026-10-01

  • New Lead's Organization search says what it is doing. Mac shows Searching, "No organizations match" for a real empty answer, and an error with Copy when the search fails, instead of an empty list.

6.3.4 — 2026-10-01

  • The iPhone chat box stays inside its pill. It now grows line by line to its cap and then scrolls, with a backing so no message shows around it. A teammate's profile that can't load their calendar now carries the real error in Copy, and says so plainly when your own calendar isn't connected.

6.3.3 — 2026-10-01

  • The calendar retries before saying Google events didn't refresh. A read that fails on a network blip, such as the phone waking, is retried quietly first; an expired Meet sign-in now says so, and Copy names the actual cause.

6.3.2 — 2026-10-01

  • The Mac calendar inspector has a close button. A quiet ✕ sits at the top right of the panel for an event or a task, and Esc closes it from inside a field; the toolbar toggle still brings it back.

6.3.1 — 2026-10-01

  • The iPhone day and week grid no longer pulls past midnight. Dragging or pinching leaves no empty band above 00:00 or below 24:00; paging between days and pinch zoom work as before.

6.3.0 — 2026-10-01

  • A hidden event is gone from the calendar grid. The events beside it use the full width on Mac, iPhone and web. Turn on Show hidden events (Calendar settings, or the web Calendars menu) to see it faded and show it again.

6.2.9 — 2026-10-01

  • Core's registry fixes reach Meet. The Core records pages pick up the newest registry and the inline country and relation pickers.

6.2.8 — 2026-10-01

  • The iPhone calendar stops doubling its hour labels. When the second time zone has the same offset as your device's, the gutter shows one label per hour at its normal width; the setting is kept for when you travel.

6.2.7 — 2026-10-01

  • The Envisioning mark on iPhone calendar tiles matches the other marks. On a day with a Zoom event, an Envisioning room and a global-interest event, the three corner marks are the same size, in the day grid and the month list.

6.2.6 — 2026-10-01

  • The calendar picker shows its color on the closed field. New Event's Calendar field now draws the calendar's dot beside the chosen name on iPhone, Mac and web, as the list already did.

6.2.5 — 2026-10-01

  • A call to a route the server does not have now fails the build. The Mac, iPhone, web and agent tools are checked against the server's route list, so a wrong method or a misspelled path is caught before it ships.

6.2.4 — 2026-10-01

  • Filing a task no longer fails when Core is busy. Meet retries a Core rate limit (429) instead of giving up, shares repeated reads, and says "Core is busy, try again in a moment" with the code kept for Copy.

6.2.3 — 2026-10-01

  • Quick Notes on iPhone behave: Return adds the note, the Home field wraps. The keyboard's Return key now saves in the Quick Note sheets and the inline Home field, which grows to six lines, and every Home row's icon lines up with its title's first line.

6.2.2 — 2026-10-01

  • Shared tables are generated, not typed twice. Browse's groups and the status choices now come from one TypeScript table; a check fails the build when the Swift copy or the test file is out of date.

6.2.1 — 2026-09-30

  • Link a GitHub repository to a project from the web. Use a project's row menu, or Pages on its Overview. Linking opens the project's Issues.

6.2.0 — 2026-09-30

  • Web Settings lists its pages in the same order as the Mac and iPhone. Account, Home, Work, Calendar, Appearance, About. Calendar used to sit before Home, and Work after it.

6.1.9 — 2026-09-30

  • The web app drops an old Agents page that nothing opened. Agents stay a section of Team.

6.1.8 — 2026-09-30

  • A person's link is their name. /team/person/ada opens Ada, the same way /team/agent/vocab opens Vocab.
  • Old web links no longer open a record. Links with ?task=, ?doc=, ?event=, ?person=, ?thread=, ?issue= or ?subject_id= land on the page without opening anything. Use the address in the address bar.

6.1.7 — 2026-09-30

  • An agent's link is its name. /team/agent/vocab opens Vocab. Links in the longer form from 6.1.6 no longer open.

6.1.6 — 2026-09-30

  • Every record on the web has a stable link. An open agent, person, conversation, task, project, lead, partner, event, issue, document or calendar event puts its own address in the address bar, for example /team/agent/<id> or /work/task/<id>. Copy it and it opens the same thing. Back and Forward step between records. Old links still open and change to the new address.

6.1.5 — 2026-09-30

  • A subject has no tab row on a wide web screen. It opens on Overview. Open a pane from its Show all, from Views in the right sidebar (now links), or from Pages at the foot of Overview. A strip goes back to Overview. Below 900px the tabs stay.
  • The right-sidebar toggle sits beside the thing it opens. On Team it is in the conversation header with star and mute. On Work it is in the subject header.
  • The close button on a web conversation shows its icon.

6.1.4 — 2026-09-30

  • The Mac and iPhone rank subjects by recent activity again. The SUBJECTS rail read no activity from the server's timestamps, so recent talk and stale work counted as nothing. Its order will change for subjects with recent talk.
  • The Mac, iPhone and web share more lists. Status choices, Calendar choices, Team's order, Browse's groups, the blocks of the Docs and Team rails, and each subject row menu now come from one table each, so the apps stop drifting apart.
  • Web Team hides empty People and Agents, as the Mac does. Docs Library stays with a short message instead of hiding.
  • A partner's menu on the iPhone follows the shared list: Open, Open talk, Open history, Meet about this, tasks and Open in Core.

6.1.3 — 2026-09-30

  • Web Calendar has a month view. Switch between Week and Month. A day opens its week.
  • Choose which calendars show, on the web. The Calendars menu lists each account and calendar. The choice also applies on the Mac and iPhone. New events go on the calendar the last one did.
  • An event's facts on the web and iPhone. An event's context shows when, where, links and whether the website lists it.
  • Email address in a subject's context. Web and iPhone show the subject's forwarding address once its conversation is open.
  • Shared work on a colleague's panel, on the web. It lists the subjects you both have open tasks on.
  • Move to… on the web files by subject or category, as the Mac does.
  • Meet about this on iPhone subject rows, plus Open talk and Open history on partner rows.
  • One table for a subject's context blocks. The Mac, web and iPhone now show the same blocks in the same order. On the Mac, a partner's blocks follow the project order and gain an Email block.

6.1.2 — 2026-09-30

  • Docs has a Links row on the web. Saved links list there, with a count.
  • Browse filters by status on the web. Envisioning, Clients and Sales offer the same status choices as the Mac and iPhone, with counts.
  • In a call on iPhone, see who raised a hand. The People sheet numbers the raised hands in order.
  • In a call on iPhone, see the open tasks on the filed subject. The Tasks sheet lists them under the suggestions. The filing sheet opens the subject without leaving the call.

6.1.1 — 2026-09-30

  • A subject opens on Overview on the web. Above 900px, Talk and the subject's work are two equal halves. The work half folds into Goals, Tasks, Issues, Decisions, Documents, History and, for a partner, Related subjects. Each group shows five rows, a Show all, and a + for a new item.
  • Talk sits beside the subject's work on iPad. On a wide screen the Overview shows Talk and the groups side by side, and Talk has no tab. The phone keeps Talk as its own pane.

6.1.0 — 2026-09-30

  • See the people behind Signals in Work. On the web, Work's Signals view has a People mode next to Pipeline and List. It shows prospects by outreach state and the people already using Signals. Change a person's state, open the ready-made mail, and take a suggestion to move their account or book a demo. A short Needs review list shows what to fix in the CRM. Each account also lists its people.

6.0.9 — 2026-09-30

  • The Mac sign-in button says "Signing in…". In Settings, the button shows that the browser sign-in is running until it finishes.
  • Home asks for a calendar with a button. When no calendar is connected, the Mac Home shows Connect Google Calendar and no sentence before it.

6.0.8 — 2026-09-30

  • Give a Signals account an owner from Work. The account pane has an owner picker that saves to the CRM.
  • The Signals pipeline fits the page. The five stage columns share the width, so the last column no longer runs off the edge. Cards show a due date only when there is a task, say "Not linked to Signals" in short, and name license plans as Starter, Pro or Partner.

6.0.7 — 2026-09-30

  • An iPhone hosting from a pocket keeps its notes safe. While the phone is locked, Meet can now still save the transcript on the phone until it is uploaded, so a meeting that loses signal does not lose its notes.
  • The privacy page says who does what. /privacy now lists every service that handles meeting data, the legal basis under Brazil's LGPD and the EU GDPR, your rights, and a privacy contact, contact@envisioning.com.

6.0.6 — 2026-09-30

  • Calendar events, Granola and Slack take partners. An event can be about a partner on Mac and iPhone; a partner's dated task on the calendar opens the partner; Granola meetings and Slack channels file into partners; decision candidates appear on partner meetings.
  • One registry of what each kind of subject can receive. Tasks, documents, meetings, calendar events, Slack and Granola all read the same table, so the next kind does not leave gaps.
  • Dates read as dates everywhere. Due, target, updated and event dates no longer show as raw timestamps on Mac, iPhone or web.

6.0.5 — 2026-09-30

  • The same words on every device. Mac, iPhone and the web now say Sign in with Envisioning, Team Room, Start room, Meet about this, Mute and Keep in chat the same way, in sentence case. A page you cannot open yet shows just the button (Sign in with Envisioning, Connect Docs) instead of a sentence about it.
  • Fewer "are you sure?" questions. Meet now asks only before something is lost for good, such as deleting an event or withdrawing a message, and asks in the same words everywhere. Closing an issue or signing out a device no longer asks. Withdrawing a message on iPhone now does.
  • Small fixes to wording and icons. Errors say "Couldn’t", invitation replies read Accepted, Declined, Tentative and Pending, events use the megaphone everywhere, and a few symbols that were typed characters are now proper icons.

6.0.4 — 2026-09-30

  • Signals has its own place in Work. On the web, with Sales on, Work lists Signals beside Overview. See every Signals account as a pipeline by stage or as one list with what needs attention first, and switch between the two. Drag a card to another stage to move the account. Open an account to see its license, trial, partnership, usage, demo learning and tasks. Home's Signals card links there.

6.0.3 — 2026-09-30

  • Partner tasks are on the card board and in INBOX. A partner's own tasks appear on the board beside project and lead cards, and a proposed partner task waits in INBOX like any other.
  • File a document under a partner from its File menu. Docs rows get a Partner submenu on Mac and iPhone, beside Project and Lead.

6.0.2 — 2026-09-30

  • Fewer broken builds behind the scenes. A change can no longer be committed while a help or reference page about that code still carries an old check date, and the build now says when a shared Envisioning package has fixes this app does not include yet. Both were how today's red builds and the two-day wait for the Docs crash fix happened.

6.0.1 — 2026-09-30

  • Signals accounts on Home stay current. While Home is open on the web, the Signals accounts card checks the CRM every 15 seconds, so a change made in Core shows within that time.

6.0.0 — 2026-09-30

  • Every task says where it lives. The task edit form on Mac, iPhone and web opens with a read-only Where line (Partner · Echos, Project · …, Meeting, No subject), beside Move to….
  • Tasks opened from Mine no longer read Unassigned. They load in full before you can edit them, so a save cannot write Unassigned over a task that has an owner.
  • Claude sees the partner door. The task and document tools now say a partner takes tasks and documents.

5.9.9 — 2026-09-30

  • Work a Signals account's tasks from Home. On the web, each Signals account row has Tasks…: see the open tasks, mark one done, or add a new task with a due date and assignee. The task appears in Core on the account and in the assignee's Work.
  • Signals account tasks no longer show up as partner tasks.

5.9.8 — 2026-09-30

  • See which Signals accounts need follow-up on Home. On the web, the Commercial module now lists every Signals account in the CRM. Accounts with an overdue task come first, then those without an owner or a next task. Each row shows the stage, license, trial and partnership, who owns it, the next task, and recent product use with how old those figures are. Click a row to open the account in Core.

5.9.7 — 2026-09-30

  • A meeting can be filed on a partner. File a live or recorded meeting under a partner on Mac, iPhone and web, and its notes, transcript and action items land on the partner. Documents file under a partner too, with a By partner section in Docs.

5.9.6 — 2026-09-30

  • Calendar tells you when Google did not answer. If Google refuses or times out, Calendar keeps the events it already had and says the refresh failed, instead of showing an empty week. When Google access has expired it says to reconnect in Settings. Copy diagnostics now include a request id that matches the server log.
  • Opening Docs on the Mac no longer risks a crash. A right-click menu in the document list changed the selection while the list was drawing; that write is gone.

5.9.5 — 2026-09-30

  • File tasks and quick notes on a partner. Partners now appear beside projects and leads in every task and quick-note picker on Mac, iPhone and web. Issues stay on projects.

5.9.4 — 2026-09-30

  • Dates read the same everywhere. In English, every date on the web now reads day then month ("30 September"), as it already did on Mac and iPhone. Before, only Home did.
  • Tidier inside. The star on starred rows, creating an organization, and the Admin figures each come from one place on every client, so they cannot drift apart. The Quick Note add button on iPhone reacts to the pointer again.

5.9.3 — 2026-09-30

  • Move host works on iPhone and iPad. From More › Move host… in a call, the iPhone that hosts can hand the host to a Mac, iPhone or iPad in the call, and a Mac can hand it to a phone. A colleague on a phone is asked first and, on yes, their phone admits guests and takes the notes. Take host in More asks for the host from your other device.

5.9.2 — 2026-09-30

  • Move host. In a meeting, the Mac that hosts can hand the host to another Mac in the call from Meeting › Move host…. Another of your Macs takes it at once. A colleague's Mac asks them first; if they say yes, their Mac admits guests and takes the notes from then on. This works in your own room too, and you can take the host back with Take host.
  • Everyone can see who hosts. Tiles and the people list show Host beside the device that hosts, on Mac, iPhone and the web.

5.9.1 — 2026-09-30

  • "Chair" is now "host". The Mac that admits guests and takes the notes is the host, everywhere. The Meeting menu item is Take host.
  • A companion Mac takes host on its own. When the host leaves the call, or its device drops and the 30-second lease runs out, a connected companion Mac becomes the host, so guests can still be admitted and the transcript goes on.
  • Handovers no longer strand a meeting. If the Mac that asked for host leaves before the handover, the current host keeps hosting. A failed handover turns the host's microphone and notes back on and tries again later. Two Macs asking at once can no longer both become host.

5.9.0 — 2026-09-30

  • Partners take tasks. A partner is a work surface now: add, complete, edit and move tasks on it from Mac, iPhone and web, and Claude can file one with a subject:partner: door. Needs Core's matching change deployed before it works. Issues stay on projects.

5.8.9 — 2026-09-30

  • Join room takes you to the room your colleague is in. When they are a guest in someone else's meeting, Join room now opens that meeting on Mac, iPhone and web, not their own empty room.
  • Smaller fixes from a review. The Mac format button opens on a click. Search no longer lists a project twice. The iPhone chat composer autocorrects again. Create organization cannot make a duplicate while a search is still running. A task's project stays saveable after a search. You can react to your own message from the Mac hover bar.
  • Claude's CRM writes are stricter and answer the same way. A lead or project created through cms needs an organization and answers with its door and channel, like task create_lead. Notes can name contacts.

5.8.8 — 2026-09-30

  • The first message in a new conversation now raises a banner. On the Mac and iPhone, a conversation that did not exist at the last check — a new lead channel, a first direct message — announces its opening line when it reaches you. Being added to a conversation with only older messages stays quiet.
  • Home's MESSAGES rows keep their time current. "3 seconds ago" keeps counting while Home is open on Mac, iPhone and web, and the unread dot is the accent colour, centred on the row.

5.8.7 — 2026-09-30

  • Home keeps room controls together. The Mac's WAITING ROOM queue now lives inside the room launcher, and the Calendar, Work, Team and Docs shortcut buttons are removed.

5.8.6 — 2026-09-30

  • Quick Access stays a clean horizontal strip. The card never scrolls vertically. Web and iOS hide the scrollbar; Mac shows an overlay only while scrolling.

5.8.5 — 2026-09-29

  • A Core rate limit no longer empties your task lists. Task reads retry a 429, and the Worker serves the last-known list when Core cannot answer.

5.8.4 — 2026-09-29

  • Clean checkouts pass the build guard. Normalize the repository path in the guard test so a missing DerivedData folder cannot look like a separate worktree.

5.8.3 — 2026-09-29

  • Quick Access favorites look consistent across Mac, iPhone and web. The star sits on the same neutral circle, and iOS keeps the full badge visible.

5.8.2 — 2026-09-29

  • Home date follows the same format everywhere. The web Home now uses the same weekday, day and month order as Mac and iOS.

5.8.1 — 2026-09-29

  • Mine filters show row counts. Work filter choices show how many rows each choice includes. The partial-results note is removed from Recently Finished on Mac, iPhone/iPad and web.

5.8.0 — 2026-09-29

  • Mac-to-Mac handoff keeps a meeting open. A companion Mac can take the chair after the current Mac drains local transcription and uploads pending text, or after that Mac has left the room. The meeting and its participants stay connected; iPhone chair transfer remains unavailable.

5.7.9 — 2026-09-29

  • Home cards use balanced columns. The saved module sequence remains a preference, so a tall card no longer pushes other cards down and leaves a large gap beside it. Quick Access spans both columns.

5.7.8 — 2026-09-29

  • Contact work reads as one queue everywhere. Tasks and GitHub issues use the shared due-date ordering on Mac, iPhone/iPad and web; web issue cards show their GitHub labels as badges. New team tasks require a resolved team owner so they start assigned to the creator.

5.7.7 — 2026-09-29

  • INBOX stops repeating work already listed in MINE. Overdue task and recent assignment reminders start off, and remain available under Settings → Work → Inbox. Proposed tasks still stay in INBOX until accepted or declined.

5.7.6 — 2026-09-29

  • Meeting connection quality reads at a glance. Signal bars keep full opacity and show strength by bar count.
  • People panels show more context. Teammate views bring together their open work, schedule, and meeting details on Mac, iPhone/iPad, and web.

5.7.5 — 2026-09-29

  • Task Notes support multiple lines on Mac. The task inspector now keeps longer notes readable and editable, matching iOS and web.

5.7.4 — 2026-09-29

  • Events are easier to scan in Work. Event rows show days remaining, or Today, instead of the calendar date on Mac, iPhone/iPad and web.

5.7.3 — 2026-09-29

  • Chat messages are easier to format. Apply bold, italic, strikethrough, inline code, links, lists, quotes and code blocks on Mac, iPhone/iPad and web.

5.7.2 — 2026-09-29

  • Quick Notes capture uses the chat composer on iOS. The inline field is rounded and saves with a trailing + button.

5.7.1 — 2026-09-29

  • Home rows keep a steady border on hover. Hover feedback lifts the fill without making a glance row look selected on Mac, iOS and web.

5.7.0 — 2026-09-29

  • INBOX actions match the conversation type. Subject Talk can be marked read or muted; Archive remains available for direct conversations.

5.6.9 — 2026-09-29

  • Connection quality is easier to read. Meeting tiles show signal strength as full-opacity bars on Mac and iPhone.

5.6.8 — 2026-09-29

  • App icons adapt to iOS appearance. The mark stays Envisioning lime in Dark mode and white in Clear mode.

5.6.7 — 2026-09-29

  • Admin sections work like tabs. A connected section bar makes Admin feel like one workspace and shows the destination as soon as navigation begins.

5.6.6 — 2026-09-29

  • Quick Access sits at the bottom of Home. It spans both columns on wide layouts and stays one column on narrow layouts, with starred and recently opened items in one horizontal row.
  • Favorite marks are consistent across lists. A small top-left star marks starred entries in Home and sidebars on web, Mac and iOS.

5.6.5 — 2026-09-29

  • Home's date line is consistent across Mac, iPhone and web. The weekday, month and day use Octa Medium in smaller secondary text.

5.6.4 — 2026-09-29

  • Message triage picks up the Quick Note copy immediately. Saving your own message refreshes Work's Quick Notes list so you can file the copy at once.

5.6.3 — 2026-09-29

  • Save your own messages as private Quick Notes. Team and Work Talk keep the original message; the copy appears in Quick Notes for later filing. Reactions now work on your own messages too.
  • New leads and projects belong to an organization. Search Core or create the organization in the subject editor on Mac, iPhone/iPad and web. The agent lead action also requires an organization.
  • Leads are full rows in Mac Browse. Each opens like a project and shows its organization's logo or a lead icon when no logo is on file.

5.6.2 — 2026-09-29

  • The Watch complication opens Home. Tap the Envisioning mark to open Meet Home on Watch; Quick Note capture remains there.

5.6.1 — 2026-09-29

  • Home combines starred and recent items. One RECENT list puts starred items first, then the last eight things opened on this device. An item in both sources appears once.

5.6.0 — 2026-09-29

  • Web loading states use Meet's thinking orb. The shared spinner uses the compact working animation across busy controls and loading indicators.

5.5.10 — 2026-09-29

  • iPad Work follows the Mac. On a regular-width iPad the Work tab is a split view: Overview, then SUBJECTS with Browse at its foot. Overview shows INBOX with Quick Notes below it in one column and MINE in the other. The iPhone keeps one list. On every device INBOX, Quick Notes and MINE stay separate lists (meet#448).

5.5.9 — 2026-09-29

  • Sign-in gates stay clear and simple. Remove eyebrow labels from the web sign-in cards.

5.5.8 — 2026-09-29

  • A member's Claude can create a lead. The MCP task tool takes action: "create_lead" with a title and, optionally, organization, contact, status, start date and notes. It returns the lead's door and its channel, where Core posts "New Lead Created".

5.5.7 — 2026-09-29

  • Web Work has Fields, and web search finds Core. A project, lead or partner on the web has a Fields tab with every field Core lists for it; text, numbers, dates, toggles and choices edit in place and save as you. The search palette lists Core entities and finds Core records: a project or lead opens on its Fields, anything else on its Core page. Keep stays on Mac and iPhone: a project's Keep vault on the web says to open it there and never shows vault material (meet#233).

5.5.6 — 2026-09-29

  • Agent identities appear in Admin. Each row in Agents pairs the agent's avatar with its activity.

5.5.5 — 2026-09-29

  • Quick Notes are one tap away on iPhone and iPad. Home's toolbar + opens a capture drawer even when the Quick Notes module is hidden; Search stays in More.

5.5.4 — 2026-09-29

  • Team peer actions work across clients. Remove inline Wave and Call controls, show a meeting mark on active participants, and offer Join room from a person's context menu. The Mac Call path is wired; issue #555 tracks validation before restoring a standalone Call control.

5.5.3 — 2026-09-29

  • Agent colors are easier to distinguish. Vocab no longer uses the near-duplicate green; Status keeps #aacc00.

5.5.2 — 2026-09-29

  • Web sign-in gates are clearer. Team, Work and Docs now show a centered sign-in card with the page name and one action.

5.5.1 — 2026-09-29

  • Admin shows measured downstream RTP data. The current-month total comes from browser, Mac and iOS client reports, with the latest report time. Admin does not compare it with a plan cap or project month-end usage; LiveKit's dashboard remains the source for billed transfer.

5.5.0 — 2026-09-28

  • Admin shows a live downstream transfer estimate. Browser, Mac and iOS clients report cumulative RTP receive bytes; the estimate refreshes in Admin against Build's 50 GB monthly allowance. LiveKit remains the billing source.

5.4.9 — 2026-09-28

  • Admin shows each agent endpoint origin. Name-only entries show None.

5.4.8 — 2026-09-28

  • Interactive questions take fewer taps. Single-select answers submit as soon as chosen; multiple-select questions keep a larger accent submit button.

5.4.7 — 2026-09-28

  • Admin shows LiveKit downstream transfer. The latest provider alert is surfaced as an explicitly dated estimate; live Analytics API access requires the Scale plan or higher.

5.4.6 — 2026-09-28

  • Admin People is the human roster. Agent activity remains under its own Admin destination.

5.4.5 — 2026-09-28

  • Agent activity is visible in Admin. Review handoffs, runtime responses, finalized replies and watchdog resets for the last 30 days. Runtime-internal work and model costs remain outside Meet's view.

5.4.4 — 2026-09-28

  • Room policy belongs in Settings. Configure refusal of declared recording notetakers for the permanent room in Settings → Room on Mac and iOS; the room-wide control is no longer on Home or in the waiting room.

5.4.3 — 2026-09-28

  • Task completion responds at once. Web rows fade out, iPhone/iPad rows leave immediately, and Mac controls update in place. A failed write restores the row or its completed mark.

5.4.2 — 2026-09-28

  • The Mac app ships from the Mac. pnpm release builds, notarizes and publishes a release locally. GitHub Actions no longer builds the Mac app.

5.4.1 — 2026-09-28

  • Quick Notes have their own list in Work. Inbox stays above Quick Notes on Mac, iPhone/iPad and web, with each list keeping its own items.

5.4.0 — 2026-09-28

  • Work fits narrow panes. Subject view tabs wrap when the pane is narrow, keeping every view reachable without horizontal scrolling.

5.3.9 — 2026-09-28

  • Quick Note destinations respond as you type. Cached matches stay visible while broader search runs, and Return chooses the first match.

5.3.8 — 2026-09-28

  • Hide from Next removes events from Upcoming. Hidden events disappear from Home Upcoming on Mac, iPhone/iPad and web; their dimmed Calendar rows remain available to restore them.

5.3.7 — 2026-09-28

  • Agent eyes face forward. Static identities keep the white capsule eyes upright, level and centered, with only a slight projection onto the surface.

5.3.6 — 2026-09-28

  • Agent eyes match the reference. The two white capsules now use Bloub's tilted, projected sphere pose instead of reading as paired dots.

5.3.5 — 2026-09-28

  • Decisions waiting on you, in one queue. An agent asks through the MCP ask_decision tool with options, a recommendation and a default-by day, instead of a GitHub comment or a chat. The question heads INBOX on the web, the Mac and the phone, overdue first; one tap answers it, and opening it shows the context and links. The agent reads the answer back through now or ask_decision, and an answer on a subject is recorded as its decision.

5.3.4 — 2026-09-28

  • One star action per Team row on iPhone. People and Agents rows now use the peer's favorite, with the conversation as a fallback only when the peer has no favorite reference.

5.3.3 — 2026-09-28

  • Agents can ask structured questions in chat. On web, Mac and iOS, people can choose one or several options and explicitly submit. The same Eve conversation resumes with the selected answer.

5.3.2 — 2026-09-28

  • Work project context starts at the top. Inspector groups use the same left-aligned folding controls as the sidebar.

5.3.1 — 2026-09-28

  • Selected Work items stay marked in their list. Mac task, issue and Quick Note rows remain highlighted while their inspector is open.

5.3.0 — 2026-09-28

  • Agents have stable character avatars across Meet. Their flat palette color, soft form and projected white eyes derive from a stable seed, so Mac, iPhone and web show the same identity.

5.2.9 — 2026-09-28

  • The Mac tab bar stays on the canvas when switching tabs. Repaint AppKit's native track before it draws and disable the fade from its neutral default fill.

5.2.8 — 2026-09-28

  • Find a destination without scrolling. Quick Note and other long single-choice lists on Mac, iPhone/iPad and web now have type-to-filter search. Quick Note remembers destination lists for five minutes per owner, so opening filing again uses cached rows; typing can search beyond the first Core page.

5.2.7 — 2026-09-28

  • An event can reuse another event's image. Through the cms tool, image: {from_event_id} copies an earlier event's cover image onto a new one, with no new image made. The event's channel says so.

5.2.6 — 2026-09-28

  • Agent progress previews hide Markdown markers. The transient working line no longer shows literal asterisks around emphasized words; completed replies keep their Markdown formatting.

5.2.5 — 2026-09-28

  • Web row menus catch up with the Mac. On the web, task, issue, subject and inbox rows now have Open in Core. A project task has File on GitHub. Unread talk in the inbox and Team conversations have Mark as read, Mute and Archive. Every item shows its icon.
  • The header stays still when you switch pages. Search, Help, Settings and the tabs no longer move when a page has no + or no side panel button.

5.2.4 — 2026-09-28

  • Selecting text in Work no longer risks a crash. The inner split view no longer sends AppKit's selector checks back into itself.

5.2.3 — 2026-09-28

  • Active teammates read as active. Their presence dots use the accent green, and the inline Wave icon stays out of their row. Wave remains available from the person menu or profile.

5.2.2 — 2026-09-28

  • Close icons stay clear. Plain Close buttons no longer show a tooltip that repeats their accessible label.

5.2.1 — 2026-09-28

  • One star action per Team row. On the Mac, a person or agent with its own favorite no longer also shows a Star / Unstar action for its conversation.

5.2.0 — 2026-09-28

  • A deleted repeating event leaves Upcoming. When you delete one occurrence of a repeating event, Now and Upcoming no longer show it. Before, only the calendar hid it.

5.1.9 — 2026-09-27

  • The Events agent makes event images. Through the Meet connector, an agent that may write events can now ask for an event's cover image in a house look. Core makes it and saves it on the event, and the event's channel says so. Signals sessions get the real Signals event card.

5.1.8 — 2026-09-27

  • Work's inbox tells a full inbox from a broken one. When more documents have open comments than one read covers, the inbox shows the newest and says so in a grey line, not in the red "Couldn't read" line. On the web, the red line now names bookings, overdue tasks and assigned work in words, the same as the Mac.

5.1.7 — 2026-09-27

  • Mac and iPhone calendar match the web. On the Mac, Previous, Today and Next are toolbar icons, and the week view's subtitle names the month instead of repeating the days. Past tasks and milestones fade on Mac and iPhone, the same as past events.

5.1.6 — 2026-09-27

  • Edit events without leaving Meet. On the web, if you may edit website events, a published event's dialog on the Calendar has Edit…, and so does the event's page in Work. The editor has every field the website keeps for an event: title, summary, long description, image, date and time, place, host and partner, the generated-page fields, the sign-up link, and whether it is published. Save sends only what you changed.

5.1.5 — 2026-09-27

  • Home opens with what it showed last time. On the iPhone and the web, each Home card shows its last known content as soon as Home opens, then updates in place. The iPhone used to show placeholders until every card had loaded, so one slow card held up the whole screen.
  • Home stays put on the iPhone. Coming back to the Home tab no longer brings the placeholders back.
  • Fewer requests at launch. The iPhone and the web no longer ask for the same list two or three times when Meet opens. The web starts loading Home while it checks that you are signed in, not after.
  • Faster calendar reads. Meet reuses your Google Calendar access for up to an hour instead of asking Google again on every read.

5.1.4 — 2026-09-27

  • Recently finished lives in Mine's filter. On the web, Work's Mine filter has a Recently finished choice under Due. It shows the last seven days of finished work with Reopen, in place of the open list.

5.1.3 — 2026-09-27

  • Published events open in Meet. On the web Calendar, a published event's dialog shows its full record: image, host, partner, link, description, and whether the website shows it. Its first button opens the event's page in Work. The sign-up link is the second button.

5.1.2 — 2026-09-27

  • One search on the web. Work's rail no longer has its own search field. Search subjects and documents with ⌘K or the search button in the header.
  • Agents stay agents in Recent. Home's Recent and the search palette correct an agent that an older visit saved as a person.
  • Smaller day numbers on the Mac calendar. The date in each day's header is 15 pt, not 17 pt.

5.1.1 — 2026-09-27

  • Quick Notes on the web and the Mac work as on the iPhone. Home's Quick Notes card shows as many notes as fit in a set height, so short notes show more rows and long notes show fewer. A taller window shows more. See more adds the next set, and Show fewer closes them again.

5.1.0 — 2026-09-27

  • A quieter web calendar header. No page title and no week label. Earlier, Today and Later are icons. Reload is gone, because the page refreshes itself. Envisioning Calendars shows that it opens a menu.
  • Past rows fade. In the agenda, an event or task whose end time has passed is drawn at half strength.

5.0.10 — 2026-09-27

  • The calendar's task mark comes first. On the web, a task in the agenda shows its task mark before the title, as it does in Work.

5.0.9 — 2026-09-27

  • Calendar tasks look like the rest of the agenda. On the web, a task or milestone in the agenda lines up with the events around it, has no grey box, and has the same … menu: Open, the way to it in Work, and Copy Link. A task shows the same task mark it has in Work.

5.0.8 — 2026-09-27

  • An agent can write what its roster entry names. Agents on the Meet connector still only read, except for the writes listed under writes in their roster entry, such as CMS events. They write as the person who asked them. This is the first step toward the Events agent.

5.0.7 — 2026-09-27

  • Web calendar rows open like events. A task, milestone or published event opens in the same centred dialog as the event editor, not a side sheet. Its first link into Work is the main button.

5.0.6 — 2026-09-27

  • The web calendar scrolls in its columns. On a wide window the agenda and the timeline each scroll on their own, and the page stays put, like Work and Docs. Task rows in the agenda no longer draw a grey button box.

5.0.5 — 2026-09-27

  • Page skeletons that match the page. On the web, Work, Team and Docs no longer open on a few grey rows in the top left. Each draws its own columns while it loads: the sidebar with its real headings, and every list in the shape its rows will have. Work's Inbox and Mine, and document lists, do the same while they refresh. The bars no longer pulse.

5.0.4 — 2026-09-27

  • Automatic web deploys work again. Since 2026-09-23 every push to main failed to deploy the web app and Worker, so only hand deploys reached production. A check that compares against the last release needed a release tag that Cloudflare's build does not download. It now fetches that tag itself.

5.0.3 — 2026-09-27

  • Quick Notes on the iPhone holds its count. The number of notes on Home's Quick Notes card no longer changes as you scroll. The card shows as many notes as fit in a set height, so short notes show more rows and long notes show fewer. See more adds the next set, and Show fewer closes them again.

5.0.2 — 2026-09-27

  • The web switches pages like an app. Home, Calendar, Work, Team and Docs change under one header that stays put. The header no longer goes blank, and the workspace tabs no longer appear a moment after the page. The tab you click lights up at once. The page crossfades in, except with reduced motion. Each page's code loads while you hover its tab. Links stay real addresses, so ⌘-click, bookmarks and Back work as before.
  • Admin keeps the workspace tabs. Admin shows Home, Calendar, Work, Team and Docs in the header, as Settings does.

5.0.1 — 2026-09-27

  • Placeholders on the Mac and iPhone. Work panels, Docs, Core fields, peer info, devices and other lists show placeholder rows where the answer will appear, instead of a spinner or a "Loading…" line. As on the web, they show only when a load takes longer than a quarter of a second.

5.0.0 — 2026-09-27

  • One row per Quick Note on Work. On the web, an unfiled Quick Note showed twice in Work's Overview: once in INBOX and again in a Quick Notes list under it. It now shows only in INBOX, as on the Mac and the phone. Click it to edit or file it; its menu has File… and Delete. New Quick Note… is on Work's + menu. Home keeps its own Quick Notes card.
  • Version numbering back on track. 4.9.10 broke the single-digit rule, so this release rolls to 5.0.0.

4.9.10 — 2026-09-27

  • Calendar week gets the room. On the web the agenda list takes a third of the width and the week timeline two thirds, so the full week shows without scrolling sideways.

4.9.9 — 2026-09-27

  • Placeholders while the web loads. Lists, panels and connector pages show placeholder rows where the answer will appear, not a spinner. They show only when a load takes longer than a quarter of a second.

4.9.8 — 2026-09-27

  • Lime starred outline. On the web, the outline around a starred row's avatar or glyph is the brand lime.

4.9.7 — 2026-09-27

  • Full-width web chrome. The header and the footer span the browser on every page. Home keeps its two centred columns.

4.9.6 — 2026-09-27

  • Version in Settings. The web footer no longer shows the version and build. Settings, About shows them.

4.9.5 — 2026-09-27

  • Phone Prejoin camera-off orb. With the camera off, the phone's Prejoin preview shows the breathing thought-orb, as the web does, in place of the crossed-out camera symbol.
  • Tighter rows on the web. A row's second line sits right under its title instead of 12px below it, in the Team rail and every other list built on the same row. The Team rail's YOU row drops the extra status chevron; set your status from the … menu.

4.9.4 — 2026-09-27

  • Overlapping events cascade on the web calendar. Two events at the same hour no longer draw on top of each other with their titles mixed. They use the Mac and iPhone rule: each later lane steps in from the right, the front card keeps a readable title, and the cards behind it keep a strip you can click. Layer blocks such as availability share the column with events.

4.9.3 — 2026-09-27

  • Quieter row menus on the web. The … on a row is smaller and dimmer, with a faint well only under the pointer.
  • Starred rows outline the avatar. On the web, a starred subject, person, agent, conversation, task or issue draws an outline around its avatar or glyph instead of a star at the row's end. Docs rows keep the star.

4.9.2 — 2026-09-27

  • Web Docs graph. Improve node spacing and keep pan, zoom, and fit controls responsive as documents and links load.

4.9.1 — 2026-09-27

  • Web workspace fills the window. Calendar, Work, Team and Docs span the full browser width, header included, instead of a 1152px column. Above the phone, Work, Team and Docs drop the footer so the columns take its height.
  • Quieter footer. The Envisioning.com and version row is lower contrast, and Envisioning.com has no arrow.

4.9.0 — 2026-09-27

  • Prejoin camera-off orb. With the camera off, the web Prejoin preview shows the breathing thought-orb instead of LiveKit's grey silhouette.

4.8.9 — 2026-09-27

  • Calendar rows open into Work (meet#528). A task, milestone or published event on the calendar opens read-only where an event opens: the inspector on Mac, the sheet on the phone, a side sheet on the web. It shows when, project, assignee, status and notes, and links to your task in Mine, to any task on its project's Tasks pane, and to a milestone's project.

4.8.8 — 2026-09-27

  • Menu icons everywhere. Every web menu item and every Mac context menu item shows a glyph. One registry per platform (web/src/menu-icons.tsx, MenuSymbol in Swift) keeps the same verb on the same mark, and the phone's row menus draw from the Swift registry too.
  • Web calendar event menu. Right-click, Shift+F10 or … on an agenda row offers Join, Edit…, Hide from Next, Reply (Accept, Maybe, Decline) and Copy link. Hide from Next is the same owner-wide setting the Mac and the phone use.

4.8.7 — 2026-09-27

  • Native operational error logging. Mac and iOS now queue and upload privacy-safe, deduplicated error events when an owner session is available. Offline events stay in a bounded private spool; telemetry failures do not affect meetings.

4.8.6 — 2026-09-27

  • Operational error intake. Accept privacy-safe, rate-limited owner, guest, and Worker events; aggregate by safe fingerprint for 30 days with request-ID samples for server correlation.

4.8.5 — 2026-09-27

  • Shared native row actions. Drive Mac and iOS work row menus from the shared action registry, with destructive actions clearly marked on Mac.

4.8.4 — 2026-09-27

  • Mac Docs diagnostics. Add privacy-safe breadcrumbs for the window, rail/list, CRM refresh, and graph loading to help identify the trigger behind the reported Docs crash.

4.8.3 — 2026-09-27

  • Work reference updates. Keep the recovery window, issue-cache invalidation, feature coverage, and help pages aligned with the current implementation.

4.8.2 — 2026-09-27

  • Recently finished work. Review and reopen your completed or cancelled tasks and closed GitHub issues from the last seven days on Mac, iOS, and web.
  • Web Work actions. Open Inbox tasks in their details, accept or decline proposed work there, include event tasks in Mine, and keep Quick Notes actions available after filing.
  • MCP. The old create_task, update_task, cms_read and cms_write names are retired; use task and cms. Opening /connect directly explains how to pair Claude.

4.8.1 — 2026-09-26

  • Shared favorites. Stars stay in sync across Mac, iOS, and web, including mixed Home rows and saved Docs folders.
  • Docs links and graph. Save owner-private document links in Meet and explore connections between documents from the Docs list on Mac, iOS, and web.
  • Web action menus. Open actions from Home, Work, Docs, and Team rows and messages, with keyboard access for row actions.
  • Web interface refresh. Shared controls and layouts now cover guest entry, meetings, Home, Work, Team, Docs, Calendar, Settings, Admin, and public pages.
  • Calendar and Upcoming. All-day events no longer appear in the upcoming agenda, and booking and event views use the refreshed calendar controls.
  • Workspace refinements. Improve loading feedback and route stability, keep lists in place while views update, and clarify Team groups and room controls.
  • Mac thread refresh. Reopening Team or Work resumes polling and refreshes the open conversation, so new messages appear without closing and reopening it.

4.8.0 — 2026-09-24

  • Compact web message actions. Group replies, reactions, copy, decisions, edits, and withdrawal under one message menu. Open it from the menu button, right-click, or Shift+F10.

4.7.9 — 2026-09-24

  • Threaded replies closeout. Keep reply unread state on the conversation, pin eligibility to project/lead/partner/event Talk across Mac, iOS, and web, and document event lifecycle and flat nesting behavior. Closed-event write enforcement is a Core contract follow-up; past event Talk remains readable.

4.7.8 — 2026-09-24

  • Threaded replies in native subject Talk. Mac and iOS can reply to a project, lead, partner, or event message, jump to its parent through older pages, and keep withdrawn text and attachments redacted.

4.7.7 — 2026-09-24

  • Threaded replies in web Talk. Reply to project, lead, partner, and event messages; jump back to older parents, while withdrawn text and attachments stay redacted.

4.7.6 — 2026-09-24

  • Threaded replies in the Worker. Store reply parents in the existing conversation, reject invalid targets, return links through pagination, and keep withdrawn parents as redacted tombstones.

4.7.5 — 2026-09-24

  • Threaded replies contract. Add the optional reply-parent field to shared message and send contracts, preserving older messages and generating native models for Mac and iOS.

4.7.4 — 2026-09-24

  • iOS Docs links. Save HTTPS links from Docs and subject document views, browse saved links, and edit their notes.

4.7.3 — 2026-09-24

  • Native client updates. Report device versions, show recommended update banners, and link iOS updates to TestFlight.

4.7.2 — 2026-09-24

  • Native wire contracts. Generate Swift models for guest room and booking responses, CRM interactions, task candidates, and Upcoming preferences; Mac and iOS now decode these shared shapes directly.

4.7.1 — 2026-09-24

  • Guest entry bundle. Move inbox and subject-list browser rules into zod-free contract modules; the first-load entry stays under budget and rejects Zod in its preloaded chunks.

4.7.0 — 2026-09-24

  • Calendar OAuth recovery. Document how to restore a misbound KV namespace or guide owners through reconsent after permanent loss, including affected account selections and booking links.

4.6.9 — 2026-09-24

  • Agent guidance. Split operational notes into Apple, web, Worker, and release guides while keeping cross-client invariants in AGENTS.md.

4.6.8 — 2026-09-24

  • Guest entry bundle. Move browser-safe contract values and guards out of Zod schema modules, restore the 160 KB entry budget, and reject Zod in the guest entry chunks at build time.

4.6.7 — 2026-09-24

  • meetctl socket contract. Define the local CLI protocol in shared Zod schemas and generate the Swift models used by both the app and meetctl.

4.6.6 — 2026-09-24

  • Worker response contracts. Every successful JSON response is checked against a shared contract, and fast verification guards against drift.

4.6.5 — 2026-09-24

  • Recording notetakers. Declared notetakers can join through a bot-friendly link and wait for owner admission. Owners can refuse them per room, attribute them to a teammate, and see their recording status and consent in the meeting.

4.6.4 — 2026-09-24

  • Calendar Upcoming. Subscribed .ics feeds can appear alongside selected Google calendars in the shared Home agenda across Mac, iOS and web.
  • Interface refinements. The Home sweep pauses while Settings is frontmost, and the iOS thread composer keeps its send control inside the available width.

4.6.3 — 2026-09-24

  • Agent discovery. Publish MCP tools and door grammar in /llms.txt, expose the wrapped routes as OpenAPI 3.1, and keep crawler exclusions consistent across the Worker and web asset.

4.6.2 — 2026-09-24

  • Verification. Add a fast Worker, web, contracts and docs gate for changes without Swift; CI runs it on pull requests and every push to main. The full gate now refuses to overlap another Xcode build in the shared DerivedData.

4.6.1 — 2026-09-23

  • MCP meeting artifacts. Structured reads now separate action items, decisions, open questions and attendees, and include transcript segments. Filed actions and recorded decisions carry their doors; guests without an email remain name-only. Existing transcript clients keep their response.

4.6.0 — 2026-09-23

  • MCP tools. Fold task create/update into task and CMS read/write into cms, keeping the write-consent gate. The old names were retired early, in 4.8.2. The initialized server version reports the build commit.

4.5.9 — 2026-09-23

  • MCP changes. Read message edits, withdrawals and finalized meetings from one stable, paged cursor across the member's conversations and own room.

4.5.8 — 2026-09-23

  • MCP writes. Retry keys return the first result instead of repeating a write; Admin and connector history identify replayed calls.

4.5.7 — 2026-09-23

  • Watch complications. The next-meeting complication shows the Envisioning glyph, and switches to a countdown 10 minutes before a meeting. Tapping the glyph opens a new note. A new Today's work complication shows what is overdue and due today, and opens a Today list on the watch.
  • Watch. The watch app no longer lists guests at the door. Admit from the knock notification, which still appears on the watch.

4.5.6 — 2026-09-23

  • Work sidebar. Organize subject context into top-aligned expandable groups across Mac, iOS and web. Selecting a person opens their direct message in Team.
  • Calendar (Mac). Day, week and month grid text is smaller by default.

4.5.5 — 2026-09-23

  • Lead editor (Mac). Selected contacts show their email and selected organizations show city and country when Core provides them.
  • Calendar (Mac). Open tabs identify the selected event, document, conversation or work item.
  • Work. Overview tasks and issues open in the inspector beside their lists. Subject context is visible on Mac, iOS and web, with people rows opening their direct message in Team; subject editors show useful details for the selected organizations and contacts.
  • Mac task fields. Long text stays on one line instead of wrapping and clipping inside the field.

4.5.4 — 2026-09-23

  • Work Overview (Mac). Tasks and issues opened from INBOX or MINE, and Quick Notes or documents opened from INBOX, appear in the right inspector while Overview stays visible. Direct Work and Search destinations keep the middle reader.

4.5.3 — 2026-09-23

  • Watch complication. The circular complication shows the Envisioning glyph when there is no upcoming meeting.

4.5.2 — 2026-09-23

  • Calendar settings (Mac). Upcoming shows which Google calendars are subscribed.

4.5.1 — 2026-09-23

  • Work columns (Mac). Overview's INBOX and MINE, and a subject's Talk and Work, each scroll on their own, sit on distinct grounds, and keep the proportion you drag them to when the window resizes.
  • Quick Notes in Work (Mac). Opening a note from INBOX files it in the right sidebar, like a task or an issue, instead of a sheet.

4.5.0 — 2026-09-23

  • Who's on it (Mac). Every conversation's sidebar opens with TEAM — the people who can read it and the agents attached to it, each with presence. Work subjects show every member plus the project's own agent; Everyone shows every member; a group shows exactly its members.

4.4.9 — 2026-09-23

  • Work rail (Mac). INBOX and MINE move off the sidebar into Overview's two columns, each with its filter menu beside the header. The rail keeps Overview and SUBJECTS.
  • Project organization (Mac, iOS). A project can belong to an organization, chosen from Core's directory in the project editor.
  • Readable without JavaScript (web). Every public page is prerendered, and /changelog and help pages answer Accept: text/markdown with their source, so crawlers and language models read the same words people do.
  • Launch card (Mac). The meeting's Use button is full CTA height.

4.4.8 — 2026-09-23

  • Mac tabs. The native tab bar stays opaque, preventing page content from bleeding through it.
  • Quick Notes (Mac). The visible entry count now follows the list viewport, using the available space more efficiently.
  • Team tasks (web). Choosing a colleague's shared task opens its editor in Work.

4.4.7 — 2026-09-23

  • Mac text selection. Selected text in pill fields and transcript views uses a subtle neutral highlight that keeps the text ink and focus border clear.

4.4.6 — 2026-09-23

  • Floating documents (Mac). A document can open in a small window of its own and stay in view, editable, while you work in other apps (meet#391). Window › Float Document (⇧⌘F) floats the document open in Docs or Work; Open in Floating Window does the same from a Docs row. Pinned, the window stays above every app and on every Space; its pin makes it an ordinary window. Floating documents come back where they were when Meet starts again. While a document floats, the inspector on it offers Bring to Front instead of a second editor, so two editors never fight over one save.
  • Home type labels (Mac, iOS, web). Recent and Starred tiles show each entry's type beneath its title.

4.4.5 — 2026-09-23

  • Connectors (Worker, web). The groundwork for the Gmail and Drive imports (meet#394). A member can grant Meet read access to their own Gmail and Drive from Settings, and take it back; one Google grant holds both, on its own Google Cloud project, so it never touches Calendar. The section stays hidden until that project's client is set. Nothing is imported yet: the imports are meet#258 and meet#255.
  • Connectors (Worker). Every connector shares one ledger, now keyed by member so a mailbox keeps its own cursor, and one reading of who an address is: a member, a company, a consumer mailbox, or a machine, matching Core's rules. docs/CONNECTORS.md holds the rules they obey.
  • Inline Settings connections (Mac). Connect, reconnect and disconnect actions stay beside their connection status.

4.4.4 — 2026-09-23

  • Docs (Mac, iOS, web). FOLDERS on the rail between BY LEAD and LIBRARY, one row per top-level folder. On the Mac a document dragged onto a folder moves there, onto a project or lead takes that subject, onto a WORK category takes that category; ⌘-click and ⇧-click select several, and a drag or a row menu carries them all. Unfiled is a WORK row while anything has no home. Every native row has a File menu: Folder, Category, Project, Lead, ticked for what is already so.
  • Docs. A row reads when it was written, then "edited" when the last edit was another day, so an import no longer stamps every row with one date. A link save is read by the same reader as chat link cards; Docs no longer fetches pages, and an http:// link saves marked failed.
  • Work (Mac, iOS, web). Close issue, Close as not planned and Reopen on every issue row menu. The Subject Overview's tasks take the shared task menu on the Mac and the phone.
  • Granola (web). Proposed leads: imported meetings a confident answer pointed at a subject Core does not have yet are grouped by company, and one lead is offered per company, not per meeting. A company needs two meetings and an organization Core can hang the lead on; consumer mail is skipped. Nothing is created without a tap. Org admins only.
  • Granola (Worker). Filing a note personal takes it out of the company: its Docs transcript is purged, Core gets the kind with no content, and later imports leave it alone. The index keeps a guest's name and email domain, never the address.
  • MCP. A refused or failed tool call says what to do next: a code, a message, a hint, whether to retry, and a door when there is one. A read-only connection that tries a write is told to allow writes on /connect.
  • Features (web). Caught up with 4.1 to 4.4.3: GitHub and Slack are live connectors, Beeper is next, Launch & Record covers every call link, MCP lists its whole write set, and Calendar, Work, Docs, Search, Core and the platform tiles name what shipped since.

4.4.3 — 2026-09-22

  • Edit details… opens (Mac, iOS). It never had, for a project or a lead. Core answered a request for one subject with a browse row — a title and a subtitle, no status, no dates, no notes — and Meet asked for the row it could edit, so every open failed with "The meeting service couldn't complete the request." Partners and events were never affected. Fixed in Core: an id now answers with the subject to edit.
  • Contacts on a project or a lead (Mac, iOS). Edit details… has a Contacts field: many on a project, one on a lead, which is how Core holds them. An existing project opens with the people already on it. Partners and events keep their contacts in Core.
  • Organizations and contacts are typeahead (Mac, iOS). The organization picker used to fill its menu with every organization before you typed a letter. Both pickers now list nothing until you type, and what comes back is Core's own ranked answer.
  • Beeper on Connectors (web). A card beside Granola, GitHub and Slack, so the page is the whole inventory rather than the sources that happen to have shipped. It reads Not configured until the Mac reader lands.

4.4.2 — 2026-09-22

  • Quit to Menu Bar (Mac). The Meet menu has Quit to Menu Bar beside Quit Meet. It closes the windows and the Dock icon, and Meet keeps running in the menu bar: recording and notices go on. Opening any window brings the Dock icon back. It is off during a call. The menu bar menu now ends with Quit Meet.

4.4.1 — 2026-09-22

  • Admin → Jobs (web). Each job now says when it last ran and who ran it, or Never before the first run — the thing worth knowing before running an idempotent job over the whole account again. The runs join the Changes trail beside every other admin write.

4.4.0 — 2026-09-22

  • Admin (web). Four destinations by verb under one nav: Operations, People, Connectors, Jobs. Connectors moved in from /connectors and absorbed /admin/org's Configured table, so the org's outside sources are one page with a page per source beneath it. The one-off actions — fill the ledger, retitle, discard short meetings — moved off Operations onto Jobs, so Operations is a read again. Old addresses redirect. Meetings is a member page, not Admin.

4.3.9 — 2026-09-22

  • Devices (web, Mac). The chevrons beside Mute and Camera in a call are back on the web, and Mute's lists speakers as well as microphones — on the Mac too, where Speaker had only been in the Meeting menu. A headset is one gesture, not a trip to Settings.

4.3.8 — 2026-09-22

  • Work, Docs, Team lounge (Mac). The same hold-still rule as 4.3.7's Team rail: the Docs rail redraws only when a row changed, and every rebuild of the Work rail, the Browse column and the lounge grid keeps the scroll position instead of hopping back up.

4.3.7 — 2026-09-21

  • Team (Mac). The rail and the person panel hold still. Every roster poll rebuilt the sidebar rows and the open person's panel, once a second while an agent was answering: hover lost, the scroll clamped back up from the bottom, and the panel restarted its Core and calendar reads. Both now redraw only when what they show changed, and keep the scroll position when they do. An agent's KEYS list draws one key per line, set keys in the accent.

4.3.6 — 2026-09-21

  • Spatial audio (Mac, iOS). Less delay: the stage starts a voice after one 5 ms frame instead of 20 ms, never holds more than 40 ms, and the Mac's output pulls 128 frames instead of 512.

4.3.5 — 2026-09-21

  • Spatial audio (Mac, iOS). A voice glides to where its tile went instead of jumping, as on the web. On iOS the voices follow the cameras into the screen-share filmstrip and back.

4.3.4 — 2026-09-21

  • Spatial audio (Mac, iOS, web). Each voice plays from where that person's tile is on the stage, so the ear finds the speaker before the eye does. HRTF on headphones, plain panning on speakers; screen-share audio stays centred. On by default; the switch is in Settings > Audio on the Mac, Settings > Calls on iOS, and the meeting settings dialog on the web. Best on headphones.

4.3.3 — 2026-09-21

  • Slack import (web, Worker). /connectors/slack lists every channel the token sees. Map one to a project, a lead or Team and its history lands in that channel as ordinary messages that keep their original time; an hourly pass keeps it current. Off until the token is set.
  • Contracts (Mac, iOS). The calendar, connected Claudes, quick notes, the interface language and the Home layout answer in zod; both clients decode the generated types.

4.3.2 — 2026-09-21

  • Contracts (Mac, iOS, watch). One mechanism: every meeting-control, session, device, admin, presence, lobby and connection response is a zod schema, and MeetContracts carries Swift types generated from it. The three native clients decode those and drop their hand-written copies. Wire enums are open: a value this build has never seen decodes as itself.
  • Conversations (Mac, web). An open thread reads every 4 s while you look at it, every 30 s while the window or tab is behind something else, and not at all while hidden; once on return.
  • Worker. The artifact queue runs one consumer at a time, and a failed job waits 30, 60, then 120 s before its next read.

4.3.1 — 2026-09-21

  • Connectors (web). /connectors lists every source of meetings, one card each: Granola with what is in the CRM, what waits for filing, the last webhook and import, and a button to import everything; the Mac recorder beside it. Granola's import list is now /connectors/granola; /meetings keeps the Mac recordings.
  • Suggested filing (web, Worker). An imported Granola note that waits for filing can carry a suggestion: the kind and the lead or project, with how sure the model is. One tap files it; the select still does anything else. Nothing is filed without a person. What people confirm or correct is kept, so the threshold comes from our own meetings.

4.3.0 — 2026-09-21

  • Home (Mac, iOS, web). One Home on three surfaces. Two columns when the surface is wide — a phone in landscape included — packed by height with the person's order kept inside each column. Every row leads with the same mark in a well; the agenda's calendar rows on iOS and web no longer carry a bare glyph on the right. Marks are neutral ink on every surface; only your own room's glyph and a late row's mark step up.
  • Work (Mac, iOS, web). Subject, RECENT and record marks are neutral ink; the Envisioning glyph in the "Everyone" well keeps the accent.

4.2.9 — 2026-09-20

  • Work (Mac, iOS, web). The SUBJECTS rail ranks itself: starred, needs you, unread, overdue, an event today or soon, open work, recent activity. The Sort by, Group by and Starred only menu is gone; Browse still lists every subject.
  • Features (web). A MiniMeet showcase of Home, Work, Team and Docs sits under the product tiles.
  • Pricing (web). /pricing says what Meet costs per seat and per tool.
  • Talk (Mac). Deleting inside a handle no longer leaves the caret stuck while the completion list holds Backspace.

4.2.8 — 2026-09-20

  • Home (Mac, iOS). Initial module data now settles into one projection with fixed loading shells; Mac columns keep their module ownership when a late answer is empty, and iOS no longer feeds measured content height back into scrolling.
  • Home (Mac, iOS, web). Commercial activity and public Envisioning events are shared modules with the same fixture-backed ordering and loading rules on every surface.
  • Work (Mac, iOS, web). Subject overviews and task actions now share one contract, including consistent task, note, comment and issue marks across rails, lists and recent items.
  • Calendar (Mac). Event inspection and creation keep their fields and writable-calendar choices aligned with the calendar sidebar and inspector.
  • Language. The Apple string catalog is synchronized with the current code, including the new Portuguese (Brazil) translations and error-string policy.
  • Launch (Mac). Fixed a regression where Meet started with its menu bar but no window: a Home layout constraint threw during launch and the main window was never built. The window now also appears before the stored owner session is read, so a Keychain approval sheet can no longer hold up launch.
  • Work (Mac, iOS, web). MINE and INBOX take contextual filters: MINE by due section and by where an item came from, INBOX by source — talk, task, note, sales, comment, booking, overdue, assigned, interest. The choice is remembered per surface.
  • MCP. cms_read and cms_write put website content through Core as the member, keyed by CMS entity, with the meet://cms/registry resource listing what can be edited. Writes go through a dedicated CMS broker identity; there is no delete, only unpublish, and an events write narrates in the event's channel.

4.2.7 — 2026-09-20

  • Home. Integrated the optional Events card with the shared full-width Home panel and row treatment on Mac.

4.2.6 — 2026-09-20

  • Home. Added an optional Events card on Mac, iOS, and web, backed by the published Envisioning CMS event feed. Rows show when and where an event is happening and open its public or registration link when available.

4.2.5 — 2026-09-19

  • Work (Mac). The inspector shows an event's WHEN, WHERE, LINKS and WEBSITE on every pane. An event's Projects section appears only when a project links to it.
  • Work (web). Organization logos draw on Work rows; the page let images come from the origin only.
  • Mac. Logos and faces fill the round well instead of sitting letterboxed. A field on glass carries a hairline that clears its fill.
  • Calendar (Mac). One timeout no longer says the events did not refresh; the read retries once, and Copy on the error carries the code.
  • Talk (iOS). The composer field takes the row's width, so Send stays beside it.

4.2.4 — 2026-09-19

  • Search. A project or lead in ⌘K takes verbs the way a person does: → (Mac, web) or the chevron (phone) shows New task, New issue, New document and Start room about this, each opening the subject's own editor or hosting your room filed under it. An event takes New task; a partner takes none.

4.2.3 — 2026-09-19

  • Calendar. Describe the event: one sentence above the new-event form, on the Mac, the phone and the web, fills in the title, the times, the place and the guests. "Coffee with Ana Thu 14:00 at Ground, 45 min" is ready to add; nothing is saved until you say so. A sentence Meet cannot read on its own goes to the notes engine, and the form says so. "Every Monday" stays in the title.

4.2.2 — 2026-09-19

  • Work. Move to…: a task goes onto another project or lead with one action, on the Mac, the phone and the web. Nothing else about it changes. A status or internal meeting's action items file on the meeting itself once Core knows meetings as a place for tasks; from there, Move to… puts each where it belongs.

4.2.1 — 2026-09-19

  • Work (Mac, iOS). Events are a subject kind: EVENTS in Browse and the rail, an Event pane beside Partner, and tasks filed on an event.
  • Calendar (Mac). Fields inside a glass panel read as translucent ink. The event inspector drops its heading; Starts and Ends are full-width rows with the day beside the clock.
  • Settings (Mac). Sign-In, Calendar, Core, Docs and Keep share one connection group: Connect under the row, Disconnect inside it.
  • Stage (Mac). The self-view name, share badge and PiP controls draw on the same scrim as the floating layer.
  • Language. 636 more strings on the Mac go through the catalog, including button titles, notification actions and stored titles.

4.2.0 — 2026-09-19

  • Notes → Work. The action items in a meeting's notes become proposed tasks on the meeting's lead or project, one per line, with the owner as said, the deadline as said, the quote and a link back to the transcript. Accept or Decline in Work, as with any proposal; nothing is assigned or dated until someone accepts. Same judgment that wrote the note, one call, filed once however often notes are rewritten. A status or internal meeting, or an unfiled recording, proposes nothing until it is filed under a subject.

4.1.9 — 2026-09-19

  • Home (Mac). A window wider than 912pt lays Home out in two columns of 420pt; narrower, one column. The columns follow the window as it is resized, both ways. Each column is as tall as its own panels. RECENT shows as many whole tiles as its column holds.
  • Calendar (Mac). The event inspector form no longer paints its own ground over the panel.
  • Lounge (Mac). The Notes to self strip stays put on hover.
  • Interest page. One column under the sections, and no notification mail.

4.1.8 — 2026-09-19

  • Notes. What Docs and Core are owed for a meeting is written down before it is sent, per destination, and retried until each confirms: a Core or Docs outage at the end of a meeting, a rename or a deletion can no longer lose the copy. Deleting every line of a transcript retires its Docs document. The transcript page on the web says what each destination has ("Docs current · Core pending") instead of promising it follows, and says when the notes predate the transcript. Admin: /api/admin/deliveries lists what is owed; /replay sends it.

4.1.7 — 2026-09-19

  • Work › INBOX. Proposed tasks and open comment threads past the first page are read, page by page. When there are more than the read can carry, or the server cannot page, INBOX says the source is short instead of showing a smaller inbox as complete.

4.1.6 — 2026-09-19

  • Search (web). An event row opens the event whatever week Calendar has loaded: the week moves to it. An event outside the range Search covers says so, with Dismiss; a lookup that failed says that instead, with Retry. A search that could not reach the server says "Couldn’t search" with Retry, not "Nothing matches".

4.1.5 — 2026-09-19

  • Notes (Mac, iOS). Transcript text waiting to upload can no longer be lost when a retry from the background overlaps the meeting still writing it. "Upload pending" now means the server lacks text this device has, not that the meeting is still open. A meeting that ended without a network or signed out goes out with the next connection or sign-in, and Settings › Transcription counts it as soon as it is waiting.

4.1.4 — 2026-09-19

  • Web. Signing out while a list was still loading no longer brings the last person's rows back when it lands; the page shows the sign-in door instead. Opening a page with no session clears what the browser kept for the last owner at once.

4.1.3 — 2026-09-19

  • Calendar. The guest mark sits at the bottom-right of an event block; the platform mark keeps the top-right.
  • Search (Mac). The field is 140pt and its focus ring is a stadium.
  • Mac. Rail rows no longer lift under the pointer; selection keeps the border and unread keeps the dot.
  • Features (web). Vendor and standard names link out. The infrastructure tile is Technology, and Under the hood has no accent.

4.1.2 — 2026-09-19

  • Home (Mac). Each module column is as tall as its own panels, and RECENT shows only whole tiles.
  • Calendar (Mac, iOS). The Subject control appears only on an Envisioning Google calendar. A personal account has no CRM to file to.
  • Home (web). Sign in with Envisioning is a tile beside the Mac and iPhone downloads.
  • Changelog (web). A commits-per-day grid sits above the notes.

4.1.1 — 2026-09-19

  • Settings. Appearance gains Language: System, English or Português, synced across your Mac, phone and browser. The setting arrives first; the words follow in a later update.
  • Work. A guest who books a time on your page lands in INBOX, on the Mac, the phone and the web: who, when, and where they are from. The row opens the event in Calendar; file it under a subject there and it leaves, or Dismiss it, or let the meeting start. A guest who moves or cancels the booking is a row again, saying what it was. Your own overdue tasks, and tasks or issues that landed on you in the last two weeks, are rows too: Done, Seen, or open. Settings › Work › Inbox has one switch per source, on the Mac, the phone and the web; it follows your account.
  • Accessibility. A control with a word on it carries no tooltip; an icon-only control keeps one. VoiceOver hears who joined, who left and whose hand went up. Increase Contrast on the Mac and in the browser turns every hairline into a line and muted text into ink. Every web page starts with a skip link. In a meeting the keyboard lands on the first control after joining; Escape closes People or the reaction tray and puts the keyboard back on the button that opened it, and closing Chat on the Mac does the same. Features gains an Accessibility tile.
  • Accessibility (iOS). Increase Contrast turns hairlines into lines and muted text into ink, the same values as the Mac and the web, and steps the lime down to olive as ink on a light page. Differentiate Without Color gives each presence dot a shape: a ring for active, a bar for busy, a square for in a meeting, a cross for unavailable.
  • Text size (Mac). Settings › Appearance › Text: Default, Large or Larger. Rows, cards and the meeting rail grow together; avatar initials, tile badges and the calendar month and week grids keep their size. A window you open next uses it.
  • Calendar. Travel time on an event: Off · 15 · 30 · 45 · 60, in the editor on Mac, iOS and web once the event has a location. Google events only.
  • Alerts. The Mac warns before a meeting the way the iPhone does, with Join. Both let you pick how far ahead under Settings › Notifications: 1, 2, 5, 10 or 15 minutes, per device.
  • Widgets (iOS). Today's agenda and Today's work beside Next meeting: what is left of today, and what is overdue or due today, each row a door.
  • Glance (iOS, watch). The Lock Screen, the Dynamic Island, the Home Screen widget and the watch show one shape: the state word, the title and calendar, one number, one action, who. A tap lands on the meeting, with or without a link. The watch picks the meeting Home picks.
  • Devices. Settings › Account lists your signed-in Macs and phones by name on Mac, iOS and web, each with Sign out. A signed-out device is refused at its next request, not at its next renewal. Admin › People opens the same list under a person's device count; signing a device out is allowed on yourself. The iPhone keeps its session out of backups.
  • Agents. An agent's card says which model it runs on, which build is answering and when it was made, which tools it can call and which of those ask first, and links to its home, readme and repository. Skills and tools are tiles, a name over its description. Team › About adds its connections and schedules. All of it is what the runtime reports; Meet types none of it. Below it, Activity is what Meet counted: jobs all time and in the last 30 days, resets, the last reply, and how long a reply usually takes.
  • Calendar. Forward a booking, a ticket or a meeting request to calendar@ on the inbound domain and Home proposes the events it describes, on the Mac, the phone and the web: each with Add and Discard. A line you write above the forwarded mail is an instruction: "only the outbound leg". Add writes to your primary Google calendar. The mail is read once and not kept; a proposal you do not answer leaves after a week. Repeating events are not created in Meet, on purpose: Google Calendar and Apple Calendar do that; Meet shows them.

4.1.0 — 2026-09-19

  • Search. What people said: a line in a conversation you can read is a result that opens it. Each conversation is asked; nothing is indexed.
  • Meeting. The live transcript keeps 500 lines on Mac, iPhone and web.
  • Calendar (web). An event can be all day, and its days can change; the last day reads inclusive. A recurring Google event asks whether a change or a delete is for this event or the whole series.
  • Search (iOS). A Core entity result opens that entity in Work, like the Mac.
  • Home (web). Schedule… sits beside the room link and opens Calendar's editor on a new event with the room link, attendees and a calendar, the way the Mac's launch card does.
  • Home (web). The Work card lists what needs you before what is due: proposed tasks, sales touches and document comments ahead of overdue and today's tasks, like the Mac and the phone. It stays up when only the inbox has something. Its rows carry a right-click menu: Complete, Accept, Decline, Dismiss, and the row's door.
  • Home (Mac). The modules match the phone and the browser: a Messages row shows when the last message arrived and draws the unread dot, Invitations counts what is pending, and Work keeps NEEDS YOU in the title with the overdue and due-today count at the top-right, five rows.
  • Home (iOS). The Messages card drops the Open Team / Open Work button; each row is the door.

4.0.9 — 2026-09-19

  • Search (Mac, iOS). An issue result opens in Work's own issue view, like the web; github.com only for a reference that does not parse.
  • Work (iOS). Task details format Due as a day and Updated as a 24-hour clock, like the list row and the web.

4.0.8 — 2026-09-19

  • Work (web). The task editor reads the due date as the local day, so a title edit no longer moves the date. Filing a Quick Note as a task keeps the note as the task's notes. Search lists the Work settings door.
  • Calendar (web). The week refreshes when you return to the tab and every two minutes while it is visible.
  • Settings (web). Failures show the same notice as the rest of Meet, with Copy. Appearance has the Grid texture switch.
  • Features. The matrix says artifacts are read in Meet, not emailed.

4.0.7 — 2026-09-18

  • Claude. Connected Claudes under Settings › Account on Mac, iOS and web: client, scope, last call, Revoke. Claude Code pairs over the same OAuth as claude.ai. Writes (send_message, create_task, create_issue, schedule) sit behind a write scope you choose on /connect, off by default. now() carries your quick notes.
  • Work. Keep opens in the app under Work › Keep… on Mac and iOS. The Sales toggle lives in the SUBJECTS menu on every surface. Quick Note rows drop Copy Note.
  • Docs. Every Docs list paints its last snapshot before Docs answers, on Mac, iOS and web.
  • Notes. The File under picker lists starred subjects first, with a star.
  • Rooms. The calendar event is the one invite; Send Invite Link is gone. A member walks past Room entry on a permanent room too.
  • Meeting (web). The stage follows the window, a caption keeps a reading measure, and the self view can dock into the grid. The bar's microphone, camera, share and chat icons sit centred; the device list draws one line per row and marks the active device with the check only.
  • Keep. Settings on Mac and iOS carry the Keep connection and the ways the key unlocks, with a passphrase generator. The Mac's Keep window has three columns. Keep on the Mac unlocks with the passphrase; the passkey path waits on a Developer ID profile with Associated Domains.
  • Talk. A subject channel has a forwarding address. The web shows it as an envelope in the channel header, the Mac under EMAIL in the Work inspector and in Talk's context menu, iOS in the conversation menu; the tap copies it. A forwarded mail lands in the channel as one message from the member, the original bound as an attachment. Off until the mail domain is routed.
  • Calendar. An event on the owner's room mints one Meet token per attendee through Core; a delete cancels them.
  • iOS. Drawers confirm in the accent capsule and close with an X.
  • Home. The phone's cross-device explainer lines are gone; the share button is square.

4.0.6 — 2026-09-18

  • Home. RECENT is a strip of tiles, not rows: a subject's logo, a person's face or the kind's glyph over the name, the shape Work's tiles had. A direct message you opened is the person, one tile. A subject's logo now rides on the search row (image), so the palette's recents and Home read one thing.

4.0.5 — 2026-09-18

  • Everywhere. The wave, a hand-off, a status change, the calendar's receipts (Invites sent, Subscribed, Removed) and the invite-link receipt all say it the one way now, as a toast. The phone's Calendar banner and the Team footnote are gone.

4.0.4 — 2026-09-18

  • Home. A RECENT module on every surface: the subjects, conversations and documents you opened last, newest first, one list with the search palette's recents. Work, Team and Docs write it when you open a thing by hand. Off or reordered from Settings → Home.
  • Work. Overview no longer opens with a row of "recent" tiles, and INBOX no longer folds a RECENT tail under it. Both said "recent" and meant different things; Home's module is the one recents list now.

4.0.3 — 2026-09-18

  • Everywhere. One toast on every surface: a capsule at the bottom that says what just happened (Link copied, Waved at Ana, Cut “Standup”) and leaves on its own. Docs on the Mac no longer writes it into the window title; the phone's Docs pane now says it at all.

4.0.2 — 2026-09-18

  • iOS. One filled green + on every surface: Calendar, Work, Team, Docs, Tasks, Issues. The Docs rail creates a document. Liquid Glass on the floating layer; call controls float on the stage, and the drawer is glass. Core is its own page behind the Work menu. A Quick Note on Home opens in the drawer. The task title is one line.
  • Home. The hero joins ten minutes before the start, in the app.
  • Work. The SUBJECTS header carries one menu, stored per person. Keep is in the Work menu on the Mac and the phone, opened in the browser.

4.0.1 — 2026-09-18

  • iOS. Every editor sheet (New task, New issue, New event, and the rest) draws its rows on the ladder, not in the system grey. The live transcript list too.

4.0.0 — 2026-09-17

  • iOS. The toolbar + on Issues and Tasks is a filled circle, the same size as the back chevron beside it.
  • Mac. Record this meeting uses the default microphone; the picker is gone.

3.9.9 — 2026-09-17

  • A full room from one venue. A hundred people on one Wi-Fi can knock and be admitted inside a minute; the door used to refuse after the twelfth. The knock and presence limits are per room and address now, and sized for the cap (meet#165).

3.9.8 — 2026-09-17

  • Transcripts. The task extractor is told who is in the room, spelled the CRM's way, and a room started from a calendar card knows its invitees' names before anyone speaks (meet#155).

3.9.7 — 2026-09-17

  • Docs. The Matrix bridge study: agents reachable from Element as ghosts on the planned appservice, federation kept off (meet#159).

3.9.6 — 2026-09-17

  • iOS. Ending your own room while other people are in it asks first, with the count, the way the Mac does.

3.9.5 — 2026-09-17

  • Transcripts spell names the way the room does. A name the recognizer heard as it sounds — Tomás, Fábio, Michel — is written the way the roster and the team spell it, in the captions, the panel, the notes and Core's record. Plain words are never touched, and a name two people could be is left as heard (meet#155).

3.9.4 — 2026-09-17

  • /room/team: the host leaves, the meeting stays. Stepping out of the internal room no longer drops everyone else: the button reads Leave on the Mac and the phone, the notes cover the host's time, and the call goes on. Ending it for everyone is its own act — Meeting › End Meeting for Everyone on the Mac, More › End for everyone on the phone — and any member may take it. Personal rooms are unchanged (meet#160).

3.9.3 — 2026-09-17

  • Ops. scripts/load-lobby.mjs puts a hundred guests through a room's lobby and reports what held; the local numbers are in docs/OPERATIONS.md. The room is fine — the per-IP knock and presence limits are what refuse a full session from one venue (meet#165).

3.9.2 — 2026-09-17

  • The calendar offers to record every meeting. One minute before an event with a Zoom, Teams, Webex or other conference link, the Mac asks "Launch & Record" the way it did for Google Meet alone: the link opens, the recording starts with the event's title and attendees. A Zoom call started this way reads its roster and stops when the call ends.

3.9.1 — 2026-09-17

  • Mac. A ⌘K event result outside the weeks on screen opens the event instead of doing nothing (meet#191).

3.9.0 — 2026-09-17

  • CI. A pull request now runs the Mac and iOS test suites on a macOS runner when native sources change, beside the JS gate (meet#194). One iOS calendar test that pnpm verify compiled but never ran had been red since narrow layouts began stepping a day at a time; it is green.

3.8.9 — 2026-09-17

  • Docs. docs/MAP.md is the one page that says what Meet is today — surfaces, who owns what, the invariants, capabilities as last verified, and which older documents are history rather than instructions (meet#196).

3.8.8 — 2026-09-17

  • iOS. A ⌘K event result opens that event, on its day, instead of landing on the Calendar tab (meet#191).

3.8.7 — 2026-09-17

  • Worker. A meeting's filing job that fails three times is kept on a dead-letter queue instead of being deleted, and an admin can send it again with POST /api/admin/replay-jobs (meet#187).

3.8.6 — 2026-09-17

  • Inbox. An open comment on a document nobody has edited in a fortnight no longer drops out of INBOX. When there are more commented documents than one load reads, the inbox says some comments were not read instead of looking complete (meet#190).

3.8.5 — 2026-09-17

  • Mac. A link in a message is the accent, not the system blue, in the thread panes, in-meeting chat and the Work reader. In-meeting chat now selects across bubbles, the way the thread panes do.

3.8.4 — 2026-09-16

  • Noise cancellation for browser guests. The microphone publishes through Krisp, on by default, with a Noise cancellation switch in the meeting Settings that this browser remembers. It runs in the page and sends no audio anywhere. When it cannot start, the browser's own suppression stays on and the debug report says which one is running. On the Mac, Settings › Audio › Mic Modes now says whether Meet captures through Apple voice processing, the gate for Voice Isolation; the phone's microphone menu opens Mic Modes and says the same. (#202, #158, #132)
  • The whole summary, in the reader. An interaction's reader on the Mac, the phone and the web draws Core's full summary as Markdown, not the one-line preview.
  • Rename a speaker. In the transcript view, click a name to rename it on every line it has — "Speaker 2" becomes the person. The Docs document and Core follow.
  • iOS. The phone answers the hand. Mute, camera and hand raise buzz when they change; a reaction, a knock at the door and an incoming ring tap; admitting, declining, muting and removing report their outcome; a calendar card ticks through each quarter hour as you drag it and lands with a tap; a voice message marks record and stop; a task done, a note saved, a proposal accepted or declined, and every error this screen shows are felt as well as seen.

3.8.3 — 2026-09-16

  • Meet is no longer App Sandboxed. Reading who is speaking in a Zoom window needs the Accessibility permission, which a sandboxed app cannot hold — the same trade Granola makes. Hardened runtime and every permission prompt stay. On the first launch your settings, pending uploads, recordings and the speech model move out of the old container; nothing is lost and nothing re-downloads.
  • Zoom is read only when it matters. No polling while Zoom is not running; a light check while it is; the full roster once a second only during a Zoom recording.

3.8.2 — 2026-09-16

  • Mac. ⌘K shows which row ↑/↓ landed on; the selection was moving unseen.

3.8.1 — 2026-09-16

  • Search. ⌘K recents on the Mac and the phone are the signed-in owner's, and signing out forgets them (meet#193).

3.8.0 — 2026-09-16

  • Search. The Mac and iOS palettes say when a source did not answer, as the web does (meet#191).

3.7.9 — 2026-09-16

  • Zoom speakers by name, the way Granola does it. Settings › Meetings › Read Zoom for names reads who is in a Zoom meeting and who is speaking from Zoom's own window through the Accessibility permission, so a Zoom call offers to record itself and its speakers come out by name. Needs the grant; still to be verified on a live call.

3.7.8 — 2026-09-16

  • Web. Opening an invite loads less than half the script it did: every workspace page is its own chunk, and the build fails above a 160 kB gzip entry budget (meet#195).

3.7.7 — 2026-09-16

  • Web. Signing out forgets unsent document drafts and ⌘K recents as well as lists, and signs out every other tab of the browser (meet#193).

3.7.6 — 2026-09-16

  • Worker. A transcript Docs would not take keeps the meeting-log delivery open so the queue tries again; a crm job that cannot be enqueued is delivered inline instead of dropped (meet#187, part).

3.7.5 — 2026-09-16

  • iOS. Notes a meeting left on the phone go out when the network returns, and Settings › Transcription counts them until they do (meet#186).

3.7.4 — 2026-09-16

  • Search. A source that does not answer in four seconds is left out and named; the web palette says some results are missing (meet#191).

3.7.3 — 2026-09-16

  • Work. A subject that just finished its last open task keeps its done cards on the board, and a subject whose task or issue read hit the ceiling is named as not whole (meet#190).

3.7.2 — 2026-09-16

  • Web. A search hit on a GitHub issue opens it in Work (meet#191, part).

3.7.1 — 2026-09-16

  • Transcripts. Two uploads for one meeting can no longer lose each other's text: the outbox drains one meeting at a time and keeps what arrives during an upload, on the Mac and the phone (meet#185).

3.7.0 — 2026-09-16

  • The transcript, line by line — and lines you can delete. A meeting's title in Admin › Meetings opens its record on the web: the notes, then every line with a checkbox. Click, shift-click a range, Delete. Gone from the record, the Docs document and Core alike; the notes stay as written until you Rewrite them.
  • The agent's turn, visible. A thinking orb replaces the blinking dots on the web, ported to SwiftUI for the phone and the Mac. The working row shows the moment you send and for a short run, not only a long one, and the row scrolls into view.
  • Chat lines. No reactions on your own line; Copy on every line. Paste and send, for an agent: first in the phone's + menu, whose every item now carries a symbol. Edit and Withdraw carry symbols too. A short conversation sits at the composer on every surface.
  • Rooms. The host hears the arrival chime for everybody who walks in, and confirms End meeting when other people are in the room. The Mac transcript header counts captured lines instead of narrating the transcriber. The Team Room card and the web room row carry no explainer line.
  • Home. A late Home module answer lands in place. On iOS the surface menu opens Home settings.
  • iOS. The meeting Live Activity dismisses at the end while Meet is suspended. The Settings sheet shows a drag indicator. A subject screen's bar is the pane's one + and nothing else. The thread menu is the bare ellipsis. The icon preview in Settings matches the shipped icon's proportions.
  • Documents. A wrapped line inside a list item joins its paragraph, so bold and italic that span the wrap close.
  • Docs. PARTNERS.md names the two partner records and the one edge that files a project under a partner. WORK.md and BOARD.md carry the "one work list per project" proposal (meet#197), not decided.

3.6.7 — 2026-09-16

  • Agents. Taking a card back from an agent whose runtime did not answer says so on the Mac, instead of reporting the run stopped (meet#189).

3.6.6 — 2026-09-16

  • CI. Pull requests run the JS gate before merge (meet#194, part).

3.6.5 — 2026-09-16

  • Web. A search hit on an event opens that event in Calendar (meet#191, part).

3.6.4 — 2026-09-16

  • iOS. Transcript text a meeting left on the phone goes out on the next launch or return to the app, not only when the phone hosts again (meet#186). The iOS target compiles again after the capture work's AppKit import.

3.6.3 — 2026-09-16

  • Web. A search query you type over cancels its request instead of finishing it on the Worker (meet#191, part).

3.6.2 — 2026-09-16

  • Web. Work tells a signed-in account the role stops here instead of asking it to sign in again (meet#192).

3.6.1 — 2026-09-16

  • Worker. A role lookup that cannot reach D1 answers 503 and caches nothing, instead of granting member for a minute (meet#188).

3.6.0 — 2026-09-16

  • Who said what, by name. A recorded Google Meet names its speakers from who the extension saw speaking; the calendar's attendees reach Core with their addresses, so the contact links; every name in the transcript is spelled the way the roster spells it. When nobody said who was there, Meet asks as the recording stops — off in Settings › Meetings (docs/AMBIENT_CAPTURE.md slice 5).

3.5.0 — 2026-09-16

  • A recorded meeting becomes a Meet meeting. After a recording stops, the Mac transcribes both tracks on-device — your microphone as you, the other side split by speaker — and files the result on your room like a meeting you hosted: the same notes, the same filing, the same transcript document. It reaches Core only once you file it on a project or lead. The audio is deleted the moment the transcript is on the server (docs/AMBIENT_CAPTURE.md slice 2).

3.4.0 — 2026-09-16

  • A Google Meet call offers to record itself. With the Meet browser extension in Chrome (extension/, paired from Settings › Meetings), a call that starts puts up one notification with a Record button; the recording stops on its own when the call ends, and rejoining within the resume window continues it. A call that goes quiet for long enough stops with a Resume offer. Calendar events with a Meet link get Launch & Record a minute before they start. Roster names land in the capture for the notes to use. Zoom, Teams and in-person stay manual (docs/AMBIENT_CAPTURE.md slice 4, docs/MEET_EVENTS.md).

3.3.0 — 2026-09-16

  • Record a meeting Meet did not host, from the menu bar. Record this meeting captures the Mac's system audio and your microphone as two sample-aligned tracks — a Zoom call, a Teams call, a call held to the Mac — crash-safe from the first second, surviving a headphone swap, warning when a track goes silent, refusing to start on a nearly full disk. Nothing is transcribed yet: the tracks wait on disk for the two-track pass (docs/AMBIENT_CAPTURE.md slice 2). macOS 14.2 or newer; the end-to-end run on a live meeting is still owed (see the brief).

3.2.1 — 2026-09-16

  • The Mac asks before it captures system audio. NSAudioCaptureUsageDescription is in the bundle, so the day ambient capture ships macOS raises the "System Audio Recording Only" consent instead of streaming silence. Nothing captures yet; the Debug-only scripts/tap-spike.sh proved a CoreAudio process tap works under Meet's sandbox (meet#199, docs/AMBIENT_CAPTURE.md).

3.2.0 — 2026-09-16

  • Notes from Claude. With ANTHROPIC_API_KEY set, every meeting's notes are written by Claude in the shape a person opens them for: action items first, named; decisions; the summary; open questions — in the meeting's own language. Workers AI keeps writing them when the key is absent or Claude does not answer. Admin › Configured says which engine is on; Admin › Meetings gains Rewrite notes per finished meeting, so a note can be put beside Granola's for the same call (meet#27 claim 2, docs/AMBIENT_CAPTURE.md slice 3).

3.1.0 — 2026-09-16

  • Meetings: Granola's history beside the CRM. /meetings on the web lists every note Granola holds, newest first, with Core's answer beside each — not imported, imported, imported and filed. Import one or many; file an imported one on a project or lead from the same row, the way a Meet meeting is filed from the calendar. A Granola transcript is a Docs document under /work/meetings, as a Meet meeting's is (meet#27).
  • A re-read never unfiles. The bridge sends no kind unless it is filing, so a note.edited keeps the project or lead a person chose.

3.0.7 — 2026-09-15

  • Work opens on what it had. The tab painted its lists only after Mine, Inbox and Quick Notes had come back from Core, so it sat blank for seconds on every open. Every list and badge now draws from disk before the first request goes out, and every read runs at once. The Team roster draws before the check-in, and lists on a cold open wait in place.

3.0.6 — 2026-09-15

  • Menus check items the iOS way. The Team Status menu and the issue Labels and Milestone menus draw the checkmark in the system column, so every row lines up.

3.0.5 — 2026-09-15

  • Faster cold start on the phone. Messages, Quick Notes, invitations, the team roster and the Partners block paint from the last good copy before the network answers; the roster shows who is on the team, not who is around, until the first live poll.
  • Work's status badges are one request per kind, and exact. Core counts rows by status in one call (subject-counts), split by its own internal flag, so "50+" is gone and the Work tab opens on about ten requests instead of twenty-five.

3.0.4 — 2026-09-15

  • One list for Meet and Core. Every list and form Core draws inside Work — entity lists, a record's fields, Core search, the merge sheet — paints Meet's rows on Meet's canvas instead of the system grey. The list lives in the shared layer (EnvisioningList) so both apps draw the same one.

3.0.3 — 2026-09-15

  • iOS: document lists are on the canvas. A subject's Docs pane and the Docs tab's lists painted black rows in dark mode; the row now lets the canvas through (core-kit).

3.0.2 — 2026-09-15

  • Light mode: the accent is #aacc00. One colour per scheme on Mac and iOS, as a fill, as ink, and as a dot; hover and pressed step down with it. A chosen day in the composer is a neutral chip. Cards on the phone carry the hairline in both schemes, so they no longer dissolve on the light canvas.

3.0.1 — 2026-09-15

  • iOS: one ground, one row fill. Calendar no longer reads black: the canvas is painted inside the navigation stack on every tab, as Home already did. Every list on the phone draws Panel rows with the border hairline on the Meet canvas (MeetList) instead of UIKit's neutral grey. Radius stays the system's; SwiftUI has no API for it.

3.0.0 — 2026-09-15

  • Apple Watch: the next meeting, the door, a dictated note. Two new targets, Meet-Watch and Meet-WatchWidgets, inside Meet-iOS (watchOS 11). The phone lends the watch its access token, room slug and next three meetings over WatchConnectivity; never the refresh token. The face shows the next meeting with a countdown, the one after, "N at the door" with Admit per row, and a dictation button that posts an unfiled quick note. Notes queue offline and send on the next foreground. The complication reads the agenda from the App Group file and holds no token (meet#179).
  • One + per surface, in the same position, before search. Mac: one create item first in the trailing run. Calendar gains one (an event at the next hour), Team gains one (a group). Web: the + in the header before Search on every surface; the page-level create controls are gone (meet#178).
  • No kanban. The Overview · Board switcher and the web and phone board views, shipped earlier the same day, are gone: a company-wide pipeline is a manager's view and this team has none. The stage model, the Worker read and the Mac's board view stay for agents (meet#182).
  • iOS: a person's devices are said once. The status line names them; the Desktop pill under it is gone.
  • Web Work: one row shape for every list. Inbox, Recent, Today, Mine, Tasks, Proposed, Issues and History all draw RailRow, as the Mac and phone do.
  • Presence: a dot is never translucent. Do-not-disturb is an opaque half-grey on every client.
  • Admin: discard the meetings under five minutes that predate the rule. A button beside Retitle; the ledger row goes and a filed transcript is archived in Docs. Both one-off passes now refresh the ledger, so the list changes on the first press. A model answering "I can't fulfill that request" is never a title.
  • iOS: one bar on every tab. The surface menu leads: the surface's view options, then Settings… last. The trailing slot is one + menu where the surface creates things, or nothing. Settings opens over the tab that asked. Team's New group moves to the bar. Calendar's bar is the view menu and Add, and Upcoming lists only calendars marked in Meet.
  • iOS: search lives in the bar. Home's trailing glyph is the magnifier; on Calendar, Work, Team and Docs, Search anything… is the first item of the surface menu. The field at the top of Home is gone.
  • iOS: the wrist gets the next meeting, Admit on a knock, and the unfiled nudge. The Live Activity draws a watch layout in the Smart Stack (Meet-Activities now needs iOS 18; the app stays at 17). The knock banner has an Admit action that runs without unlocking, and from the watch. A hosted meeting that ends uncategorized posts one "Meeting not filed" notice; not for the internal room (meet#179).
  • iOS: the next meeting on the Home Screen and the Lock Screen, and two controls. The widget reads the agenda the app writes into the app group, the same list the watch face shows; a tap goes where the Live Activity goes. Control Center, the Lock Screen and the Action button get Join meeting and Quick note, which open the app on that verb. The phone app and Meet-Activities now carry the app group, so the App Store profiles need regenerating.
  • iOS: tapping a message notification opens that conversation.
  • Home assembles once. Every module paints what it last knew in the first frame. On a cold start MESSAGES, INVITATIONS, WORK and UPCOMING draw placeholder rows, and a module folds only on an answer that says empty. Rows no longer truncate one line under a short other line.
  • Work drops Follow; every open subject is on the rail. Star, mute and the Sales opt-in stay. SUBJECTS lists every open subject, starred first, muted absent; Browse has no fold. Migration 0035 drops subject_state.followed, and a PUT with followed is a 400.
  • Web: every page titles its tab. The surface, the open item first: Board notes · Docs · Meet. The footer always shows the build number, also on a Workers Build. The Work rail drops its search field; the ⌘K palette owns search.
  • Web: ⌘[ ⌘], and an empty Overview that says so. ⌘[ and ⌘] walk the subjects opened this session. Overview with nothing to show reads as one line and a Browse door on the Mac, the phone and the web (meet#147).
  • Team's rail is GROUPS, PEOPLE, AGENTS, in one order on every client. Everyone pinned, then whoever you have a conversation with, latest message first, then the rest. Unread is the dot and the weight, never a jump. The block is RECENT CONVERSATIONS on the Mac, the phone and the web.
  • Web Team is the Mac Team. The lounge is the Mac lounge, block for block. YOU is a rail row with a quiet status chevron. Conversation rows keep their order, and closing a conversation closes the inspector beside it. The composer is one row: Attach, a pill that grows, a round send button.
  • Web: the shell is the window. The page does not scroll; the rail, the column, the inspector and Docs' list scroll themselves. Every rail row is RailRow, so Work, Docs and Team read the same.
  • Web: /changelog renders this file. The footer links to it, and the version stamp is the link.
  • Calendar: a published event you also have on Google draws once. The Google row stays, since it holds the join link and the edit path, and gains the Events swatch.
  • Meetings: under five minutes is not a meeting. The artifact job discards it: no notes, no transcript document, no channel line, and Admin stops listing it. A stale meeting ends at its last lease plus the stale window, never when somebody next looked. A title has to look like one (at most ten words, no sentence punctuation, not addressed to anyone) or the dated fallback stands.
  • INBOX: a subject Core will not answer for is retried once and named. One more try after 400 ms on a rate limit or a 5xx. The subjects that still failed are listed: "Couldn't read proposed tasks on Acme, Globex".

2.9.4 — 2026-09-15

  • Web: a deleted event leaves the list on OK. The row goes as soon as Google takes the delete and stays hidden until a reload comes back without it, so Google's read-after-write lag cannot bring it back for one refresh.

2.9.3 — 2026-09-15

  • Search is two boxes, everywhere. A global box says Search anything (⌘K on the Mac and the web, the header magnifier, the field at the top of Home and the tab magnifiers on the phone); a scoped box says Search plus what it reaches. The web and phone Work rails now match through the same rule as the Mac and the palette, and every empty state reads "Nothing matches." (meet#174).
  • Web: delete, edit, move and RSVP on a calendar event reach Google. The web sent the listed row id, which carries the calendar prefix, as the event id. Google answered 404, and delete read 404 as success, so the confirm closed and the event stayed. The web now strips the prefix the way the Mac and iOS do (rawCalendarEventId in @meet/contracts), the Worker accepts either form on every event write, and a 404 on delete is an error (calendar_event_not_found), not a silent no-op.

2.9.2 — 2026-09-15

  • Search: one ⌘K palette to find anything and jump anywhere. ⌘K on the Mac (Edit › Search…) and on the web, a magnifier in the web header, a field at the top of Home and a magnifier on every other tab on the phone. One box finds a subject, a person, an agent, a conversation, a document, an event, a task or an issue, and jumps to a destination, a Settings page or a verb (New task, New issue, New document, Start room, Open the internal room, where the client can run it). A person is one row; → shows Message / Wave / Call. Document titles answer on the first keystroke and full text a moment later. Recents stay on the device. ⌘F stays each Mac window's own field — now the same matcher with that window's scope (fixtures/search-rows.json, invariant 27, meet#174).
  • Subjects order by what moved last. The Worker stamps every subject row with its channel's last message (and Core's own activity, once Core sends it); SUBJECTS on the Mac, the web and the phone lists starred first, then the freshest, then the rest by busiest (meet#147 slice 3c).
  • Partners talk. A partner has a Talk tab on every client — its channel is on the organization, the same door as a project's. Tasks and issues on a partner still wait on Core (meet#147 slice 4a, docs/PARTNERS.md).
  • Work on the web reads like the Mac. The rail pins to the viewport and scrolls on its own, as Docs' does; INBOX rows on it are plain rows, with Accept / Decline and Start a lead / Dismiss on Overview under the row. Every subject carries its organization's logo, or the kind's glyph, on the rail, in Browse, as an Overview tile and at the head of its page. The task and subject editors read in the column, never over the page. Settings › Work holds the Sales switch on the web too; Browse points there when Sales is off (meet#147).
  • MINE is one list, on every client: the rows in the order they are owed, each saying its own date, with no Late / Today / Soon / Undated headers between them. Work not yet filed to a subject reads as Pending on its row.
  • Overview's TODAY block. Today's meetings filed to a subject, in start order, under the recent tiles on the Mac, the phone and the web; a row opens the subject at Talk.
  • ⌘[ and ⌘] on the web Work page walk the subjects opened this session, as on the Mac; the browser keeps the keys when Work has nowhere to go.
  • An empty Overview says so. Nothing recent, nothing today, nothing in INBOX and nothing in MINE reads as one line and a Browse door on every client, not four headers over nothing.
  • Home no longer assembles itself one block at a time. Every module paints what it last knew in the first frame (MESSAGES, INVITATIONS, WORK, UPCOMING and QUICK NOTES now keep snapshots); on a cold start a module draws placeholder rows at its resting height until its first answer; a module folds only on an answer that says empty, and the fold is animated.
  • INBOX keeps the proposals it can read. One subject Core cannot answer for no longer drops every proposed task from INBOX.

2.9.1 — 2026-09-15

  • Issues read in the column on the web, not in a dialog. From Mine, a Talk chip or a project's Issues tab, an issue opens where a task opens, with Back; Escape closes it.
  • The subject pipeline board is gone; Cards is Overview's other view. The board button on the Projects and Sales headers, and the columns of subjects by status, are removed. A project's or lead's status is edited from Edit details… (and in Core). The toolbar's Board item now toggles Overview between the day at a glance and every open task and issue by stage; Escape returns to Overview from either (meet#147 slice 5).
  • INBOX is the one count of what needs you. Home's Work button, the WORK card and the menu bar's WORK section now read INBOX beside the unread talk: proposals, quick notes, sales touches and comments lead the card and the menu, and the number on the button is the number on the Work window's INBOX badge.
  • Work on the web has the Mac's shape. Overview at /work — the subjects you were just in as tiles, INBOX and MINE side by side; a rail with Overview, INBOX, MINE and one short SUBJECTS list of what you follow; Browse at /work/browse — Envisioning, Clients, Partners and Sales by organization with Follow / Star / Mute and the Sales switch; Escape home. The old /work/<list> links still open. The nav's Work count reads INBOX (meet#147 slice 6).
  • Work on the phone has the same shape. The tab opens on Overview: the subjects you were just in as tiles, then Inbox, Mine and one short Subjects list of what you follow, with Browse… at its foot — the four groups by organization with Follow / Star / Mute on every row. Unread, Quick Notes, Recent and the Sales inbox blocks are gone; Inbox carries them. The tab badge and Home's WORK card read Inbox. Settings > Work has the Sales switch (meet#147 slice 7).

2.9.0 — 2026-09-15

  • Comments on a document, on the web. Select a passage and comment on it; threads sit beside the document, reply and resolve from there, and the passage lights up in the text. Comments are the document's own (Docs annotations), so an agent sees and writes the same ones. (#175)
  • Comments reach the Mac and the phone, under the rendered document: read, reply, resolve, add one. An open thread on a document about a project or lead you follow is an INBOX row on the Mac until it is resolved.

2.8.1 — 2026-09-14

  • By project and By lead on the Docs rail on the Mac and the phone, as on the web: one row per subject something is written about; New from such a row is filed about it. A document's header says who touched it and when on every client.
  • Docs on the web fills out. A Documents tab on every project and lead in Work; subjects added and removed on a document; Copy link and Move to… under ⋯; a live preview beside the text while editing; unsaved text kept in the browser until Docs has it, brought back on the next open.

2.8.0 — 2026-09-14

  • Web Home carries the Mac grid. Under the room button, Calendar / Work over Team / Docs — the same four tiles, in the same order, as the Mac launch surface. Work and Team show their unread count in the label. Copy room link moved to the card header; View public room, Schedule meeting and View bookable page left the card.
  • The Docs rail is WORK and LIBRARY on the Mac, the phone and the web: what Envisioning writes (Recent and its categories; on the web also by project and by lead) and the mirror of Core's published writing. The folder tree left the rail; a document keeps its path. On the web a document opens rendered, with a header saying what it is, what it is about (into Work), who touched it and when; Edit is a mode, and the list stays beside the document on a wide window.
  • Meeting transcripts are Docs documents. When a meeting ends, the Worker files the transcript in Docs (/work/meetings, category Transcript, about the lead or project the meeting was filed on) and Core's interaction links to it. Core stopped writing the retired notes row (core#145).
  • Work's Mac rail is three zones. INBOX, MINE, then SUBJECTS as ENVISIONING / CLIENTS / PARTNERS / SALES (meet#147 slice 3). UNREAD, QUICK NOTES, RECENT and SALES INBOX are gone — INBOX carries them. Inside a group the row is the subject and an organization with more than one is a fold; only the subjects you follow show, starred ones first, muted ones grey, with Star / Mute / Follow on every row's menu. SALES is on the rail when Sales is on for you, from the Sections menu, and that choice follows your account. CORE and DOCS left the rail: type in the search field and the tail offers the same words to Core and Docs; the Work menu has Search Docs… and a Core submenu. New Quick Note… is in the Work menu and the toolbar's +. Settings > Work is new: the Sales switch, and the rail's blocks with up, down and show/hide, plus Reset Sidebar.
  • Work's rail is a jump list, and Browse is the directory. An Overview row at the top is always the way home (also ⌥⌘0 and Escape). SUBJECTS is one short list of the subjects you follow — starred first, muted absent — with Browse… at its foot. Browse, in the middle pane, is the full directory: Envisioning, Clients, Partners and Sales by organization, with the filters, sorts and Follow / Star / Mute. ⌘[ and ⌘] walk the subjects you opened this session (meet#147 slice 3b).
  • Work opens on Overview, and Team's lounge is one click away again. With nothing chosen, Work's middle pane is the day at a glance: the subjects you were just in as tiles, then INBOX and MINE side by side with room to read — the same rows as the rail, resolved the same way. Team gains a Lounge row at the top of its rail and Escape, so the grid is reachable after the first click (meet#147 slice 3d).
  • Share a document on envisioning.com. The Share sheet in the Docs editor (Mac and iOS) has a switch at the top: on, the document answers at www.envisioning.com/private/docs/<id> behind the email gate, and the link is copied; off, it is staff-only again. Old /private/docs links from Core notes work again through the same page (#166).
  • A crashed Mac no longer drops the guests who were already in. A guest who had joined and reloads the tab or loses the network gets back into the room through the host-lease lapse, for up to ten minutes. A guest who had not joined yet still waits for a live host. On relaunch within two minutes, the Mac walks back into its open room by itself instead of offering Join to reclaim. 2.6.6.
  • No more "Microphone capture could not be prepared" on unmute. The Mac app asked LiveKit to keep the microphone pipeline prepared across mute, an AVAudioEngine feature the platform audio module Meet pins does not have. The request always failed, the microphone was never affected, and 2.6.0 turned the failure into a notice. The request is gone, and so is the notice and its transcription.audio_prepare_failed code.
  • Docs on the web. /docs is the fifth destination in the member nav, the way the Mac has the ⌘5 window and the phone has the Docs tab: Recent, one view per category, the folder tree, full-text search, and the editor with preview, autosave, and the two-way choice when a document changed underneath you. Every read and write goes through Meet's Worker; the browser never holds a Docs token. (#148)

2.7.2 — 2026-09-14

  • Home is one screen on three surfaces, and you arrange it. Settings → Home on Mac, iPhone, or web lists the six Home modules — Messages, Invitations, Work, Quick notes, Upcoming, Your room — with an order and an on/off per module, synced across your devices. Your room stays put. The "Following meetings" knob moved from Calendar to Home.
  • The browser's Home gains Invitations and Work. Accept, Maybe or Decline a calendar invitation in place; see what is overdue and due today, each row opening its subject.
  • The Mac's Home gains a Messages card. Every unread conversation, each row opening Work or Team; unread talk no longer rides inside WORK.
  • Mac toggles keep a white thumb in both states, matching iOS.

2.7.1 — 2026-09-14

  • iOS and the web say when invites went out, as the Mac does: "Invites sent · 3 guests" after a save, "Updates sent" after a reschedule. A banner on the iOS calendar, a status line on the web calendar; both clear on their own.

2.7.0 — 2026-09-14

  • Guests hear about a reschedule. Dragging an event in the grid sends no guest list (so RSVPs are never rewritten); the Worker used to read that as "no guests" and told Google not to notify anyone. Any reschedule notifies now — Google only mails the guests the event actually has.
  • A guest edit cannot silently vanish. If Google will not return the event's guest list during a save, the save fails and says so instead of reporting success with the old list.
  • The Mac says when invites went out: "Invites sent · 3 guests" after a save, "Updates sent" after a reschedule.

2.6.9 — 2026-09-14

  • Pin to stage is gone. Mac, iOS, and web no longer offer a local pin on remote tiles, in the rail's context menu, or in the tile's long-press menu. A screen share still takes the big tile on its own; everything else is the equal grid.

2.6.8 — 2026-09-14

  • Sharing your screen no longer drowns out your voice. The Mac sent a share at 1080p, 30 frames a second, up to 5 Mbps, with nothing that could step it down. On a weak uplink the share took the bandwidth and the sharer's audio broke up for everyone else. The share is now capped at 1080p, 15 frames a second, 2 Mbps. Text stays sharp; the microphone keeps its room.

2.6.7 — 2026-09-14

  • The self-view buttons stay put. On the Mac, the hide and corner buttons on your own tile vanished a moment after they appeared: every stage tick, your own mic level included, hid them again. They now follow the pointer until it leaves the tile.
  • Your self-view has a size. Small, Medium, or Large, from the Size submenu on the self-view button or on your tile's right-click menu. Medium is what it was. The choice is this Mac's and survives a relaunch.

2.6.5 — 2026-09-14

  • The Admission dot is green again. Under "In meeting" in the Mac sidebar, the Admission row showed a neutral white dot while the wake assertion was active. Active is a state worth a colour: the dot now takes the accent, the way the Settings status rows already do.

2.6.4 — 2026-09-14

  • The People list says which app each person is on. The Worker stamps the client a guest knocked with (Web, Mac app, iPhone app, iPad app) into their LiveKit participant metadata at mint, and the host's own device the same way. The Mac rail's second line and the iOS People sheet show it beside the connection quality, so the host can read the room after admission the way the lobby already let them before. Metadata stays read-only for participants, so nobody can claim a client they are not on.

2.6.3 — 2026-09-14

  • Task suggestions can be measured. pnpm test:suggestions runs the Worker's extractor — same prompt, same parser, over Workers AI REST — across transcript fixtures and prints precision and recall per fixture for both the whole-transcript meeting pass and a replay of the live chunk gate, with what confidence, quote verification, and dedupe dropped. One synthetic fixture ships in fixtures/task-suggestions/; real ones stay outside git. Second of the envisioning/meet#143 series (decision 4); the harness is what the context, walk-back, and meeting-pass changes will be judged by.

2.6.2 — 2026-09-14

  • The task-suggestion engine says what it is. Settings → Captions on the Mac and iOS shows which engine reads the transcript for commitments — control plane model, on-device model, rules, or off — and why it can or cannot run here. The Mac meeting debug report gains a Task suggestions section: the mode, how it resolved (including cloud falling to off with no meeting to read, and the Worker reporting no model), extractions made, and what confidence, quote verification, and dedupe dropped — counts and titles, never transcript text. First of the envisioning/meet#143 series.

2.6.1 — 2026-09-14

  • INBOX. One block at the top of Work with what needs you — unread talk, a mention, a proposed task, a note to file, a sales touch when Sales is on — newest first, each gone when you have dealt with it. Under it, folded, what happened this week on the subjects you follow. The four blocks it replaces stay for now. (#147 slice 2b)

2.5.10 — 2026-09-14

  • Calendar errors say why. The status line now shows the sentence the Worker wrote ("Moving an event between two Google accounts is not something Google can do. Copy it instead.") instead of only the code.
  • Move to lists only calendars Google can move to — the same account. Another account's calendar is a Duplicate.

2.5.9 — 2026-09-14

  • The invite list is the same on iOS and the web as on the Mac: one row per person with their reply mark, "you", a remove control, and an Add invitee line that completes from the Envisioning roster. The chip fields from 2.5.2 are gone.
  • ⌘-drag an event on the Mac to duplicate it where you drop it; the original stays. As in Calendar.app.

2.5.8 — 2026-09-14

  • Follow, star, mute — yours, kept for you. The Worker now holds what each person wants from a subject, with one rule for what you get when you have said nothing: colleagues follow Envisioning and client work, Sales only once it is on for you, partners on request. Nothing in the rail reads it yet; the Mac rail is next. (#147 slice 2)

2.5.7 — 2026-09-14

  • Add invitee completes as you type: everyone at Envisioning from the roster, then anyone Contacts knows, by name or address. Nothing is hard-wired; a new colleague is offered the day the roster has them.
  • The event editor's Notes box has its well back. NSScrollView repaints its own layer and had been dropping the fill and hairline; a MeetFieldWell around it owns the chrome now.

2.5.6 — 2026-09-14

  • Every subject knows its organization. Project, lead and partner rows now carry the organization they hang off, and an Envisioning project is one Core says is internal, not one whose title happens to start with "Envisioning " — the prefix is only the fallback until Core has backfilled. Nothing moves in the rail yet; this is the edge the reorganized Work surface groups by. (#147 slice 1, core#142)

2.5.5 — 2026-09-14

  • The event editor draws again. 2.5.2's invitee list pinned a row's width before the row was in its stack; AppKit raised and swallowed the exception, and everything after it in the editor — calendar, reply, invitees — came up blank. A test now renders the list in a window.
  • No "Add Meet room link" on existing events. It is a choice made when creating an event; after that the event has our room or it does not.

2.5.4 — 2026-09-14

  • No lime stripe on web cards — Home panels, the guest Join card and the Waiting card are flat surfaces like the Mac's.
  • Web Quick Notes: the trash sits beside the note, not under it.
  • "Add Meet room link" is only offered on events you can write, and is checked only when the link is our room — a Google Meet or Zoom link on an invitation no longer reads as one we added.
  • Invitee reply marks on events opened from the week grid. The grid's events now carry each guest's reply, as Home's already did.

2.5.3 — 2026-09-14

  • Status is four answers: Available, Focused, Unavailable, Offline. Heads down is now Focused; Stepped out is gone, Unavailable covers it; the duration pickers are gone, Focused and Unavailable end at the end of the day. Nine menu rows became four on the Mac, iOS and the web. The Worker no longer knows heads_down or stepped_out; migration 0032 rewrites the rows that had them. A wave still lands quietly on Focused and is still refused on Unavailable.

2.5.2 — 2026-09-14

  • The Mac event editor lists invitees one per row with their reply mark, name, "you", and a remove button, and an Add invitee line under them — the Fantastical shape, in place of the chip field, which clipped past three. iOS and the web draw chips that wrap.
  • A Quick Note can become a document from the web. The Doc destination reaches the web chooser; the Worker writes the document on your behalf (POST /api/docs/documents), so no Docs token ever sits in a browser.
  • Long-press your own row in Team on iOS for the status menu, as right-click does on the Mac.
  • Click a Quick Note on Home to file it. The same sheet Work opens.
  • Home panels share one header: title, count, and one quiet action in the same trailing slot on every panel (Quick Notes' +, the waiting room's copy link). The Upcoming reload button is gone — the card polls, and ⌘R is there. An empty waiting room says nothing instead of "Empty".

2.5.1 — 2026-09-14

  • Home no longer flashes "No calendar connected" at launch. The card says nothing until the Worker has answered once.
  • Web's own card says "Appear offline" with the offline dot while it is on, as the Mac and iOS rows do.
  • iOS segmented pickers are lime on the chosen segment, matching the Mac.

2.5.0 — 2026-09-14

  • A project's channel reads like its repository. Pull requests opened and merged, reviews, pushes to main, releases, a red build, and comments that name somebody or come from outside the team now arrive as quiet lines with a chip that opens github.com — the GitHub connector Slack had, without the noise. Nothing from GitHub had been arriving at all since 09-11; the edge posted to the wrong host. (#142, #145)

2.4.9 — 2026-09-14

  • Home's Quick Notes card shows only what is unfiled, on Mac, iOS and web; filed notes live in Work. On the Mac the trash sits at the row's trailing edge and the glyph on the text's centre line.
  • No "No guests listed". An event with nobody on it just shows no guest line, on Home's Upcoming card and the meeting rail.
  • Local Release builds are signed with the Developer ID when the certificate is in the keychain, so the keychain recognises every rebuild as the same app: "Always Allow" on the four stored items survives a rebuild instead of asking for the login password four times per build.

2.4.8 — 2026-09-13

  • Partners in Work. A PARTNERS block on Mac, iOS and web lists the organizations Envisioning has an ongoing relationship with; opening one shows what the relationship is, the projects, leads and contacts that hang off it, and its history. Read-only for now — a partner is edited as an organization in Core. (#128, #64)

2.4.7 — 2026-09-13

  • Your own row says you appear offline. While Appear offline is on, the YOU row, the self strip and your lounge tile draw the offline dot and say "Appear offline", instead of "Available" over a menu that has it checked.
  • Settings icons stand in the same well as every rail row: a circle on the panel ladder with the glyph in secondary ink, lime on the open page, in place of the gray tiles.
  • Calendar's day numbers are a touch smaller in the week header.
  • An Event menu with shortcuts. ⌘D duplicates the selected event, ⌘O opens it, ⌘J joins, ⇧⌘C copies its link, ⇧⌘Y / ⇧⌘M / ⇧⌘N accept, maybe, decline.
  • Guests are chips. The event editor's guest field shows one chip per address; comma, semicolon, space or return makes the next one, and a wrong one is deleted on its own.
  • Active segments are lime, everywhere. Your reply on an event, the meeting window's Your room / Join, the issue and task filters, and the Quick Note chooser share one MeetSegmentedControl with the accent on the chosen segment, in place of the system blue.
  • The event editor's Notes box sits in the same well as its fields.
  • Calendar's rail keeps your accounts and Envisioning apart: CALENDARS holds the accounts, ENVISIONING is its own fold with the company calendar and Core's layers, titled in plain text.

2.4.6 — 2026-09-13

  • Quick Notes get filed from every client. A QUICK NOTES block in Work on Mac and iOS opens the same chooser the web has: Task, Issue, Message, Doc, or Keep. Message sends the note into any conversation; Doc writes it as a new document. (#134, #139)
  • Filing a note as an issue works. It made the issue and then refused to mark the note filed. (#139)
  • Teams and Google Meet events wear the same marks on the Mac as on iOS and the web: a block T and Google's G.
  • You are on the Team rail. A YOU row at the top opens Notes to self; its context menu is the status menu.
  • Work has a tray icon on Mac, iOS and web, in place of the stack.
  • Every rail's section header is the same height, so the fold chevron and title sit at one spot whether the header carries a button or only a count.

2.4.5 — 2026-09-13

  • One dark mode, including the Core panes. The subject fields, entity views and Docs surfaces inside Meet now stand on the same blue-tinted ladder as the window around them instead of the system's neutral gray, on Mac and iOS; the ladder itself moved to the shared EnvisioningSurface and the web is checked against it. Selection and controls in those panes draw the lime, not the system blue. (#140)

2.4.4 — 2026-09-13

  • The board and Recent refresh without re-asking Core every time. The server keeps each subject's tasks, issues and history for a minute and forgets them the moment Meet changes one; a change made elsewhere shows within that minute.

2.4.3 — 2026-09-13

  • Unchanged lists cost nothing to refresh. Work's reads carry a validator; when nothing changed the server answers with no body and the list on screen is simply confirmed current, on Mac, iOS and web. (#89 fifth pass — the plan on the issue is complete.)

2.4.2 — 2026-09-13

  • Work on the web opens on what it last knew. Mine, Recent, the subject lists, and a subject's tasks and history paint from their last read before the server answers; a failed refresh keeps them up with their age and Retry, and signing out clears them. (#89 fourth pass)

2.4.1 — 2026-09-13

  • A subject's tasks and history open instantly. Both panes paint the last list they knew before Core answers, on Mac and iOS; a failed refresh keeps it up with its age and Retry. (#89 third pass)
  • Fixes 2.3.10, which the build's single-digit version rule rejected; that entry is now 2.4.0.

2.4.0 — 2026-09-13

  • Work lists stay in step after a change. Completing a task from a subject pane, renaming a lead or filing an issue now refreshes every list that showed it — Home's card included — instead of waiting for the next open. When a refresh fails, the list that is still on screen says how old it is and offers Retry; a failed refresh never blanks a list on iOS either. (#89 second pass)

2.3.9 — 2026-09-13

  • Screen readers and Reduce Motion. Every icon-only control on Mac and iOS says what it does; flying reactions fade in place when Reduce Motion is on. (#86 second pass, #131)

2.3.8 — 2026-09-13

  • Larger text sizes on iPhone and iPad. Rows wrap instead of truncating at accessibility text sizes; the calendar grids stop growing where their cells would break while the lists beside them keep scaling. (#86 first pass, #130)

2.3.7 — 2026-09-13

  • Proposed tasks. When an offer is accepted or a client asks to extend one, Core proposes the next task on the project or lead; it shows above the open tasks on Mac, iOS and web with Accept and Decline. Nothing lands on anyone's plate until accepted. Live once envisioning/core#139 deploys. (#46, #129)

2.3.6 — 2026-09-13

  • Partners reach the Worker. kind=partner on the subject reads and a partner's history by organization, passed through to Core (envisioning/core#138). Nothing visible yet — the PARTNERS block on Mac, iOS and web is #128. (#64, #127)

2.3.5 — 2026-09-13

  • Sales inbox shows only true untriaged touches. A contact-form or assessment that already produced a lead is left out; the lead is in Sales. (#44, #126)

2.3.4 — 2026-09-13

  • Four reactions. Meetings and chat offer the same four — thumbs up, heart, laugh, celebrate — on every client. Older reactions on stored messages still show. (#116, #125)

2.3.3 — 2026-09-13

  • Docs rail matches the others. Views and Folders fold like every other rail block and remember it; rows share the same look as Work and Team. (#119, #124)

2.3.2 — 2026-09-13

  • Sales inbox on Mac and iOS. Contact-form, support, pricing and assessment touches with no lead yet sit above Sales in Work; Start a lead pre-fills the New Lead sheet and carries the organization and contact, Dismiss and Undo retire and restore a row. Same inbox the web has had. (#67, #123)

2.3.1 — 2026-09-13

  • Authorization by role, not by domain. Every internal Worker route names the capability it protects (requireCapability); people.role is read per request and a change bites at once. No visible change today — every account is a member or admin — but a future enrolled outsider is refused everywhere by construction, and the suite proves it. (#25 steps 1–2, #122; docs/ENROLLMENT.md)

2.3.0 — 2026-09-13

  • Work opens instantly. Mine, Recent and the project and lead lists paint from their last good snapshot on Mac and iOS, then refresh behind it; a failed refresh keeps what was there and says so. Snapshots are per account and cleared on sign-out. (#89 first pass, #121; docs/CACHING.md)

2.2.9 — 2026-09-13

  • One sidebar section everywhere. Calendar, the meeting rail, Work and Team fold from the same block, with one remembered fold per section; Team's own fold store is carried over. The meeting rail sits on the same flat surface and insets as the other windows. (#92, #118; Docs rail and iOS parity follow in #119 / #120)

2.2.8 — 2026-09-13

  • Recent, beside Mine. Work gains a Recent block on Mac, iOS and web: the newest Core interactions across every open project and lead, each naming its subject; opening a row opens that subject at History. (#56 Phase 3,

    #115)

  • History on the web. The web subject tab is History, with the subject's event trail merged in, as on Mac and iOS. (#115)
  • Appear offline. A sticky option in the one status menu: you read as offline to everyone else, nothing is blocked, and your own card says so while it is on. iOS and web get the Mac's full status menu — Available, Heads down, Stepped out, Do not disturb, Appear offline. (#57, #117)

2.2.7 — 2026-09-13

  • Quiet lock screen everywhere. The shared EnvisioningLockScreen now matches Meet's: a glyph, one Unlock button, failure text only when there is one — the system Face ID sheet does the explaining. Core and extensions pick it up on their next package resolve.
  • Docs: TIMELINE.md phases and the GitHub webhook are marked shipped on main; issue tracker triaged (5 closed as done, decided issues moved to ready-for-human).

2.2.6 — 2026-09-12

  • @mentions by username or email. Thread composers complete members by name or address, mentions draw in accent in the composer and transcript, and channel notifications only fire for messages that mention you.
  • Custom transcription vocabulary. The local transcriber accepts a vocabulary list so names and product terms come out spelled right.
  • In-call bar buttons share one family. Meeting controls on the Mac use a single command-cell style for height, hover, and label shedding; mic and camera keep their menu chevrons in one shell.
  • Work rows cap label pills. Rows show three labels plus a +N overflow chip with the hidden names on hover; the filtered label stays visible.
  • Docs button on the Mac launch view. The Docs Recent and Search lists let the canvas show through.
  • Apple Silicon only. Every target builds arm64; the packaged app thins universal framework slices before signing.
  • Docs: guest threads design, GitHub webhook receiver live end to end, GitHub issue CLI preflight and label taxonomy for agents.

2.2.5 — 2026-09-12

  • Quick Notes inbox. Capture notes on web, macOS, and iOS; triage them into tasks, issues, or retained notes, and delete captures you no longer want.

2.2.4 — 2026-09-12

  • Every error reads red and carries Copy. Errors across Mac, iOS, and web now draw with a consistent notice style and a Copy action, so a person can hand over the exact text rather than retype what they saw.
  • Team's DM rows draw the peer's real avatar instead of initials, when the roster still knows them.
  • Timeline: task and calendar events, plus a cross-subject feed. The control plane now serves a unified recent-activity feed across subjects.
  • Dropped tooltips that only repeated what was already on screen.

2.2.3 — 2026-09-12

  • Host the internal room from the phone. Team's button on iOS sent a knock, which the Worker refuses with no host holding the lease. iOS now hosts the room the way the Mac's Team button does; Team's launch card matches Home's room card.
  • iOS stage matches the Mac stage. The call stage now sits in the same rounded, clipped panel on the elevated rung the Mac stage uses, instead of the bare canvas.
  • Host cover paints once. Fixed a canvas-coloured box drawing behind the starting and ending spinners on the host cover.

2.2.2 — 2026-09-12

  • Shared Team Room access. Any verified Envisioning member can start and control /room/team on macOS; authenticated web and iOS links resolve the room, and leaving it returns to Home.
  • In-app meeting artifacts. Removed transcript-email opt-in and delivery logic across Meet; finalized artifacts remain available in Meet.

2.2.1 — 2026-09-12

  • Quieter request cadence. Reduced pre-knock presence, lobby, roster, quality, and calendar polling across Mac, iOS, and web; coalesced iOS calendar refresh bursts; and avoided redundant read-receipt writes without changing the host lease, admission, media, or open-thread delivery paths.

2.2.0 — 2026-09-12

  • Presence is people, not a virtual office. Retired the Office scene editor, routes, contracts, and active configuration code. The Mac lounge remains a compact roster view; presence work now centers on status, Message, Wave, and Call. Historical Office migrations remain for deployment history.

2.1.9 — 2026-09-12

  • The internal room is one click away for members. Signed-in Team surfaces now expose /room/team on web, iOS, and macOS, while preserving the existing device check and member admission flow.

2.1.8 — 2026-09-12

  • The Mac toolbar matches the canvas. Shared Meet window chrome no longer introduces a second dark background shade above the surface.

2.1.7 — 2026-09-11

  • Docs on iPhone and iPad. A fifth tab: Recent and one view per category, then the Docs folder tree; a list for whatever was chosen; the editor pushed over it, with Share, Send for signature, category and subject chips as on the Mac. New files into the open folder. A Docs pane joins Fields on every project and lead. Settings → General gains a Docs group beside Core's.

2.1.6 — 2026-09-11

  • Home flags a real scheduling conflict before you go live. An upcoming invite that overlaps another event on your calendar now says so, naming the conflicting event and its time. Adjacent meetings and all-day events are never flagged — only genuine overlaps.
  • Quieter, more readable meeting menus. Connection-quality and bandwidth menus read in plain words instead of bar and arrow glyphs, and the participant sidebar shows quality as an icon rather than a bar count. The Teams and Google Meet marks are simplified to match.

2.1.5 — 2026-09-11

  • Share, sign, and say what a document is about — from the editor. Share makes a revocable link, optionally bound to one address; Send for signature mails each signer their own link and shows where each one stands; the subject chips gain + and ×, searching Core for the organization, contact, project, lead or offer a document is about. All three in the editor's title row, in Work and in Docs alike. Reconnect Docs once in Settings → Account to pick up the signing permission.
  • Every tab in a subject's tab bar accents when chosen, for real this time. The previous fix only reordered when a system property was set; that property turned out to only ever tint whichever tab was selected the moment it was first assigned, never one chosen afterward. The tab bar now draws its own selected-pill highlight instead of relying on it.

2.1.4 — 2026-09-11

  • Docs is a window of its own — ⌘5. The whole corpus on the shared shell: Recent and one view per category on the rail with the Docs folder tree under them, the list in the middle, the editor in the inspector. New files a document in the open folder with a category; a row's menu holds Rename, Move to, Archive and Copy link; the toolbar searches every title and body. Work keeps the Documents pane on a subject; its DOCS block is now Search Docs and Open Docs. Mirrored writing from Core is read-only here with a way to its source. See docs/DOCS.md.

2.1.3 — 2026-09-11

  • Every tab in a subject's tab bar accents when chosen, not just Talk. The custom tint only ever stuck to whichever segment was selected before it was applied, so clicking a different tab always fell back to system blue; it now applies to the one actually chosen.

2.1.2 — 2026-09-11

  • A subject's Interactions pane is now History. It still shows Core's durable interaction record, folded in with the same quiet event trail Talk draws (a meeting filed or ended, notes filed, a task accepted, an issue filed/closed/reopened) — merged by time, one pane instead of two, on Mac and iOS. Web keeps the old split for now. See docs/TIMELINE.md.

2.1.1 — 2026-09-11

  • The subject tab bar's selected pill is centered and accented. Every tab — not just the first — turns Envisioning's accent when chosen, the control sits centered in its row instead of pinned left, and the row has visible margin above and below it instead of touching its own edges.

2.1.0 — 2026-09-11

  • Windows stay where you put them. Navigating the Work sidebar no longer moves the window: the shell stopped correcting AppKit's geometry after every layout pass — no screen-sized ceiling, no slide-back-on-screen, no frame lock around the inspector toggle. Column widths are the split view's own memory again, so they reset once on first launch of this build.
  • One sidebar row is lit, and it is obvious which. The chosen row is drawn a rung up with a hairline instead of the same colour as the rail. Clicking moves the highlight rather than rebuilding every row, so the rail no longer flashes on each click.
  • The right sidebar is yours. Choosing something fills the inspector but no longer opens or closes it; only editing reveals it.
  • Conversations open at their end, once. The transcript is anchored at the bottom instead of scrolled there after layout, so a chat no longer flashes or jumps while it loads, and a reader up in history is held in place when a message lands.

2.0.9 — 2026-09-11

  • A subject's tab bar says how much is behind each tab. Tasks, Issues, Interactions, and Documents show "(n)" for their open count, on both the Mac segmented control and the iOS picker; Talk stays a bare word.

2.0.8 — 2026-09-11

  • Calendar invitations are actionable from Home. Mac and iOS show pending Google Calendar invitations in one central card with Accept, Maybe, and Decline actions. Replies are written to Google Calendar, so the same invite clears from the other signed-in devices after their next refresh.
  • Work's sidebar no longer flashes on every click. A project or lead's organization logo is drawn from the in-memory cache in the same pass as the row, instead of fading in from the fallback glyph each time the sidebar redraws.

2.0.7 — 2026-09-10

  • Mac search fields are consistent and opt-in. Search text is vertically centered, all Mac search controls share one implementation, and opening a surface no longer places the caret in its search box.

2.0.6 — 2026-09-10

  • Envisioning has a room that is not a person's. /room/team is one internal room for the whole company: a signed-in member walks straight in — no name form, no email, no waiting room, no knock — while everyone else gets the same not-found an unconfigured address gets. It has no booking page and no invite links, because nobody outside the company is invited to what happens in it. Notes are automatic there rather than asked for: everyone in the room is a colleague, and the summary goes to the system rather than to anybody's inbox. Off unless configured, and every existing room is unchanged.

2.0.5 — 2026-09-10

  • Dark and light surfaces now follow one palette across clients. Mac sidebars, Calendar, iOS, and the browser use the shared canvas, panel, elevated, and well ladder instead of OS-dependent or drifting colours.

2.0.4 — 2026-09-10

  • Meeting controls now use a stacked symbol-and-label layout. Mac, iOS, and the browser keep the same control hierarchy while compact windows shed labels before controls.
  • Microphone and camera menus are integrated into their controls. The toggle and device menu remain separate hit targets without reading as two adjacent buttons.

2.0.3 — 2026-09-10

  • Idle usage is much lighter. Presence and inbox polling now back off by attention, hidden web views stop polling, guest presence sends fewer heartbeats, and Worker traces are disabled with logs sampled for diagnosis.
  • Meeting-platform marks now match across web, macOS, and iOS. Native clients use the same transparent vector geometry as web instead of opaque approximations and generic fallback symbols.
  • Home now has one compact today/tomorrow agenda. Mac, iOS, web, and the shared Worker contract use the same two-day rules; extra meetings from today expand inline instead of sending people away to Calendar.
  • Work is one coherent cross-client list. Mine searches after task/issue deduplication, task and issue rows share the same treatment, and board reads are kept below Core's rate limits.
  • Team and meeting surfaces carry more useful context. People have a shared About inspector with availability and open work, native and browser layouts reflow consistently, and meeting-stage background, spacing, and Live Activity details follow the refreshed design system.

2.0.2 — 2026-09-10

  • Granola meetings land in the CRM alongside Meet's own. A signed webhook from Granola writes each note as the same kind of interaction a hosted Meet session writes — summary, transcript, attendees, and a link back — so a project or lead timeline shows both without knowing which app captured them. A one-command backfill imports existing history. Nothing is filed to a project automatically; every note arrives uncategorized.
  • Quiet conversations can be archived. A direct message you are done with can be put away per-member; the next thing anybody says brings it back on its own. Channels and groups keep no such control, on purpose — nothing else has a way to bring one back.
  • Team's sections fold consistently. Conversations, People, and Agents all collapse the same way, with a count while closed.

2.0.1 — 2026-09-10

  • Visitor locations now have a small visual flag across every client. Web, macOS, and iOS bundle the same country artwork for waiting rooms and other visitor-location surfaces, while keeping the city and country code available as accessible text.

2.0.0 — 2026-09-10

  • Admin now has durable account history and clear destinations. Operations, People, and Configuration are separated; meeting history can be backfilled into the ledger; roster changes are audited; and early visitor departures are counted.
  • Meeting layouts yield to the available window. Team and conversation columns reflow instead of forcing the window wider.

1.9.9 — 2026-09-10

  • Custom transcription vocabulary has been removed. Meet now keeps transcription focused on the core local pipeline instead of maintaining an organization-wide keyword editor, API, storage, and migration surface.

1.9.8 — 2026-09-10

  • Meeting stage controls are coherent across clients. The browser no longer shows LiveKit's generic maximize control; Mac and web use explicit Pin to stage when it can change the layout, while iOS offers the same action from a tile's long-press menu. Solo rooms consistently use the local camera as the full-stage mirror.

1.9.7 — 2026-09-10

  • Web meeting controls are quieter and more reliable. Mic and camera toolbar controls no longer expose broken device dropdowns, selected devices use neutral checkmarks, device choices persist through Settings, and the People panel aligns with the right-hand controls.
  • Web presence surfaces are simpler. Team and Agents reduce secondary row detail, while participant connection quality is now an accessible icon on meeting tiles.
  • Test accounts can be taken out of the team list. Admin can hide any person or agent from the global roster; hiding is reversible and leaves their history and past messages untouched.
  • Admin lists People and Agents separately. Each table shows how many rows it holds and how many are hidden.

1.9.6 — 2026-09-09

  • iOS surfaces now share one background treatment. Home and list screens consistently hide the system scroll canvas and use Meet’s shared canvas and panel surfaces.

1.9.5 — 2026-09-09

  • Calendar settings are now structured. iOS has a real Calendar root with grouped submenus, while macOS uses the same Accounts & sources, Upcoming, Display, and Behavior taxonomy without removing existing Calendar-tab paths.
  • Team context is more useful and private. Mac, iPhone, and web can show a person’s merged available/busy timeline without exposing event details.
  • Settings and surfaces are more consistent. iOS uses the shared canvas, panel, avatar, markdown, and icon treatments across Home, Work, Team, and Calendar.

1.9.4 — 2026-09-09

  • Mobile controls now use the platform fill and stroke treatment. iOS concentric button backgrounds and hover borders keep the refreshed design system consistent in every state.

1.9.3 — 2026-09-09

  • Meeting state is clearer across clients. Chat unread tracking, bandwidth feedback, transcription controls, room entry, and invite details now share more consistent behavior and language.
  • Work stays coherent across surfaces. Shared work planning, board and subject views, and task paths now use the same model across Mac, iPhone, and web.
  • Native surfaces follow the refreshed design system. iOS controls, markdown, scheduling, icons, and layout now use the shared visual language.

1.9.2 — 2026-09-09

  • Calendar surfaces now explain where meetings happen. Mac, iPhone, and web show consistent provider marks for Envisioning rooms and external meeting links, while preserving the shared calendar and upcoming rules.
  • People and presence carry useful context. Upcoming attendee rows offer safe Core/contact actions, and hosts can see visitors who are still on the join page with approximate location context.
  • Country presentation is local and consistent. Native and browser surfaces use bundled, non-emoji flags, with a repeatable sync command for the shared flag assets.

1.9.1 — 2026-09-09

  • Team conversation rows are now directly selectable. The browser keeps the conversation identity and its Message action distinct, with shared focus, active-state, and hover behavior.

1.9.0 — 2026-09-09

  • Team conversations are easier to start and follow. Mac, iPhone, and web keep self-notes, channels, peers, and agents available from the same Team surface, with explicit Message actions and consistent unread state.
  • Reactions read more clearly. Flying reaction symbols have stronger contrast and a more legible scale across native and browser meeting views.

1.8.9 — 2026-09-09

  • Transcription is more useful and more deliberate. Hosts can use an organisation-wide vocabulary for local Parakeet recognition, with the same privacy-preserving behavior and model controls across Mac and iPhone.
  • Meeting surfaces are steadier. Screen sharing now handles permission and track state explicitly, guest presence resets cleanly after leaving, and shared colors, icons, and error treatments are more consistent.
  • Admin and debugging have clearer tools. The web admin surface can manage transcription vocabulary, while meeting diagnostics and native capture controls report their state more reliably.

1.8.8 — 2026-09-09

  • Calendar preferences are organized around the user's decisions. Native settings group Upcoming, calendar sources, display, and weather so the shared Upcoming configuration is easier to discover.

1.8.7 — 2026-09-09

  • Upcoming is now configurable per owner. Look-ahead horizon, following meeting count, and closed-day behavior stay synchronized across Mac, iPhone, and web.
  • Calendar settings are easier to find. Mac, iOS, and web expose the shared Upcoming controls while keeping calendar-source choices in the right place.

1.8.6 — 2026-09-09

  • Threads now make agent answers easier to acknowledge. The latest agent response keeps quick reactions visible, reaction state reaches the runtime without creating a message, and chat views reliably reopen at the newest content.
  • Native workspace panels are more resilient. Inspector geometry stays within the shell during layout changes, while conversation previews and reaction symbols remain consistent across Mac, iPhone, and web.

1.8.5 — 2026-09-09

  • Calendar and meeting surfaces are clearer and steadier. Mac, iPhone, and web refine settings, event editing, owner agenda actions, platform markers, and shared upcoming labels.
  • Native controls and failure copy now stay on-brand. Meet-owned toggles, checkbox styling, concise recovery messages, and safer split-panel behavior keep the experience consistent across clients.

1.8.4 — 2026-09-08

  • Work and Team now have richer readers. Native and browser surfaces add interaction filters, readable Markdown previews, peer details, shared work, presence clocks, and tighter panel sizing.
  • Visual consistency continues across clients. Dark-surface tokens, hover behavior, calendar projections, and selectable iOS app icons now align more closely across Mac, iPhone, and web.

1.8.3 — 2026-09-08

  • Authored UX now uses semantic icons instead of emoji. Reactions, status marks, client markers, attendee states, warnings, and metadata use SF Symbols on Mac and iPhone and Lucide-style SVGs on the web; message and wire emoji remain compatible as content and stored values.

1.8.2 — 2026-09-08

  • Upcoming is one Home projection. Mac, iPhone, and web now share the same focus, horizon, tomorrow policy, compact row count, calendar source, and cross-calendar deduplication instead of filtering the feed independently.

1.8.1 — 2026-09-08

  • A calmer workspace. Home’s brand lattice, dark surface colors, footer, navigation, and Work sections now align the browser more closely with the native surfaces.
  • Meet chat and identity polish. In-room chat uses the shared LiveKit surface with link previews and reactions; one-person conversations keep the full display name; and the browser/PWA icons follow the updated palette.
  • Calendar and Worker consistency. Home uses the shared upcoming projection for tomorrow and cross-calendar copies, while Worker status pages and observability follow the quieter production surface.

1.8.0 — 2026-09-08

  • Team conversations open as a floating panel. Message a person or open Everyone while keeping the Team roster in view; close the conversation with its close button or Escape.

1.7.9 — 2026-09-08

  • Calendar cleanup. The browser calendar now orders Envisioning availability alongside events, keeps timeline titles top-aligned, shows travel time and invited people cleanly, links CRM-matched contacts into Core, and presents Envisioning Calendars as a dropdown with less repeated provider and source copy. Event editing also keeps the page still, restores invited people, and uses the quieter close and Google Calendar controls.
  • Work sidebar clarity. Leads now live under an optional SALES section, hidden by default with an explicit visibility override, quieter lead rows, and reset behavior that preserves the intended default. Core entity rows now show their returned record counts when available.

1.7.8 — 2026-09-07

  • Raise your hand. It stays up until you lower it, and everyone in the room sees it on your tile — on the Mac, iPhone, and browser alike. Lives next to reactions in the control tray rather than as its own toolbar button, since both are ways of saying something without taking the floor.
  • Put your own picture behind you, not just a brand plate or blur. Scaled down and re-encoded on your own device before it's ever used, with no metadata carried over — a background shouldn't carry a photo's GPS coordinates around.
  • Private group conversations, and link previews and reactions in a meeting's own chat. A pasted link now draws a preview on every client; chat messages can be reacted to the same way messages elsewhere already were.
  • GitHub issues report into the project's own channel — a comment, a close, an agent moving a card between columns — with a picture attachable from any of the three clients. Right-click an issue row for Open on GitHub or Copy Link.
  • Camera, microphone, and background live behind fewer, better dropdowns in a meeting and on the join screen, each option collapsing into its own row instead of one long list. Raise hand's old standalone button is gone, folded into the reaction tray it duplicated. Your own tile can now be resized, minimized to a corner bubble, or closed outright — closing is still "Hide me," brought back the same way it always was.
  • The meeting rail's show/hide answers ⌃⌘I now, the same shortcut Calendar's and Work's own side panels use, with a small live badge on the Meet toolbar segment when a call is running in a window you're not looking at.
  • A host can close a lurker's connection from the waiting page, and both the pre-knock queue and the knock queue now show how long each visitor has been waiting.
  • Work's sidebar rows are one shape everywhere they're drawn, on the Mac and on iPhone — "Envisioning" is now "Envisioning Projects" in its own section, since the section header already said the rest. An edit that fails to save no longer throws away what you typed; the sheet stays open and offers to retry.
  • A project or lead shows its organization's logo, once Core has one on file, in place of the plain folder or flag mark — on the Mac and on iPhone.
  • The calendar's week view only creates an event when you actually drag one out, with a live duration readout while you do; a plain click does nothing. Reload joins Today/Previous/Next on the Mac and iPhone.
  • Home's brand lattice comes to the browser, matching the Mac and iPhone, and no longer visibly deforms on the Mac during a live window resize.
  • An all-day event stops showing a countdown to midnight, on iPhone and the browser — the Mac has always suppressed it, now all three agree. A booking link (/book/<slug>) is its own address rather than a step you could lose on reload, and every on-screen clock reads in 24-hour time.
  • A late presence packet can no longer paint over "In meeting" with a stale status, muting your own microphone no longer flashes your self-view tile, and a debug chat report actually reaches the panel it's sent to now.

1.7.7 — 2026-09-06

  • Home no longer offers its own Schedule meeting button, on the Mac or on iPhone. Home already links to Calendar, which is where scheduling lives; the button was a second door to the same place.
  • Every panel you can open, you can now resize. Work's sidebar and inspector, and Meet's side rail, used to be fixed widths; each now has a floor and a ceiling of its own, and the rail remembers where you left it across launches. A window's minimum size is asked for from whatever is actually on screen rather than a single number held whether or not a panel is open, so a narrow window no longer refuses to shrink past the width of a panel you already closed.
  • Color says less, on purpose. Presence, permission state, issue state, "late," "unread," a public calendar event, and a screen share used to each carry their own hue. They now read in neutral ink and distinct shapes instead, so the one color that remains — reserved for an irreversible action or a genuine failure — still means something when you see it.
  • A task with no project or lead opens on Mine, not disabled. Tapping one from Home's task list, on the Mac or on iPhone, used to do nothing; it now opens the one list that actually holds it.

1.7.6 — 2026-09-06

  • A guest's camera and microphone are off until they say otherwise. Joining from a link used to switch both on by default, which is the wrong way round for someone arriving in a room that isn't theirs — and a reload could switch them back on even for a guest who had opted out. Prejoin now starts with both off and says so, and reconnecting keeps whatever the guest actually chose. What they pick is still remembered, so this is a first-visit default rather than something to switch off every time.
  • A knock nobody answers says so. The waiting room used to spin in silence for as long as the tab stayed open, with no way to tell a host who was two minutes late from one who was never coming. After a minute it now says the owner may be away, makes clear the page will still let you in the moment they answer, and — on an invite link — offers to pick another time.
  • A browser that cannot carry a meeting says so at the door. Anything without WebRTC or camera access used to take a name, an email, a challenge and a knock, then fail at the last step, having asked the owner to admit someone who could never arrive. That check now happens before any of it, and scheduling still works.
  • An invite link knows when the meeting ends. Meetings booked through a link carry their scheduled end into the room as a quiet clock, counting up as "over by" once the time is past. Nothing ends automatically, and a plain room link still shows nothing — a bare slug does not learn a meeting's hours.
  • An invite can be put in your own calendar. One button on the join screen, built from the booking already on the page, for guests whose invite came from a page rather than a calendar event.

1.7.5 — 2026-09-06

  • The surface switcher is the first thing in every window, and it never moves. Meet, Calendar and Work all start their toolbar with the same three-segment control, hard against the traffic lights, so switching places leaves it exactly where your pointer already is. Two things gave up their slot for that: the window title, which owns the leading slot in a unified toolbar and is a different width in each window — it is still set, so the Window menu, the tab bar and Mission Control still name the window, it is just not drawn — and the sidebar and inspector tracking separators, which tied a toolbar item's position to how wide a column happened to be. The selected segment says where you are, the way a tab bar's does.
  • A panel opens into the window instead of shoving it. Opening a sidebar used to widen the window on one screen and stay inside it on another, purely on how much room was left. Now the space always comes from the middle column and the window keeps the frame you put it at — left or right, from the toolbar, from the keyboard, or by dragging the divider.
  • Calendar and Work wear one toolbar grammar. Navigation, then create, then how the window is drawing things, then search — same order, same slots, same kind of control in each. Work's items were buttons wearing a toolbar item's clothes and drew a little differently from Calendar's; they are real toolbar items now. Its two labelled create buttons are one + menu, "Meet about this" left the toolbar for the row and card menus it was always on too, and both search boxes say Search and name what they search in the tooltip. Every item names its shortcut there, which is where you find out what the keyboard does.
  • A window is not the content's to resize. A board that could not read eleven subjects put all eleven names in one line and pushed the window out past the screen. Status lines truncate now, and every window carries both a floor and a ceiling — the ceiling being the screens it can actually be dragged across, adjusted when a display comes or goes.
  • Both sides, one pair of keys. The View menu names a side rather than a component — Show/Hide Left Sidebar on ⌃⌘S, Show/Hide Right Sidebar on ⌃⌘I, same modifiers — and says which way it will go by what is actually there. ⌃⌘I reaches Meet too, whose meeting rail is that window's right-hand panel. Sidebars also have room to move now: they stop at 520pt rather than 380pt, which was tight enough that the drag hit a wall almost at once.
  • Work waits to be asked, like Calendar. Its window opened with the caret in the search box, so the first thing typed went into a search nobody wanted. It opens on the subject list now, and ⌘F is the way into search — which works in both windows, where it used to be Calendar's alone. Work's search box also wears the same shell as Calendar's: no more system-blue ring.

1.7.4 — 2026-09-05

  • The three Mac windows wear the same clothes. Meet, Calendar and Work are dressed by one place: the same style mask, the same unified toolbar, the surface name as the title and what the window is currently on as its subtitle. Calendar's Today, chevrons, view picker and search were a row of controls sitting inside the calendar; they are chrome, and they sit in the chrome now. A three-segment switcher leads every toolbar, on ⌘1 / ⌘2 / ⌘3, and merging the windows with ⌘ gives one tabbed window.
  • Search looks like the rest of the app, and waits to be asked. The calendar's search box wore stock AppKit — a system-blue focus ring, and key focus the moment the window opened, so the first thing typed went into a search nobody wanted. It now wears the same shell as every other input, with the accent ring on focus, and the window opens on the grid. ⌘F is the way in.
  • Work's sidebar is arranged the way you leave it. Which sections are on the rail, in what order, and the status a filtered list opens on, all kept across launches.
  • Home has a grid behind it, on the Mac and on the phone. A field of whole 32pt squares — centred, so a resize never stretches it into rectangles, and faded on all four sides so the edge never reads as ragged. Each line carries its own alpha rather than every line drawing the same: lime in dark, monochrome ink in light, so the accent stays reserved for fills. It fades in when Home appears and back out when a call connects, and that is the only thing it ever does. Appearance settings can turn it off.

1.7.3 — 2026-09-05

  • Work has a board of every card. Every open task and issue on every project and lead, in six columns: queued, doing, review, blocked, done and dropped. A task from Core and an issue from GitHub sit in the same columns under one rule, pinned by the same table of cases the Mac, the browser and the Worker already share for "what do I owe". Drag a card to move it; a move Core or GitHub refuses puts the card back and says why. Two chips narrow the board to one subject, or to the cards a person or an agent is holding. Reached from the Board button in Work's toolbar. Mac only for now; the browser and the phone follow.
  • A card says what last happened to it, and opens there. The last event line naming a task or an issue is on the card, and clicking it opens the subject's conversation at that line. The other way round too: a task or issue chip on any message opens the card beside the conversation.
  • Hand a card to an agent. Drop it on the agent's row in the sidebar, or pick the agent from the card's menu. It is a message to the agent carrying the card, so the agent knows its ticket without reading it out of a sentence. Drag a card out of an agent's hands and the agent is told to stop.
  • Agents move cards through Meet, as the person who asked. A factory reports every stage change through the same door it answers through, and Meet writes the label or the status as the colleague whose message started the run. The line lands on the project's channel when the factory names the project, and in the conversation that asked otherwise. An agent's own lines are quiet: they neither badge the conversation nor end its turn.
  • In review and Blocked are task statuses now, on every surface. Core does not accept them yet, so moving a task there today comes back with Core's refusal rather than Meet's.
  • The launch surface stands on the brand's grid, faintly, between calls.

1.7.2 — 2026-09-05

  • The screen-share picker let go of the Mac. Opening it and then changing your mind left a sheet nothing could close: Cancel, Escape and Share all ran, none of them dismissed it, and a window-modal sheet swallows every click behind it — so the meeting was stuck until the app was relaunched. Sharing a screen and cancelling both work from the keyboard now, and the Add repository picker, which had the same fault, closes too.
  • The browser has a Settings page. Reached from a gear in the header, where iOS keeps it: who you are signed in as, your picture, the Google Calendar connection, and signing out. Sign out used to be a bare link under the home card, on the one page you stop visiting once you know your room link.
  • You can edit a calendar event in the browser. Create a timed event with invitees, or change the title, time, location and notes of one you already have; deleting asks first. An event stays on its own calendar, and editing a recurring meeting touches the occurrence you are looking at, not the series.
  • An issue opens in the browser instead of on GitHub. Work listed issues and then handed you to github.com; now the body, the state and the comments are in the workspace, and closing the issue puts you back where you were.
  • A member with no room is told so. Anyone at Envisioning can sign in, but a room has to be mapped to the account. Every client used to draw that as an error — or, on the Mac, as a Start button for a room that does not exist. All three now say the account is fine and the mapping is missing, and leave Calendar, Work and Team working, because none of them needs a room.
  • Escape closes the task and subject sheets on the web, like the settings and debug dialogs beside them always have.
  • The three clients round their corners the same way. The Mac, the phone and the browser each had their own idea of a rounded button; they take one scale now. Buttons also have room either side of the word — a Meet button reserved about a fifth of the space a Mac button normally does, which is why they read as tinted labels.
  • Each device says what it can do. iOS Home and Settings stopped claiming the Mac is the only thing that can host, Participants is People everywhere, and the waiting room, prejoin and ended screens on the web have their way back.

1.7.1 — 2026-09-05

  • Mentioning somebody works now. Typing @ completes from the team, on all three surfaces. The conversation goes loud for whoever you named and stays quiet for everybody else — and muting a conversation never swallows your own name in it.
  • You can attach a file. Drop one anywhere on the conversation on the Mac, or pick from the photo library or Files on the phone. Pictures draw in place. What is staged sits above the composer until you send, each one removable.
  • You can mute a conversation for a week. A mute with no end is a mute nobody remembers setting.
  • The phone and the browser draw the same conversation the Mac does. Turns grouped, days headed, and a mark where you left off — the Mac and the phone compile one copy of those rules, and the browser is tested against the same table of cases.
  • Reacting, editing and withdrawing reached the phone and the browser. On the phone they are where iOS puts them, on a long press, rather than behind a hover nobody has.

1.7.0 — 2026-09-05

  • A conversation reads like a conversation. Chat bubbles spent their width on a rounded box and their height on a timestamp under every single line, so six sentences filled a window. Rows are flat now, with the name on the first line of a turn and the text getting the column. Consecutive lines from one person become one block, days get a heading, and where you left off gets a mark that stays where you stopped rather than moving every few seconds.
  • A conversation takes the whole column. The title above it is gone — the window and the sidebar were already naming it — along with a tab strip it never drew but was silently paying for in height, and a placeholder that told you to pick something you had already picked.
  • You can react to a message, edit one, or take one back. Reactions are one press and any emoji, counted, with names behind them. Editing is yours only and for a day; withdrawing has no time limit and leaves the line in place without its text, so replies still make sense.
  • You can attach a file. Images, PDFs, clips and text, private to the members of that conversation, and deleted outright when the message carrying them is withdrawn. (No picker on the Mac yet — the plumbing landed first.)
  • A message can point at the task it came from, and the work graph's own lines sit in the same transcript as the talk rather than somewhere else.
  • Mentioning somebody makes a conversation loud for them and quiet for everybody else, and a conversation can be muted without also silencing your own name in it.
  • The roster knows what time it is where somebody is. "Available" and "Available, 23:10 their time" are the same status and opposite advice. Each device reports its own zone; set your own and it stops moving. Working hours, a job title and pronouns join it.
  • A colleague's conversation has their work beside it. Who they are, how to reach them and whether now is a reasonable moment, what they have open and how much of it is late, and the projects you both have live work on.
  • The sidebar marks what it opened. People, agents and Everyone had no notion of being selected, so the navigator forgot where it sent you as soon as the pointer moved away. Everyone gets the company mark; your own row leaves the team list, since the footer under it is already you; and Mine drops the picture of yourself from every row.
  • Faces stopped flickering. Every avatar showed its initials for one frame each time the roster polled — about once every ten seconds, and again on every click.
  • The version line says which server the build is talking to. A build pointed at a machine that is not running the API reported it as an outage.

1.6.5 — 2026-09-05

  • The team surface shows conversations, not a list of people who are each, separately, busy. Everybody in the same room is drawn together, named for the people in it, with one way in. Underneath, presence had been answering the wrong question: it only ever checked whether your own room was running, so a colleague standing in somebody else's meeting read as merely active — a person visibly in a conversation that the roster could not see.
  • A wave shows you who is waving. Their tile breathes for as long as the wave is live. The chime says somebody wants you; hunting six tiles for the one that means it is the work a wave exists to save.

1.6.4 — 2026-09-05

  • Your work is one list, in the order you owe it. Tasks and GitHub issues sat in two blocks with a heading between them, which is a fact about our plumbing rather than about the work. They are one run of rows now: late, then today, then what is coming, then the undated. A task you filed on GitHub appears once instead of twice. Mac, iPhone and web answer to the same rules, so one pile cannot come out in three different orders.
  • Accepting a task on iPhone writes it. It never did. Every accept was refused because the task said nothing about which project or lead it belonged to, and the tick came back looking like it had worked. Accepting asks where the task goes, and who owes it.
  • A task can be filed from the meeting that produced it. On the Mac, accepting waited until somebody had categorized the meeting, so a suggestion made before that had nowhere to go. The sheet asks for the project or lead itself, and starts from the meeting's own filing when there is one.
  • Work you accept starts out yours. A new task for the team goes to the person creating it rather than to nobody.
  • Copy an event and paste it on another day. ⌘C, ⌘X and ⌘V work in the calendar. A paste makes a new event at the time of day it was copied from, on whichever day you are looking at, keeping the guests, the notes and the link. Cutting an event with guests asks first, because guests are told it is cancelled.
  • Light mode is grey rather than faintly green. Every surface carried a little lime, which made the whole window read as tinted. Hovering did nothing on a white panel, and some badges were invisible on it.

1.6.3 — 2026-09-05

  • Call a colleague who hasn't started a room, and you can still talk. Until now that put you in a lobby waiting for a room nobody had decided to open. Call now asks: they get Open room or Not now, and if they open it you walk in on your own — no link, no invite, no second click. Calling somebody already in a meeting is unchanged. Unanswered after 45 seconds it says so and stops waiting.
  • A room somebody walked up to starts ready to talk. Microphone on, camera off — nobody agreed to be on camera by answering a call — and it does not transcribe. A chat at a desk is not minuted; turn it on if the conversation turns into something.

1.6.2 — 2026-09-05

  • One word for one gesture: Wave. Nudging a colleague was called Ring on the Team row and in every notification, which implied a phone that must be answered — the opposite of a gesture that costs nothing to send and expires by itself. It is Wave now on Mac, iPhone and web, including the notification the other person actually reads. Call is unchanged and still means something different: a wave asks for attention, a call asks into your room.

1.6.1 — 2026-09-05

Meet stops asking questions nobody is waiting to hear the answer to.

  • Presence polls at the speed of the attention it has. The team roster kept reading at its on-screen cadence whether or not the app was in front of you, and went on reading behind a locked screen all night. It now reads briskly while you are in the app, slowly while it is behind other windows — still well inside the life of a wave, so nobody's nudge is missed — and stops when the screen locks or the Mac sleeps. A Mac that stops beating is shown as away, which is what it is, and coming back to the app repaints the roster rather than making you wait for the next read.
  • A waiting room that stops waiting once it knows. A guest who was not admitted went on asking every two seconds, forever, from a screen already telling them so. The lobby now leans on its live connection and only falls back to asking when that connection is not carrying the answer.

1.6.0 — 2026-09-05

Meet learns to say who is around, and lets you catch somebody's eye without booking anything.

  • Say where you are, not just where your Mac is. Presence used to be evidence alone — a running room, a lease, a heartbeat — which can never express "I am right here and I do not want to be talked to". You can now set Available, Heads down, or Stepped out, alongside Do not disturb, from one control in the Work sidebar. Heads down can be timeboxed and lapses on its own; nothing you set outranks a meeting that is provably running.
  • The team as a room. Clicking TEAM in Work opens everybody at once as tiles — who is around, what they are doing, and Wave. Waving costs nothing and asks for nothing: their Mac chimes, and where they go next is theirs. Somebody heads down still gets the wave, just without the sound.
  • The room notices you arrive. Joining plays a short chime and rings your own tile for a moment. Nobody else in the room is interrupted — a signal for every arrival is a cost charged to everyone already talking.
  • A card on the board offers what its row does. Right-click a project or lead on the board for the same menu the sidebar row has — open a pane, edit, rename, add a task or an issue, link a repository. A board you could only read was a picture of work the sidebar could act on.
  • Agents can be written to, and can say they are working. An agent appears in the roster and in conversations as a peer with no device: no room, no calendar, nothing to ring. A runtime that accepts a hand-off marks the agent busy until it answers, and that claim expires rather than sticking — a roster that cannot say I don't know is one that lies.

1.5.0 — 2026-09-04

  • A small correctness fix following 1.4.9. The end-meeting button's title could pick up the wrong font when nothing had set one explicitly; it now falls back to the control row's own.

1.4.9 — 2026-09-04

  • A cleaner fix for the end-meeting button's red fill. Same look shipped in 1.4.8 — filled and red, not a plain button with a tinted icon — now built through the control row's one shared button style instead of a second button type.

1.4.8 — 2026-09-04

Every camera tile is a square that centres on your face, and a project finally remembers what happened on it.

  • Faces stay in frame. Camera and avatar tiles are square now, on Mac, iPhone and web alike, and a local face detector keeps yours centred as you move — nothing leaves the device.
  • See the whole pipeline. A new board view on the Mac lays out every project or lead as columns of its status; drag a card to change it.
  • A project or lead remembers what happened on it. A new Interactions pane shows the meetings, notes, calls and emails Core already has on file — read-only, on Mac, iPhone and web.
  • Envisioning Internal is shared, not a place to move things through. Creating and editing an event there still works everywhere; moving an existing event into or out of it doesn't. Duplicate makes a personal copy.
  • The closed-day line stops reaching past tomorrow. "3 later this week" read like Calendar had run out of things to say about today.
  • The button that ends the call looks like it means it. Filled and red, not a plain button with a tinted icon.

1.4.7 — 2026-09-04

Team folds into Work, and Work grows a menu, filters, and a right-click.

  • One door, not two. Team is no longer its own window — its roster and messages moved into Work's TEAM section, matching what the iPhone tab bar and the web nav already show.
  • A menu bar door. New Work menu: New Project…, New Lead…, ⌥⌘T New Task, ⌥⌘I New Issue, and Meet about Selected, without a click into the window first.
  • Filter what's open. Projects, Leads and Tasks each carry a status filter with a live count beside every option, asked of the same list you're already looking at.
  • Edit a task without leaving the list. It opens in the inspector now, not a sheet, and only what changed is sent.
  • Right-click a project or lead. Open, edit, rename, start work, meet about it, or link a GitHub repository — from the row, on both platforms.
  • Notice an update without opening Settings. A quiet banner in the titlebar shows an available version and installs it in one click. The updater itself verifies what it downloads before touching anything on disk.
  • Sign-out reads the same everywhere. A session the server has stopped honouring now clears and redraws every open window, instead of leaving some of them stuck showing a Mac that's no longer signed in.
  • A quieter Settings sidebar. Category icons lost their six accent colours — Account, Calendar, Video and the rest now sit in the same neutral well.
  • Calendar attendees are named by Core. An Envisioning colleague's name comes from the team roster now, not from whatever Google had on file for their address.

1.4.6 — 2026-09-04

Issues you can finish without opening GitHub.

  • File it finished. A new issue used to arrive bare — a title and a body — so whoever filed it went to GitHub to add the label and the assignee. The draft now offers labels, assignees and a milestone, filled with the primary repository's own values rather than free text.
  • Follow a reference. "mz mentioned this in #277" is a link to #277 now, on the Mac and the phone. It had been carrying the address all along and drawing it as plain text.
  • Name the children. A parent issue lists its sub-issues and their state instead of only counting them, and each one opens.
  • Edit in place. Change an issue's title and description from the app. Only what you actually changed is sent.
  • Late work reads as late everywhere. A task past its date is tinted in every list that draws one, not just the personal one.

1.4.5 — 2026-09-04

The Work window grew a calendar, a third column, and issues that read like GitHub's own.

  • Calendar. EventKit and Google both feed one week view, on the Mac and on the phone, with the Worker proxying availability and scheduling behind them.
  • Connecting Google Calendar works the first time, and stays connected. The Worker used to forget the owner's own calendar token whenever any account's refresh failed — including a second, personal account whose token had lapsed — which is why calendars vanished right after connecting and the connect itself usually took two tries. Now only a token Google has actually revoked is forgotten, and only for the account it belongs to; an outage at Google is not a disconnect. The connect response carries the calendar list itself, so the picker and the week fill without waiting on the Worker's store to catch up, and the Calendar and main windows are told the moment Settings connects. An extra account whose access has lapsed is shown by name in Settings with Reconnect and Remove, and choosing it again reconnects it in place instead of refusing it as already connected.
  • Subjects are editable. A project or lead can be changed where you read it, on the Mac, the phone and the web, instead of only in the CRM.
  • Work is three columns. The sheet that used to cover the issue list is a column beside it now — the inspector when you are reading a row, the middle column when you came from the sidebar.
  • Issues that read like GitHub's own. Coloured labels, the author and the dates, several assignees, milestone with its due date, issue type, sub-issue progress, reactions, and why something closed. Filter by state, label, assignee and milestone; order by newest, oldest, recently updated or most commented — asked of GitHub rather than applied to a page, so a filter cannot hide the matches that did not fit in one. Reading one is no longer a body with its comments glued to the end: the markdown is parsed as blocks, and comments and timeline events interleave in the order they happened. Labels, assignees and milestone are set from that rail on both clients, from pickers filled with the repository's real values.
  • The rest of the issues. Load more from GitHub asks each linked repository for its next page and appends, de-duplicated, where the count used to end in a "+" nobody could act on.
  • Faces. GitHub avatars beside every byline and assignee, fetched through the Worker rather than from the CDN — the bytes are public, but who is asking for them is not, and no device in this app talks to GitHub directly. Initials are drawn first and stay wherever there is no picture.

1.4.4 — 2026-09-03

  • The sign-in page offers Envisioning accounts and nothing else. The first login used to hand you Google's full list — every other Workspace the browser happened to know — and only told you the account was wrong after you picked it. Mac, iPhone, and the browser now narrow the chooser to Envisioning. Both domains are aliases of the one Workspace, so nobody on .io loses anything, and what actually decides who is an owner is unchanged: the chooser is a filter, never the boundary.

1.4.3 — 2026-09-03

The work that had been sitting uncommitted on the shared Mac is in, and the Work window learned how a Mac window is shaped.

  • One Background button. Blur, the Block themes, off, and a door to the system Video Effects, in one menu on the control bar — instead of two buttons that cycled. Your own picture can be moved to any of six spots on the stage, or hidden.
  • The host can close a microphone, or show someone the door. Mute a participant or everyone else, or remove somebody mid-call. The person is told who did it and why, on every surface, so a dead microphone never reads as broken hardware and a removal never reads as a dropped call. Unmuting stays with the person muted.
  • The Work window is two panes. A sidebar for the list, in the system material, and a detail area that names the chosen project or lead once, above its Talk / Tasks / Issues tabs. Mine, Projects, Leads, search, and "Meet about this" moved into the toolbar. Search now filters Mine as you type; tasks and issues sit under their own labels; with nothing chosen the detail says what it is for. The window can be made smaller than before.
  • Connect a calendar, from where it says you need one. The launch card and the menu bar carry a button that opens Settings on the Calendar page instead of a sentence telling you to go and find it.

1.4.2 — 2026-09-02

The calendar and the work now know each other.

  • File an event under a project or lead. Open any event — on the Mac's calendar inspector or the phone's event sheet — and say what it is about. The choice follows you to both devices, and it is yours: filing somebody else's invitation changes nothing on their calendar.
  • A room started from a filed event is filed too. Use an UPCOMING row on the Mac and the meeting opens under that subject, the way "Meet about this" does from Work — so its notes and tasks land beside the conversation without anybody filing it by hand.
  • Home says what the next meeting is about. The Mac's launch row and the phone's Next meeting card name the subject under the title when there is one.

1.4.1 — 2026-09-02

A project's channel now carries the meeting's trail.

  • The work writes into the channel. When a meeting is filed under a project or lead, its channel gets a quiet line saying so; another when it ends, with how long it ran; another when the notes are filed, with their title; and one for each task the meeting proposed and somebody accepted. They sit in the same transcript as the talk, centred and grey, on the Mac and on the phone — a channel where the automatic half lives somewhere else is two channels.
  • They never nag. An event line never counts as unread and never becomes the conversation's preview. The dot and the badge still mean a person said something.

1.4.0 — 2026-09-02

A meeting and the project it is about now know each other.

  • Meet about this. Open a project or lead in Work and start your room from there — on the Mac's Work window and in the phone's subject screen. The meeting is filed under that subject the moment it opens, so the notes it produces and the tasks it proposes land beside the conversation instead of waiting for somebody to file it by hand. Offered only while your room is not already running.
  • Open in Work, from the meeting. Once a meeting on the Mac is filed under a project or lead, the CRM sidebar carries a door straight to that subject: its talk, its tasks, its issues, without a search.

1.3.9 — 2026-09-02

What is yours can be finished where it is read.

  • Tick off a task from Mine. Every row in Mine had to be opened through its project before anything could be done to it. On the Mac and the web each row has a tick box; on the phone a swipe marks it done. It is the same write the project's own list makes, and the row leaves Mine and Home together.
  • File a task on GitHub from Mine. Right-click on the Mac, swipe the other way on the phone, for a project task that has not been filed yet.
  • Notes to self moved up. Your own row on Team sat under the whole roster, off the bottom of a phone screen. It now sits above the people, on both devices — it is the one conversation you can open with nobody around.

1.3.8 — 2026-09-02

Home knows what you owe today.

  • Today's work, on the screen you open first. The Mac launch card and the phone's Home gain a WORK block under the day's meetings: what is overdue, in red, then what is due today, each with its project or lead. A row opens Work on that subject with its tasks in front. The block is absent when there is nothing — no card saying all clear. The menu bar carries the same lines and an Open Work door.
  • "Today" is decided on the device, not by the server, so a task due on the day you are in reads as due today from midnight to midnight, and never as late at breakfast because a date-only column parsed to 00:00.
  • Mine and Home read the same list. Ticking a task in Work refreshes Home at once instead of waiting out the next poll, on both devices.

1.3.7 — 2026-09-02

Work gets its door on the Mac, and a message on a project finds its way there.

  • Ticking a task in Work marks it done. The tick box on the Mac's Work window struck the task through and told Core nothing, so it came back open the next time the list loaded. It now writes the same completion the live meeting's panel does, and puts the row back if Core refuses.
  • The launch card has a Work button beside Calendar and Team, in the order the phone's tab bar shows them. Work was only reachable from the Window menu or ⌥⌘W — a destination the phone and the web show by name.
  • A project's messages point at Work. On the Mac they were counted on the Team button, and the Team window had no row to answer with; on the phone the same conversation sat under Team while its tasks sat under Work. Project and lead conversations now live in Work on both, with a dot on the subject and, on Mine, the subjects with something new listed first. Home's messages card opens each row where it lives, and each tab badge counts only what its tab can open.

1.3.6 — 2026-09-02

  • Camera off takes effect when you press it. Turning the camera off cleared your own tile only once the capture session had finished stopping, so for a couple of seconds the last frame sat there under a button that still offered to turn the camera off. The tile blanks and the button changes on the press now — on the Mac and on iPhone — and the picture comes back if the camera refuses to stop. Turning it on is unchanged: nothing appears until there is a real frame to show.

1.3.5 — 2026-09-01

  • The Mac picks where the room plays. Meet chose its own microphone and camera and then played the meeting through whatever macOS happened to be using, so headphones mid-call meant leaving Meet to change the system default for the whole machine. There is a speaker beside the other two now — in the launch pane, in the sidebar's Devices section, under Meeting ▸ Speaker, and as meetctl select-speaker. It can be changed at any point in a meeting, and it never touches the Mac's own default. The web gained the same picker before you join, and both web pickers now stay hidden in browsers without setSinkId rather than offering a control that does nothing.

1.3.4 — 2026-09-01

Suggested tasks got a better ear, ticking one off got simpler, and the lime button stopped shouting on a white page.

  • Marking a task is a toggle now. Every row in a meeting's Tasks panel has a tick box: tick a suggestion and it becomes a real task, tick a task and it is done, untick either one and it is not. Clicking the row's title still opens the editor, for the ones worth reading before they land.
  • Suggestions read the conversation instead of listening for words. They used to fire on phrases like "I'll" or "send", which meant a sentence about a sender could become a task while something agreed across three turns did not. Now a couple of minutes of speech goes to a much larger model that is asked what was actually agreed, and open work is handed to it so it stops proposing what you already have. Rows arrive slower and mean more; when the room goes quiet, what was said is read anyway rather than waiting for more talk. Extraction runs on the control plane, where the transcript already goes — defaults write com.envisioning.meet meet.taskSuggestions on keeps it on the Mac instead, at the old, smaller model's quality.
  • Filled buttons step down to the darker lime in light mode. On a white page the brand lime read as a highlighter laid over the page rather than a control sitting in it. Buttons now rest on #aacc00 there, with a press state of their own underneath. Dark mode is unchanged, and marks, hairlines and the focus ring keep the lime on both.
  • Dark mode stops changing its mind. Panels and rows built while a meeting was running could pick up light-mode colours in a dark window — the suggested task rows most visibly of all. Every custom surface now takes its colour from the window it is actually in.

1.3.3 — 2026-09-01

  • A meeting that ends without you drops the call screen on iPhone. The guest app decided it was in a meeting once, when it connected, and never looked again — so a host ending the room, or a connection LiveKit had given up on, left the call UI sitting over an empty stage until you pressed Leave. The phone now follows the session and closes out on its own, saying which of the two happened: a room the host closed is an ending that names its reason, and a genuine drop reads as a disconnection.

1.3.2 — 2026-09-01

  • Muting no longer costs you the speaker. Unmuting re-applied the chosen microphone every time, and handing LiveKit an input device restarts the whole Core Audio module — what you are listening to along with what you are saying. The restart then announced itself as a device change, which applied the microphone again. Meet now sets the device only when it actually changes, so a mute cycle never touches the audio device.
  • Light mode is no longer written in dark-mode ink. The web stylesheet was authored dark-first, so about a hundred colour literals survived the theme switch and left /features and /privacy as white text on white paper. Ink, veils and the soft semantics now carry their channels, the join button reads dark on lime in both themes, and a raised surface climbs toward white on a light page instead of away from it.

1.3.1 — 2026-08-28

Five fixes from a top-to-bottom review, all in the paths that looked healthy while they weren't.

  • The notes email is fixed to the address the owner admitted. An admitted guest could quietly change where their transcript copy was delivered, for hours after the meeting ended. The address is locked now, and nothing about a meeting can be changed once it is over.
  • A guest can no longer pass as the owner. Participants could relabel themselves in a way that stopped other guests from ever seeing "meeting ended". Who the owner is now comes only from the identity the server signed.
  • The Face ID lock no longer ends a meeting. Hosting from the phone and taking a call used to close the room for everyone the moment the lock engaged. The lock now covers the app instead of tearing it down, and the meeting runs on behind it.
  • A phone that loses its media stops holding the door. After a dead connection the phone kept renewing its host lease and admitting guests into a room nobody was hosting. It now tries once to rejoin, and otherwise says so and lets the lease lapse.
  • A dropped web guest keeps their seat. A two-second blip used to send an admitted guest back through the knock, and five failed retries barred them for good. Rejoining now retries patiently for as long as the seat stands — long enough for a host Mac that went to sleep to come back.

1.3.0 — 2026-08-24

Work is where the projects and leads live, and it now knows about GitHub and about you.

  • A project's issues sit beside its tasks. Open one, read it, comment on it, close or reopen it, or file a new one, without leaving Meet. They stay GitHub's issues: closing one here closes it there, and nothing is copied anywhere.
  • Hand a task to GitHub. Right-click on the Mac, swipe on the phone, and the task becomes an issue and remembers which one. The two keep their own state, because a task and an issue that pretend to be one thing drift apart quietly.
  • Mine. Everything assigned to you, across every project and lead, in one list ordered by date. Tell it your GitHub username once and the issues assigned to you join the tasks.
  • Late is visible. Every project says how many of its open tasks are past their date, and a date that has passed is coloured wherever it appears. Undated work is never late; it was never promised.
  • A project says where it stands before you open it — open tasks, overdue, and whether a repository is linked to it.
  • The Work window opens at a usable size and can be resized. It could collapse to a sliver and then refuse to be dragged back.

1.2.2 — 2026-08-23

Three things that did not work in the last release, and one that was only ugly.

  • Work opens in a browser. The address was reserved but never served, so the page that already worked on the Mac and the iPhone answered 404 on the web.
  • Project and lead lists show a hundred, and say when there are more. They were handing back the first twenty five with nothing to indicate it, which reads as the whole CRM to anybody who has not counted their projects.
  • Find a project by its client's name. A lead that borrows its organization's name could not be found by typing that name, because the name on screen was not the name being searched.
  • A day is one surface again. The calendar grid painted a lighter block over the working hours, which on a phone read as a slab with a hard edge at 08:00 and another at 20:00. It is gone on both platforms, and the shading that remains is grey rather than lime.

1.2.1 — 2026-08-23

Two things you notice on a phone: being asked who you are, and being told something the app has not checked yet.

  • Signed in stays signed in, on iPhone and iPad. Sessions lasted eight hours with nothing to renew them, so daily use meant a Google sign-in most mornings. The iOS app now renews quietly when you open it; Google reappears only after sixty days away, or if the account no longer belongs at Envisioning. The Mac still signs in the old way — it is next.
  • The calendar stops guessing. Opening Calendar greeted you with "Google Calendar isn't connected" for a second before drawing the calendar it was already loading. It now waits until it knows. A dropped connection no longer claims your account is gone either — being offline is not the same as having no Google account.

1.2.0 — 2026-08-22

The iPhone can host. Not a remote control for the Mac — the same job: it starts the room, answers the door, transcribes on the device, and files the meeting.

  • Host from iOS. Start your own room from Home, admit or decline at the door, and end it for everyone. The waiting room refreshes every two seconds, the same way the Mac watches its own queue, and a knock raises a local notification while the app is running. Admit and decline are not notification buttons: deciding from a banner means deciding without seeing who is asking.
  • Two devices, one you. Being in a meeting on your Mac and your phone no longer throws one of them out. Each device publishes under its own address, the stage shows one tile per person, and the participant count counts people. The second device arrives as a companion with its microphone off, because two live microphones in a room is feedback and two transcripts of one voice is a worse artifact.
  • Notes from the phone. Speech recognition runs on the device holding the chair, captions go out to everyone, and the finished text reaches the artifact through the same crash-safe queue the Mac uses. The speech model is never downloaded behind your back — hosting without it simply produces no notes, and says so.
  • The stage caught up. Reactions, hide-my-tile, the full transcript, per-person connection quality with an honest reconnecting state, background blur and the Block plates, and — for a host — stopping somebody else's screen share. Everything past mic, camera, chat and the way out lives under More.
  • Filing and tasks. File the meeting against a lead or project from the phone, and answer the tasks the conversation proposed. Accepting is still the only thing that writes to Core, and the quote travels with it.

Screen sharing from iOS is still not offered, and there is no push: a knock reaches you only while Meet is open.

1.1.0 — 2026-08-20

Meet has only ever had a dark appearance. It has a light one now, and a setting to choose between them — which is why this is 1.1.0 and not another patch.

  • Auto, Light, Dark. On the Mac, the phone and the web, stored per surface. Auto means the device's preference rather than whatever Meet last used, and the web applies it before React mounts so a reload does not flash the wrong palette.
  • The accent stopped being a surface. #d6f249 is unreadable as a background in daylight, so it went back to being an accent — a mark, not a fill — and the dozen places that used it as a backdrop use ink instead.
  • The week grid sits on a ladder. Translucent veils painted in order gave a working hour 1.037 on a weekday and 1.024 on a Saturday, an accident of paint order nobody chose. Columns are at exactly one opaque rung now.
  • Hidden from Next reads as put away, not declined. A demoted event was faded to 0.46 — the same weight as an invitation you turned down. It is a tenth now: a ghost you can still find and tap, and never something the eye stops on.
  • Our own rows carry our own mark. Global interest wore sparkles, a system symbol that says "special" without saying whose. It wears the EV glyph on the Mac, the phone and the web, drawn before the title — and a block too small for both keeps the title.
  • The day grid moves in columns. It was three pages of a period swiped as a unit, with two strips kept in step by agreeing which one carried the gesture. It is one continuous run of fixed-width columns now, stepping a day at a time, so a 2-day view is free to show Tue/Wed and then Wed/Thu.
  • A failed refresh no longer shouts. Leaving the calendar tab cancels whatever was loading, and URLSession reports that the way it reports being offline — so Meet said "Google events didn't refresh" over a screen that had just drawn correctly. Cancellations and speculative prefetches are silent; a real failure gets a tappable retry banner over the grid instead of a dialog.
  • Home stopped offering four doors to two rooms. The button stack under the agenda duplicated the tab bar and reshuffled itself by room state, moving the primary button under your thumb. The room card and share link stay.
  • Your own layer rows say "You". They named an assignee only when it was somebody else, so your own tasks read as unassigned.
  • The website's build number was wrong. It said build 1: a shallow clone counts only the commits it was given and answers confidently. Both version paths refuse a truncated count now rather than stamping a plausible wrong one.

1.0.8 — 2026-08-20

The Calendar sidebar had grown into a list of two different things: switches for what you can see today, and chores like connecting an account. The chores have moved to Settings, and the company rows are one short list.

  • One Envisioning list. Internal, Events, Milestones and Tasks now sit under a single heading instead of two shelves with an explanatory footnote each. The names lost the "Envisioning" the headings used to supply, and what the footnotes said — read-only, editable, where it comes from — is in each row's tooltip.
  • Account chores live in Settings. Connecting Google, adding another account, and subscribing to a published feed are on the Calendar page in Settings, beside the list of calendars already in the app. The sidebar keeps only the switches. ("Manage calendars in Settings…" is gone; clicking it had never done anything.)
  • New events never land on shared context. The internal company calendar is still editable, and an event can be put there on purpose — but it is no longer offered as the default calendar, and a setting that had drifted onto it moves back to a calendar of your own.
  • The Meet button says which Meet. On a Google row it names Google Meet in full, since our own app is called Meet too.

1.0.7 — 2026-08-19

At seven in the evening the app would put tomorrow's first meeting in the countdown card and tick down fourteen hours to it, as though it were about to start. A day that is over should say so.

  • A finished day says it is finished. When there is nothing left today, the card stops reaching into tomorrow for something to count down to. It tells you what the morning holds instead — "Nothing left today. 3 tomorrow, first at 09:00" — in the same words on the Mac, the phone, and the web.
  • Tomorrow is listed, not counted down. Meetings on later days still appear under the next one, with the day they fall on. The relative countdown is gone from them: "in 2d 14h" was arithmetic, and the date already said it better.
  • A meeting you cannot click is still what's next. Lunch with a client used to be invisible on the phone and the web, which only counted meetings with a video link — so the afternoon Zoom claimed to be next. Now the meeting that is actually next is the one shown; it simply has no join button.
  • An all-day block cannot take the next-meeting slot. An offsite or a holiday belongs on the day, not in the countdown.
  • Late nights read correctly. At 23:50 a meeting at 00:10 is tomorrow, and is described that way, rather than looking like something twenty minutes off at noon.
  • The Mac looks a week ahead, like the phone and the web already did, so its sidebar can tell you what is coming after tomorrow. The menu bar's Next Up stays about today.

1.0.6 — 2026-08-19

The iPhone calendar could not be scrolled reliably, and half the screen was chrome rather than day.

  • The day scrolls. Dragging up or down had been a coin toss — a quick flick moved the day, a slower drag did nothing, and a drag that started on an event usually did nothing at all. Every gesture in the grid is arbitrated properly now: dragging scrolls, swiping sideways changes the period, and an event only comes up under a deep press, which buzzes when it takes hold.
  • The dates stay put. The day heads and the all-day band no longer scroll away with the hours, so what you are looking at is always named on screen. They still page sideways with the grid.
  • Pinch to zoom the hours, the same gesture and the same stored scale as the Mac's trackpad pinch.
  • More day, less chrome. The search field, the date bar with its arrows, and the Today button are gone: the month is in the title bar, paging is a swipe, and tapping the Calendar tab again is Today. The day head fits on one line — weekday, date, and sky together.

1.0.5 — 2026-08-19

Two meetings at the same hour used to make each other unreadable, and a week meant something different depending on which screen you read it on.

  • Overlapping meetings cascade instead of splitting the column. The event in front keeps a card wide enough to read a title in; the ones behind it show a stub you can still see and tap, however many collide. Two at 10:00 used to be two half-width slivers with both titles clipped.
  • A week is the same seven days everywhere. The Mac grid now starts at the day you are on — opening the window, switching view, or pressing Today — the way the iPhone list and the web page already did. The same Monday can no longer be the first column on one screen and the fifth on another.
  • No more seven-column week on iPhone or iPad. A week you cannot read is not a week: the phone and the pad offer 1, 2, and 3 days, and the List still covers seven. The shared Default view setting keeps working across Mac and iPhone.
  • The iPhone day grid reads like the Mac week. Your working hours are shaded behind the day, weekends recede, today takes a wash so you can find it in a 3-day window, half-hour lines appear when there is room for them, and the hour lines sit over the cards instead of under them — so a start and an end are still readable through a full day.
  • The multi-day title bar names the month now, instead of repeating the dates the column heads already carry.

1.0.4 — 2026-08-19

Meet never records — but the Mac kept the camera open anyway, for a preview that was behind another screen.

  • The camera light goes out between meetings. A signed-in host sits on the launch screen, and the stage's mirror lives behind it — folded away, never on screen, and until now still running a capture session. Leaving Meet open all day meant the recording indicator was on all day. The camera now opens only for something somebody is actually looking at: the launch screen's Preview when you unfold it, the device check before you join, or a meeting.
  • Out of sight, off. Minimise Meet, hide it, or cover it with another window and the idle preview gives the camera back; return to it and the preview comes back with it. A live meeting is untouched — its video is yours to turn off with the Camera button, as before.

1.0.3 — 2026-08-19

Meet has no push. A direct message is only ever found by opening the app — and the screen you open first said nothing about it.

  • Home says when somebody is waiting on a reply. The Mac's idle launch screen counts unread on the Team button and names who wrote; the iPhone Home tab carries a Messages card above the agenda, with the preview and when it arrived; the web home lists the same. Above the agenda on purpose: a meeting at four is still there in ten minutes, and a person waiting on an answer is the one thing on that screen that goes stale.
  • Reading stays in Team, on the Mac and on iPhone. None of the three home surfaces opens a conversation — a second reader would be a second place to mark things read. The web cannot open one at all, and says so rather than pointing at a page that would only show presence.
  • Fixed on iPhone: the roster and message poll stopped the moment you left the Team tab, so the tab badge froze at whatever it last saw until you went back to it. Polling belongs to the app now — it runs while Meet is in front and stops when it goes to the background, which is also what a ring needs to reach somebody who is looking at Home.
  • On the Mac, the Team window reads the same poll the launch screen does instead of running its own, so a dot in the window and a count on the button cannot disagree — and one screen's worth of unread costs one request, not two.

1.0.2 — 2026-08-19

Reaching a colleague stops being a procedure. Call is one click, your own door is watched while you are out, and a knock is something you actually hear.

  • Call knocks. Calling somebody in Team used to fill in the Join form and leave you to press a second button on it — a confirmation of a decision you had already made. Call now points Join at their room, fills in your own identity, and asks to be let in, in one press. Opening the roster still rings nobody; only Call does. A double-click on a roster row does the same, and the menu bar grew a Team section, so a colleague can be reached without opening a window at all.
  • Hanging up brings you home. A call left the Mac parked in Join afterwards, pointed at somebody else's room. It now returns to hosting when the call ends, is cancelled, or fails.
  • Fixed: calling somebody made you deaf to your own door. The waiting-room watch was gated on being in host mode, so placing a call stopped this Mac seeing anyone knocking on its own room — and since nothing restored the mode, it stayed that way. Your permanent room is now watched from wherever the window happens to be pointed, and admit/decline reached from outside the queue goes to your room rather than to the room you are visiting.
  • A knock sounds like a knock: two knuckle raps on wood, replacing the system Tink. It is synthesised rather than sampled, so it is reproducible and retunable — scripts/make-knock-sound.py writes the asset.
  • Knocks and rings raise notifications, with their own actions: Admit and Decline on a knock, Join on a ring. The banner is deliberately silent — the knock has already played — so it is heard exactly once and is not lost to a permission somebody declined.
  • A ring now reaches you. Presence was polled only while the Team window was open, and that window is closed by default; a ring lives forty-five seconds and is delivered on that poll, so in practice it reached nobody. Presence is now watched for the life of the app, on the Mac and on iPhone, and a ring is announced from any window or tab.
  • Still not push, and the copy says so. All of this fires only while the app is running; a closed app learns nothing, which is exactly what APNs would buy and has not been built. The claims of silence in PRIVACY, SURFACES, AUDIENCES_AND_IA, FEATURE_MATRIX and the shared contracts were corrected rather than left standing.
  • Fixed on iPhone: notification categories were registered a file at a time, and setNotificationCategories replaces the set instead of adding to it — so the Reply action on a message was being silently stripped by whichever file registered last. One call now registers all three.
  • A signed-in member sees whether their own room is open on the web, read off the roster's own row so the button never promises more than the door will give. The phone and the Mac now share one stage grid layout, and every surface that answers "which build am I on" prints the same version line.

1.0.1 — 2026-08-19

Team stops being a bulletin board. It already said who was signed in; now it says whether you can interrupt them, where to find them, and gives you a way to reach them that is not a meeting invitation.

  • Team learned who is reachable, not just who is awake. A roster row now says last seen 2 hours ago instead of an unexplained silence, and shows which devices are actually in front of the person — Desktop, Mobile, or both — rather than guessing from whichever one checked in last. The Worker keeps one check-in per device instead of a single "last client".
  • Ring a colleague from Team. Deliberately quiet: no sound, no push, no APNs. It writes one row that the other side picks up on its next roster poll, expires by itself after 45 seconds, and reaches a client that is open in front of somebody — and nothing else. It is a nudge, not a ringing phone, and the copy says so everywhere.
  • Do not disturb, set by hand and always with an end — 30 minutes, an hour, or the rest of the day. It outranks everything the devices can prove, and it is enforced rather than merely drawn: the control plane refuses to ring somebody who has one on.
  • Your calendar now speaks for you. A member with a connected Google account reads as Busy · free at 15:20 when a block is running, so the roster answers "should I interrupt" rather than "is their laptop open". Free/busy only — the block and when it ends, never a title, attendees, or location — read with each member's own token, so nothing is exposed that they have not already connected.
  • Calling a colleague is now a call. A verified Envisioning member knocking on a colleague's running room walks straight in instead of queueing in the waiting room — same org, same verified identity, and the ceremony bought nothing. An idle room still queues: nobody appears in a room its host never started.
  • Team on the web. A signed-in member gets the same destination at /team that the Mac window and the iPhone tab already had — the roster, ring, do not disturb, and Call. The browser also checks in now, which fixes presence being a one-way mirror: somebody who lives in the web app used to read as offline to the whole team, with a last-seen frozen at whenever they last opened the Mac. Messages stay native for now.
  • The web app grows a signed-in workspace to put Team in. A member lands on Home, which is today — the clock, what is next, and the room — with Calendar (/calendar, one read-only week that honours the calendars you selected and hid natively), Team (/team), and Meet (/join) beside it in a nav that only members ever see. Visitors still meet the same zero-install join door and never the workspace.
  • Groundwork for agents in the roster, which costs nothing now and a migration later: peers carry a kind, clients render what they are told rather than assuming every peer is a Google account, and conversation membership stays keyed on an opaque subject. Nothing mints an agent yet.

1.0.0 — 2026-08-19

The version goes 0.8.0 → 1.0.0. Everything numbered 0.9.x was bumped but never shipped — no tag was ever cut and the update feed kept offering 0.8.0 — while the release grew underneath those numbers into something that is not a patch: a people surface, private messaging with its own storage and jurisdiction, and a real calendar on both native apps.

The rolling rule reserves 1.0.0 for after 0.9.9, so this is a deliberate exception rather than a slip. It also matters mechanically: the release workflow only builds iOS to TestFlight from a tag whose version ends in .0, so a 0.9.x tag would have shipped the Mac and left every iPhone on 0.8.0.

  • Sign-in accepts envisioning.io as well as envisioning.com. Hosting was gated on a hardcoded suffix in two places, so a real, paid account like accounts@envisioning.io was told only verified Envisioning Google accounts can host meetings. Identity now spans both domains through one shared list on the Worker, the Mac, iOS, and web, and the Google picker asks for any Workspace account rather than a single domain — so personal Gmail is filtered out of the picker instead of offered and then refused.
  • The calendar arc lands: day/2-day/3-day/week/month/agenda on both native apps, EventKit sources behind an explicit opt-in switch, calendar-only Google accounts, .ics subscriptions, per-source visibility that follows you across devices, an event cache, and display preferences that stay on the device. Settings on both platforms is now driven by one shared registry rather than two hand-maintained lists that had already drifted.
  • Fixed two Mac tests that had been failing on main since the calendar visibility work: the test for "an empty local list is not the one-time adoption" landed ahead of the implementation it describes.
  • Messages now announce themselves. Team polls the conversation list beside presence, so a person with something new carries a dot in the roster and the Team tab carries a count — on both the Mac and the iPhone. The iPhone also raises a notification when a message lands while you are somewhere else in the app, using the same local-notification path the meeting warning uses. Opening a conversation clears its dot immediately rather than a poll later, and the conversation already on screen never announces itself.
  • That notification fires only while the app is running: with no APNs registration there is nothing to deliver to a closed app, and a message that arrives then is simply waiting, unread, when you next open Meet. Real push is its own arc — the same one that would let a call ring a phone.
  • Signed out, the iPhone shows no tab bar at all: the unsigned root is the same centred card the Mac opens with — glyph, wordmark, name, email, room, Continue, Envisioning Host Login — now with the version line under it that the Mac has always printed and iPhone never did. Home and Calendar are the member workspace; a clock over an empty day and a calendar that can only ask you to sign in describe a product a visitor is not using. Signing in reveals the four tabs and lands on Home.
  • Team and direct messages treat envisioning.com and envisioning.io as one team. Both were scoped to the caller's own email suffix, which would have split the company in half the moment somebody signed in with .io — each half invisible to the other, unable to message across.
  • Direct messages are pinned to the EU jurisdiction. A Durable Object addressed by name alone lands wherever it is first touched, which was acceptable for a room everybody knew they were joining and wrong for private messages between people employed in the EU. Done before the first production thread exists, because an object cannot change jurisdiction afterwards.
  • Direct messages. Opening somebody in Team opens the conversation with them, on the Mac beside the roster and on iPhone pushed from the row. There are no channels and no plan for them: a message hangs off a person, and a thread's parent is polymorphic from the first schema — none for a DM, a meeting or a calendar event later — so conversations can become rows on the work graph without a migration.
  • Delivery is polling while a conversation is open. There is no socket and no push yet, so a closed app receives nothing; that limit is real and stated rather than papered over with background polling that would drain a battery to look instant.
  • Messages are members-only and stay inside Envisioning. Bodies live in a per-conversation Durable Object, never in D1 and never in logs; the index keeps a 140-character preview so the list has something to show. Membership is checked at the Worker and again inside the Durable Object, and somebody who is not in a conversation gets the same "not found" a missing one does — whether it exists is itself private.
  • Retention is not solved: nothing expires a message and there is no delete. Both are recorded as open before this reaches daily use.
  • The iPhone app now has four destinations instead of three-plus-settings, and each one answers a different question: Home is today, Calendar is when, Team is who, Meet is where. Home drops its title — the live clock in Envisioning Octa was already saying "today" — and Settings moves to a toolbar gear there, the way ⌘, works on the Mac.
  • Team is new: who else at Envisioning is around, and whether you can reach them. A member shows as in a meeting, available, active, or offline, and calling one is a knock on their room — the same admission contract a visitor uses, so it lands in the same lobby, meeting, and capture pipeline rather than inventing a second kind of call. Call is offered only when a Mac can answer it; there is no push notification path yet, so an awake phone cannot be rung.
  • The Mac gets the same roster in its own window (⌥⌘T), beside Calendar rather than inside the meeting chrome — it is a host appliance, not a tab bar. Home and Meet stay one window there, because the idle surface and the live one are the same place in two phases. Calling from the Mac prefills Join with the peer's room and your own identity and brings the window forward; the knock itself stays a deliberate click, so opening a roster can never ring somebody.
  • Presence is Envisioning-only. GET /api/peers needs a verified member session and is filtered to your own email domain; no guest-reachable route returns it. Clients beat once a minute while on screen and stop the moment they leave it, so presence cannot be published from a pocket.

0.8.0 — 2026-08-19

  • A room that nobody can reach now says so. Admission is gated on the owner's Mac checking in every ten seconds, and that check-in used to fail in total silence — an expired sign-in, a throttled background app — while the launch surface went on saying it was waiting for someone to join. Guests were told only "couldn't reach this room right now", which is deliberately neutral and reads like a network blip. The beat now reports: every failure lands in the debug report, the launch surface says guests can't get in once the room has actually been dark longer than the lease, and an expired sign-in asks you to sign in again instead of leaving a shut room looking open. It also holds an App Nap assertion, so an idle Meet in the background keeps its room open — idle system sleep is still allowed, because a sleeping Mac genuinely can't admit anyone.
  • Mac Join and the iOS join screen tell the room you're standing there. Browser guests have always heartbeated their arrival, which is how "start when guests knock" works; the native apps knocked straight at the door and, if the owner was away, got a dead end and left nothing behind. They now send the same pre-knock presence, so you appear in the waiting room as a visitor — Mac app, iPhone app — and are still there when the owner opens their Mac. A knock that is refused because nobody is home goes back to waiting rather than giving up.
  • A calendar can be taken out of Meet entirely, not just hidden from today's view. Settings → Calendar now lists every account and calendar the app can reach, each with a switch that decides whether it is in Meet at all — no row in the sidebar, nothing fetched, nowhere to file an event. It travels with the owner rather than the device: switch a calendar off on the Mac and it stays off on the phone, the way the sidebar's own hide/show never did. A local calendar that shows up later starts off by default; the first list a Mac ever hands over is adopted whole, so an upgrade never empties anyone's sidebar behind their back.
  • A second Google account can be attached for its calendars alone — the owner's sign-in is untouched by it, and removing the account again stops Meet reading its calendars everywhere without disconnecting anything.
  • Meet can subscribe to a plain calendar feed: paste a webcal:// or .ics address and its events draw alongside everything else, filed under "Subscribed" — read-only, since nobody can write back to somebody else's published feed.
  • The calendar list reads as sections again. Account names are set as the rail headers the rest of the app uses, with air above each one, and the pencil that picks where new events land is spent only on calendars that can take them — most of the list is read-only, so it used to carry a column of greyed-out pencils whose whole message was "not this one".
  • Envisioning's own rows wear Envisioning's colours. Published events, milestones, and dated tasks were a blue, an amber, and a grey, each of which some account in the sidebar already owned; they are now three steps of one brand ramp, so a company row never reads as a calendar you subscribe to. In the list they carry their kind's glyph in place of a colour chip.
  • The company rows say where they come from. Their heading is "Envisioning Core", not "Envisioning" — which was also the name of two accounts above it — and the group is marked read-only, since these are Core records the app draws and never edits.
  • Pick a day and the sidebar goes with it. A click on a date in the mini month, on a day heading over the grid, or on a month cell points the whole window at that day: the agenda starts there, the day is ringed in the mini month and over its column, and paging past it drags it to the nearest day still on screen. The agenda used to look forward from today alone, so reading next month in the grid left the two halves of the window describing different weeks. Clicking an event points at its day too; clicking a row in the agenda does not, since the list would jump out from under the click.
  • Scrolling the calendar means one thing again. Up and down move through the day; sideways — a two-finger swipe, or shift with a wheel — moves through the days. A plain scroll used to move sideways whenever the day happened to fit the window, so the same gesture did two different things depending on the zoom. The dates and the all-day band now travel with the columns instead of catching up once the scroll settles, the month pages along the axis you pushed it, and a mouse's back and forward buttons page the view either way.
  • UPCOMING only lists what is still ahead. It was cut to today but not to now, so a 09:00 gym class sat at the top of the list all afternoon, offered as the next thing to walk into. Meetings leave the list when they end — a meeting already running stays, since that is the one you may still be late for — and the clock re-cuts the list every minute, so it thins out as the day passes instead of waiting for the next Calendar read.
  • When today runs out, the section becomes TOMORROW and lists tomorrow's meetings, rather than reducing the evening to a line of arithmetic ("No more meetings today. 4 tomorrow."). A glance after the last meeting is asking what the morning looks like, and the count never said. Tomorrow reads as a summary — one line per meeting, its time and its name, no guest lists and no countdown to a 09:00 that is seventeen hours away — since none of it is a room to walk into yet. Both the launch card and the sidebar hand over together.
  • A second, optional clock down the calendar's gutter, for the zone the other half of a conversation is in — named on the button that changes it, off by default. The city presets grew from six to ten (Los Angeles, Lisbon, Mumbai, and Tokyo joined New York, São Paulo, London, Amsterdam, Riyadh, and Dubai), and their airport-style short codes now live in one place instead of a separate switch on the Mac and on iOS.
  • The day header can show the day's sky. A symbol and the high/low sit beside each day number in the week and day views, from Open-Meteo — no account, no key — for a city you name in Settings → Calendar → Weather. Off, and asking nothing, until you name one.
  • The meeting window can be made small again. Nine labelled controls under the stage asked for 971pt of row, which AppKit turns into a window minimum — so going live pushed the window to roughly 1380pt wide whatever you had sized it to. The row now hands out labels in priority order for as long as its width lasts and draws the rest as icons: all nine on a wide window, Mute / Camera / Share screen / Chat at the 1180pt default, icons alone at the 880pt minimum. Titles are never taken away, so tooltips, VoiceOver and the Meeting menu read the same as before. The stage's height floor came down from 360 to 200pt with it, and the window's own minimum from 480 to 420pt.
  • A live meeting can no longer grow the Mac window. The rail scrolls, and every block in it — CRM, TASKS, NEXT, PARTICIPANTS, DEVICES, WAITING ROOM — folds from its header and stays folded across launches. Filing a lead, three suggested tasks and a queue of knocks used to add their height to the window itself, which pushed the bottom of it — End meeting included — off the screen. Start / End meeting is now pinned to the bottom of the rail where scrolling cannot take it.
  • The stage picks its grid from the space it has rather than from a table of head counts. Five people in a tall window were laid out three across, two rows of short tiles with a corridor of empty stage between them; the same five now sit two across and fill it. Rows are packed together and centred as a block, and a short last row is centred under the full ones.
  • Right-clicking someone in the participant list offers Pin to stage — the big tile with everyone else in a filmstrip, on your Mac only — plus Hide/Float myself on your own row, Stop screen share for the host, and Copy name. A pinned row is outlined in accent and says so.
  • The calendar day runs midnight to midnight. The grid used to be cropped to the settings' working day and widened only far enough to cover the events in it, so the end of the day — usually 23:00, and anything up to four hours of it on a quiet evening — was not in the view at all, and an event ending at exactly midnight or crossing it widened nothing and was drawn off the bottom. All 24 hours are now drawn and scrolled; day start and end are what lifts the working hours behind the events, and where the view opens.

0.7.3 — 2026-08-18

  • The calendar answers the pointer the way a calendar should. One click marks an event, a double-click opens it, and the same split holds for the keyboard: arrows move the mark, Return opens it. Selecting used to open the editor, so pointing at anything put a popover over the grid — and behind a right-click's menu, two surfaces for one event with each hiding half of the other.
  • Right-clicking empty grid offers to fill it, naming the slot it means: "New event at 14:30" in the week, "New event on Thu 27" in the month. Tasks and milestones drawn in the grid offer the way back to Core instead, since they are read-only here.
  • Pinch to scale the hours. The hour under your fingers stays under them, the day can never be shorter than the window it is in, and the height you leave is the height it opens at tomorrow.
  • One all-day event on two accounts draws once. Google spells an all-day end as the midnight after it and EventKit as 23:59:59 inside it, so the copies never recognised each other and both drew. The all-day band is also exactly as deep as its rows now, instead of splitting the spare height with the grid.
  • The Meet room link is no longer added to everything. Opening an event shows the checkbox as that event has it — before, fixing a typo in "Gym" saved a join door into it — and a new event turns it on when it gets its first guest.
  • The week scrolls sideways by the day and stays where you left it, rather than snapping back to Monday on every scroll. Today and switching views still return to a whole week.
  • Quieter grid lines, a hairline on the half hour, and a faint lift behind the working day from settings, so the hours a 01:00 flight drags into view read as margins. Launch keeps its last row off the bottom edge when the window is shorter than it is.
  • The screen-share picker opens as a window again. It was a sliver a few points wide with its own title clipped to "Sh", because a sheet is sized by the constraints inside it and nothing in the picker asked for a width. It opens at its intended size again, with the grid of thumbnails in it.
  • The Mac window keeps the size you gave it. Signing in, signing out and continuing as a guest each swap what the window shows, and every swap handed the window's size to the surface arriving in it — including the first one, at launch, which is why it never opened at the size it asks for.

0.7.2 — 2026-08-17

  • The meeting Live Activity keeps its distance from its own edges. On the lock screen the title, the time and the countdown sat flush against the rounded panel the system draws around them, because that panel insets nothing on its own; they now carry the same margin as the app's cards. In the Dynamic Island the video glyph and the clock no longer touch the bezel, and the footer has room under the title. A two-line meeting name can also no longer squeeze the countdown into an ellipsis.

0.7.1 — 2026-08-17

  • Adding a guest on iPhone or iPad now shows their busy time in the editor, as a strip for the day with the proposed slot on it. Tap the strip to move the event to a free gap rather than proposing a time and being corrected by reply. A calendar that could not be read is named, never drawn as free.
  • Swiping between days, weeks, and months is continuous on both apps. Both periods are built and on screen before the gesture starts, so the next one arrives under your finger and letting go finishes a movement already in progress — instead of the old jump, which swapped the data and animated nothing. On the Mac this was already true of the week; the month counted scroll up to a threshold and then changed. It now follows the fingers and settles on a whole month, the way the week always has.
  • The iPhone and iPad app opens on the same door the Mac does: one centred card with the glyph, the wordmark, and name, email, and room, over Continue and Envisioning Host Login. It was a different screen saying different things in a different order, which made two apps out of one product. What you type carries into the join flow rather than being asked for twice.
  • Fixed the iOS day and week grid, where the weekday header claimed half the screen and left five hours visible. Color is greedy in both axes, and the gutter spacer had only its width pinned.

0.7.0 — 2026-08-17

  • Adding a guest to an event now shades their busy time across the days on screen, so a time can be picked rather than proposed and corrected by reply. Only opaque intervals cross between people — no titles, guests, or locations — and when someone's calendar cannot be read the app says so instead of drawing them as free.

0.6.9 — 2026-08-17

  • The iPhone and iPad app has a real calendar, not just the meetings Meet hosts. Day, week, month, and list views over every calendar you have: Google through the control plane, iCloud and on-device through EventKit. Create, edit, move, duplicate, delete, reply to invitations, and drag a block to reschedule it. Search reaches past the week on screen into every month already loaded.
  • The Calendar tab now works signed out, because calendars on the device owe the network nothing.
  • Milestones, dated tasks, and published Envisioning events are drawn on the iOS calendar as layers rather than as calendars. A task due at 15:00 sits in the grid at 15:00 and shares the column with whatever meeting is there; a milestone sits in the all-day band, because it falls on a day. Everyone's dated work is shown, with yours emphasised — you cannot read your own week without seeing what a colleague owes on Thursday. Layers are read-only: they come from Core and change there.
  • The calendar's core — its value types, week math, EventKit reader, wire contract, and the workspace that owns state and writes — is one set of files compiled by both apps. Only the views are per-platform, so a rule fixed on one is fixed on the other.
  • Milestones, dated tasks, and published Envisioning events are drawn on the Mac calendar too, matching iOS. A task due at 15:00 packs beside the meeting it clashes with rather than hiding under it; milestones sit in the all-day band. Yours are emphasised and the team's stay visible, and the sidebar can switch any layer off — a view preference, not an unsubscribe.
  • Horizontal scrolling moves the week with your fingers and settles on a whole day, instead of jumping a week at a time. Once the day fits the window, a plain scroll moves through the days too.
  • Right-clicking an event gives it a menu: join, edit, reply, move to another calendar, duplicate, copy link, delete.

0.6.8 — 2026-08-17

  • Settings → Calendar now covers how the window behaves, not just which account it talks to: default view, when your day starts and ends, default event length, and whether declined events stay visible. The grid crops to your hours and widens again for anything scheduled outside them, so cropping never hides an event.
  • VoiceOver can read the calendar. Both grids were single drawn surfaces and announced nothing; every block now reports its title, time, day, location, your reply, and whether it repeats.
  • Events can move between calendars: change the calendar and save to move, or press Duplicate to copy. Within one account the event keeps its identity, so guests keep their replies; across accounts it is a copy and a delete, because the two share no identifiers.
  • One sidebar instead of two panels. The event inspector is a popover on the event itself, and the sidebar switches between Events — your next days, grouped, with times and colours — and Calendars. The calendar new events land on is pinned in view rather than hidden behind an icon.
  • The menu bar opens that same agenda on click, with a mini month above it; double-clicking an event opens its meeting link. The full command menu is a right-click away.
  • Calendar accounts are named properly. Every non-Google account was labelled "iCloud", so separate accounts collapsed into one list and the picker read "iCloud — iCloud". Accounts now use their own names, and the calendar picker shows each calendar's colour.

0.6.7 — 2026-08-17

  • Meet has a Mac calendar. Google plus iCloud and On My Mac in one week grid, with drag to reschedule, an event inspector, and Meet room links carrying the same booking tokens Core bookings already get.
  • Day and month views alongside week, a mini-month in the sidebar for jumping without losing your place, and the menu bar filled in: Window reaches Meet and Calendar, File makes a new event, View switches on ⌘1/⌘2/⌘3 and moves with ⌘← / ⌘→.
  • Invitations can be answered from the calendar — going, maybe, or not going. Declined events recede and strike through; ones you have not answered draw as a dashed outline. Google only: macOS gives apps no way to reply on iCloud calendars, so those show your stored reply and say where to change it.
  • One meeting arriving on several calendars now draws as a single block wearing each calendar's colour instead of splintering the day into unreadable slivers. Two copies on the same calendar stay separate — that is a real double booking, not a duplicate.
  • Rescheduling no longer clears everyone's RSVP. Dragging an event used to rewrite its guest list, resetting every reply to "no response" and re-inviting the meeting. Guests are now notified only when the time or the invite list actually changes.
  • Editing keeps what it did not touch: notes and locations survive a reschedule, recurring Google events offer this-event or all-events rather than silently editing one instance, and events running past midnight or beginning before the visible week finally draw.
  • Moving an event lands immediately and can be undone with ⌘Z, and the week refreshes itself when Calendar.app or iCloud changes underneath.
  • Keyboard and search: arrows move between events, Return edits, Escape backs out, ⌫ deletes after asking, ⌘F searches titles, locations, notes, and guests. Paging no longer waits on the network — months are held briefly and the weeks either side are fetched ahead.
  • Meetings can suggest tasks from the live transcript, on device.
  • /admin shows an account-wide usage ledger.

0.6.6 — 2026-08-14

  • The /features page toolbar is simpler: type and status are both single dropdowns instead of a status chip row plus a separate type select, and the page drops copy that repeated what the filters already say.

0.6.5 — 2026-08-14

  • Meetings can now be filed for CRM: status, lead, project, or internal, with the matching lead/project required once you pick one. The Worker proxies the write through a signed Meet→Core call so no Core secret ever touches a native app. Not yet wired into the live-call sidebar — that lands separately.

0.6.4 — 2026-08-14

  • The public booking form now sits behind the same Turnstile bot check as joining a room. Flipping the widget on never blocks a shipped Mac/iOS knock — native apps skip the check entirely since they never send a browser's Fetch Metadata header.

0.6.3 — 2026-08-12

  • The Mac launch screen gets a folded Preview: unfold it to see what your camera sees and watch a live input meter while you talk, without starting anything. The web prejoin gained the same meter — until now nothing there answered "can they hear me" before you were already in the room.
  • A room left open by a crash or force-quit can now be closed from the launch screen instead of only reclaimed with Start, and the control plane closes one by itself after ten minutes of host silence. Guests were never able to join a stale room; it just kept being offered back to the owner forever.
  • Upcoming now shows the whole day: the next meeting in full, the rest as one line each. "3 more today" told you how many meetings you had without telling you what they were.
  • Meetings in your own room are marked with the accent everywhere they appear — Mac launch list, iOS Home, iOS Calendar — so ours and someone else's Zoom read apart at a glance. The platform is named on the button ("Open Meet", "Open Zoom") rather than on a line of its own.
  • The room link moved into the WAITING ROOM header as a copy button. The URL never changes and nobody read it.
  • Controls across the Mac app now respond to hover, and docs/DESIGN.md states the shared surface/accent contract the three clients have to hold to.
  • Fixed: the in-app updater pointed at a zip that did not exist, and /download/mac/latest/Meet-macOS.zip did not route.
  • Fixed: a paused screen share left the last frame of someone's desktop frozen on the Mac stage. It now drops the tile the moment the share pauses, which is what iOS already did.

0.6.2 — 2026-08-12

  • Mac reactions are legible again: 0.6.1 got them flying but drew only an empty caption pill, with no emoji and no name. The emoji and the name are now rasterised once and composited as images rather than drawn by text fields mid-flight.

0.6.1 — 2026-08-12

  • Emoji reactions now say who sent them: every one flies with the sender's name under it, on Mac and web. The name rides on the LiveKit identity behind the packet, not inside it, so nobody can react as someone else.
  • Fixed: reactions never appeared on the Mac at all — a mis-timed animation dropped each one back below the window a quarter second after launch, including the sender's own.

0.6.0 — 2026-08-11

  • The control plane moves to Envisioning's own Cloudflare account (meet.envisioning.workers.dev); Meet now serves its own notarized macOS zips from R2 instead of GitHub release assets, which 404 on this private repo. Public write routes (join, presence, bug reports) get rate limits and optional Turnstile bot-checking.
  • New in-meeting bug report control, filed straight to GitHub issues.
  • Camera off now shows initials in a circle instead of a frozen last frame, on Mac, web, and iOS.
  • Emoji reactions, fly bottom-to-top across the meeting window.
  • Screen share gets a live-thumbnail picker, a border around what's shared, and the host can stop someone else's share in flight.
  • Chat moves into its own movable, resizable window on Mac; a new menubar controller surfaces waiting guests and call state outside the main window.
  • Guests report which surface they're on (web/Mac/iOS, desktop/mobile/ tablet), so the host can read the lobby before admitting.
  • iOS: the next meeting is now live — a single timer instead of a five-minute poll, a Lock Screen / Dynamic Island countdown, and a local notification one minute before each meeting.
  • New guest-facing /features page mirroring the product's feature matrix.
  • Real favicons and a PWA manifest for the web guest app; a first-paint background so a cold load doesn't flash white.

0.5.0 — 2026-08-11

  • Logged-in macOS and iOS Home now lead with an Envisioning Octa HH:MM clock and upcoming meetings with countdowns.
  • Upcoming feeds omit ended events and placeholder rows named Block, Blank, or without a title; iOS no longer shows yesterday’s events.
  • Web footer now exposes the marketing version and git build number.
  • Fixes the iOS TestFlight job, which had never succeeded on CI: it generated the Xcode project without first writing the gitignored Config/Version.xcconfig every target names, so XcodeGen failed spec validation on a clean checkout. (0.4.9's note misattributed this to a Swift scope error — that was a real bug in local Xcode builds, but not what CI was failing on.)

0.4.9 — 2026-08-11

  • Fixes the iOS build, which 0.4.8 broke: the public-events reader reached for a type the iOS target does not compile, so 0.4.8 shipped the Mac app but no TestFlight build. Everything else in 0.4.8 is unchanged.

0.4.8 — 2026-08-11

  • Invite links now name the meeting. /room/<slug>/<token> shows that booking's title, time and the subject the guest wrote when booking, plus links to reschedule or cancel. The bare slug still reveals nothing — not even while a titled meeting is live.
  • Booking has its own address at /book/<slug>, so envisioning.com/meet/<slug> can hand straight off to it. Reached that way the form collects name and email itself; reached from Room entry it inherits them.
  • Public Envisioning events appear on the booking calendar. A day carrying one is closed to 1:1s and offers the event instead, listing every event on that day with a link to register. Saturday and Sunday columns appear only when an event actually falls there.
  • Meet for Mac reads those events from the same projection the web surfaces use, rather than scraping the published ICS feed.
  • At most four times a day in the slot list — the first two and the last two — matching the booking page on envisioning.com.
  • Room entry's button reads Continue. It opens the device check; the knock is still Prejoin's "Ask to join", and a booking token has never skipped the waiting room.
  • A single Back control returns one step, in the same place and with the same word across scheduling surfaces.
  • The booking calendar no longer flashes "no available dates" during its own first load.

0.4.7 — 2026-08-11

  • GitHub Releases now compose readable notes from the matching changelog section, including version/build, macOS download, signing status, and iOS artifact context.

0.4.6 — 2026-08-11

  • Gate web Join, Schedule, and Confirm booking actions until required identity and booking fields are complete.

0.4.5 — 2026-08-11

  • Verified iOS owners can host their mapped permanent room through the shared lease, lobby, owner-credential, captions, and finalized-text backend path.
  • Web Join, Schedule, and Confirm booking actions stay disabled until required identity and booking fields are complete.

0.4.4 — 2026-08-11

  • iPhone and iPad releases now share the Mac tag pipeline: GitHub Actions archives the single Meet iOS target, uploads it to TestFlight, attaches the external public group, and submits it for Beta App Review.
  • CI imports the Apple Distribution identity and retrieves the named App Store profile without storing signing materials in the repository.

0.4.3 — 2026-08-11

  • Host schedule/bookings surfaces are now synced across Mac + web + iOS.
  • Add host bandwidth meter and floating self-view PiP.

0.4.2 — 2026-08-10

  • Host Launch scrolls when upcoming + waiting room content outgrows the window.

0.4.1 — 2026-08-10

  • Upcoming calendar query looks back 36 hours so meetings already started today still appear in the host list.

0.4.0 — 2026-08-10

  • Schedule agenda overlays public Envisioning events from events.ics (info-only) with a Calendar / Public legend.
  • Optional Weekends toggle expands Sat/Sun as full agenda columns instead of collapsing them.

0.3.9 — 2026-08-10

  • Surfaces vocabulary: web Prejoin / PrejoinDevices; Mac idle phase Your room; Join mode enterJoinMode; guest copy says waiting room.
  • docs/SURFACES.md cleanup backlog marked done; lurker detail unit tests.

0.3.8 — 2026-08-10

  • Host lobby lurker rows update live through visit → naming → preview; naming copy no longer doubles the guest’s name.

0.3.7 — 2026-08-10

  • NSContactsUsageDescription lives in project.yml so xcodegen keeps it with Contacts attendee suggestions.

0.3.6 — 2026-08-10

  • Host waiting room: empty state no longer shows redundant “guests appear here” copy.

0.3.5 — 2026-08-10

  • MeetError follow-ups: MainWindowController sign-in/out sheets, inline chat send notices, unit tests for code-keyed mapping, ERRORS.md status refresh.
  • Web waiting room clears a dead seat via ControlRequestError.needsRejoin instead of matching server prose.

0.3.4 — 2026-08-10

  • MeetError recovery buttons actually rejoin or restart owner sign-in; diagnostics copy uses the marketing version.

0.3.3 — 2026-08-10

  • Typed MeetError with recovery actions across Mac join/host paths; docs catalog in docs/ERRORS.md and docs/SURFACES.md.
  • Mac chrome polish: video settings, chat panel, stage, wake assertion, menus/onboarding.

0.3.2 — 2026-08-10

  • Mac schedule sheet: Contacts email suggestions and multi-day agenda browsing.
  • Calendar upcoming query window supports up to 100 days (hours max 2400).

0.3.1 — 2026-08-10

  • Pre-knock guest presence: web heartbeats visit/naming/preview; host lobby lists lurkers (optional geo from Cloudflare).
  • Control-plane errors include stable code values so clients can branch without matching prose.

0.3.0 — 2026-08-10

  • Mac schedule sheet: Contacts email autocomplete (on-device only) and a multi-day calendar agenda.
  • Owner sessions are stamped with the API endpoint that minted them so Debug/Release Keychain leftovers clear on 401.
  • Mac launch/settings chrome uses shared filled-button styling; invite rows show host:port/path without the scheme.
  • Web: root and unknown paths share a Join home where you type a room code; footer links to Join.

0.2.9 — 2026-08-10

  • Web: background blur no longer silently kills video on Safari. The upstream canvas render path stops permanently the first time Safari pauses its hidden source video, so the camera published 0bps with audio still fine — Meet now owns and supervises that path.
  • Web: a camera watchdog watches encoded frames and recovers on its own — restart the effect, drop it and publish the plain camera, restart the camera — instead of leaving a frozen tile up with no warning.
  • Web: an effect that never produces a frame is reverted to the plain camera rather than applied.
  • Web: the MediaPipe segmenter model now ships from our own origin instead of being fetched from Google mid-call; CSP drops cdn.jsdelivr.net and storage.googleapis.com.
  • Debug report: new "Camera pipeline" section (effect, processor path, frames painted, source paused, stalls) and frames_sent deltas per publish layer.

0.2.8 — 2026-08-10

  • Ending a meeting from the Mac now tears down the LiveKit room immediately, so web guests disconnect instead of lingering in a host-less SFU room.
  • Mac copy-link / schedule joins: Debug pastes 127.0.0.1:5173/room/…; Release keeps meet.envisioning.com (never workers.dev).
  • Web: “Hide me” removes your own camera tile from this browser’s stage without unpublishing — same contract as Mac.

0.2.7 — 2026-08-10

  • Web guests who were waiting or already admitted can reload the same tab and rejoin without knocking again (tab-scoped lobby receipt → exchange).
  • Fixes a lobby desync where a soft-presence lease gap parked knocks on __prelive__ while the host’s open-meeting waiting room stayed empty.
  • Mac: in-meeting chat over the same LiveKit topics as the browser guest UI.
  • Worker: optional CRM meeting-log sync to Envisioning Core (started / ended); inert until INTERNAL_REQUEST_SECRET is set on both sides.
  • Web: Leave disconnects the SFU session and returns to the Join form instead of leaving a half-torn-down meeting.

0.2.6 — 2026-08-10

  • Ending a meeting now deletes the LiveKit room, so guests are disconnected instead of left talking in a room with no owner; a guest who reconnects after finalize gets a clean "meeting ended" rather than a ghost re-entry.
  • Web guests see a short ended-meeting summary (duration, room, transcript note) when the owner closes the room.
  • Web meeting UI matches the Mac top-to-bottom layout (stage, controls, captions panel) instead of LiveKit's floating VideoConference bar; Debug opens a pasteable report dialog.
  • Mac: speech models warm on the launch screen so the first seconds of a call are not dropped while CoreML compiles for the Neural Engine.
  • Mac: "Hide me" / Hide Myself removes your own tile from your stage without unpublishing — everyone else still sees you; local video is laid out like any other tile.
  • Mac: plugging a camera mid-call no longer restarts the preflight capturer on top of the live track (that flooded CMIO and starved the published camera).

0.2.5 — 2026-08-09

  • Fixes 0.2.4: starting a room with guests waiting failed, and the waiting-room watch stopped updating, because of an AutoLayout fault while drawing lobby rows.

0.2.4 — 2026-08-09

  • Waiting room is watched continuously, so a knock arriving while you are connecting or switching screens still badges the Dock, plays the alert, and shows up on both the home and meeting surfaces.
  • Every waiting guest can now be admitted, not just the first in the queue.
  • New "Clear waiting room" button for knocks left behind by closed guest tabs.
  • Waiting-room rows no longer advertise who wants notes.

0.2.3 — 2026-08-09

  • Fixes the 0.2.2 build, which never produced a downloadable app.
  • Mac: connection-warning pills no longer touch the UI off the main thread, and the speaking ring stops rebuilding the layer tree on every layout pass next to live video.

0.2.2 — 2026-08-09

  • Removed the unused legacy token-server; verify now checks Release origins against project.yml itself, so the future domain cutover is a one-file flip.
  • Mac: shared cached ISO-8601 date handling; dropped always-true OS-version guards.

0.2.1 — 2026-08-09

  • Web: one shared API client, guarded storage (no more crash under Safari's "Block all cookies"), and a single background-effect state shared by prejoin, header control, and Settings — the three copies could previously disagree.
  • iPhone/iPad Safari: meeting controls no longer hide behind the browser toolbar (dvh + safe areas), the schedule form no longer auto-zooms on focus, and header blur renders on older Safari.
  • Settings dialog: Escape closes it; proper modal semantics for screen readers.
  • Schedule: every bookable time now shows (the middle of the day was hidden); worker booking proxy requires the web origin and bounds its body.
  • All schedule/lobby/status polling errors surface consistent, friendly messages.

0.2.0 — 2026-08-09

  • Fix web Google sign-in, logout, and calendar connect, which 500ed on every redirect (immutable headers in workerd).
  • A host Mac missing one heartbeat no longer expires admitted guests or destroys the lobby queue; knocks ride out a 90s grace window.
  • No more mid-meeting room teardown at the 2-hour token mark: the SFU refreshes tokens for connected participants; the client-side re-exchange and remount are gone.
  • Web: camera/mic permission problems now explain themselves on the prejoin card; the accidental screen-share auto-publish on connect is removed; final quality report survives tab close; admitted-guest exchange retries back off instead of hammering.
  • Mac: fixed a crash presenting errors without a window, stacked device-preference observers, a leaked URLSession per join attempt, unstable participant tile identities, and a Settings window that stopped live-updating after reopening.
  • Version stamping can never regress to numeric plist values again (the Metal/VFX 'crash on pick up' on old builds); verify asserts the types.
  • Guest email is now required consistently across web, Mac, and the API schema (it previously varied by surface); privacy page and README updated to match.
  • Mac stage: speaking ring follows rounded tile/stage corners instead of clipping square on full-bleed local video.

0.1.9 — 2026-08-09

  • Web meeting header Debug control copies a pasteable support dump (quality + LiveKit stats; no tokens or captions).

0.1.8 — 2026-08-09

  • Web guest: branded in-call settings; remember camera, mic, speaker, and background on this device.
  • Keep browser noise suppression / echo cancellation on for prejoin and the live room.

0.1.7 — 2026-08-09

  • About / updates: show feed version and published date after a check, including when already up to date.

0.1.6 — 2026-08-09

  • Caption language tags include German (de) alongside English and Portuguese.
  • Lobby knock alerts (sound + Dock); Start & Admit from the pre-live queue.
  • Meeting menu: microphone/camera pickers, sign-in/out, Center Stage, Schedule….
  • Guest waiting room polish while a knock is pending.

0.1.5 — 2026-08-09

  • Soft host presence: guests can join while the Mac is on the clock; admit after Start.
  • Guest entry: name/email first, then Join or in-app Schedule (proxied to core.envisioning.com).
  • Booking-token URLs (/room/<slug>/<token>) are Join-only and show the token; lobby marks guests with a booking.
  • Public web surface is room permalinks plus Privacy/Terms only; other paths 404.
  • Host menus: Share Screen, Copy Invite, Start, Admit/Reject Next Guest; Help → Bug Report.
  • Owner launch layout polish; quieter local transcription status copy.

0.1.4 — 2026-08-09

  • Owner launch shows Meet branding; header shows the signed-in account until the meeting starts.
  • Remove 24-hour temporary rooms (API, Mac UI, CLI); permanent owner rooms only.

0.1.3 — 2026-08-09

  • Owner welcome (clock) shows camera/mic readiness and device pickers before Start.

0.1.2 — 2026-08-09

  • In-app updates: Settings → About shows update status, auto-check, and Install and restart.
  • Bundled update-app.sh + feed at envisioning.github.io/meet/updates/latest.json.
  • Fix Developer ID signing of nested LiveKit frameworks so notarized releases can ship.

0.1.1 — 2026-08-09

  • Fix Swift 6 compile error in calendar attendee decoding (self / isSelf) so Release CI can build.

0.1.0 — 2026-08-09

  • Initial private Meet: Mac host, browser guest, lobby admission, local PT/EN captions.
  • Screen share: Mac display/window picker; web browser picker.
  • Mac host stage shows a multi-party grid (screen share focus + camera filmstrip); web already used LiveKit VideoConference.
  • Mac and web show live meeting duration from the control-plane started_at clock.
  • LiveKit room JWTs last two hours; browser guests refresh before expiry and can re-exchange after a drop.
  • GitHub Actions release path for Developer ID signing, notarization, and Meet-macOS.zip uploads.