What's shipped.
Every product update, newest first.
v1.0.4June 2026release
Self-documenting meeting class fields
- changepriority_tier values renamed to categorical tiers: critical, high, normal, low. Replaces the previous numeric 0–100 scale. Existing classes are migrated automatically.
- changepreempt_policy values renamed for clarity: strict → protected, soft → reschedulable, hard → replaceable. The three behaviors are unchanged; only the API names differ. Existing rows are migrated automatically.
v1.0.3June 2026release
Pricing tiers, multi-calendar UI, booking improvements, and FAQ
- featFull pricing tier system — Free, Pro, and Team plans enforced across the API (calendar count, agent count, meeting classes, bookings per month, audit log retention, feature gates). New /v1/usage endpoint returns live consumption against plan limits.
- featDashboard billing page — current plan summary, usage meters, and upgrade prompts. Invite teammate button gated to Team plan with tooltip explaining the requirement.
- featPublic pricing page — flat-rate tier comparison with plan-aware CTAs (shows current plan for authenticated users).
- featPricing teaser on the homepage (CH-06) — plan overview and CTAs without leaving the landing page.
- featMulti-calendar UI (D-040) — Primary badge, calendar_type selector, and provider account email shown on the Calendars page. Docs updated to reflect owner_email field.
- featBooking improvements — title is now required on POST /v1/bookings and confirm; meeting_class is stored on hold creation; preemption_ids replaced with displaced_count in booking responses.
- featFAQ page — common questions about arbitration, holds, providers, roles, audit logs, and pricing. Linked from the footer and pricing page.
- feat2-step onboarding wizard — working hours and slot configuration now guided on first calendar connect.
- fixAvailability route now correctly wires the calendar adapter — live Google free/busy calls were not being made in v1.0.2.
- fixNew accounts now provisioned with plan set to free instead of null.
- fixPlan-aware upgrade prompts — Pro users now see "Upgrade to Team" instead of "Upgrade to Pro".
- fixCopy owner ID button removed from the dashboard — provider account email is shown directly instead.
- fixSSR hydration mismatch resolved by removing loading guard from RootLayout.
v1.0.2May 2026release
Rules polish, dashboard UX, and permission label updates
- featSlot snapping — availability windows now snap to the nearest standard boundary (:00, :15, :30, :45) so agents never receive non-standard start times. Configurable via the new slotIntervalMinutes field.
- featNew WORKING_HOURS_NOT_CONFIGURED warning returned when a calendar owner has not yet set working hours, so agents can prompt the owner to configure their schedule without blocking bookings.
- featslotIntervalMinutes field on working hours rules — controls the step between candidate slots and the snap boundary. Any divisor of 60 is valid (default 15). Common values: 15, 20, 30, 60.
- featDashboard overview page — at-a-glance stats (bookings this week, active holds, open drift cases), recent decisions feed, agents summary, calendar health, and quick actions.
- featAudit log drill-down — click a rule set version ID in the audit detail panel to see the exact rules that were in effect at decision time (working hours, hard blocks, soft preferences).
- featDashboard UX — profile picture shown in the nav chrome; Copy owner ID button on the calendars page; invite multiple teammates in a single dialog.
- featOnboarding — after connecting a calendar, a new meeting-classes step introduces the taxonomy and lets admins add custom classes before accepting bookings.
- changeread_freebusy permission is now labelled "View calendar availability" in the dashboard and docs. The API scope string is unchanged.
- changeMeeting class priority range tightened from 0–1000 to 0–100 to match seeded defaults. Existing classes outside this range are clamped on next save.
- fixRules page working-hours days now always render in Sun → Sat order and preserve block positions during editing.
- fixSign-out now redirects to the marketing homepage instead of /sign-in.
v1.0.1May 2026release
Booking enhancements — event title, attendees, next-available hint
- featPOST /v1/bookings and POST /v1/bookings/{hold_id}/confirm now accept optional `title` (written as the Google Calendar event title) and `attendees` (array of { email, displayName? } guests added to the event). Title defaults to the meeting class name when omitted.
- featPOST /v1/availability/search accepts `next_available_lookahead_hours` (1–72, default 24). When no slots are found, the 409 response includes a `next_available: { start, end }` hint pointing at the nearest free slot beyond the requested window. The field is omitted when nothing is found within the lookahead.
- featNew error code LOOKAHEAD_EXCEEDS_MAXIMUM (400) returned when next_available_lookahead_hours exceeds 72.
v1.0.0May 2026release
First agent scheduling release
- featAgent registry — register agents with named permission scopes; mint and revoke API keys per agent.
- featPriority-based arbitration engine with deterministic, rule-ordered decisions.
- featMeeting class taxonomy — drag-to-reorder priority ranking, preempt policy per class (strict / soft / hard).
- featWorking hours and hard blocks — per-owner rule editor with block-based day/time configuration.
- featRule cascade — org → team → user layers materialised at arbitration time.
- featAudit log — every Accept, Reject, Preempt, and Undo with full engine trace and side-effect status.
- featPreemption + time-windowed undo — HMAC-signed undo link delivered to the displaced party.
- featConflict simulator — replay a hypothetical booking through live rules with no side effects.
- featGoogle Workspace OAuth integration.
- featDashboard with multi-member support and role-based access (admin, governance reviewer, member).
v0.9.0April 2026beta
Rule cascade and multi-member dashboard
- featRule layer cascade (org → team → user) with version-stamped materialisation.
- featSoft preferences — min buffer between meetings, max back-to-back, preferred days.
- featDashboard user management — invite teammates, assign roles, disable access.
- featTrial-mode enforcement for Team plan — decision counter with 30-day rolling window.
- changeAudit log now records the active rule set version alongside every decision.
- fixTiebreaker logic now correctly preferring the later-arriving higher-priority booking.
v0.8.0March 2026beta
MCP transport and notifications
- featMCP transport — expose Openavail tools (openavail.book, openavail.check_availability) directly inside agent runtimes.
- featPending notifications for preemption events, returned through the agent-facing API.
- featAudit log JSONL export (Team plan and above).
- featHard block rules — named recurring blocks (e.g. lunch, no-meeting Friday afternoon).
- changeAPI key format updated to ak_ prefix with a fixed-length random suffix.
- fixCalendar grant refresh-token rotation now handled transparently on expiry.
v0.7.0February 2026alpha
Preemption engine and undo flow
- featPreemption — higher-priority bookings can displace confirmed lower-priority events.
- featUndo confirm page — time-windowed HMAC link delivered via email to the displaced party.
- featSide-effects — Google Calendar writes, cancels, and notification sends — now tracked per arbitration decision.
- featCounterPropose decision — engine returns up to 3 alternative slots when the requested window is blocked.
- changeBooking endpoint now accepts duration_minutes as an explicit field (was inferred from start/end).
v0.6.0January 2026alpha
Initial arbitration engine
- featPOST /v1/bookings — first working Accept / Reject decisions against working-hours rules.
- featPOST /v1/availability/search — free/busy lookup with conflict overlay.
- featAgent registration and API key issuance (read_freebusy, create_bookings scopes).
- featGoogle Workspace OAuth grant flow with refresh-token persistence.
- featAudit row written on every decision (no engine trace yet).
Openavail communicates breaking changes at least 30 days in advance for Team and Governance plan customers.