Release notes
Page 8 of 9
1.13.2
Fixed
- uiModals now stay within the visible area and can be scrolled if necessary
1.13.1
Fixed
- pwaStorkie does not show an "Application error" flash when starting the app
1.13.0
New
- egressAdd layered activity column constants
- egressAdd per-type column selection for edit modals
- egressConsolidate child profile queries into Postgres RPC functions
- egressSlim get_latest_activities_by_type to SUMMARY columns
- egressWire SUMMARY columns to timeline queries
Fixed
- egressRemove non-async exports from 'use server' module
- egressRemove unused ACTIVITY_SELECT_WITH_PHOTOS constant
- egressReplace all unbounded .select() with explicit columns
Faster
- cronScope child profile query to users with due notifications
- photosReplace getPublicUrl() with deterministic URL construction
1.12.1
Fixed
- realtimeThe banner that says 'Reconnecting to live updates' no longer stays on the screen
1.12.0
New
- timelineThe timeline automatically loads previous days until there is enough content
- timelineThe timeline shows empty day blocks with placeholder text
Fixed
- timelineThe timeline shows loading skeletons that match the list view layout
1.11.0
New
- Add Zod server-side validation for activity entries
- mutationsTrue optimistic updates with rollback
- nursingPersist timer state to localStorage
- uxThe quick add button is now at the center of the bottom navbar
Fixed
- a11yThe stool color picker swatches now have text labels
- a11yEnable pinch-to-zoom by removing viewport restrictions
- Resolve remaining TypeScript error in useActivityMutations create onMutate
- securityUser IDs are now redacted from auth log messages
- uxThere is a 5-second undo window for deleting an activity
- uxError boundaries are added for the timeline, photos, and settings
- uxThere is a retry option for network errors during mutations
- uxThe edit modals show a loading skeleton for photos
- uxThere is a real-time connection status banner on the timeline
- uxIf saving fails, Storkie shows a retry option in the error message
- uxIf photo upload fails, Storkie shows a retry option in the error message
- uxStorkie shows a success message when an activity is saved
- uxCentralize QUERY_KEYS and fix cache sync bug
- uxClean up console.log statements for production
- uxDynamically position toasts above bottom nav bar
- uxThe QuickAdd animation is faster now
- uxReduce toast default duration and raise above bottom nav
- uxReplace alert()/confirm() with toast and AlertDialog
- uxLoading states are now shown with skeleton layouts instead of spinners
- uxReturn undefined from useMediaQuery during SSR/hydration
- uxThe app shows a 'Discard' label on unsaved changes and highlights the unborn checkbox
- uxToast severity system with variant-based styling
Faster
- Add getActivitiesForSummary without photo join
- Remove unnecessary revalidatePath calls from user settings
- Replace notification permission polling with Permissions API
1.10.7
Fixed
- growthWhen you toggle measurement units, Storkie converts the values accordingly
- uxStorkie now shows an error boundary during onboarding if issues arise
- uxStorkie adds helpful guidance messages in empty states
- uxActivity modals now include inline validation messages
- uxStorkie adds toggles for units during onboarding and checks emails in InviteModal
- uxOnboarding now features a review summary and progress indicator
- uxStorkie reduces duplication in modals by using a shared photo section
- uxPosition toasts above mobile navigation bar
- uxSkeleton screens are used instead of loading spinners while waiting for data
- uxStatically import critical providers to prevent FOUC
- uxUser-friendly error messages appear for all save and delete actions in modals
Faster
- Activity cards load modals more efficiently
1.10.6
Fixed
- securityResolve all pnpm audit vulnerabilities
1.10.5
Faster
- Add DB migrations for index cleanup, RPC optimization, and type fixes
- Reduce Supabase egress with column constants and dedicated diaper stats action
- Scope realtime cache invalidation to child profile
1.10.4
Fixed
- securityAdd auth checks to SECURITY DEFINER RPCs and fix cron auth bypass
1.10.3
Fixed
- Disable Sentry in test environments to reduce noise
1.10.2
Fixed
- Add resolveChildProfile cache fallback for expired auth tokens
- Use resolveChildProfile fallback in all activity mutation hooks
1.10.1
Fixed
- Change temperature_celsius column from integer to numeric(5,2)
- Patch @isaacs/brace-expansion vulnerability (GHSA-7h2j-956f-4vf2)
1.10.0
New
- Add Sentry error tracking and session replay
Fixed
- Resolve React hooks violation in ThemeProvider
Faster
- Fix N+1 photo queries on timeline list view
1.9.0
New
- testingAdd Vitest and Playwright testing infrastructure
Fixed
- activitiesRemove unused activity_type from createActivity API
- componentsAdd data-testid attributes and improve timeline rendering
- rlsAdd SECURITY DEFINER function for onboarding and integration tests
- routingResolve redirect issues in Suspense boundaries
1.8.3
Fixed
- sleepThe sleep duration updates correctly after making changes
1.8.2
Fixed
- timelineResolve React Compiler memoization warning
1.8.1
Fixed
- timelineThe timeline works properly on mobile without any infinite scroll or visibility issues
1.8.0
New
- realtimeImprove connection stability with reconnection and token refresh
- timelineThe timeline allows day-by-day infinite scrolling
Fixed
- activitiesEliminate loading stutter during hydration
- activitiesUse RPC function for soft delete to bypass RLS issue
- Add retry logic with exponential backoff to realtime hook
- Address code review feedback for skills and error handling
- dbRemove CONCURRENTLY from index creation in migration
- egressRemove useAllActivities30Days to reduce Supabase data transfer
- error-handlingThe app hides error details in production
- Optimize database egress in queries
- securityAdd authentication check to getActivityStats
- securityRemove debug code and anon grant from migrations
- securityRevoke anonymous access to RPC functions
- timelineAdd eslint-disable for intentional dependency omission
- timelineAdd server-side aggregation to reduce Supabase egress
- timelineThe timeline has improved sizing and styling for date headers
- timelineThe timeline does not auto-scroll when the current time updates
- timelineThe timeline does not auto-scroll when the current time indicator updates
1.7.2
Fixed
- growthGrowth measurements can now include decimal values