🔄 What’s new

Release notes

Track what’s changed with each Agendo release. We ship continuously — check back often.

v3.2.3LatestSeptember 2026
  • Type is sized to the screen it is drawn on: every literal fontSize was written against a 390pt baseline and rendered unchanged on the 360dp width most Android phones report, leaving the whole app a size too big — all 180 stylesheets now build through a shared scale of width/390, clamped to [0.9, 1] so nothing grows above the baseline and a display-size preference is never argued with; geometry is deliberately untouched, since type shrinking inside a box that stays put needs less room than it had, never more
  • Studio re-entry repair now covers the screens the flow is entered at: the picker and studios/join are pushed from another tab and by nothing inside the studios stack, so anything below them is an abandoned run — previously the repair only recognised a leftover by a shared route name or a disagreeing studioId, which the picker has neither of, so Back out of a list opened from Home landed on a studio already left, and choosing a studio from that list fired the repair a screen too late and took the picker with it
  • The purchase group on the profile is gated on the account being able to buy: a client owns no receipt to restore, and the heading over a lone Restore button read as a bill — Restore stays unconditional on the paywall and Manage subscription, the two screens a purchase is actually made and managed from, and the affordance test now allows this row exactly one gate, checked branch-and-all
  • Notification preferences are filtered to what an account can receive: JoinRequest is the only category provably one-sided (studio admins and the asker, and asking is what earns the professional role), while Rating carries the client’s own rate-this-booking nudge under the same name and gets audience-specific copy rather than the axe
  • Device tokens record the platform the app reports, and push sends log their per-platform breakdown — Expo issues the same token shape on both and routes by the token alone, so “is Android receiving anything?” had no answer in the token table or in a receipt
  • InvalidCredentials and MismatchSenderId are treated as what they are — a whole platform’s delivery down, not a device problem: logged at error once per code and platform rather than once per ticket, naming the platform and the credential to fix, with the token kept so a working device is not unsubscribed over a project setting
v3.2.2September 2026
  • Time-off resolution: marking time off over a day that already holds bookings is now one act — each booking is handed to a colleague free at that exact slot or cancelled, and the block is written in the same request under the professional’s calendar lock, so nothing can land on the day in between; transfers run before any cancellation, and past a cap the sheet asks for a shorter range instead of a list nobody finishes
  • The resolution sheet previews how each client will be told — push while their device still checks in, otherwise SMS on Pro or email on Pro and Basic, and named outright when nothing reaches them — with an optional note that travels with the transfer or cancellation notice
  • Book the notified waitlist slot in one tap: the server resolves the entry against the day as it stands, so it still works for an entry notified before the freed slot was recorded, and a client who is beaten to it falls back to the wizard prefilled with service, professional and day
  • Per-appointment price, held apart from the service list price; a missing price on an edit keeps the one already agreed, so a reschedule from the backoffice calendar or an older build cannot silently reprice a booking
  • Manual booking rebuilt around a derived start time — a slot tapped on the agenda is no longer overwritten by the first free slot of the day, and a time picked by hand survives a change of day — with start times offered under Morning, Afternoon and Evening on a four-week day strip
  • Studio page and booking wizard show the whole menu grouped by category, matching the web booking page; category matching now reads the family in “Family - Variant” names, so one studio’s waxing menu stops splitting across three sections
  • Booking-link sharing carries a sentence naming the studio instead of a bare URL, with the link inside the message on Android, where the share sheet ignores the url field
  • Waitlist fixes: notifications now route from the in-app list as well as the push (they carry no referenceId and used to fall through every branch), joining is disabled when a live entry already covers the slot, and an offline list no longer reads as empty
  • iOS date and time pickers moved into a bottom sheet over a draft value, fixing the minute wheel clipped off the schedule screens; a dismissed Android dialog no longer writes back the time it opened on, and Input keeps its focus ring when a caller passes its own onFocus/onBlur
v3.2.1September 2026
  • Contact-to-book studios: a studio whose services are all arranged by contacting it now offers call, WhatsApp and SMS on its page instead of a booking area with nothing to press, with WhatsApp shown only for numbers written in international form
  • WhatsApp a named professional straight from the studio page, where their number carries a country code
  • Service quick-add: a studio with no services yet sees starter suggestions for its trade that open the editor prefilled, plus a custom route, on one scrollable panel instead of three stacked blocks that pushed the tiles behind the tab bar
  • A service priced at zero renders as Free rather than an empty price
  • Ink on a solid fill is now chosen for contrast instead of assumed white: the active tab chip measured 1.74:1 in some palettes, and every fill is now checked in all palettes and both modes
  • Rate limiting partitions on the caller’s real address behind the proxy, so the strict auth policy is per-caller again rather than one global bucket that a single machine could exhaust
  • Services list polish: clearer cards and category sections once a studio carries a lot of services
v3.2.0September 2026
  • A second trial week, earned — the first booking your studio takes, whether you enter it yourself or a client makes it through your booking page, adds 7 days to the free trial, so 7 becomes 14; it is granted once, automatically, and we notify you when it happens
  • Referral programme — invite another studio with your code: they start on a 30-day trial instead of one week, and once they have paid for a full month you bank 30 days that start when your own subscription ends
  • Referral invitation page on the web — a shared code now opens a page that explains the offer before sign-up, and sign-up itself has a referral code field
  • Message all clients — one studio-wide announcement a month, by SMS on Pro and by email on Basic, with the reach shown before sending
  • Clients can turn studio announcements off from the studio page or the unsubscribe link; confirmations and reminders are never affected
  • Studio emails now carry the studio’s own booking-page colours and style
  • Copy a client’s phone number or email straight from their profile
  • Appointments left open are auto-completed just before midnight, so the day closes on the right date
v3.1.0August 2026
  • Team day view — every professional’s diary side by side, with scope switching between the studio, one person or yourself
  • Booking page designer — four styles, brand colours, cover image and a live preview before publishing
  • Time off by the hour — a two-hour block closes only those two hours, and the editor names the appointments it would clash with
  • Client management — import from phone contacts, client profiles with history, spend and no-show rate, and one tap to call, message or email
  • Studio settings hub, booking rules, yearly plans, app lock and offline browsing
  • Team management — invite professionals, set what each can do, and never lose the last active admin
v3.0.0July 2026
  • In-app chat between clients and studios — real-time messaging with push notifications
  • Backoffice web portal launch — manage your studio from any browser
  • Full i18n support for 5 languages: English, Portuguese (Portugal), Spanish, French, and Italian
  • Revamped booking page with customisable branding, images, and policies per studio
  • CandyTabBar with role-based navigation and smooth animated transitions
  • Theme engine: light and dark modes with 5 colour palettes (Petrol, Minimalist, Emerald, Crimson, Candy) matching the mobile app — preference syncs across devices
v2.5.0May 2026
  • Professional availability management — working hours, breaks, holidays, and days off
  • Waitlist system — clients automatically notified when a slot opens
  • Daily appointment summary push notification for professionals
  • Calendar views: month, week, day, and list with responsive layout
  • Studio join requests with approve/reject workflow
  • Multi-studio support — users can belong to multiple studios with per-studio roles
v2.0.0March 2026
  • Appointment lifecycle management — approve, decline, complete, cancel, no-show
  • Bulk status updates for appointments
  • Star rating system — clients rate professionals after completed sessions
  • Trial expiration automation with notifications
  • RevenueCat subscription integration with webhook handling
  • Subscription gating with paywall screen
v1.0.0January 2026
  • Initial public release on iOS and Android
  • Client booking flow with service selection, professional picker, and time slot calendar
  • Studio creation and onboarding
  • Professional profiles with auto-approval toggle
  • Push notifications for appointment confirmations and reminders
  • Public booking widget for unauthenticated guest bookings

Earlier versions were internal pre-release builds and are not listed here. For a complete technical changelog, see the Agendo GitHub repository.