Skip to main content
← Back to Building Storkie

Release notes

Page 5 of 9

  • 1.43.1

    Fixed

    • deps,testsPatch audit CVEs and realign stale schema/timer tests
    • growth,timersReject non-finite measurements and guard edit-mode cancel
    • growthAllow decimal measurements and guard out-of-range input
    • timeline,timersResolve list overlap, top-bar crowding, and nursing-timer UX
  • 1.43.0

    New

    • uiThe wordmark has a press effect now
    • uiThe last-logged activity ink stays on the wordmark for 30 minutes
    • uiThe app icons are refreshed with new artwork and a transparent favicon
    • uiThe bottom navigation is slimmer, and the top bar has been refreshed
    • uiThe wordmark is now Baloo 2 with write-on and celebration effects

    Fixed

    • iconsThe app icon is restored to the previous version
    • reviewHSL wordmark ink tokens and stylelint casing per CodeRabbit
  • 1.42.0

    New

    • legalThe app has a draft Privacy Policy and Terms of Service pages
    • onboardingYou can sign up publicly and opt-in to sample data
    • quotas+photosThe app has a daily cap for free-tier photo uploads
    • seoOG/Twitter metadata, sitemap.ts, robots.ts (B3 code-only)
    • settingsThe settings now allow data export and account deletion

    Fixed

    • rlsClose G7 user_settings + drop G10 chat_recommendations
    • sharingMigrate F4 atomic revoke + F1 invite token to Server Actions
  • 1.41.0

    New

    • growthGrowth charts now show WHO percentile overlays
  • 1.40.0

    New

    • exportJSON export of activities, photos metadata, and profile

    Fixed

    • securityFail closed on Redis errors for cost-bearing endpoints
  • 1.39.3

    Fixed

    • chatFail the stream request when user message persist fails
    • chatLog silent supabase errors in onFinish persistence
  • 1.39.2

    Fixed

    • securityEnforce write access in child-profile mutations
  • 1.39.1

    Fixed

    • reviewCodeRabbit round 2 - total options map, assertNever exhaustiveness, lazy-modal doc exception
  • 1.39.0

    New

    • modalsAdd useActivitySaveHandler save-dispatcher hook

    Fixed

    • dbMap last_edited_by_user_id and add mapper-column drift guard
  • 1.38.0

    New

    • observabilityCapture React component stack for escaped render errors
    • resilienceRetry currentUser() on transient Clerk API errors

    Fixed

    • activitiesEvict optimistic rows locally on delete
    • validationThe bottle duration limit is now 1440 minutes to match sleep and nursing

    Faster

    • activitiesCollapse latest-per-type read from 10 REST calls to 1 RPC
  • 1.37.3

    Fixed

    • Build production deploy on Vercel infra, not in CI
  • 1.37.2

    Fixed

    • Make CI the sole owner of production deploys
  • 1.37.1

    Fixed

    • Handle Sentry error recovery
  • 1.37.0

    New

    • dashboardThe dashboard now includes an activity entry view mode
  • 1.36.2

    Fixed

    • deployGate production Vercel builds
  • 1.36.1

    Fixed

    • voiceStorkie prevents the app from hanging when trying to save an activity
  • 1.36.0

    New

    • activitiesAdd undoCreatedActivity helper for detached undo
    • authThe sign-in page now has drifting clouds and cyan ambient lighting
    • dashboardThe dashboard allows you to scroll for more items when there are too many to show
    • dashboardYou can tap a card to edit the displayed record on the dashboard
    • modalsThe app accepts optional draft prefill in create mode
    • settingsThe settings now include a card management grid with hidden cards
    • voiceThe app will request microphone access when opened if permission is needed
    • voiceAdd pure confidence classifier for auto-save
    • voiceAdd summarizeEntryForToast headline formatter
    • voiceAdd TimerCommand type + timer_command envelope status
    • voiceAggregate time tags and emit unit:converted in normalizer
    • voiceThe app saves data automatically every time parsing is complete
    • voiceAuto-save toast shows value with Undo + Edit actions
    • voiceAuto-start mic on open and auto-save with undo toast
    • voiceThe Talk button shows a badge if the microphone permission is blocked
    • voiceClassify start-timer intent in the parse orchestrator
    • voiceDetect blocked mic with device hint; remove typed-authoring path
    • voiceEmit structured assumptionTags from time inference
    • voicePure dispatch helper for voice-started timers
    • voiceRequest-access screen for prompt state; drop stale 'or type it' copy
    • voiceRoute blocked-mic to the rich permission_denied screen; drop MicBlockedNotice + stale type copy
    • voiceRoute timer_command parses to an onStartTimer callback
    • voiceSkip transcript read-back and auto-save confident parses
    • voiceThe Talk button starts sleep, nursing, or activity timers
    • voiceThe Talk button shows three states: Talk, Allow microphone, and Microphone blocked

    Fixed

    • cameraContext-aware permission recovery + contained modal
    • dashboardThe dashboard now shows overdue cues on warm-colored cards
    • dashboardThe dashboard now has an in-place overdue alert instead of a needs-attention zone
    • dashboardSeed user settings server-side to stop grid reflow swallowing taps #418
    • dbRestore decimal duration storage
    • drawerClear stranded vaul keyboard styles on mobile
    • modalsStop false dirty prompt on sleep/diaper edit
    • realtimeRefresh Clerk JWT on foreground + subscribe error
    • Recover child profile cache failures
    • reportsThe reports now format activity durations correctly
    • settingsStable DndContext id to prevent card-grid hydration mismatch
    • settingsStop logging expected unauthenticated case as error
    • splashResponsive drifting clouds, warm palette, friendlier copy
    • timelineThe timeline preserves your scroll position when loading more days
    • timersPreserve sub-minute activity precision
    • toastprimary/secondary action hierarchy + visible undo deadline
    • voiceAuto-save unit conversions; only guesses block (not conversions)
    • voiceBadge mic-blocked via persisted denial flag (Permissions API reports 'prompt' when blocked)
    • voiceBias transcription with baby-domain prompt + examples
    • voiceCanonicalize timer subtype enum + tighten parser prompt/docs/tests
    • voiceEmit unit:converted for growth measurement conversions
    • voiceFriction polish — race fix, save_failed bridge, error UX, mic-flash
    • voiceGate general-activity subtype to canonical enum
    • voiceThe app infers AM/PM for times without prompting you
    • voiceThe app records microphone consent only after the recording starts
  • 1.35.0

    New

    • activitiesStorkie enforces owner and editor permissions for writing activities
    • activitiesEnforce viewer-block on delete/restore Server Actions
    • aiParameterize ai_usage feature for voice_to_activity
    • observabilityScrub voice transcript/draft keys from Sentry
    • transcribeReturn 422 on NoTranscriptGeneratedError without billing
    • voiceAdd /api/ai/parse-activity route
    • voiceAdd /api/ai/transcribe route with audio validation
    • voiceAdd deterministic time inference with visible assumptions
    • voiceAdd OpenAI transcription provider adapter
    • voiceAdd parse orchestrator over AI SDK generateObject
    • voiceAdd plausibility range checks (refuse, not clamp)
    • voiceAdd responsive VoiceActivitySheet container
    • voiceAdd shared theme-aware chrome + motion keyframes
    • voiceThe ActivityPicker includes a Talk action
    • voiceThe app supports voice activity tracking
    • voiceAdd voice activity presentational components
    • voiceAdd voice draft schema and envelope types
    • voiceThe app can convert volume units
    • voiceWeight, length, and temperature conversions are included
    • voiceA mic-permission recovery UI is available for the browser
    • voiceThe vocabulary for voice commands has been expanded
    • voiceExpose editTranscript + AnalyserNode hooks; load Nunito 800
    • voiceNormalize draft to canonical input with completeness rules
    • voiceRedesign UI — theme threading, motion, idle delight, dynamic placeholder

    Fixed

    • dbExtend ai_usage feature CHECK for voice_to_activity
    • photosThe photo activity query filters out certain pending IDs
    • securityStorkie allows the microphone in settings for compatible sites
    • voiceThe Talk button labels the transcript as 'What I read' for typed input
    • voiceMake draft schema OpenAI structured-outputs compatible
    • voiceNormalize spoken number-words in time inference
    • voiceSilently resolve 'just now' and non-time phrases to now
  • 1.34.0

    New

    • child-profileThe child profile stores avatars in a safe location

    Fixed

    • child-profileThe child profile now honors profile units and remembers your selections
    • child-profileThe child profile keeps fractional birth measurements intact
    • storagePhoto buckets are now private
  • 1.33.0

    New

    • aiAn activity search tool has been added
    • aiAn activity stats tool has been added
    • aiChat usage tracking has been added
    • aiThe insights page includes a growth percentile tool
    • aiAdd predictive tools registry
    • aiAdd server tool foundations
    • aiThe dashboard shows tool cards and consent prompts
    • aiWire server tools into chat stream
    • timelineThe timeline highlights new hugs and automatically scrolls to show them

    Fixed

    • aiAlign chat stream finish lifecycle
    • aiAllocate sleep pattern overlap
    • aiCatch pattern check lock prompts
    • aiComplete chat touch target pass
    • aiDrop transient usage insert policy
    • aiGate chat suggestions and stale citations
    • aiGive the locked-Pro "Got it" a real button style
    • aiHarden chat request envelope + error path (Pass 10)
    • aiHarden predictive tool behavior
    • aiHarden tool date handling
    • aiKeep usage inserts server-owned
    • aiLand security audit Pass 9 hardening + log
    • aiThe chat feature now meets size control targets
    • aiMirror Step 5 objects into local/E2E setup + sanitize prompt fields
    • aiPreserve consent and compact citations
    • aiTool cards are now shown after replies
    • aiChat touch targets have been restored
    • aiRecent searches now show the activity type
    • aiScrub child PII from Sentry log pipeline
    • aiFood item searches are now conducted before applying limits
    • aiSearch solids food items safely
    • aiThe size tool row is now adjusted for items over 366 days
    • aiThe chat tool card and bubbles are now tightened and colored by activity
    • aiThe predictive date windows are now tighter
    • chatPersonalized answers in chat are now more secure
    • dbSearching for food items is no longer available to anonymous users
    • realtimeChannel recreation on foreground recovery is now done instead of re-subscribing

    Faster

    • aiBound server-tool queries + harden ai_usage policy