Produktoppdateringar

Endringar og feilrettingar i samband med utgivinga.

Caloti publiserer no ei felles produktversjon på tvers av web, mobil og API-utgåveinformasjon. Den noverande utgåva som er deployert er 4.4.0.

Generert May 24, 2026Kontakt kundestøtte

v4.4.0

Versjon 4.4.0

Utgjeve May 24, 2026

New

  • Improve amenity and service category selection.
  • Add OSM-based salon discovery script and 35 new amenities.
  • Add tutorial-fixtures seed for completed bookings.
  • Expand OSM salon discovery coverage.
  • Persist google_place_id, wire MAX_IMAGES_PER_SALON, expand workflow countries.
  • Require OSM email at discovery and Google match post-enrichment.
  • Expand service and amenity picker metadata.

Fixed

  • Extend amenities enum with inclusivity/wellness/discounts/products.
  • Align ios eas capabilities.
  • Downgrade transient SMTP and indexing alerts to warn.
  • Preserve OSM hours and country fallbacks.
  • Address bing scan findings.
  • Address PR review feedback.
  • Harden post-deploy SEO contract and keyword-rich CTAs.

Improved

  • Reduce directory insight query payload.
  • Split featured salons directory query to avoid join cartesian.

Changed

  • Bump shared packages.
  • Bump shared packages.

v4.3.6

Versjon 4.3.6

Utgjeve May 18, 2026

Fixed

  • Stabilize e2e seed entity registry.
  • Bypass signup burst limit for e2e runs.
  • Align auth option tap targets.
  • Align availability blocking statuses.
  • Dismiss guest checkout keyboard.
  • Filter occupied stylist slots.
  • Hide empty notification destination.
  • Hide recurring upgrade prompts from clients.
  • Keep guest checkout option reachable.
  • Open salon service selection reliably.
  • Parse appointment times in salon timezone.
  • Recheck occupied slots before submit.
  • Submit guest checkout from keyboard.
  • Switch guest checkout state atomically.
  • Localize public follow-on copy.
  • Add login account prompt fallback.
  • Allow e2e screen capture bypass.
  • Allow local android api cleartext.
  • Format waitlist preferred times.
  • Guard optional native startup modules.
  • Localize salon details error fallback.
  • Retain auth tokens after login.
  • Smooth salon claim onboarding transition.
  • Submit login from password keyboard.
  • Address launch cleanup review feedback.
  • Address manifest review feedback.
  • Align discovery indexation and listing states.
  • Avoid false empty search states.
  • Canonicalize generic country pages.
  • Canonicalize placeholder search urls.
  • Clean public page fallbacks and sentry noise.
  • Clean search snippets and salon-first copy.
  • Localize public follow-on copy.
  • Localize pwa manifest metadata.
  • Polish public changelog copy.
  • Polish public page metadata and fallbacks.
  • Preserve city search filters.
  • Remove public loading and admin copy leaks.
  • Sanitize search placeholder filters.
  • Tighten public indexation controls.
  • Tighten search indexing and directory consistency.
  • Associate floating labels with controls.

Changed

  • Set up Dependabot for npm and GitHub Actions updates.

v4.3.5

Versjon 4.3.5

Utgjeve May 18, 2026

Fixed

  • Render directory landing routes dynamically.

v4.3.4

Versjon 4.3.4

Utgjeve May 17, 2026

Fixed

  • Generate lint-valid network security config.

v4.3.3

Versjon 4.3.3

Utgjeve May 17, 2026

Fixed

  • Merge dev launch cleanup.

v4.3.2

Versjon 4.3.2

Utgjeve May 14, 2026

Fixed

  • Tighten crawl controls and indexnow drain.

v4.3.1

Versjon 4.3.1

Utgjeve May 14, 2026

Fixed

  • Force API translation hydration.
  • Remove raw translation keys from header test ids.
  • Render translated SSR auth forms.
  • Render translated SSR chrome.
  • Unblock translation startup.
  • Clean up bing crawl edge cases.
  • Redirect stale crawl paths.

v4.3.0

Versjon 4.3.0

Utgjeve May 13, 2026

New

  • Add SendGrid editorial newsletters.
  • Add newsletter contracts.

Fixed

  • Keep indexnow deploy submissions body safe.
  • Address PR review recommendations.
  • Address SendGrid PR review feedback.
  • Address console metadata and search map issues.
  • Avoid dead service location links.
  • Canonicalize www at nginx edge.
  • Reduce search payload and seed localized cms posts.
  • Stabilize localized CMS sitemap rows.
  • Strengthen metadata for bing reports.

Changed

  • Bump shared packages.

v4.2.0

Versjon 4.2.0

Utgjeve May 11, 2026

New

  • Add backend search indexing pipeline.
  • Add IndexNow deployment notifications.
  • Improve search indexing observability.

Fixed

  • Skip throttling for public seo reads.
  • Improve article CTA contrast.
  • Move trending salons below search.
  • Ignore aborted plan requests.
  • Address pr review feedback.
  • Localize discovery links.
  • Add server heading for salon profiles.
  • Return 404 for missing salon profiles.
  • Restore workspace test stability.
  • Detect delete dependencies from pg catalog.

v4.1.0

Versjon 4.1.0

Utgjeve May 5, 2026

New

  • Add shared salon directory details.
  • Add marketplace-backed salon directory pages.
  • Add salon directory translation text.

Fixed

  • Update vulnerable direct packages.
  • Suppress expected signup and cms noise.
  • Address localization and monitoring feedback.
  • Stabilize localized discovery flows.
  • Address directory review feedback.
  • Harden CMS article rendering.
  • Harden directory service URLs.

Changed

  • Bump shared packages.
  • Bump shared packages.

v4.0.0

Versjon 4.0.0

Utgjeve May 4, 2026

Breaking Changes

  • Add external invitation delivery summary.

New

  • Improve provider invite sharing.
  • Add external invitation delivery summary.
  • Add invite channel helpers.

Fixed

  • Pass signup abuse secret to backend runtime.
  • Address review feedback.

Changed

  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.

v3.0.0

Versjon 3.0.0

Utgjeve May 4, 2026

Breaking Changes

  • Registration risk enums move to shared enums.
  • Shared User no longer includes signupIpHash or signupUserAgentHash. These fields are only on admin user detail contracts.
  • Add registration anti-abuse helpers.
  • Add signup anti-abuse contracts.

New

  • Add external invitation endpoints with transactional claim flow.
  • Add invite.\* translations across 34 supported locales.
  • Add signup abuse controls.
  • Add FAQ CTA button support.
  • Improve editorial authoring.
  • Localize FAQ CTA currency examples.
  • Support localized FAQ content.
  • Replace hero CTAs with integrated search bar and role links.
  • Add web invite modal, channel buttons, and /invited landing.
  • Add IntegratedSearchBar and redesign BrowseScreen with role CTAs.
  • Add invite modal, /invited deep link, and registration token plumbing.
  • Add directory content CMS foundations.
  • Implement phase 2 indexation cleanup.
  • Add external invitation contracts to types and utils.
  • Add SEO content contracts.
  • Expose invitation auth and anti-abuse contracts.
  • Add signup anti-abuse contracts.
  • Add registration anti-abuse helpers.

Fixed

  • Align store pricing discrepancy detection.
  • Contain admin shell horizontal overflow.
  • Keep store sync response resilient.
  • Preserve filtered pricing selections.
  • Remove public chrome from admin routes.
  • Stabilize pricing maintenance tables.
  • Upsert app store price sync rows.
  • Wrap pricing bulk edit controls.
  • Support high-denomination country pricing.
  • Address signup abuse review findings.
  • Derive signup timing server-side.
  • Harden signup abuse freshness counters.
  • Improve content publishing flow.
  • Style cms article links.
  • Scope popular cities, services, and featured locations to detected country.
  • Address external invitation review findings.
  • Address follow-up review feedback.
  • Address OAuth review feedback.
  • Extend App Store sync timeout.
  • Align public signup trust SQL.
  • Fetch CMS sitemap posts by locale.
  • Shrink sitemap payload.
  • Unblock AI crawler indexation.
  • Keep signup hashes admin-only.
  • Extend store sync request timeout.

Changed

  • Add more dependancies.
  • Add SEO content contracts.
  • Add SEO seed root scripts.
  • Update brand and seo messaging.
  • Update lock file.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.

v2.5.1

Versjon 2.5.1

Utgjeve April 29, 2026

Fixed

  • Use App Store territory currency.
  • Preserve distance sorting aliases.
  • Resolve recent sentry regressions.
  • Centralize store endpoint constants.
  • Allow manual employer salon creation.
  • Suppress expected handled Sentry errors.

Improved

  • Use shared namespace constants.

Changed

  • Bump shared packages.

v2.5.0

Versjon 2.5.0

Utgjeve April 28, 2026

New

  • Support manual salon phone entry.

Fixed

  • Address PR 1052 review issues.
  • Guard Notification API and quiet expected 4xx leaks to Sentry.
  • Order stylist/salon distance by expression to survive .select clone.
  • Enforce seat list response contract.

Changed

  • Bump shared packages.

v2.4.1

Versjon 2.4.1

Utgjeve April 25, 2026

Fixed

  • Provide preview API URL to EAS.
  • Address dev promotion review.
  • Address QA review comments.
  • Bridge native login fallback.
  • Map client upcoming appointments.
  • Merge QA blocker fixes.
  • Stabilize login and address QA blockers.

v2.4.0

Versjon 2.4.0

Utgjeve April 25, 2026

New

  • Add country code helpers.
  • Add unclaimed employer salon onboarding contract.

Fixed

  • Address pr review feedback.
  • Resolve open Sentry issues across web and api.
  • Harden employer salon setup.
  • Scope address country during onboarding.

Changed

  • Commit remaining launch updates.
  • Bump shared packages.
  • Bump shared packages.
  • Bump shared packages.

v2.3.9

Versjon 2.3.9

Utgjeve April 24, 2026

Fixed

  • Restore error autopilot cleanup project default.
  • Harden production verification flows.
  • Prevent completed business onboarding retries.
  • Show salon owner final submit action.
  • Hydrate onboarding addresses.
  • Align email resend flows.
  • Improve code delivery flows.
  • Stop profile reload loop.

Changed

  • Remove error autopilot cleanup workflow.

v2.3.8

Versjon 2.3.8

Utgjeve April 24, 2026

Fixed

  • Return canonical bookings response.
  • Resolve active production issues.

Changed

  • Update shared package versions - @caloti/types@16.2.26 - @caloti/shared-utils@16.2.25.
  • Update shared packages.
  • Remove error autopilot issue automation.

Changed

  • Update AGENTS.md.
  • Update Claude.md.

v2.3.7

Versjon 2.3.7

Utgjeve April 24, 2026

Fixed

  • Stabilize cross-workspace test suites.
  • Filter 404/423/security-audit events from Sentry.
  • Filter expected HTTP status codes client-side on mobile + web.
  • Tighten sentry noise filters.

v2.3.6

Versjon 2.3.6

Utgjeve April 23, 2026

Fixed

  • Localize subscription confirmation pricing.
  • Prevent NewConversationScreen infinite update loop.

v2.3.5

Versjon 2.3.5

Utgjeve April 23, 2026

Fixed

  • Allow long app store price identifiers.
  • Show localized subscription pricing.
  • Address follow-up review feedback.
  • Address review feedback.
  • Align plan summaries and translations.

Changed

  • Update shared package versions - @caloti/types@16.2.25 - @caloti/shared-utils@16.2.24.
  • Update shared packages.

v2.3.4

Versjon 2.3.4

Utgjeve April 23, 2026

Fixed

  • Use canonical store sync secrets.
  • Wire store price sync credentials.
  • Load subscription plans from RevenueCat.
  • Untrack production env and tighten subscription tests.
  • Address pr review findings.

v2.3.3

Versjon 2.3.3

Utgjeve April 22, 2026

Fixed

  • Address shared-device review feedback.
  • Clear persisted store data on account changes.
  • Isolate persisted account state and keyboard-safe profile edits.
  • Isolate shared-device persisted state.
  • Scope persisted state by user.
  • Scope remaining shared-device service storage.
  • Log invitation-accept failures on the booking page.

v2.3.2

Versjon 2.3.2

Utgjeve April 22, 2026

Fixed

  • Address PR review concerns on subscription contract and auth guard.
  • Specific storefront mismatch copy and account-level telemetry.
  • Resolve countryPricingId even when event carries pricing.
  • Stop logging SALON_NOT_FOUND booking page errors to Sentry.

Changed

  • Update shared package versions - @caloti/types@16.2.24 - @caloti/shared-utils@16.2.23.

v2.3.1

Versjon 2.3.1

Utgjeve April 22, 2026

Fixed

  • Subscribe to FCM topics on mid-session grants; gate subscription UI.
  • Canonicalize FCM device timezone on registration.
  • Add notification permission and restore-mismatch keys.
  • Initialize FCM registration after onboarding permission grant.
  • Register token on first GRANTED and gate subscription self-management.
  • Stop unprompted notification permission alert and add re-enable path.
  • Canonicalize optional timezones.
  • Enforce subscription ownership on restore and plan changes.
  • Harden ownership and sync flows.
  • Harden subscription e2e and salon owner contracts.
  • Forward worker flags.
  • Add restore account role mismatch keys.

Improved

  • Consume canSelfManageSubscription/isSoloStylistUser from shared-utils.
  • Consolidate NotificationProvider solo-stylist check.

Changed

  • Stabilise misc mobile tests, tune test runner, document sub ownership.
  • Update shared package versions - @caloti/types@16.2.19 - @caloti/shared-utils@16.2.18.
  • Update shared package versions - @caloti/types@16.2.20 - @caloti/shared-utils@16.2.19.
  • Update shared package versions - @caloti/types@16.2.21 - @caloti/shared-utils@16.2.20.
  • Update shared package versions - @caloti/types@16.2.22 - @caloti/shared-utils@16.2.21.
  • Update shared package versions - @caloti/types@16.2.23 - @caloti/shared-utils@16.2.22.
  • Update shared packages.
  • Update shared packages.
  • Resolve ruby dependabot alerts and widen npm brace-expansion override.
  • Clear lint errors in notification flow.
  • Unblock mobile test type-check after shared types tightening.

v2.3.0

Versjon 2.3.0

Utgjeve April 21, 2026

New

  • Add expired restore purchase status.

Fixed

  • Address PR #1034 review feedback.
  • Classify schema/query-definition Postgres faults as 500 and enrich logs.
  • Exclude endDate from subscription sync snapshot.
  • Add expired display e2e coverage.
  • Complete owner feature gate follow-up.
  • Complete owner feature gate follow-up.
  • Resolve owner feature gate merge.
  • Align mobile restore and management flows.

Improved

  • Use captureContext form for Sentry messages and migrate withScope callers.

Changed

  • Update shared package versions - @caloti/types@16.2.18 - @caloti/shared-utils@16.2.17.
  • Update ve translations.

v2.2.1

Versjon 2.2.1

Utgjeve April 20, 2026

Fixed

  • Exclude inactive branches from owner context.
  • Address additional PR feedback.
  • Address PR review feedback.
  • Improve nguni and sotho locale quality.
  • Improve southern african locale coverage.
  • Reduce same-as-English locale debt.
  • Sync subscription restore copy in remaining locales.
  • Gate locked branches and harden iOS restore.
  • Add owner salon context normalization.

Changed

  • Update shared package versions - @caloti/shared-utils@16.2.16.
  • Update shared package versions - @caloti/types@16.2.17.

v2.2.0

Versjon 2.2.0

Utgjeve April 20, 2026

New

  • Add parked-branches banner on the salon-owner dashboard.
  • Route BRANCH_LOCKED_FOR_PLAN responses to the upgrade screen.
  • Tag dashboard salons with plan accessibility end-to-end.
  • Render locked salon branches with re-subscribe cta.
  • Add MobileAppBanner component for mobile install nudge.
  • Render locked salon branches with re-subscribe cta.
  • Wire up MobileAppBanner + apple-itunes-app meta.
  • Add SALON_MANAGEMENT_MY_SALONS endpoint.
  • Add BranchLockedReason and SalonAccessibilityFields.
  • Tag SalonOwnerDashboardResponse.salons with accessibility.

Fixed

  • Address Codex review on salon-management plan-lock path.
  • Compute plan access on full owner list and return all salons.
  • Gate multi-location branches when the salon owner's plan allows fewer.
  • Address Codex review round 2 — plan-access + lock recovery.
  • Prefer first accessible branch in salon fallback pickers.
  • Localize mobile app banner copy.
  • Sync bundled branch lock messaging.
  • Sync feature tour locale contracts.
  • Centralize access control across messaging flows.
  • Stop onboarding auto-save from clobbering in-progress edits.
  • Delete stale .well-known static files shadowing dynamic routes.
  • Filter address autocomplete by selected country.
  • Use canonical my-salons contract.
  • Align branch access across clients.
  • Sync translation key union.

Improved

  • Consume BranchLockedReason + accessibility types from @caloti/types.
  • Use SALON_MANAGEMENT_MY_SALONS constant in useParkedBranches.

Changed

  • Update shared package versions - @caloti/types@16.2.12 - @caloti/shared-utils@16.2.11.
  • Update shared package versions - @caloti/types@16.2.13 - @caloti/shared-utils@16.2.12.
  • Update shared package versions - @caloti/types@16.2.14 - @caloti/shared-utils@16.2.13.
  • Update shared package versions - @caloti/types@16.2.15 - @caloti/shared-utils@16.2.14.
  • Update shared package versions - @caloti/types@16.2.16 - @caloti/shared-utils@16.2.15.

v2.1.4

Versjon 2.1.4

Utgjeve April 20, 2026

Fixed

  • Pass release_notes via env to avoid bash quoting breakage.

Changed

  • Restore pre-push hook executable bit.

v2.1.3

Versjon 2.1.3

Utgjeve April 20, 2026

Fixed

  • Batch seo metadata lookups to remove N+1 query.
  • Expose Twilio error code and reason on SMS send failures.
  • Reject malformed region codes and log full Google error body.
  • Stop sending expected 401 responses to sentry.
  • Dedupe GOOGLE_PLACES_API_KEY line in backend deploy workflow.
  • Align document smoke copy.
  • Create and retain shared test users across specs.
  • Isolate admin auth and stabilize admin flows.
  • Stabilize admin and auth flows.
  • Stabilize admin service category flows.
  • Align admin service category copy.
  • Block unsupported admin access.
  • Harden gateway and mobile access guards.
  • Emit clarity and expected-state messages as breadcrumbs.
  • Gate sibling subscription hooks against anonymous 401s.
  • Harden profile and places test contracts.
  • Skip current-subscription query for anonymous users.
  • Stop surfacing "Session expired" for anonymous 401s.
  • Align salon owner e2e and locale state.
  • Align test helpers and frontend regressions.
  • Bootstrap e2e auth sessions from backend.
  • Stabilize service category edit flow.
  • Address reviewer feedback for PR #1030.
  • Align pricing seeding and e2e flows.
  • Persist onboarding state for fixture users.
  • Seed stylist portfolio data for e2e.
  • Align admin pricing and real auth flows.
  • Stabilize auth and salon context fixtures.
  • Align profile sharing and stylist not-found ux.

v2.1.2

Versjon 2.1.2

Utgjeve April 19, 2026

Fixed

  • Pin EAS iOS image to Xcode 26.1 and build iOS first.
  • Stabilize additional e2e flows.
  • Stabilize e2e seat and package flows.
  • Stabilize pricing and packages e2e.

v2.1.1

Versjon 2.1.1

Utgjeve April 19, 2026

Fixed

  • Align web fixtures with current contracts.
  • Pin EAS iOS image to Xcode 16.2 for Expo SDK 55.
  • Stabilize e2e startup and not-found props.

Improved

  • Consume shared Google URL helpers in seeds enricher.

Changed

  • Drop stale mapbox mocks from jest.setup.js.

v2.1.0

Versjon 2.1.0

Utgjeve April 19, 2026

New

  • Add Google Places types and Maps Platform URL helpers.

Fixed

  • Drop Table-B hints from Google Places autocomplete request.
  • Return paginated client bookings responses.
  • Align booking contracts and translation fallbacks.
  • Unpin EAS iOS image to default to avoid Xcode 26.2 breakage.

Improved

  • Consume shared Google Places types and URLs.
  • Use shared Google URL helpers in clients.

Changed

  • Update shared package versions - @caloti/shared-utils@16.2.10.
  • Update shared package versions - @caloti/types@16.2.11.

v2.0.0

Versjon 2.0.0

Utgjeve April 19, 2026

Breaking Changes

  • Mapbox is fully removed. All geocoding, autocomplete, routing, and map rendering now uses Google APIs (Places API New, Geocoding, Routes, Maps JavaScript, Static Maps).
  • Add GooglePlacesService + PlacesProvider interface; delete MapboxPlacesService.
  • Rewrite GeocodingService to call Google Geocoding API only; map OVER_QUERY_LIMIT/REQUEST_DENIED to typed errors.
  • Drop MAPBOX_ACCESS_TOKEN from env validator, .env files, and specs; require GOOGLE_PLACES_API_KEY at runtime.
  • Rename salons.mapbox_place_id column to external_place_id via migration.
  • Add googleMaps.service.ts (Maps JS + Routes) and GoogleMap.tsx.
  • Collapse Map.tsx to a single Google provider (no dispatcher).
  • Remove mapbox-gl, @types/mapbox-gl, @mapbox/search-js-react deps; add @googlemaps/js-api-loader + @types/google.maps.
  • Rewrite Playwright specs + testIDs against Google endpoints.
  • Replace Mapbox Static Images URLs with Google Static Maps in chat location previews (web + mobile).
  • Extend nginx CSP with maps/places/routes googleapis.com; drop mapbox.
  • Replace MAPBOX_ACCESS_TOKEN in CloudFormation (master + ec2-instances), generate-parameters, deploy workflows, and codex env.
  • Require GOOGLE_PLACES_API_KEY, GOOGLE_PLACES_WEB_API_KEY, GOOGLE_MAPS_WEB_API_KEY secrets.
  • Rewrite ARCHITECTURE Maps section, DEPLOYMENT, GITHUB-SECRETS-SETUP, FEATURE-PARITY, service-providers, platform-differences, copilot-instructions, README, and data-schema to reflect single Google provider.

Fixed

  • Address PR #1026 Google migration review findings.
  • Address review feedback on env validator, maps loader, mobile docs.
  • Align test contracts and stabilize test runtime.
  • Prevent language normalizer from throwing before validation.
  • Prevent raw error keys leaking to clients.
  • Localize registration conflict errors.
  • Use EXPO_PUBLIC_GOOGLE_PLACES_API_KEY for chat static map previews.
  • Stop calling Routes API from browser with Maps JS key.

Improved

  • Replace Mapbox with Google Places across stack.

v1.10.1

Versjon 1.10.1

Utgjeve April 18, 2026

Fixed

  • Address PR #1024 review findings (async prefill, locale, country scope).
  • Address PR #1025 review findings (phone regression, auth perf, geocode perf).
  • Eliminate cross-country bleed in search, invites, and auth cache.
  • Route user-facing dates through device/user locale instead of en-US.
  • Resolve Zimbabwe address/phone/profile cross-country bleed.
  • Import PASSWORD_MIN_LENGTH from @caloti/shared-utils.

v1.10.0

Versjon 1.10.0

Utgjeve April 18, 2026

New

  • Native iOS, web-direct Places, telemetry, E2E, translations.
  • Route address autocomplete through device Google Places.

Fixed

  • Address Codex + Copilot review feedback.
  • Address fourth-round Codex P2 findings.
  • Address second-round Codex P1/P2 findings.
  • Address third-round Codex P1/P2 findings.
  • Move resolvedSignupCountryName above openManualForm.
  • Pass proximity to native Places on web.
  • Remove legacy place alias and localize location alerts.
  • Restore global.fetch assignment in nativePlaces test.
  • Use expo autolinking searchPaths for local places module.
  • Address bot-flagged issues in Google Places integration.

Improved

  • Localize hardcoded a11y labels and alert strings.

Changed

  • Improves google places integration.

v1.9.0

Versjon 1.9.0

Utgjeve April 18, 2026

New

  • Distinguish expired subscriptions from never-subscribed.
  • Expired-aware CTAs in feature gates, upgrade prompt, pricing.

Fixed

  • Manual-entry country code + expired-sub resubscribe.
  • Web parity for sparse-coverage + observability.
  • Address autocomplete falls back to native geocoding in sparse-coverage countries.
  • IPad keyboard can cover Continue button in country/language pickers.
  • Phone country picker now respects manual user selection.
  • Address PR 1021 review feedback.

v1.8.0

Versjon 1.8.0

Utgjeve April 16, 2026

New

  • Expand product-supported languages to full catalog.
  • Improve salon-owners and stylists landing pages , closes #join-process.

Fixed

  • Align mobile subscription tests and backend locale bundles.
  • Downgrade Mapbox per-suggestion retrieve failures to warn.
  • Log 401 responses at warn level, not error.
  • Translate salonOwner.locations.form.createButton across locales.
  • Address iOS App Store rejection issues.
  • Downgrade expected-behavior subscription telemetry to info.
  • Downgrade storefront pricing mismatch from warn to info.
  • Expose Restore Purchases to all roles in Settings.
  • Route iOS navigation through Apple Maps via nativeMapsService.
  • Fingerprint Sentry captureMessage calls by message.
  • Improve icon contrast on landing pages.
  • Repair plan fixtures and locale translations.
  • Align suites with current app contracts.

Improved

  • Remove unused GeofenceRegion interface.

Changed

  • Update shared package versions - @caloti/shared-utils@16.2.9.
  • Update shared package versions - @caloti/types@16.2.10.
  • Ignore vscode workspace settings.

v1.7.1

Versjon 1.7.1

Utgjeve April 15, 2026

Fixed

  • Address PR review feedback on Sentry fixes.
  • Add fbq stub to prevent ReferenceError on SSO callback.
  • Resolve Facebook OAuth emailNotVerified error.
  • Add @rollup/rollup-linux-x64-gnu to frontend deploy deps.
  • Install rollup + lightningcss linux binaries in deploy script.
  • Guard subscription sync against missing auth token.
  • Prevent false 'Visible in search results' for incomplete profiles.
  • Prevent onboarding form text disappearing on re-render.
  • Use graceful fallback when APP_URL is not configured.
  • Skip feature check API call for anonymous users.

Improved

  • Add in-memory cache to getSEOMetadata to fix N+1 pool connects.

v1.7.0

Versjon 1.7.0

Utgjeve April 15, 2026

New

  • Optional client email, account/salon deletion, and type safety fixes.
  • Add web discovery funnel events.
  • Make client email optional in types and add optionalEmail validation.

Fixed

  • Trace handled failures and clear timeout leaks.
  • Stabilize oauth callbacks and enforce app url.
  • Repair test workflow entrypoints.
  • Bump npm direct dependencies for security.

Improved

  • Align manual memoization deps with React Compiler.
  • Clear purity/immutability/incompatible-library warnings.
  • Hoist inline components out of render (static-components).
  • Stop reading refs during render (react-hooks/refs).
  • Stop syncing prop->state in effects (set-state-in-effect).

Changed

  • Integrate pending WIP across mobile, node-api, and e2e.
  • Lint zero errors, SSR dev troubleshooting, store-submission checklist.
  • Update lock file.
  • Update shared package versions - @caloti/types@16.2.9 - @caloti/shared-utils@16.2.8.
  • Remove dead declarations, silence false-positive alt-text.
  • Remove unused imports and fix prettier formatting.

v1.6.0

Versjon 1.6.0

Utgjeve April 14, 2026

New

  • Upgrade consent and marketing tracking.
  • Widen locale routing to 47 codes and extend plan localisation.
  • Localise subscription plans and refresh landing pages , closes #feature-comparison.
  • Add localised data deletion anchor and fix stylist footer link , closes #data-deletion.

Fixed

  • Guard email verification tokens.
  • Harden social sign-in callbacks.
  • Preserve oauth callback errors.
  • Surface provider oauth errors.
  • Align seat confirmation availability.
  • Preserve seat selection through confirmation.
  • Align salon onboarding validation locales.
  • Sync salon owner locale keys.
  • Build iOS E2E app without Metro.
  • Clarify subscription management.
  • Compact service editor on phones.
  • Enlarge register terms tap target.
  • Expose nested card controls to accessibility.
  • Hydrate guest auth register prefill.
  • Make notification reads optimistic.
  • Preserve guest booking resume state.
  • Preserve guest registration resume prefill.
  • Restore branch exit and subscription sync.
  • Restore keyboard drag dismissal on form screens.
  • Restore stylist onboarding salon flows.
  • Sync external onboarding step updates.
  • Align revenuecat ios dependencies.
  • Defer diagnostics prompt until onboarding is done.
  • Initialize country state for fresh sessions.
  • Keep diagnostics prompt out of auth flows.
  • Label client note editor input.
  • Persist onboarding step changes before navigation.
  • Prefer detected phone country.
  • Require salon descriptions before continuing.
  • Stabilize async service handlers.
  • Suppress diagnostics prompt during onboarding.
  • Use stable local ids.
  • Capture auth and verification failures.
  • Capture auth and verification failures.
  • Capture handled auth and alert errors.
  • Capture security settings failures.
  • Expand request and privacy error capture.
  • Expand sentry tracing and handled capture.
  • Report verification flow failures.
  • Trace password recovery failures.
  • Trace profile completion failures.
  • Trace profile media and document failures.
  • Align e2e booking reset SQL with schema.
  • Include pending stylist invitations in enrollment summary.
  • Restore filtered seat queries.
  • Seed business hours for test salons.

Changed

  • Checkpoint local workspace changes.
  • Improve localisation.
  • Localisation improvements.
  • Localisation improvements.
  • Localisation improvements.
  • Unblock lint + mobile typecheck, safe app-url defaults, plan i18n parity.
  • Update shared package versions - @caloti/types@16.2.3.
  • Update shared package versions - @caloti/types@16.2.4.
  • Update shared package versions - @caloti/types@16.2.5.
  • Update shared package versions - @caloti/types@16.2.6.
  • Update shared package versions - @caloti/types@16.2.7.
  • Update shared package versions - @caloti/types@16.2.8 - @caloti/shared-utils@16.2.7.
  • Stabilise maestro flows, a11y labels, and auth-store formatting.

Changed

  • Choe: update shared packages.
  • Choe: update shared packages.

v1.5.0

Versjon 1.5.0

Utgjeve April 13, 2026

New

  • Add active location owner context.

Fixed

  • Address pr1014 review issues.
  • Harden follow-on context flows.
  • Surface branches in selectors.
  • Remove customer-facing google analytics copy.

Improved

  • Burn down salon warning debt.

v1.4.0

Versjon 1.4.0

Utgjeve April 13, 2026

New

  • Align preference summaries across apps.
  • Persist exact hair subtype ids.
  • Add client preference formatters.
  • Add client preference summary builder.
  • Add communication preference helper.
  • Add missing api endpoint contracts.
  • Preserve exact client hair subtypes.

Fixed

  • Improve branch setup and client details.
  • Add hours telemetry and breaks label.
  • Improve phone input and hours flow.
  • Add telemetry and clean backend build.
  • Share preference labels and log mutations.
  • Align note access gates and sync locale keys.
  • Mirror new location keys across locales.
  • Restore onboarding integration runner.
  • Address remaining location setup findings.
  • Support numeric enum error mappings.
  • Correct config and public endpoint contracts.
  • Resolve stylist owner and notes parity.
  • Unify stylist salon access checks.
  • Normalize storefront country codes.
  • Normalize storefront country codes.
  • Tighten RevenueCat purchase handling.
  • Tighten RevenueCat purchase handling.

Improved

  • Remove dead preferred times field.
  • Consume shared formatters.
  • Consume shared summary builder.
  • Use shared-utils endpoint contracts.
  • Remove stale preferences settings flow.
  • Use shared endpoint contracts for public data.
  • Use shared verify payment endpoint.

Changed

  • Update shared package versions - @caloti/shared-utils@16.2.2.
  • Update shared package versions - @caloti/shared-utils@16.2.3.
  • Update shared package versions - @caloti/shared-utils@16.2.4.
  • Update shared package versions - @caloti/shared-utils@16.2.5.
  • Update shared package versions - @caloti/shared-utils@16.2.6.
  • Update shared package versions - @caloti/types@16.2.2.
  • Reduce test noise and document integration runner.

v1.3.0

Versjon 1.3.0

Utgjeve April 12, 2026

New

  • Enrich third-party integrations with free-tier features.
  • Wire up Clarity events and GA4 subscription properties in business flows.

Fixed

  • Create branch locations under root salon.
  • Address location setup review findings.
  • Replace any type in syncFromPaystack with strict shape.

Improved

  • Simplify diagnostics consent prompt.
  • Migrate RevenueCat REST API from V1 to V2.
  • Simplify diagnostics consent banner.

Changed

  • Fix API version docs and remove legacy FCM_SERVER_KEY fallback.
  • Add location limit translations.

v1.2.0

Versjon 1.2.0

Utgjeve April 11, 2026

New

  • Add diagnostics consent and reusable salon setup.

Fixed

  • Persist language cookies consistently.
  • Prefer storefront pricing for subscriptions.
  • Use direct store quotes for subscriptions.
  • Add global expo-web-browser mock to restore HomeScreen test suite.
  • Navigate to stylist client details via Modal navigator.
  • Surface subscription load failures.
  • Align salon gating with runtime entitlements.
  • Enforce billable entitlement contracts.

Improved

  • Remove HomeScreen dead code and skip subscription fetch for clients.
  • Replace local RootStackParamList with canonical navigation types.

Changed

  • Fill missing locale keys.

v1.1.4

Versjon 1.1.4

Utgjeve April 11, 2026

Fixed

  • Restore public salon seats route.
  • Preserve localized request context.
  • Handle storefront currency mismatches.

v1.1.3

Versjon 1.1.3

Utgjeve April 10, 2026

Fixed

  • Address PR review — add Sentry Jest mock and filter active seats only.
  • Add missing public seats endpoint for booking flow.
  • Add Sentry observability to subscription screen and fix changelog URL.
  • Simplify public changelog history.

v1.1.2

Versjon 1.1.2

Utgjeve April 10, 2026

Fixed

  • Resolve sentry cli in eas hook.
  • Stabilize replay consent state.

v1.1.1

Versjon 1.1.1

Utgjeve April 10, 2026

Fixed

  • Align sentry expo builds.
  • Correlate clarity with sentry.
  • Harden clarity correlation state.

v1.1.0

Versjon 1.1.0

Utgjeve April 10, 2026

New

  • Add sentry and clarity monitoring.

Fixed

  • Address review feedback.
  • Align release semver and mobile store pricing.
  • Avoid heredoc parsing in release outputs.
  • Block mismatched store currencies on mobile subscriptions.
  • Cap semantic-release GitHub release body.
  • Deploy main merges without new releases.
  • Tighten client monitoring boundaries.
  • Tighten replay privacy guards.
  • Use clarity for replay only.
  • Sync dev after main merges.
  • Restrict commitlint pushes to branches.
  • Stabilize frontend linux native deps.
  • Support manual release deployment backfills.
  • Localize public changelog route.

Changed

  • Add commitlint dependencies.

v1.0.0

Versjon 1.0.0

Utgjeve April 9, 2026

Breaking Changes

  • Replace monolithic consolidated migration with 7 domain-specific migrations.

New

  • Api: implement missing mobile app endpoints.
  • Mobile: add Firebase Crashlytics for native crash reporting.
  • Mobile: add salon claim flow to onboarding (P1-9).
  • Mobile: add stylist clients feature and enhance existing screens.
  • Mobile: implement salon creation flow.
  • Mobile: migrate to Continuous Native Generation (CNG).
  • Mobile: upgrade to Reanimated 4.1.3 for New Architecture optimization.

Fixed

  • Api: harden registerPreUploadedImages with transaction, dedup, and correct error behavior.
  • Mobile: align launcher icon and restore type-check.
  • Mobile: block onboarding navigation while gallery images are still uploading.
  • Mobile: pass abort signal to eager gallery upload requests.
  • Mobile: register missing gallery images on partial onboarding retry.
  • Web: block onboarding Next while gallery images are uploading.
  • Web: preserve gallery URLs on step remount and block nav on upload failures.

Improved

  • Api: consolidate admin endpoints and standardize API tags.
  • Mobile: replace hardcoded emojis with Lucide icons.
  • Mobile: simplify Help & Support screen to email only.
  • Mobile: use PLAN_FEATURES from @caloti/types as single source of truth.

v0.2.0

Versjon 0.2.0

Utgjeve April 9, 2026

New

  • Add amenity category translations across locales.
  • Add amenity slugs to search result summaries.
  • Add mobile auth resume booking coverage.
  • Add mobile onboarding claim and salon-stylist flows.

Fixed

  • Fix locale coverage for service and favorites copy.
  • Fix review reminder parity and stale app contracts.
  • Fix role-aware subscription gates and booking parity.
  • Fix stylist onboarding submit contract and parity regressions.

Improved

  • Align search i18n with shipped locale contracts.
  • Localize profile and document account surfaces.
  • Remove translation fallbacks and isolate edge-safe locale imports.
  • Standardize web icon rendering.

v0.1.0

Versjon 0.1.0

Utgjeve March 28, 2026

New

  • Introduced the first coordinated mobile application release for broader internal and preview distribution.

Improved

  • Stabilized shared package synchronization and release packaging across the product surfaces.
  • General bug fixes and performance improvements.

v0.0.1

Versjon 0.0.1

Utgjeve December 8, 2025

New

  • Initial mobile testing release for internal distribution.