@jmruthers/pace-core 0.5.193 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/README.md +7 -1
- package/cursor-rules/00-pace-core-compliance.mdc +299 -0
- package/cursor-rules/01-standards-compliance.mdc +244 -0
- package/cursor-rules/02-project-structure.mdc +200 -0
- package/cursor-rules/03-solid-principles.mdc +222 -0
- package/cursor-rules/04-testing-standards.mdc +268 -0
- package/cursor-rules/05-bug-reports-and-features.mdc +246 -0
- package/cursor-rules/06-code-quality.mdc +309 -0
- package/cursor-rules/07-tech-stack-compliance.mdc +214 -0
- package/cursor-rules/08-markup-quality.mdc +452 -0
- package/cursor-rules/CHANGELOG.md +119 -0
- package/cursor-rules/README.md +192 -0
- package/dist/{AuthService-DjnJHDtC.d.ts → AuthService-BPvc3Ka0.d.ts} +54 -0
- package/dist/{DataTable-Be6dH_dR.d.ts → DataTable-BMRU8a1j.d.ts} +34 -2
- package/dist/{DataTable-5FU7IESH.js → DataTable-TPTKCX4D.js} +10 -9
- package/dist/{PublicPageProvider-C0Sm_e5k.d.ts → PublicPageProvider-DC6kCaqf.d.ts} +385 -261
- package/dist/{UnifiedAuthProvider-RGJTDE2C.js → UnifiedAuthProvider-CH6Z342H.js} +3 -3
- package/dist/{UnifiedAuthProvider-185Ih4dj.d.ts → UnifiedAuthProvider-CVcTjx-d.d.ts} +29 -0
- package/dist/{api-N774RPUA.js → api-MVVQZLJI.js} +2 -2
- package/dist/{chunk-KNC55RTG.js → chunk-24UVZUZG.js} +90 -54
- package/dist/chunk-24UVZUZG.js.map +1 -0
- package/dist/{chunk-HWIIPPNI.js → chunk-2UOI2FG5.js} +20 -20
- package/dist/chunk-2UOI2FG5.js.map +1 -0
- package/dist/{chunk-E3SPN4VZ 5.js → chunk-3XC4CPTD.js} +4345 -3986
- package/dist/chunk-3XC4CPTD.js.map +1 -0
- package/dist/{chunk-7EQTDTTJ.js → chunk-6J4GEEJR.js} +172 -45
- package/dist/chunk-6J4GEEJR.js.map +1 -0
- package/dist/{chunk-6C4YBBJM 5.js → chunk-6SOIHG6Z.js} +1 -1
- package/dist/chunk-6SOIHG6Z.js.map +1 -0
- package/dist/{chunk-7FLMSG37.js → chunk-EHMR7VYL.js} +25 -25
- package/dist/chunk-EHMR7VYL.js.map +1 -0
- package/dist/{chunk-I7PSE6JW.js → chunk-F2IMUDXZ.js} +2 -75
- package/dist/chunk-F2IMUDXZ.js.map +1 -0
- package/dist/{chunk-QWWZ5CAQ.js → chunk-FFQEQTNW.js} +7 -9
- package/dist/chunk-FFQEQTNW.js.map +1 -0
- package/dist/chunk-FMUCXFII.js +76 -0
- package/dist/chunk-FMUCXFII.js.map +1 -0
- package/dist/{chunk-HW3OVDUF.js → chunk-J36DSWQK.js} +1 -1
- package/dist/{chunk-HW3OVDUF.js.map → chunk-J36DSWQK.js.map} +1 -1
- package/dist/{chunk-SQGMNID3.js → chunk-L4OXEN46.js} +4 -5
- package/dist/chunk-L4OXEN46.js.map +1 -0
- package/dist/{chunk-R77UEZ4E 3.js → chunk-M43Y4SSO.js} +1 -1
- package/dist/chunk-M43Y4SSO.js.map +1 -0
- package/dist/{chunk-IIELH4DL.js → chunk-MMZ7JXPU.js} +60 -223
- package/dist/chunk-MMZ7JXPU.js.map +1 -0
- package/dist/{chunk-NOAYCWCX 5.js → chunk-NECFR5MM.js} +394 -312
- package/dist/chunk-NECFR5MM.js.map +1 -0
- package/dist/{chunk-BC4IJKSL.js → chunk-SFZUDBL5.js} +40 -4
- package/dist/chunk-SFZUDBL5.js.map +1 -0
- package/dist/{chunk-XNXXZ43G.js → chunk-XWQCNGTQ.js} +748 -364
- package/dist/chunk-XWQCNGTQ.js.map +1 -0
- package/dist/components.d.ts +6 -6
- package/dist/components.js +15 -12
- package/dist/components.js.map +1 -1
- package/dist/{functions-D_kgHktt.d.ts → functions-DHebl8-F.d.ts} +1 -1
- package/dist/hooks.d.ts +59 -126
- package/dist/hooks.js +19 -28
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +63 -16
- package/dist/index.js +23 -24
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +21 -3
- package/dist/providers.js +2 -2
- package/dist/rbac/index.d.ts +146 -115
- package/dist/rbac/index.js +8 -11
- package/dist/theming/runtime.d.ts +1 -13
- package/dist/theming/runtime.js +1 -1
- package/dist/{timezone-_pgH8qrY.d.ts → timezone-CHhWg6b4.d.ts} +3 -10
- package/dist/{types-UU913iLA.d.ts → types-BeoeWV5I.d.ts} +8 -0
- package/dist/{types-CEpcvwwF.d.ts → types-CkbwOr4Y.d.ts} +6 -0
- package/dist/types.d.ts +2 -2
- package/dist/{usePublicRouteParams-TZe0gy-4.d.ts → usePublicRouteParams-1oMokgLF.d.ts} +34 -4
- package/dist/{useToast-C8gR5ir4.d.ts → useToast-AyaT-x7p.d.ts} +2 -2
- package/dist/utils.d.ts +4 -5
- package/dist/utils.js +15 -15
- package/dist/utils.js.map +1 -1
- package/docs/api/README.md +7 -1
- package/docs/api/classes/ColumnFactory.md +8 -8
- package/docs/api/classes/InvalidScopeError.md +4 -4
- package/docs/api/classes/Logger.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +4 -4
- package/docs/api/classes/OrganisationContextRequiredError.md +4 -4
- package/docs/api/classes/PermissionDeniedError.md +4 -4
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +4 -4
- package/docs/api/classes/RBACNotInitializedError.md +4 -4
- package/docs/api/classes/SecureSupabaseClient.md +18 -15
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/enums/LogLevel.md +1 -1
- package/docs/api/enums/RBACErrorCode.md +1 -1
- package/docs/api/enums/RPCFunction.md +1 -1
- package/docs/api/interfaces/AddressFieldProps.md +1 -1
- package/docs/api/interfaces/AddressFieldRef.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +4 -4
- package/docs/api/interfaces/AutocompleteOptions.md +1 -1
- package/docs/api/interfaces/AvatarProps.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +9 -2
- package/docs/api/interfaces/ButtonProps.md +7 -4
- package/docs/api/interfaces/CalendarProps.md +8 -5
- package/docs/api/interfaces/CardProps.md +8 -5
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/ComplianceResult.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +9 -9
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +24 -21
- package/docs/api/interfaces/DataTableColumn.md +31 -31
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +7 -7
- package/docs/api/interfaces/DatabaseComplianceResult.md +1 -1
- package/docs/api/interfaces/DatabaseIssue.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +5 -5
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/ErrorBoundaryProps.md +147 -0
- package/docs/api/interfaces/ErrorBoundaryProviderProps.md +36 -0
- package/docs/api/interfaces/ErrorBoundaryState.md +75 -0
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +8 -8
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +26 -23
- package/docs/api/interfaces/FooterProps.md +10 -8
- package/docs/api/interfaces/FormFieldProps.md +10 -10
- package/docs/api/interfaces/FormProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +7 -4
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoggerConfig.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +14 -11
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +11 -11
- package/docs/api/interfaces/NavigationMenuProps.md +15 -15
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +30 -27
- package/docs/api/interfaces/PaceLoginPageProps.md +6 -4
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/ParsedAddress.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProgressProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +7 -26
- package/docs/api/interfaces/PublicPageFooterProps.md +9 -9
- package/docs/api/interfaces/PublicPageHeaderProps.md +10 -10
- package/docs/api/interfaces/PublicPageLayoutProps.md +7 -20
- package/docs/api/interfaces/QuickFix.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateParams.md +1 -1
- package/docs/api/interfaces/RBACAccessValidateResult.md +1 -1
- package/docs/api/interfaces/RBACAuditLogParams.md +1 -1
- package/docs/api/interfaces/RBACAuditLogResult.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACContext.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/RBACPageAccessCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPerformanceMetrics.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionCheckResult.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetParams.md +1 -1
- package/docs/api/interfaces/RBACPermissionsGetResult.md +1 -1
- package/docs/api/interfaces/RBACResult.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantParams.md +1 -1
- package/docs/api/interfaces/RBACRoleGrantResult.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeParams.md +1 -1
- package/docs/api/interfaces/RBACRoleRevokeResult.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateParams.md +1 -1
- package/docs/api/interfaces/RBACRoleValidateResult.md +1 -1
- package/docs/api/interfaces/RBACRolesListParams.md +1 -1
- package/docs/api/interfaces/RBACRolesListResult.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackParams.md +1 -1
- package/docs/api/interfaces/RBACSessionTrackResult.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/RuntimeComplianceResult.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +9 -9
- package/docs/api/interfaces/SecureDataProviderProps.md +8 -8
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +3 -3
- package/docs/api/interfaces/SetupIssue.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +3 -3
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +4 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +58 -55
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +15 -13
- package/docs/api/interfaces/UseFormDialogOptions.md +1 -1
- package/docs/api/interfaces/UseFormDialogReturn.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +11 -9
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +8 -8
- package/docs/api/interfaces/UsePublicEventLogoOptions.md +6 -6
- package/docs/api/interfaces/UsePublicEventLogoReturn.md +9 -6
- package/docs/api/interfaces/UsePublicEventOptions.md +3 -3
- package/docs/api/interfaces/UsePublicEventReturn.md +8 -5
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +4 -4
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +12 -9
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +10 -7
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +14 -11
- package/docs/api/interfaces/UserMenuProps.md +8 -6
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +575 -634
- package/docs/architecture/database-schema-requirements.md +161 -0
- package/docs/core-concepts/rbac-system.md +3 -3
- package/docs/documentation-index.md +2 -4
- package/docs/getting-started/cursor-rules.md +263 -0
- package/docs/getting-started/installation-guide.md +6 -1
- package/docs/getting-started/quick-start.md +6 -1
- package/docs/migration/DOCUMENTATION_STRUCTURE.md +441 -0
- package/docs/migration/MIGRATION_GUIDE.md +6 -28
- package/docs/migration/README.md +52 -6
- package/docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md +1153 -0
- package/docs/migration/V0.6.0_REACT_19_MIGRATION.md +227 -0
- package/docs/migration/database-changes-december-2025.md +3 -3
- package/docs/rbac/event-based-apps.md +1 -1
- package/docs/rbac/getting-started.md +1 -1
- package/docs/rbac/quick-start.md +1 -1
- package/docs/standards/README.md +40 -0
- package/docs/troubleshooting/migration.md +4 -4
- package/examples/PublicPages/PublicEventPage.tsx +1 -1
- package/package.json +12 -6
- package/scripts/audit/core/checks/accessibility.cjs +197 -0
- package/scripts/audit/core/checks/api-usage.cjs +191 -0
- package/scripts/audit/core/checks/bundle.cjs +142 -0
- package/scripts/{check-pace-core-compliance.cjs → audit/core/checks/compliance.cjs} +737 -691
- package/scripts/audit/core/checks/config.cjs +54 -0
- package/scripts/audit/core/checks/coverage.cjs +84 -0
- package/scripts/audit/core/checks/dependencies.cjs +454 -0
- package/scripts/audit/core/checks/documentation.cjs +203 -0
- package/scripts/audit/core/checks/environment.cjs +128 -0
- package/scripts/audit/core/checks/error-handling.cjs +299 -0
- package/scripts/audit/core/checks/forms.cjs +172 -0
- package/scripts/audit/core/checks/heuristics.cjs +68 -0
- package/scripts/audit/core/checks/hooks.cjs +334 -0
- package/scripts/audit/core/checks/imports.cjs +244 -0
- package/scripts/audit/core/checks/performance.cjs +325 -0
- package/scripts/audit/core/checks/routes.cjs +117 -0
- package/scripts/audit/core/checks/state.cjs +130 -0
- package/scripts/audit/core/checks/structure.cjs +65 -0
- package/scripts/audit/core/checks/style.cjs +584 -0
- package/scripts/audit/core/checks/testing.cjs +122 -0
- package/scripts/audit/core/checks/typescript.cjs +61 -0
- package/scripts/audit/core/scanner.cjs +199 -0
- package/scripts/audit/core/utils.cjs +137 -0
- package/scripts/audit/index.cjs +223 -0
- package/scripts/audit/reporters/console.cjs +151 -0
- package/scripts/audit/reporters/json.cjs +54 -0
- package/scripts/audit/reporters/markdown.cjs +124 -0
- package/scripts/audit-consuming-app.cjs +86 -0
- package/scripts/build-docs/build-decision.js +240 -0
- package/scripts/build-docs/cache-utils.js +105 -0
- package/scripts/build-docs/content-normalization.js +150 -0
- package/scripts/build-docs/file-utils.js +105 -0
- package/scripts/build-docs/git-utils.js +86 -0
- package/scripts/build-docs/hash-utils.js +116 -0
- package/scripts/build-docs/typedoc-runner.js +220 -0
- package/scripts/build-docs-incremental.js +77 -913
- package/scripts/install-cursor-rules.cjs +236 -0
- package/scripts/utils/command-runner.js +16 -11
- package/scripts/validate-formats.js +61 -56
- package/scripts/validate-master.js +74 -69
- package/scripts/validate-pre-publish.js +70 -65
- package/src/__tests__/helpers/test-providers.tsx +1 -1
- package/src/__tests__/helpers/test-utils.tsx +1 -1
- package/src/__tests__/hooks/usePermissions.test.ts +2 -2
- package/src/components/Alert/Alert.test.tsx +12 -18
- package/src/components/Alert/Alert.tsx +5 -7
- package/src/components/Avatar/Avatar.test.tsx +4 -4
- package/src/components/Badge/Badge.tsx +16 -4
- package/src/components/Button/Button.tsx +27 -4
- package/src/components/Calendar/Calendar.tsx +9 -3
- package/src/components/Card/Card.tsx +4 -0
- package/src/components/Checkbox/Checkbox.test.tsx +12 -12
- package/src/components/Checkbox/Checkbox.tsx +2 -2
- package/src/components/DataTable/DataTable.test.tsx +57 -93
- package/src/components/DataTable/DataTable.tsx +40 -6
- package/src/components/DataTable/__tests__/DataTableCore.test-setup.ts +5 -6
- package/src/components/DataTable/__tests__/pagination.modes.test.tsx +29 -7
- package/src/components/DataTable/__tests__/ssr.strict-mode.test.tsx +12 -12
- package/src/components/DataTable/__tests__/test-utils/sharedTestUtils.tsx +2 -3
- package/src/components/DataTable/components/AccessDeniedPage.tsx +17 -26
- package/src/components/DataTable/components/ActionButtons.tsx +10 -7
- package/src/components/DataTable/components/BulkOperationsDropdown.tsx +2 -2
- package/src/components/DataTable/components/ColumnFilter.tsx +10 -0
- package/src/components/DataTable/components/ColumnVisibilityDropdown.tsx +12 -0
- package/src/components/DataTable/components/DataTableBody.tsx +8 -0
- package/src/components/DataTable/components/DataTableCore.tsx +200 -561
- package/src/components/DataTable/components/DataTableErrorBoundary.tsx +11 -0
- package/src/components/DataTable/components/DataTableLayout.tsx +559 -0
- package/src/components/DataTable/components/DataTableModals.tsx +9 -1
- package/src/components/DataTable/components/DataTableToolbar.tsx +8 -0
- package/src/components/DataTable/components/DraggableColumnHeader.tsx +12 -0
- package/src/components/DataTable/components/EditFields.tsx +307 -0
- package/src/components/DataTable/components/EditableRow.tsx +9 -1
- package/src/components/DataTable/components/EmptyState.tsx +10 -0
- package/src/components/DataTable/components/FilterRow.tsx +12 -0
- package/src/components/DataTable/components/GroupHeader.tsx +12 -0
- package/src/components/DataTable/components/GroupingDropdown.tsx +12 -0
- package/src/components/DataTable/components/ImportModal.tsx +7 -0
- package/src/components/DataTable/components/LoadingState.tsx +6 -0
- package/src/components/DataTable/components/PaginationControls.tsx +16 -1
- package/src/components/DataTable/components/RowComponent.tsx +391 -0
- package/src/components/DataTable/components/UnifiedTableBody.tsx +62 -852
- package/src/components/DataTable/components/VirtualizedDataTable.tsx +16 -4
- package/src/components/DataTable/components/__tests__/AccessDeniedPage.test.tsx +4 -2
- package/src/components/DataTable/components/__tests__/DataTableModals.test.tsx +23 -23
- package/src/components/DataTable/components/__tests__/EditableRow.test.tsx +11 -11
- package/src/components/DataTable/components/__tests__/ExpandButton.test.tsx +36 -36
- package/src/components/DataTable/components/__tests__/GroupHeader.test.tsx +27 -27
- package/src/components/DataTable/components/__tests__/ImportModal.test.tsx +39 -39
- package/src/components/DataTable/components/__tests__/UnifiedTableBody.test.tsx +33 -33
- package/src/components/DataTable/components/__tests__/ViewRowModal.test.tsx +29 -29
- package/src/components/DataTable/components/cellValueUtils.ts +40 -0
- package/src/components/DataTable/components/hooks/useImportModalFocus.ts +53 -0
- package/src/components/DataTable/components/hooks/usePermissionTracking.ts +126 -0
- package/src/components/DataTable/context/DataTableContext.tsx +50 -0
- package/src/components/DataTable/core/ColumnFactory.ts +31 -0
- package/src/components/DataTable/core/DataTableContext.tsx +32 -1
- package/src/components/DataTable/hooks/useColumnOrderPersistence.ts +10 -0
- package/src/components/DataTable/hooks/useColumnReordering.ts +14 -2
- package/src/components/DataTable/hooks/useColumnVisibilityPersistence.ts +10 -0
- package/src/components/DataTable/hooks/useDataTableDataPipeline.ts +16 -0
- package/src/components/DataTable/hooks/useDataTablePermissions.ts +124 -32
- package/src/components/DataTable/hooks/useDataTableState.ts +35 -1
- package/src/components/DataTable/hooks/useEffectiveColumnOrder.ts +12 -0
- package/src/components/DataTable/hooks/useKeyboardNavigation.ts +2 -2
- package/src/components/DataTable/hooks/useServerSideDataEffect.ts +11 -0
- package/src/components/DataTable/hooks/useTableColumns.ts +8 -0
- package/src/components/DataTable/hooks/useTableHandlers.ts +14 -0
- package/src/components/DataTable/styles.ts +6 -6
- package/src/components/DataTable/types.ts +6 -10
- package/src/components/DataTable/utils/a11yUtils.ts +7 -0
- package/src/components/DataTable/utils/debugTools.ts +18 -113
- package/src/components/DataTable/utils/errorHandling.ts +12 -0
- package/src/components/DataTable/utils/exportUtils.ts +9 -0
- package/src/components/DataTable/utils/flexibleImport.ts +12 -48
- package/src/components/DataTable/utils/paginationUtils.ts +8 -0
- package/src/components/DataTable/utils/performanceUtils.ts +5 -1
- package/src/components/DatePickerWithTimezone/DatePickerWithTimezone.test.tsx +8 -14
- package/src/components/Dialog/Dialog.tsx +8 -7
- package/src/components/ErrorBoundary/ErrorBoundary.test.tsx +180 -1
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +46 -6
- package/src/components/ErrorBoundary/ErrorBoundaryContext.tsx +129 -0
- package/src/components/ErrorBoundary/index.ts +27 -2
- package/src/components/EventSelector/EventSelector.tsx +4 -1
- package/src/components/FileDisplay/FileDisplay.test.tsx +2 -2
- package/src/components/FileDisplay/FileDisplay.tsx +32 -18
- package/src/components/FileUpload/FileUpload.tsx +22 -2
- package/src/components/Footer/Footer.test.tsx +16 -16
- package/src/components/Footer/Footer.tsx +15 -12
- package/src/components/Form/Form.test.tsx +36 -15
- package/src/components/Form/Form.tsx +31 -26
- package/src/components/Header/Header.tsx +22 -11
- package/src/components/InactivityWarningModal/InactivityWarningModal.test.tsx +40 -40
- package/src/components/InactivityWarningModal/InactivityWarningModal.tsx +1 -1
- package/src/components/Input/Input.test.tsx +2 -2
- package/src/components/Input/Input.tsx +36 -34
- package/src/components/Label/Label.tsx +1 -1
- package/src/components/LoadingSpinner/LoadingSpinner.test.tsx +4 -4
- package/src/components/LoadingSpinner/LoadingSpinner.tsx +1 -1
- package/src/components/LoginForm/LoginForm.test.tsx +42 -42
- package/src/components/LoginForm/LoginForm.tsx +12 -8
- package/src/components/NavigationMenu/NavigationMenu.tsx +15 -514
- package/src/components/NavigationMenu/types.ts +56 -0
- package/src/components/NavigationMenu/useNavigationFiltering.ts +390 -0
- package/src/components/OrganisationSelector/OrganisationSelector.tsx +3 -0
- package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +54 -52
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +33 -12
- package/src/components/PaceAppLayout/README.md +1 -1
- package/src/components/PaceAppLayout/test-setup.tsx +1 -2
- package/src/components/PaceLoginPage/PaceLoginPage.tsx +4 -1
- package/src/components/PasswordChange/PasswordChangeForm.test.tsx +33 -33
- package/src/components/PasswordChange/PasswordChangeForm.tsx +10 -1
- package/src/components/Progress/Progress.tsx +1 -1
- package/src/components/ProtectedRoute/ProtectedRoute.tsx +3 -9
- package/src/components/PublicLayout/PublicPageLayout.tsx +3 -6
- package/src/components/PublicLayout/PublicPageProvider.tsx +4 -0
- package/src/components/Select/Select.tsx +95 -438
- package/src/components/Select/context.ts +23 -0
- package/src/components/Select/hooks/useSelectEvents.ts +87 -0
- package/src/components/Select/hooks/useSelectSearch.ts +91 -0
- package/src/components/Select/hooks/useSelectState.ts +104 -0
- package/src/components/Select/index.ts +9 -1
- package/src/components/Select/types.ts +123 -0
- package/src/components/Select/utils/text.ts +26 -0
- package/src/components/SessionRestorationLoader/SessionRestorationLoader.tsx +5 -6
- package/src/components/Switch/Switch.tsx +4 -4
- package/src/components/Table/Table.tsx +1 -1
- package/src/components/Tabs/Tabs.tsx +1 -1
- package/src/components/Textarea/Textarea.tsx +27 -29
- package/src/components/Toast/Toast.tsx +5 -1
- package/src/components/Tooltip/Tooltip.tsx +3 -3
- package/src/components/UserMenu/UserMenu.test.tsx +24 -11
- package/src/components/UserMenu/UserMenu.tsx +22 -19
- package/src/components/index.ts +2 -2
- package/src/hooks/__tests__/hooks.integration.test.tsx +80 -55
- package/src/hooks/__tests__/index.unit.test.ts +2 -5
- package/src/hooks/__tests__/useStorage.unit.test.ts +36 -36
- package/src/hooks/index.ts +1 -2
- package/src/hooks/public/usePublicEvent.ts +5 -1
- package/src/hooks/public/usePublicEventLogo.ts +5 -1
- package/src/hooks/public/usePublicFileDisplay.ts +4 -0
- package/src/hooks/public/usePublicRouteParams.ts +5 -1
- package/src/hooks/services/useAuth.ts +32 -0
- package/src/hooks/services/useCurrentEvent.ts +6 -0
- package/src/hooks/services/useCurrentOrganisation.ts +6 -0
- package/src/hooks/useDataTableState.ts +8 -18
- package/src/hooks/useDebounce.ts +9 -0
- package/src/hooks/useEventTheme.ts +6 -0
- package/src/hooks/useFileDisplay.ts +4 -0
- package/src/hooks/useFileReference.ts +25 -7
- package/src/hooks/useFileUrl.ts +11 -1
- package/src/hooks/useFocusManagement.ts +16 -2
- package/src/hooks/useFocusTrap.ts +7 -4
- package/src/hooks/useFormDialog.ts +8 -7
- package/src/hooks/useInactivityTracker.ts +4 -1
- package/src/hooks/useKeyboardShortcuts.ts +4 -0
- package/src/hooks/useOrganisationPermissions.ts +4 -0
- package/src/hooks/useOrganisationSecurity.ts +4 -0
- package/src/hooks/usePerformanceMonitor.ts +4 -0
- package/src/hooks/usePermissionCache.ts +8 -1
- package/src/hooks/useQueryCache.ts +12 -1
- package/src/hooks/useSessionRestoration.ts +4 -0
- package/src/hooks/useStorage.ts +4 -0
- package/src/hooks/useToast.ts +3 -3
- package/src/index.ts +2 -1
- package/src/providers/__tests__/OrganisationProvider.test.tsx +115 -49
- package/src/providers/__tests__/ProviderLifecycle.test.tsx +21 -6
- package/src/providers/__tests__/UnifiedAuthProvider.test.tsx +10 -10
- package/src/providers/services/AuthServiceProvider.tsx +18 -0
- package/src/providers/services/EventServiceProvider.tsx +18 -0
- package/src/providers/services/InactivityServiceProvider.tsx +18 -0
- package/src/providers/services/OrganisationServiceProvider.tsx +18 -0
- package/src/providers/services/UnifiedAuthProvider.tsx +58 -22
- package/src/providers/services/__tests__/AuthServiceProvider.integration.test.tsx +33 -7
- package/src/rbac/README.md +1 -1
- package/src/rbac/__tests__/adapters.comprehensive.test.tsx +26 -26
- package/src/rbac/__tests__/scenarios.user-role.test.tsx +4 -5
- package/src/rbac/adapters.tsx +14 -5
- package/src/rbac/api.ts +100 -67
- package/src/rbac/components/EnhancedNavigationMenu.tsx +1 -1
- package/src/rbac/components/NavigationGuard.tsx +1 -1
- package/src/rbac/components/NavigationProvider.tsx +5 -2
- package/src/rbac/components/PagePermissionGuard.tsx +158 -18
- package/src/rbac/components/PagePermissionProvider.tsx +1 -1
- package/src/rbac/components/PermissionEnforcer.tsx +1 -1
- package/src/rbac/components/RoleBasedRouter.tsx +6 -2
- package/src/rbac/components/SecureDataProvider.test.tsx +84 -49
- package/src/rbac/components/SecureDataProvider.tsx +21 -6
- package/src/rbac/components/__tests__/PagePermissionGuard.race-condition.test.tsx +24 -14
- package/src/rbac/components/__tests__/PagePermissionGuard.test.tsx +7 -0
- package/src/rbac/components/__tests__/PagePermissionGuard.verification.test.tsx +14 -6
- package/src/rbac/components/__tests__/RoleBasedRouter.test.tsx +15 -4
- package/src/rbac/components/__tests__/SecureDataProvider.fixed.test.tsx +148 -24
- package/src/rbac/components/__tests__/SecureDataProvider.test.tsx +81 -15
- package/src/rbac/engine.ts +38 -14
- package/src/rbac/hooks/permissions/index.ts +7 -0
- package/src/rbac/hooks/permissions/useAccessLevel.ts +105 -0
- package/src/rbac/hooks/permissions/useCachedPermissions.ts +79 -0
- package/src/rbac/hooks/permissions/useCan.ts +347 -0
- package/src/rbac/hooks/permissions/useHasAllPermissions.ts +90 -0
- package/src/rbac/hooks/permissions/useHasAnyPermission.ts +90 -0
- package/src/rbac/hooks/permissions/useMultiplePermissions.ts +93 -0
- package/src/rbac/hooks/permissions/usePermissions.ts +253 -0
- package/src/rbac/hooks/useCan.test.ts +71 -64
- package/src/rbac/hooks/usePermissions.ts +14 -995
- package/src/rbac/hooks/useResourcePermissions.test.ts +54 -18
- package/src/rbac/hooks/useResourcePermissions.ts +14 -4
- package/src/rbac/hooks/useSecureSupabase.ts +33 -13
- package/src/rbac/permissions.ts +0 -30
- package/src/rbac/secureClient.ts +212 -61
- package/src/rbac/types.ts +8 -0
- package/src/theming/__tests__/parseEventColours.test.ts +6 -9
- package/src/theming/parseEventColours.ts +5 -19
- package/src/types/vitest-globals.d.ts +51 -26
- package/src/utils/__mocks__/supabaseMock.ts +1 -3
- package/src/utils/__tests__/formatting.unit.test.ts +4 -4
- package/src/utils/__tests__/index.unit.test.ts +2 -2
- package/src/utils/audit/audit.ts +0 -3
- package/src/utils/core/cn.ts +1 -1
- package/src/utils/file-reference/index.ts +53 -1
- package/src/utils/formatting/formatting.ts +8 -18
- package/src/utils/index.ts +0 -1
- package/src/utils/security/secureDataAccess.test.ts +31 -20
- package/src/utils/security/secureDataAccess.ts +4 -3
- package/dist/chunk-6C4YBBJM.js +0 -628
- package/dist/chunk-6C4YBBJM.js.map +0 -1
- package/dist/chunk-7D4SUZUM.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js 2.map +0 -1
- package/dist/chunk-7EQTDTTJ.js.map +0 -1
- package/dist/chunk-7FLMSG37.js 2.map +0 -1
- package/dist/chunk-7FLMSG37.js.map +0 -1
- package/dist/chunk-BC4IJKSL.js.map +0 -1
- package/dist/chunk-E3SPN4VZ.js +0 -12917
- package/dist/chunk-E3SPN4VZ.js.map +0 -1
- package/dist/chunk-E66EQZE6 5.js +0 -37
- package/dist/chunk-E66EQZE6.js 2.map +0 -1
- package/dist/chunk-HWIIPPNI.js.map +0 -1
- package/dist/chunk-I7PSE6JW 5.js +0 -191
- package/dist/chunk-I7PSE6JW.js 2.map +0 -1
- package/dist/chunk-I7PSE6JW.js.map +0 -1
- package/dist/chunk-IIELH4DL.js.map +0 -1
- package/dist/chunk-KNC55RTG.js 5.map +0 -1
- package/dist/chunk-KNC55RTG.js.map +0 -1
- package/dist/chunk-KQCRWDSA.js 5.map +0 -1
- package/dist/chunk-LFNCN2SP.js +0 -412
- package/dist/chunk-LFNCN2SP.js 2.map +0 -1
- package/dist/chunk-LFNCN2SP.js.map +0 -1
- package/dist/chunk-LMC26NLJ 2.js +0 -84
- package/dist/chunk-NOAYCWCX.js +0 -4993
- package/dist/chunk-NOAYCWCX.js.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js 3.map +0 -1
- package/dist/chunk-QWWZ5CAQ.js.map +0 -1
- package/dist/chunk-QXHPKYJV 3.js +0 -113
- package/dist/chunk-R77UEZ4E.js +0 -68
- package/dist/chunk-R77UEZ4E.js.map +0 -1
- package/dist/chunk-SQGMNID3.js.map +0 -1
- package/dist/chunk-VBXEHIUJ.js 6.map +0 -1
- package/dist/chunk-XNXXZ43G.js.map +0 -1
- package/dist/chunk-ZSAAAMVR 6.js +0 -25
- package/dist/components.js 5.map +0 -1
- package/dist/styles/index 2.js +0 -12
- package/dist/styles/index.js 5.map +0 -1
- package/dist/theming/runtime 5.js +0 -19
- package/dist/theming/runtime.js 5.map +0 -1
- package/docs/api/classes/ErrorBoundary.md +0 -144
- package/docs/migration/quick-migration-guide.md +0 -356
- package/docs/migration/service-architecture.md +0 -281
- package/src/hooks/__tests__/useSecureDataAccess.unit.test.tsx +0 -680
- package/src/hooks/useSecureDataAccess.test.ts +0 -559
- package/src/hooks/useSecureDataAccess.ts +0 -666
- /package/dist/{DataTable-5FU7IESH.js.map → DataTable-TPTKCX4D.js.map} +0 -0
- /package/dist/{UnifiedAuthProvider-RGJTDE2C.js.map → UnifiedAuthProvider-CH6Z342H.js.map} +0 -0
- /package/dist/{api-N774RPUA.js.map → api-MVVQZLJI.js.map} +0 -0
- /package/docs/migration/{organisation-context-timing-fix.md → V0.3.44_organisation-context-timing-fix.md} +0 -0
- /package/docs/migration/{rbac-migration.md → V0.4.0_rbac-migration.md} +0 -0
- /package/docs/migration/{person-scoped-profiles-migration-guide.md → V0.5.190_person-scoped-profiles-migration-guide.md} +0 -0
- /package/examples/{rbac → RBAC}/CompleteRBACExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/EventBasedApp.tsx +0 -0
- /package/examples/{rbac → RBAC}/PermissionExample.tsx +0 -0
- /package/examples/{rbac → RBAC}/index.ts +0 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
# Documentation Structure Guidelines
|
|
2
|
+
|
|
3
|
+
**Purpose:** Define clear structure and responsibilities for CHANGELOG.md and migration documentation to prevent overlap and maintain single source of truth.
|
|
4
|
+
|
|
5
|
+
## Documentation Hierarchy
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
CHANGELOG.md (High-level announcements, links to detailed guides)
|
|
9
|
+
├── docs/migration/README.md (Index/navigation)
|
|
10
|
+
├── docs/migration/MIGRATION_GUIDE.md (General migration patterns)
|
|
11
|
+
├── docs/migration/V0.X_TO_V0.Y_MIGRATION.md (Version-specific migrations)
|
|
12
|
+
├── docs/migration/V0.6.0_REACT_19_MIGRATION.md (Feature-specific migrations)
|
|
13
|
+
├── docs/migration/database-changes-december-2025.md (Database-specific)
|
|
14
|
+
└── docs/migration/V0.5.190_person-scoped-profiles-migration-guide.md (Feature-specific)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## CHANGELOG.md Responsibilities
|
|
18
|
+
|
|
19
|
+
### ✅ What CHANGELOG.md SHOULD Include
|
|
20
|
+
|
|
21
|
+
1. **High-Level Announcements**
|
|
22
|
+
- Breaking changes summary
|
|
23
|
+
- New features summary
|
|
24
|
+
- Deprecations summary
|
|
25
|
+
- Bug fixes summary
|
|
26
|
+
|
|
27
|
+
2. **Brief Summaries**
|
|
28
|
+
- One-line descriptions of changes
|
|
29
|
+
- Key impact statements
|
|
30
|
+
- Version numbers and dates
|
|
31
|
+
|
|
32
|
+
3. **Links to Detailed Guides**
|
|
33
|
+
- Links to migration guides for breaking changes
|
|
34
|
+
- Links to feature documentation
|
|
35
|
+
- Links to troubleshooting guides
|
|
36
|
+
|
|
37
|
+
4. **Quick Migration Notes**
|
|
38
|
+
- Brief "what changed" statements
|
|
39
|
+
- Links to detailed migration guides
|
|
40
|
+
- Critical warnings (e.g., "⚠️ CRITICAL: Database migrations required")
|
|
41
|
+
|
|
42
|
+
### ❌ What CHANGELOG.md SHOULD NOT Include
|
|
43
|
+
|
|
44
|
+
1. **Detailed Migration Steps**
|
|
45
|
+
- Step-by-step instructions
|
|
46
|
+
- Code examples (unless very brief)
|
|
47
|
+
- Configuration file examples
|
|
48
|
+
- Troubleshooting details
|
|
49
|
+
|
|
50
|
+
2. **Duplicate Content**
|
|
51
|
+
- Content that exists in migration guides
|
|
52
|
+
- Detailed explanations already in docs
|
|
53
|
+
- Long code blocks
|
|
54
|
+
|
|
55
|
+
3. **Version-Specific Details**
|
|
56
|
+
- Detailed version upgrade paths
|
|
57
|
+
- Specific migration commands
|
|
58
|
+
- Database migration file names (unless critical)
|
|
59
|
+
|
|
60
|
+
## Migration Documentation Responsibilities
|
|
61
|
+
|
|
62
|
+
### ✅ What Migration Docs SHOULD Include
|
|
63
|
+
|
|
64
|
+
1. **Step-by-Step Instructions**
|
|
65
|
+
- Detailed migration steps
|
|
66
|
+
- Code examples (before/after)
|
|
67
|
+
- Configuration changes
|
|
68
|
+
- Command-line instructions
|
|
69
|
+
|
|
70
|
+
2. **Code Examples**
|
|
71
|
+
- Before/after code comparisons
|
|
72
|
+
- Complete working examples
|
|
73
|
+
- Common patterns and anti-patterns
|
|
74
|
+
|
|
75
|
+
3. **Troubleshooting**
|
|
76
|
+
- Common issues and solutions
|
|
77
|
+
- Error messages and fixes
|
|
78
|
+
- Edge cases
|
|
79
|
+
|
|
80
|
+
4. **Complete Context**
|
|
81
|
+
- Why changes were made
|
|
82
|
+
- Impact analysis
|
|
83
|
+
- Migration timeline
|
|
84
|
+
- Testing checklists
|
|
85
|
+
|
|
86
|
+
### ❌ What Migration Docs SHOULD NOT Include
|
|
87
|
+
|
|
88
|
+
1. **High-Level Summaries**
|
|
89
|
+
- Brief announcements (that's CHANGELOG's job)
|
|
90
|
+
- Marketing-style descriptions
|
|
91
|
+
- Non-actionable information
|
|
92
|
+
|
|
93
|
+
2. **Duplicate Content**
|
|
94
|
+
- Content duplicated from other migration guides
|
|
95
|
+
- Content that should be in CHANGELOG
|
|
96
|
+
|
|
97
|
+
## Content Strategy by Type
|
|
98
|
+
|
|
99
|
+
### Breaking Changes
|
|
100
|
+
|
|
101
|
+
**CHANGELOG.md:**
|
|
102
|
+
```markdown
|
|
103
|
+
## [0.6.0] - 2025-01-28
|
|
104
|
+
|
|
105
|
+
### Changed
|
|
106
|
+
- **BREAKING**: Upgraded from React 18.3.1 to React 19.2.3
|
|
107
|
+
- **BREAKING**: Database schema changes (table naming standardization)
|
|
108
|
+
|
|
109
|
+
### Migration Notes
|
|
110
|
+
- **React 19 Upgrade**: See [React 19 Migration Guide](./docs/migration/V0.6.0_REACT_19_MIGRATION.md)
|
|
111
|
+
- **Database Changes**: See [v0.5.190 → v0.6.1 Migration Guide](./docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Migration Doc:**
|
|
115
|
+
```markdown
|
|
116
|
+
# React 19 Migration Guide
|
|
117
|
+
|
|
118
|
+
## Step 1: Update Dependencies
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm install react@^19.2.3 react-dom@^19.2.3
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Step 2: Update Vite Configuration
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
export default defineConfig({
|
|
128
|
+
plugins: [
|
|
129
|
+
react({
|
|
130
|
+
babel: {
|
|
131
|
+
plugins: ['babel-plugin-react-compiler'],
|
|
132
|
+
},
|
|
133
|
+
}),
|
|
134
|
+
],
|
|
135
|
+
})
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
[... detailed steps ...]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### New Features
|
|
142
|
+
|
|
143
|
+
**CHANGELOG.md:**
|
|
144
|
+
```markdown
|
|
145
|
+
### Added
|
|
146
|
+
- **useFormDialog Hook**: Generic React hook for managing form dialog state
|
|
147
|
+
- **DateTimeField Component**: Form input component for datetime values with automatic UTC ↔ timezone conversion
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Migration Doc (if needed):**
|
|
151
|
+
```markdown
|
|
152
|
+
# Using New Features
|
|
153
|
+
|
|
154
|
+
## useFormDialog Hook
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
import { useFormDialog } from '@jmruthers/pace-core';
|
|
158
|
+
|
|
159
|
+
const formDialog = useFormDialog<FormData>({
|
|
160
|
+
defaultValues: { name: '', email: '' }
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
[... usage examples ...]
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Minor Version Changes
|
|
168
|
+
|
|
169
|
+
**CHANGELOG.md:**
|
|
170
|
+
```markdown
|
|
171
|
+
## [0.5.109] - 2025-11-03
|
|
172
|
+
|
|
173
|
+
### Changed
|
|
174
|
+
- **Session Tracking Hook API**: Removed `trackLogin()` and `trackLogout()` methods
|
|
175
|
+
|
|
176
|
+
### Migration Guide
|
|
177
|
+
|
|
178
|
+
### Upgrading from 0.5.108 to 0.5.109
|
|
179
|
+
|
|
180
|
+
**Breaking Change**: The `useSessionTracking` hook no longer provides `trackLogin()` and `trackLogout()` methods.
|
|
181
|
+
|
|
182
|
+
**Migration Steps:**
|
|
183
|
+
1. Remove manual tracking calls
|
|
184
|
+
2. Keep event switch tracking
|
|
185
|
+
3. Apply database migrations
|
|
186
|
+
|
|
187
|
+
[... brief migration guide ...]
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Note:** For minor versions, it's acceptable to include brief migration guides directly in CHANGELOG if they're simple. For complex migrations, create a dedicated migration guide.
|
|
191
|
+
|
|
192
|
+
## File Naming Conventions
|
|
193
|
+
|
|
194
|
+
### Migration Guides
|
|
195
|
+
|
|
196
|
+
All migration guides should include version or date stamps in their filenames for clarity:
|
|
197
|
+
|
|
198
|
+
- **Version-specific**: `V0.X_TO_V0.Y_MIGRATION.md`
|
|
199
|
+
- Example: `V0.5.190_TO_V0.6.1_MIGRATION.md`
|
|
200
|
+
- ✅ Already includes version numbers
|
|
201
|
+
|
|
202
|
+
- **Feature-specific**: `V{VERSION}_{FEATURE}-migration.md` or `V{VERSION}_{FEATURE}-migration-guide.md`
|
|
203
|
+
- Example: `V0.6.0_REACT_19_MIGRATION.md` (introduced in v0.6.0)
|
|
204
|
+
- Example: `V0.5.190_person-scoped-profiles-migration-guide.md` (introduced in v0.5.190)
|
|
205
|
+
- **Rationale**: Version at start ensures chronological sorting and makes it clear which version introduced the feature
|
|
206
|
+
|
|
207
|
+
- **Database-specific**: `database-changes-{DATE}.md` or `database-changes-{DATE}-V{VERSION}.md`
|
|
208
|
+
- Example: `database-changes-december-2025.md` (date-based, already in use)
|
|
209
|
+
- Example: `database-changes-december-2025-V0.5.190.md` (if version context needed)
|
|
210
|
+
- **Rationale**: Dates are clear for database changes, but version can help if needed
|
|
211
|
+
|
|
212
|
+
- **General/Topic-specific**: `V{VERSION}_{TOPIC}-migration.md` or `{DATE}_{TOPIC}-migration.md`
|
|
213
|
+
- Example: `V0.4.0_rbac-migration.md` (if version-specific)
|
|
214
|
+
- Example: `V0.3.44_organisation-context-timing-fix.md` (if version-specific)
|
|
215
|
+
- **Rationale**: Version at start ensures chronological sorting. Use version if tied to specific release, date if it's a fix/change
|
|
216
|
+
|
|
217
|
+
### Naming Rules
|
|
218
|
+
|
|
219
|
+
1. **Always include version or date** - Makes it clear when/what the migration relates to
|
|
220
|
+
2. **Version at the start** - Put version number at the beginning of filename for chronological sorting
|
|
221
|
+
3. **Use version for feature migrations** - Tied to specific release
|
|
222
|
+
4. **Use date for database changes** - Clear chronological reference
|
|
223
|
+
5. **Use version for fixes** - Tied to specific release
|
|
224
|
+
6. **Be consistent** - Follow the pattern once established
|
|
225
|
+
|
|
226
|
+
### Documentation Files (No Version Needed)
|
|
227
|
+
|
|
228
|
+
These are general documentation files that don't need version stamps:
|
|
229
|
+
|
|
230
|
+
- **Index**: `README.md`
|
|
231
|
+
- **General Guide**: `MIGRATION_GUIDE.md` (includes quick reference table)
|
|
232
|
+
- **Structure Guidelines**: `DOCUMENTATION_STRUCTURE.md`
|
|
233
|
+
|
|
234
|
+
### Migration Guides (Version Required)
|
|
235
|
+
|
|
236
|
+
**All migration guides must include version or date stamps:**
|
|
237
|
+
|
|
238
|
+
- ✅ `V0.6.0_REACT_19_MIGRATION.md` - Feature migration with version at start
|
|
239
|
+
- ✅ `V0.5.190_person-scoped-profiles-migration-guide.md` - Feature migration with version at start
|
|
240
|
+
- ✅ `V0.3.44_organisation-context-timing-fix.md` - Fix migration with version at start
|
|
241
|
+
- ✅ `V0.5.190_TO_V0.6.1_MIGRATION.md` - Version-specific migration
|
|
242
|
+
- ✅ `database-changes-december-2025.md` - Database changes with date
|
|
243
|
+
- ✅ `V0.4.0_rbac-migration.md` - RBAC migration (introduced in v0.4.0)
|
|
244
|
+
- ✅ Service architecture documentation is in `/docs/architecture/services.md` (not a migration guide)
|
|
245
|
+
|
|
246
|
+
## Link Strategy
|
|
247
|
+
|
|
248
|
+
### From CHANGELOG to Migration Docs
|
|
249
|
+
|
|
250
|
+
Always use relative paths:
|
|
251
|
+
```markdown
|
|
252
|
+
- See [React 19 Migration Guide](./docs/migration/REACT_19_MIGRATION_V0.6.0.md)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Between Migration Docs
|
|
256
|
+
|
|
257
|
+
Use relative paths:
|
|
258
|
+
```markdown
|
|
259
|
+
- See [Database Changes December 2025](./database-changes-december-2025.md)
|
|
260
|
+
- See [React 19 Migration Guide](./V0.6.0_REACT_19_MIGRATION.md)
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### From Migration Docs to CHANGELOG
|
|
264
|
+
|
|
265
|
+
Use relative paths:
|
|
266
|
+
```markdown
|
|
267
|
+
- See [CHANGELOG.md](../../CHANGELOG.md) for version history
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Version-Specific Migration Guides
|
|
271
|
+
|
|
272
|
+
### When to Create a Version-Specific Guide
|
|
273
|
+
|
|
274
|
+
Create a dedicated migration guide when:
|
|
275
|
+
- ✅ Major version upgrade (e.g., 0.5.x → 0.6.x)
|
|
276
|
+
- ✅ Multiple breaking changes in one version
|
|
277
|
+
- ✅ Complex migration requiring multiple steps
|
|
278
|
+
- ✅ Database migrations required
|
|
279
|
+
- ✅ Significant API changes
|
|
280
|
+
|
|
281
|
+
### When to Keep in CHANGELOG
|
|
282
|
+
|
|
283
|
+
Keep migration guide in CHANGELOG when:
|
|
284
|
+
- ✅ Minor version upgrade with simple changes
|
|
285
|
+
- ✅ Single breaking change that's straightforward
|
|
286
|
+
- ✅ No database migrations required
|
|
287
|
+
- ✅ Simple code updates only
|
|
288
|
+
|
|
289
|
+
## Review Checklist
|
|
290
|
+
|
|
291
|
+
Before adding content to CHANGELOG or migration docs:
|
|
292
|
+
|
|
293
|
+
### CHANGELOG Review
|
|
294
|
+
|
|
295
|
+
- [ ] Is this a high-level announcement?
|
|
296
|
+
- [ ] Is this a brief summary (not detailed steps)?
|
|
297
|
+
- [ ] Are detailed migration steps linked to migration docs?
|
|
298
|
+
- [ ] Is there duplicate content in migration docs?
|
|
299
|
+
- [ ] Are all links working and pointing to correct files?
|
|
300
|
+
|
|
301
|
+
### Migration Doc Review
|
|
302
|
+
|
|
303
|
+
- [ ] Are step-by-step instructions included?
|
|
304
|
+
- [ ] Are code examples provided?
|
|
305
|
+
- [ ] Is troubleshooting information included?
|
|
306
|
+
- [ ] Are links to related docs included?
|
|
307
|
+
- [ ] Is there duplicate content from CHANGELOG?
|
|
308
|
+
- [ ] Is there duplicate content from other migration docs?
|
|
309
|
+
|
|
310
|
+
## Maintenance Guidelines
|
|
311
|
+
|
|
312
|
+
### Regular Reviews
|
|
313
|
+
|
|
314
|
+
1. **After Each Release**
|
|
315
|
+
- Review CHANGELOG for duplicate content
|
|
316
|
+
- Verify all links work
|
|
317
|
+
- Check migration docs are referenced correctly
|
|
318
|
+
|
|
319
|
+
2. **Quarterly**
|
|
320
|
+
- Review all migration docs for outdated content
|
|
321
|
+
- Consolidate overlapping guides
|
|
322
|
+
- Update links and references
|
|
323
|
+
|
|
324
|
+
3. **Before Major Releases**
|
|
325
|
+
- Plan migration guide structure
|
|
326
|
+
- Identify potential overlaps
|
|
327
|
+
- Create clear documentation hierarchy
|
|
328
|
+
|
|
329
|
+
### Content Updates
|
|
330
|
+
|
|
331
|
+
1. **When Adding Breaking Changes**
|
|
332
|
+
- Add brief summary to CHANGELOG
|
|
333
|
+
- Create or update migration guide
|
|
334
|
+
- Link from CHANGELOG to migration guide
|
|
335
|
+
|
|
336
|
+
2. **When Adding New Features**
|
|
337
|
+
- Add feature announcement to CHANGELOG
|
|
338
|
+
- Add usage examples to migration guide (if migration needed)
|
|
339
|
+
- Link from CHANGELOG if detailed guide exists
|
|
340
|
+
|
|
341
|
+
3. **When Fixing Bugs**
|
|
342
|
+
- Add fix to CHANGELOG
|
|
343
|
+
- Add troubleshooting to migration guide (if relevant)
|
|
344
|
+
- Link if detailed troubleshooting needed
|
|
345
|
+
|
|
346
|
+
## Examples
|
|
347
|
+
|
|
348
|
+
### ✅ Good CHANGELOG Entry
|
|
349
|
+
|
|
350
|
+
```markdown
|
|
351
|
+
## [0.6.0] - 2025-01-28
|
|
352
|
+
|
|
353
|
+
### Changed
|
|
354
|
+
- **BREAKING**: Upgraded from React 18.3.1 to React 19.2.3
|
|
355
|
+
- **BREAKING**: Database schema changes (table naming standardization)
|
|
356
|
+
|
|
357
|
+
### Migration Notes
|
|
358
|
+
|
|
359
|
+
**⚠️ CRITICAL**: This version includes major breaking changes.
|
|
360
|
+
|
|
361
|
+
- **React 19 Upgrade**: See [React 19 Migration Guide](./docs/migration/V0.6.0_REACT_19_MIGRATION.md)
|
|
362
|
+
- **Complete Migration**: See [v0.5.190 → v0.6.1 Migration Guide](./docs/migration/V0.5.190_TO_V0.6.1_MIGRATION.md)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### ❌ Bad CHANGELOG Entry
|
|
366
|
+
|
|
367
|
+
```markdown
|
|
368
|
+
## [0.6.0] - 2025-01-28
|
|
369
|
+
|
|
370
|
+
### Changed
|
|
371
|
+
- **BREAKING**: Upgraded from React 18.3.1 to React 19.2.3
|
|
372
|
+
|
|
373
|
+
### Migration Steps
|
|
374
|
+
|
|
375
|
+
**Step 1: Update Dependencies**
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
npm install react@^19.2.3 react-dom@^19.2.3
|
|
379
|
+
npm install -D @types/react@^19.2.7 @types/react-dom@^19.2.3
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**Step 2: Update Vite Configuration**
|
|
383
|
+
|
|
384
|
+
```typescript
|
|
385
|
+
export default defineConfig({
|
|
386
|
+
plugins: [
|
|
387
|
+
react({
|
|
388
|
+
babel: {
|
|
389
|
+
plugins: ['babel-plugin-react-compiler'],
|
|
390
|
+
},
|
|
391
|
+
}),
|
|
392
|
+
],
|
|
393
|
+
})
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
[... many more steps ...]
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### ✅ Good Migration Guide Entry
|
|
400
|
+
|
|
401
|
+
```markdown
|
|
402
|
+
# React 19 Migration Guide
|
|
403
|
+
|
|
404
|
+
## Step 1: Update Dependencies
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
npm install react@^19.2.3 react-dom@^19.2.3
|
|
408
|
+
npm install -D @types/react@^19.2.7 @types/react-dom@^19.2.3
|
|
409
|
+
npm install -D @vitejs/plugin-react@^5.1.2
|
|
410
|
+
npm install -D babel-plugin-react-compiler@latest
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## Step 2: Update Vite Configuration
|
|
414
|
+
|
|
415
|
+
[... detailed instructions ...]
|
|
416
|
+
|
|
417
|
+
## Troubleshooting
|
|
418
|
+
|
|
419
|
+
### Issue: TypeScript errors with child.props
|
|
420
|
+
|
|
421
|
+
[... detailed troubleshooting ...]
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### ❌ Bad Migration Guide Entry
|
|
425
|
+
|
|
426
|
+
```markdown
|
|
427
|
+
# React 19 Migration Guide
|
|
428
|
+
|
|
429
|
+
React 19 has been released! This is a major upgrade that includes...
|
|
430
|
+
|
|
431
|
+
[... marketing content, no actionable steps ...]
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
## Summary
|
|
435
|
+
|
|
436
|
+
- **CHANGELOG.md**: Announce, summarize, link
|
|
437
|
+
- **Migration Docs**: Instruct, demonstrate, troubleshoot
|
|
438
|
+
- **No Duplication**: Each piece of information lives in one place
|
|
439
|
+
- **Clear Links**: Easy navigation between related content
|
|
440
|
+
- **Regular Review**: Keep structure clean and maintainable
|
|
441
|
+
|
|
@@ -160,31 +160,9 @@ This breaking change was made for security reasons:
|
|
|
160
160
|
- Provides consistent user experience across all apps
|
|
161
161
|
- Improves overall security posture
|
|
162
162
|
|
|
163
|
-
###
|
|
163
|
+
### Service Architecture
|
|
164
164
|
|
|
165
|
-
**
|
|
166
|
-
**Date**: December 2024
|
|
167
|
-
**Impact**: Medium - Affects apps using service architecture
|
|
168
|
-
|
|
169
|
-
#### What Changed
|
|
170
|
-
|
|
171
|
-
The library now uses a service-based architecture with pure TypeScript service classes and React integration through providers and hooks.
|
|
172
|
-
|
|
173
|
-
#### Key Changes
|
|
174
|
-
|
|
175
|
-
- ✅ **New Service Layer**: Pure TypeScript classes for business logic
|
|
176
|
-
- ✅ **Provider Layer**: React context integration for services
|
|
177
|
-
- ✅ **Hook Layer**: Reactive hooks for component integration
|
|
178
|
-
- ✅ **Backward Compatible**: `UnifiedAuthProvider` maintained for compatibility
|
|
179
|
-
|
|
180
|
-
#### Migration
|
|
181
|
-
|
|
182
|
-
The service architecture is now the default. Existing code continues to work without changes:
|
|
183
|
-
|
|
184
|
-
```tsx
|
|
185
|
-
// Works out of the box - uses service architecture internally
|
|
186
|
-
import { UnifiedAuthProvider } from '@jmruthers/pace-core';
|
|
187
|
-
```
|
|
165
|
+
**Note**: Service architecture documentation is available in [Architecture Documentation](../architecture/services.md). The service-based architecture is backward compatible - existing code using `UnifiedAuthProvider` continues to work without changes as it uses the service architecture internally.
|
|
188
166
|
|
|
189
167
|
## Version-Specific Migrations
|
|
190
168
|
|
|
@@ -933,8 +911,8 @@ export default defineConfig({
|
|
|
933
911
|
|
|
934
912
|
// New dependencies
|
|
935
913
|
"@jmruthers/pace-core": "^2.0.0",
|
|
936
|
-
"react": "^
|
|
937
|
-
"react-dom": "^
|
|
914
|
+
"react": "^19.2.3",
|
|
915
|
+
"react-dom": "^19.2.3",
|
|
938
916
|
"@supabase/supabase-js": "^2.38.0",
|
|
939
917
|
"zod": "^3.22.0"
|
|
940
918
|
},
|
|
@@ -944,8 +922,8 @@ export default defineConfig({
|
|
|
944
922
|
"@types/react-dom": "^17.0.0",
|
|
945
923
|
|
|
946
924
|
// New dev dependencies
|
|
947
|
-
"@types/react": "^
|
|
948
|
-
"@types/react-dom": "^
|
|
925
|
+
"@types/react": "^19.2.7",
|
|
926
|
+
"@types/react-dom": "^19.2.3",
|
|
949
927
|
"@vitejs/plugin-react": "^4.0.0",
|
|
950
928
|
"vite": "^4.4.0",
|
|
951
929
|
"typescript": "^5.0.0"
|
package/docs/migration/README.md
CHANGED
|
@@ -6,12 +6,25 @@ reviewedBy: documentation-standards-audit
|
|
|
6
6
|
|
|
7
7
|
# Migration Guide
|
|
8
8
|
|
|
9
|
-
> **🔄 Upgrade and Migration** | [Unified Migration Guide](./MIGRATION_GUIDE.md) | [RBAC Migration](./
|
|
9
|
+
> **🔄 Upgrade and Migration** | [Unified Migration Guide](./MIGRATION_GUIDE.md) | [RBAC Migration](./V0.4.0_rbac-migration.md)
|
|
10
10
|
|
|
11
11
|
[← Back to Documentation](../README.md) | [↑ Table of Contents](#table-of-contents) | [Next: Unified Migration Guide →](./MIGRATION_GUIDE.md)
|
|
12
12
|
|
|
13
13
|
Complete migration guides for upgrading to and between versions of `@jmruthers/pace-core`.
|
|
14
14
|
|
|
15
|
+
## 📖 Documentation Structure
|
|
16
|
+
|
|
17
|
+
This migration documentation follows a clear structure to help you find the information you need:
|
|
18
|
+
|
|
19
|
+
- **CHANGELOG.md**: High-level announcements and summaries with links to detailed guides
|
|
20
|
+
- **Migration Guides**: Step-by-step instructions, code examples, and troubleshooting
|
|
21
|
+
- **Version-Specific**: `V0.5.190_TO_V0.6.1_MIGRATION.md` - Complete migration for specific versions
|
|
22
|
+
- **Feature-Specific**: `V0.6.0_REACT_19_MIGRATION.md`, `V0.4.0_rbac-migration.md` - Focused guides for specific features (with version stamps at start)
|
|
23
|
+
- **Database-Specific**: `database-changes-december-2025.md` - Database schema changes
|
|
24
|
+
- **General**: `MIGRATION_GUIDE.md` - General migration patterns and best practices
|
|
25
|
+
|
|
26
|
+
**For documentation structure guidelines, see:** [Documentation Structure](./DOCUMENTATION_STRUCTURE.md)
|
|
27
|
+
|
|
15
28
|
## 📚 Start Here: Unified Migration Guide
|
|
16
29
|
|
|
17
30
|
**For all migrations, start with:** [Complete Migration Guide](./MIGRATION_GUIDE.md)
|
|
@@ -29,6 +42,8 @@ The unified guide provides:
|
|
|
29
42
|
- [Quick Migration Checklist](#-quick-migration-checklist)
|
|
30
43
|
- [Version Migrations](#-version-migrations)
|
|
31
44
|
- [Critical Fixes](#-critical-fixes)
|
|
45
|
+
- [v0.5.190 → v0.6.1 Comprehensive Migration Guide](#v05190--v061-comprehensive-migration-guide)
|
|
46
|
+
- [Person-Scoped Profiles Migration](#person-scoped-profiles-migration-v05190)
|
|
32
47
|
- [From Other Libraries](#-from-other-libraries)
|
|
33
48
|
- [RBAC Migration](#-rbac-migration)
|
|
34
49
|
- [Migration Tools](#-migration-tools)
|
|
@@ -64,6 +79,25 @@ This guide covers:
|
|
|
64
79
|
|
|
65
80
|
## 🚨 Critical Fixes
|
|
66
81
|
|
|
82
|
+
### v0.5.190 → v0.6.1 Comprehensive Migration Guide
|
|
83
|
+
|
|
84
|
+
**NEW**: Complete migration guide for upgrading from v0.5.190 to v0.6.1.
|
|
85
|
+
|
|
86
|
+
**Breaking Changes:**
|
|
87
|
+
- React 19 upgrade (all apps must upgrade)
|
|
88
|
+
- Database schema changes (table naming standardization)
|
|
89
|
+
- Person-scoped profiles migration
|
|
90
|
+
|
|
91
|
+
**Migration Guide**: [v0.5.190 → v0.6.1 Migration Guide](./V0.5.190_TO_V0.6.1_MIGRATION.md)
|
|
92
|
+
|
|
93
|
+
**Quick Summary**:
|
|
94
|
+
- Upgrade React to 19.2.3+
|
|
95
|
+
- Apply database migrations
|
|
96
|
+
- Update all table name references
|
|
97
|
+
- Remove `organisation_id` filters from profile queries
|
|
98
|
+
- Configure React Compiler
|
|
99
|
+
- See full guide for detailed instructions
|
|
100
|
+
|
|
67
101
|
### Person-Scoped Profiles Migration (v0.5.190+)
|
|
68
102
|
|
|
69
103
|
**BREAKING CHANGE**: Profiles (membership, medical, and contact) have been migrated from organisation-scoped to person-scoped.
|
|
@@ -74,7 +108,7 @@ This guide covers:
|
|
|
74
108
|
- One membership per person (enforced by unique constraint)
|
|
75
109
|
- Related tables (`pace_consent`, `pace_identification`, `pace_qualification`, etc.) also no longer have `organisation_id`
|
|
76
110
|
|
|
77
|
-
**Migration Guide**: [Person-Scoped Profiles Migration Guide](./
|
|
111
|
+
**Migration Guide**: [Person-Scoped Profiles Migration Guide](./V0.5.190_person-scoped-profiles-migration-guide.md)
|
|
78
112
|
|
|
79
113
|
**Quick Summary**:
|
|
80
114
|
- Remove all `organisation_id` filters/queries for profile tables
|
|
@@ -91,7 +125,7 @@ This guide covers:
|
|
|
91
125
|
- Super admin permissions returning false
|
|
92
126
|
- Potential data leakage between organisations
|
|
93
127
|
|
|
94
|
-
**Migration**: [Organisation Context Timing Fix](./
|
|
128
|
+
**Migration**: [Organisation Context Timing Fix](./V0.3.44_organisation-context-timing-fix.md)
|
|
95
129
|
|
|
96
130
|
**Quick Fix**:
|
|
97
131
|
```bash
|
|
@@ -393,7 +427,7 @@ function MyComponent() {
|
|
|
393
427
|
|
|
394
428
|
## 🔐 RBAC Migration
|
|
395
429
|
|
|
396
|
-
For detailed RBAC migration, see the [RBAC Migration Guide](./
|
|
430
|
+
For detailed RBAC migration, see the [RBAC Migration Guide](./V0.4.0_rbac-migration.md).
|
|
397
431
|
|
|
398
432
|
### Quick RBAC Migration
|
|
399
433
|
|
|
@@ -487,8 +521,20 @@ import '@jmruthers/pace-core/src/styles/core.css';
|
|
|
487
521
|
|
|
488
522
|
## 📚 Additional Resources
|
|
489
523
|
|
|
490
|
-
|
|
491
|
-
|
|
524
|
+
### Migration Guides
|
|
525
|
+
|
|
526
|
+
- **[Complete Migration Guide](./MIGRATION_GUIDE.md)** - General migration patterns and best practices
|
|
527
|
+
- **[v0.5.190 → v0.6.1 Migration Guide](./V0.5.190_TO_V0.6.1_MIGRATION.md)** - Comprehensive migration for v0.6.1
|
|
528
|
+
- **[React 19 Migration Guide](./V0.6.0_REACT_19_MIGRATION.md)** - React 19 upgrade instructions (v0.6.0)
|
|
529
|
+
- **[RBAC Migration Guide](./V0.4.0_rbac-migration.md)** - RBAC system migration (v0.4.0+)
|
|
530
|
+
- **[Person-Scoped Profiles Migration](./V0.5.190_person-scoped-profiles-migration-guide.md)** - Profile migration guide (v0.5.190+)
|
|
531
|
+
- **[Database Changes December 2025](./database-changes-december-2025.md)** - Database schema changes
|
|
532
|
+
- **[Migration Guide](./MIGRATION_GUIDE.md)** - Comprehensive migration guide with quick reference table
|
|
533
|
+
|
|
534
|
+
### Documentation
|
|
535
|
+
|
|
536
|
+
- **[Documentation Structure](./DOCUMENTATION_STRUCTURE.md)** - Guidelines for CHANGELOG and migration docs
|
|
537
|
+
- **[CHANGELOG.md](../../CHANGELOG.md)** - Version history and change announcements
|
|
492
538
|
- **[Common Issues](../troubleshooting/common-issues.md)** - Troubleshooting migration issues
|
|
493
539
|
- **[API Reference](../api-reference/)** - Complete API documentation
|
|
494
540
|
|