Skip to content

release: update versions [skip review] - #359

Merged
andrewck24 merged 1 commit into
mainfrom
changeset-release/main
Jul 25, 2026
Merged

release: update versions [skip review]#359
andrewck24 merged 1 commit into
mainfrom
changeset-release/main

Conversation

@andrewck24

Copy link
Copy Markdown
Owner

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

volleybro@0.14.4

VolleyBro CHANGELOG

0.14.4 2026-07-25

Fixed

Record

  • Fix rally submission failing with a server error when the team roster includes a guest player
  • Fix a crash when recording the first rally of a set
  • Save lineup edits made in single-set settings and show a save confirmation

UI

  • Add spacing between the fixed header and the court on the game recording screen

Security

Record

  • Reject submitted set lineups that reference players not on the team roster

0.14.3 2026-07-23

Fixed

Brand

  • Fix the iOS PWA launch screen still showing the previous centered-symbol logo — the apple-splash image URLs are now version-busted, so the redesigned splash (new mark centered with the wordmark at the bottom) is fetched instead of the cached old one

0.14.2 2026-07-23

Fixed

Record

  • Fix newly created games having no players, so the first set's lineup and the recording roster now show the selected members
  • Carry the previous set's lineup forward when adding a new set, instead of opening the set options with an empty court

Changed

Brand

  • Rebuilt the V mark from the variable Saira Stencil family's lowercase v (wght 700), giving the logo a near-square footprint; the wordmark keeps its letterforms with the new mark aligned to cap height
  • iOS launch screens now compose the mark from the shared brand geometry and add the wordmark near the bottom
  • Android/Chrome PWA splash matches iOS: manifest background_color is the brand teal and new maskable icons render as a bare V on the splash
  • All app icons (favicon, PWA, Apple touch) regenerated from the new mark via a committed script (pnpm generate-icons)

0.14.1 2026-07-17

Changed

PWA

  • Serve the service worker from /serwist/sw.js; existing installs pick up the new worker automatically on their next online visit
  • Cache navigation page shells on first visit instead of at install time, so a freshly installed app reaches a page offline only after visiting it online once

0.14.0 2026-07-17

Changed

PWA

  • Generate Apple PWA splash screens on the fly so they always match the current brand color, and extend coverage from 9 to 15 devices through the iPhone 17 generation and common iPad sizes

UI

  • Rework surface backgrounds into a three-layer elevation model (page, floating, card) for consistent depth across the app
  • Unify Dialog, AlertDialog, and Drawer onto a shared three-section layout (header, scrollable body, footer) with the scrollbar flush to the surface edge
  • Remove decorative rings from container surfaces; separation now comes from the elevation layers and overlay scrim

Added

Team

  • Open team and player edit routes as dialogs within tab context, with a maximize button to expand to the full workspace page
  • Preserve in-progress form edits across the dialog-to-workspace transition and accidental navigation, and warn before leaving a form with unsaved changes

Game

  • Add a three-step segmented progress bar to the recording input panel (player → our team → opponent), collapsing to a single step once an opponent error is selected; switch steps by tapping the bar or swiping, with forward navigation blocked until the current step is complete
  • Submit rallies from a redesigned Preview that mirrors the entry layout, showing the running score in three states (idle, undecided, decided) with a completion highlight on submit
  • Move the set Summary out of the Options dialog into a bottom drawer anchored to the Preview; each entry reveals swipe actions and taps to expand inline, showing who recorded it and when
  • Reflect the "last entry" rule in Summary actions: the latest rally offers edit and delete, earlier rallies offer edit and rewind-to-here

Auth

  • Redirect to the sign-in page with a session-expiry notice when a request fails with 401, instead of leaving the user on a broken page

Navigation

  • Keep each tab's scroll position and content mounted when switching tabs, so navigating away and back no longer resets the page
  • Render a collapsible sidebar navigation on desktop (≥768px) in place of the bottom bar
  • Tap the active tab to return it to its root route and scroll to the top, matching native iOS behavior
  • Animate tab switches with a directional slide in standalone PWA mode

Fixed

API

  • Return 400 VALIDATION instead of a 500 server error when a route receives a malformed ObjectId path parameter

PWA

  • Show the correct backdrop behind translucent system chrome in standalone PWA mode, and extend overlays above the iOS safe-area inset so no gap shows at the top
  • Restore pull-to-refresh on the home and team tabs, which had stopped working after the tab-navigation change; the page now follows the pull gesture with a damped animation and only activates in standalone PWA mode

0.13.0 2026-04-07

Changed

Game

  • Rename "Record" domain to "Game" across all routes, pages, and APIs; previous URLs under /record/ now resolve at /game/

Infrastructure

  • Replace _id with id in all domain entity types
  • Rewrite repository interfaces with domain-language methods, removing generic MongoDB query filters

0.12.1 2026-04-05

Changed

Infrastructure

  • Migrate package manager from npm to pnpm (pnpm@10.33.0); use pnpm install to set up dependencies
  • Replace semantic-release with changesets for version management; run pnpm changeset before submitting PRs with user-visible changes

0.12.0 (2026-04-04)

Bug Fixes

  • address code review findings — validation errors, teamId guards, sumTeamStats types, mutate guard (8efa31d)
  • applications: fix strict mode type errors in application layer (44567c2)
  • components: address item review feedback (f67bead)
  • deps: add overrides to allow ts-jest with TypeScript 6 (964b65b)
  • entities: fix strict mode type errors in domain layer (eb45ee7)
  • infrastructure: fix strict mode type errors in infrastructure layer (d213d48)
  • interface: fix strict mode type errors in interface layer (7278d52)
  • record: apply strict mode fixes to record components and lib (3d6e4e5)
  • record: close libero dialog programmatically on submit success only (e386c78)
  • storybook: address code review findings (39c04c6)
  • storybook: address code review findings (db6e712)
  • storybook: fix court story layout to match production (b72b87f)
  • storybook: replace controlled value with defaultValue in LongValue story (6c3e375)
  • storybook: resolve TS and lint issues in new story files (04bf8e2)
  • team,match: apply strict mode fixes to team and match components (Section 7) (864665d)
  • test: add missing createdAt/updatedAt to basePlayer in membership-section-loading test (dc8bcf1)
  • ui: address code review issues — flex-none, empty-media slot, loading prop consistency (bd2dc85)
  • ui: fix EmptyDescription element type and remove implicit border-dashed from Empty base (aeaa233)
  • use SET_NOT_FOUND reason for lineup error and fix non-standard w-30 class (66a0b61)

Features

  • auth,user: add submitting state to sign-in and invitations (fe6bfd9)
  • home: replace LoadingCard with co-located skeleton components; delete LoadingCard (dd2e6d4)
  • record,match: replace LoadingCard with co-located skeleton components (facc92a)
  • record: add isSubmitting state to set-options panel (405df74)
  • storybook: add boundary-state story variants and clarify testing strategy (9c5cc49)
  • storybook: add custom component stories and complete migration (0d193f8)
  • storybook: add stories for 7 missing ui components (f28112e)
  • team: add loading states to membership remove and transfer actions (aa98120)
  • team: replace LoadingCard with co-located skeleton components (5b1100f)
  • ui: add loading and loadingText props to Button (19b4f43)

0.11.2 (2026-03-25)

Bug Fixes

  • ci: add track_progress to claude-code-review for PR comments (73bf00c)
  • lineup: fix misaligned header components in lineup panel (8457d7b)
  • styles: use pointer media query to detect touch devices for scrollbar hiding (38e49d6)

0.11.1 (2026-03-24)

Bug Fixes

  • lint: resolve all lint and TypeScript errors (Phase 2) (21dc89f)
  • record: address PR review — fix substitution condition bug and improve migration script (ca5074e)
  • record: remove BaseMongoRepository from barrel index and fix circular imports (4229dc9)
  • test: resolve type errors in create-player and search-user usecase tests (219dff6)

0.11.0 (2026-03-21)

Bug Fixes

  • auth: enforce role check in verifyTeamRole for MEMBER level (ea5a508)
  • invitation: add authorization check to accept/reject use cases (e8e8f15)
  • leave-team: clear activeTeamId on leave and route through controller (f83a19f)
  • player-repo: use PlayerStatus.INVITED in existsInvitation query (40b4745)
  • player: allow null values in PlayerSchema and migrate to Zod v4 top-level APIs (2c867cc)
  • player: complete data migration and fix matches API errors (3188f97)
  • player: complete Phase 10 data migration and Member entity cleanup (06cfa89)
  • player: export use case implementations from index for DI container (736510a)
  • player: normalize userId to ObjectId for consistent MongoDB queries (059c3f8)
  • player: resolve build errors and standardize import paths (0eaf7de)
  • player: resolve TypeScript errors by improving Mongoose schema types (9c92597)
  • repo: handle $unset for undefined values in update() (e48d784)
  • resolve test failures and lint errors before dev-to-main merge (98dbfed)
  • team: fix members migration bugs in TeamInfo component (8d87797)
  • team: return flat array from GET /teams/{teamId}/players (19d863e)
  • ui: add error handling to set-options form submission (7288325)
  • ui: replace window.confirm with AlertDialog for destructive actions (cf475f2)
  • ui: use inherited color for avatar icon in PersonItem and TeamItem (ce698ec)
  • user: return full User from GetUserByIdUseCase for self-lookup (86ead5c)

Features

  • api: implement withErrorHandler and withAuth route wrappers (86c2fb4)
  • auth: add account selection prompt for Google OAuth (3b3065d)
  • build: fix breaking changes from Profile.teams removal (Group 3b) (fa33935)
  • errors: add AppError class hierarchy and Result type (1abfb43)
  • errors: add AppError class hierarchy in entities layer (bc05722)
  • frontend: implement apiClient and migrate components to structured error handling (06286f8)
  • infrastructure: translate Mongoose and auth errors to typed AppError (94bf6a8)
  • infrastructure: update schemas, repos, and interfaces for player status model (c852a6c)
  • player-invitations: fix build-breaking UI profile.teams references (3b.7-9) (9028480)
  • player-invitations: Group 4 - application layer use case updates (ed00a12)
  • player-invitations: Group 5 - refactor auth hook with LinkPendingInvitations (92c849a)
  • player-invitations: Groups 6-11 - API routes, legacy removal, UI & verification (e3eb8b8)
  • player: add invitations endpoint and fix AcceptInvitationUseCase bug (Phase 2C) (ba44022)
  • player: add invitations/ownership endpoints, fix bugs (Phase 2C+2D) (0f5f4f5)
  • player: add lineup cascade cleanup on remove/leave (753cefa)
  • player: add memberships endpoint and new CreateInvitationUseCase (Phase 2B) (0911665)
  • player: complete Phase 1 setup - Initialize Player feature infrastructure (1bb9d76)
  • player: complete Phase 2.1 - Entity, Validation, Schema, and Repository foundational layer (2ba15ee)
  • player: complete Phase 2.2 - Authorization service and DI container integration (7d5e3d6)
  • player: extend PlayerCard component with US6 and US7 actions (89904f9)
  • player: implement API routes and integration tests for US1 (T019-T020, T025-T026) (72c8e8b)
  • player: implement API routes for US2 and US3 (T034, T039, T045-T046, T051-T052) (69f5687)
  • player: implement core use cases for US1, US2, US3 (T017-T024, T032-T038, T043-T050) (ed488ce)
  • player: implement Phase 3 UI components for inviting members (T027-T031) (356a377)
  • player: implement Phase 4 UI components for accepting/rejecting invitations (T040-T042) (6465211)
  • player: implement Phase 5 UI components for viewing team members (T053-T057) (ebf4ed6)
  • player: implement Phase 5.5 MVP hotfixes and security enhancements (77ab98d)
  • player: implement Phase 6 - Create Pure Player (US4) feature (1d11739)
  • player: implement Phase 7 - Manage member roles and info (US5) (609b2b3)
  • player: implement Phase 8 - Leave team and transfer ownership (US6) (85fe153)
  • player: implement Phase 8 & 9 API routes - Leave, Transfer, Remove, Cancel (506029f)
  • player: implement Phase 9 - Cancel invitation (US7) (99ea8b4)
  • player: implement SWR cache revalidation for optimistic updates (T121) (b5c18cf)
  • player: migrate player domain use cases to throw typed AppError (a17d908)
  • player: restructure membership section and add remove member action (4d58310)
  • player: restructure player components and add usePlayer hook (Phase 3+4) (3883d44)
  • proxy: add API authentication gate returning 401 JSON (7eded86)
  • record: migrate record domain use cases to throw typed AppError (5bad09d)
  • routes: migrate all API routes to use withAuth/withErrorHandler wrappers (042ce36)
  • T120: Optimize MongoDB indexes verification (e307a64)
  • T122: Implement unified API error handling system (103b75e)
  • T123: Implement accessibility improvements for Player components (e0faced)
  • T124: add toast notifications for player actions (ad37995)
  • team: migrate team domain use cases to throw typed AppError (ef7f7a5)
  • ui: add PersonItem and TeamItem components with tests (2dc3883)
  • ui: implement branded 500 error UX with in-place error handling (ae591d9)
  • ui: show persistent inline errors in AlertDialogs for high-stakes mutations (538d4cd), closes hi#stakes
  • user-profile: migrate user/profile domain to throw-only AppError pattern (91ca922)

Performance Improvements

  • T126: optimize SWR cache strategy and reduce API requests (6174af1)

0.10.0 (2025-12-20)

Features

  • auth: add layered validation to Profile API (c66ef5d)
  • auth: implement Clean Architecture profile auto-creation (b23f02e)
  • auth: migrate from NextAuth.js to Better Auth (915c999)
  • auth: update environment variable for Better Auth client URL (206efab)

BREAKING CHANGES

auth: Authentication system migrated from NextAuth.js v5 to Better Auth

  • Implement Better Auth with Google OAuth

    • Add Better Auth server config (src/lib/auth.ts)
    • Add Better Auth client (src/lib/auth-client.ts)
    • Configure MongoDB adapter for Better Auth
    • Add auth API route handler ([...all]/route.ts)
  • Separate User and Profile entities

    • User: Authentication data (Better Auth managed)
    • Profile: Business data (teams, preferences)
    • Add Profile repository and schema
    • Auto-create profile on first access
  • Update all API routes to use Better Auth session

    • Replace auth() with auth.api.getSession()
    • Standardize session checks (session?.user)
    • Implement email-based team inviting with User lookup
  • Update components for Better Auth

    • Use authClient for sign-in flow
    • Add error handling to Home component
    • Remove SessionProvider wrapper
  • Documentation and migration

    • Update CLAUDE.md with Better Auth flow
    • Archive migration script with documentation
    • Add migration guide in docs/archive/migrations/

Tests passing. Build has pre-existing TypeScript error in info-form.tsx
(unrelated to this migration, tracked for future fix).

0.9.0 (2025-08-25)

Bug Fixes

  • landing: add SSR placeholder for CTA Button to prevent hydration mismatch (254e107)
  • landing: remove legacy features.tsx and restore inline exports (0c3a1a6)
  • landing: resolve animate-pulse visibility issue in FeatureDemoImage (ff55497)
  • landing: resolve FeatureDemoImage hydration mismatch and optimize image loading (2212ae6)
  • landing: resolve TypeScript export issue in features components (041ae91)
  • tests: update CTA button text in hero component tests (3f8cf57)
  • ui: resolve FlipWords animation logic bug when currentWord becomes out of sync (fd30edc), closes #256
  • ui: resolve React Hooks rules violations in FlipWords components (c8fdf33)

Features

  • landing: decouple header/hero and unify CTA button (38b5b76)
  • landing: finalize Highlights component with responsive dual-layout architecture (65dcb23)
  • landing: implement AnalyticsSection with data analysis features (c984df6)
  • landing: implement CTASection with TDD and comprehensive QA review (3e40ce9)
  • landing: implement Features component with RecordingSection functionality (0d2281a)
  • landing: implement header glassmorphism effect with mobile optimization (ed9d5f0)
  • landing: implement hero section optimization with CSS code splitting (b7b8dba)
  • landing: implement Highlights component with TDD methodology (1c65d33)
  • landing: implement TeamManagementSection with team feature cards (a61850e)
  • landing: improve CTA Button type safety and Hero RWD layout (46b317a)
  • landing: modularize Hero component with 7 sub-components (10ae90e)
  • landing: refactor header layout with preview badge integration (2d756fa)
  • upgrade BMad framework to v4.39.0 (c49d138)

Performance Improvements

  • landing: implement LazyMotion architecture for 42% motion bundle reduction (4b1dd8b)
  • landing: optimize FeatureDemoImage theme-dependent value calculations (37a3ab0), closes #256
  • ui: optimize FlipWords components with LazyMotion and SSR compatibility (56087d0)

0.8.2 (2025-08-14)

Bug Fixes

  • auth: resolve ObjectId serialization causing team page failures (91ade6c), closes #239

0.8.1 (2025-08-07)

Bug Fixes

  • header: adjust header height to accommodate safe area insets (6a52884)
  • header: increase z-index of header for improved visibility (2ae6dbb)
  • ui: remove fixed padding from Card in PanelContent (7f40f45), closes #214

0.8.0 (2025-08-01)

Bug Fixes

  • comp: adjust styles for NewRecordForm and Calendar components (e53574e)
  • record: adjust setIndex logic in initialize reducer (378f9a1)
  • record: correct params type for Next.js 15 page component (6eef140)
  • record: ensure proper handling of empty team stats in getTeamsStats function (c475a80)
  • record: update setEditingEntryStatus to include setIndex in payload (45da66a)
  • styles: remove redundant overflow-y-scroll from body styles (7450a60)
  • update dependencies for date-fns and react-day-picker (1ab6f95)

Features

  • add shadcn/ui components and update global state management (998ab99)
  • match: add match record overview page and related components (5118e5a)
  • record: add Interval component integrated with StatsForOneSetcomponent (d4b7d94)
  • record: Add Summary component to Interval (df61486)
  • record: add match sets overview and layout components (9d72ccd)
  • record: add set and match completion detection in rally helpers (992fa10)
  • record: add SetEdit component and integrate with SetsList for editing functionality (ee27759)
  • record: integrate accordion for sets list and enhance UI interactions (3343c1a)
  • record: integrate SetOptions dialog in Interval component and improve panel styling (e004c19)

0.7.0 (2025-03-27)

Bug Fixes

  • entities: make Set.options.time property optional (b5d7053)
  • record: handle undefined sets in serving status calculation (f76257f)

Features

  • record: implement infinite scrolling for match listing (db42a27)

0.6.1 (2025-03-17)

Bug Fixes

  • pwa: add apple-mobile-web-app-capable meta tag to enable iOS splash screen (61dc50d)

0.6.0 (2025-03-16)

Bug Fixes

  • auth: resolve type conflicts by consolidating auth type declarations (4e8e6c5)

Features

  • core: implement dependency injection with InversifyJS (3bc3849)

0.5.2 (2025-03-04)

CI

  • ci: integrate semantic-release for automated versioning (19dafca)

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
volleybro Ready Ready Preview, Comment Jul 25, 2026 8:22pm

@andrewck24
andrewck24 merged commit 22271c5 into main Jul 25, 2026
11 checks passed
@andrewck24
andrewck24 deleted the changeset-release/main branch July 25, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] 無法顯示隊伍比賽紀錄與隊伍頁面 refactor(ui): refactor Panel component to simplify component structure

1 participant