Releases: azhukaudev/convex-angular
v1.7.0
✨ Features
- Add Angular SSR preload and hydration helpers for server-side Convex fetches, transfer-state serialization, and
injectPreloadedQuery()client hydration. - Add callable
injectMutation()andinjectAction()helpers plus.withOptimisticUpdate(...)chains with independent state per optimistic flow. - Add React-style paginated query status values and aggregate
isLoading()support.
⚠️ Breaking Changes
-
Change
injectQueries()to React-parityqueries()semantics: each keyed value is nowresult | Error | undefined, replacing the previousresults(),errors(),statuses(), and aggregateisLoading()API. -
Change
injectMutation()andinjectAction()to callable helpers instead of.mutate()and.run()methods, and move optimistic mutation configuration to.withOptimisticUpdate(...). -
Require native Convex Clerk integration in
provideClerkAuth():sessionClaimsare now required and JWT template-based Clerk tokens are no longer supported.
🐛 Bug Fixes
- Clear stale
injectQuery()data while a subscription is in an active error state. - Stabilize Convex argument identity across query helpers and paginated optimistic updates.
- Reset paginated queries correctly after first-page failures and align pagination semantics and validation with Convex React.
- Stop action and mutation helpers from updating state after their Angular scope is destroyed.
- Surface Auth0 and Clerk token fetch failures as auth errors instead of treating them as ordinary sign-out.
- Preserve the return URL in
convexAuthGuardlogin redirects. - Align auth reauth lifecycle and helper semantics more closely with Convex React behavior.
- Require Auth0 detailed ID token responses for auth integration correctness.
- Fix
injectQuery()argument cache hydration. - Align the demo frontend routes, providers, and examples with the current
convex-angularAPI.
📖 Documentation
- Rewrite the
injectQueries()docs and landing-page examples to usequeries()and Angular-friendly derivedcomputed()helpers. - Document the new SSR preload and hydration APIs, callable mutation/action helpers, pagination status changes, and updated Clerk/Auth0 integration requirements.
View changes on GitHub: v1.6.0...v1.7.0
v1.6.0
✨ Features
- Add
injectQueries()for keyed multi-query subscriptions with per-keyresults(),errors(),statuses(), and aggregateisLoading(). - Add
injectPrewarmQuery()to warm the local Convex cache before navigation or other anticipated UI work. - Add
injectConvexConnectionState()for reactive Convex connection diagnostics. - Add paginated optimistic update helpers for updating cached paginated query results during optimistic mutations.
⚠️ Breaking Changes
- Enforce root-only
provideConvexAuth()registration by throwing on duplicate or nested auth provider setup.
🐛 Bug Fixes
- Ignore stale
injectQuery()subscription callbacks so outdated responses do not overwrite newer state. - Ignore stale
injectPaginatedQuery()callbacks and throw a clear error when experimental paginated query support is unavailable on the Convex client. - Scope Convex auth state to the root injector to prevent inconsistent auth sync across nested provider scopes.
📖 Documentation
- Document
injectQueries(),injectPrewarmQuery(),injectConvexConnectionState(), and paginated optimistic update helpers in both READMEs. - Add new frontend examples for multi-query subscriptions, connection state, prewarming queries, and paginated optimistic updates.
View changes on GitHub: v1.5.0...v1.6.0
v1.5.0
⚠️ Breaking Changes
- Change
injectQuery(),injectMutation(), andinjectAction()sodata()is typed asT | undefined, matching the existing initial, skipped, and reset runtime states.
🐛 Bug Fixes
- Make
injectMutation().mutate()andinjectAction().run()reject on failure after updating the reactive error state. - Ignore stale mutation and action completions so only the latest invocation updates reactive state.
📖 Documentation
- Document rejected promise behavior for
mutate()andrun()in both READMEs. - Document the corrected
data()typing in both READMEs.
View changes on GitHub: v1.4.0...v1.5.0
v1.4.0
✨ Features
- Rework
injectAuth()auth sync sostatus()stays loading until Convex confirms the current token with the backend. - Extend
ConvexAuthProviderwith optionalreauthVersionanderrorsignals, and update built-in Clerk/Auth0 integrations to wire auth sync throughprovideConvexAuth()automatically.
📖 Documentation
- Clarify
injectAuth()loading/authenticated/error semantics and document the optionalConvexAuthProviderreauth/error hooks in both READMEs.
View changes on GitHub: v1.3.0...v1.4.0
v1.3.0
✨ Features
- Add optional
injectRefsupport to all publicinject*helpers so they can be created outside the initial Angular injection context
📖 Documentation
- Document
injectRefusage for creating helpers outside the initial injection context.
View changes on GitHub: v1.2.0...v1.3.0
v1.2.0
⚠️ Breaking Changes
injectPaginatedQuery(...)now takes a plain options object,initialNumItemsacceptsnumber | Signal<number>, and the legacy() => optionsform was removed.
📖 Documentation
- Update README and JSDoc examples to use object-form
injectPaginatedQuery(...)options and signal-basedinitialNumItems.
View changes on GitHub: v1.1.0...v1.2.0
v1.1.0
✨ Features
- Enforce root-only Convex setup by validating
provideConvex(...)registrations and throwing on duplicate or nested provider scopes.
⚠️ Breaking Changes
provideConvex(...)now returnsEnvironmentProvidersand must be configured exactly once in root app providers.
📖 Documentation
- Clarify root-only
provideConvex(...)setup requirements in package and repository READMEs.
View changes on GitHub: v1.0.4...v1.1.0
v1.0.4
📖 Documentation
- Refresh README examples and fix inconsistencies (requirements note, safer
injectQuery, updated pagination/guard snippets, auth examples now useuseExisting, repo dev commands).
View changes on GitHub: v1.0.3...v1.0.4
v1.0.3
✨ Features
- Add
provideConvexAuthFromExisting(...)to wireCONVEX_AUTHto an existing injectable auth provider instance (avoids accidental duplicate instances)
📖 Documentation
- Update Custom Auth Provider examples to use
useExistingand warn thatuseClasscan create a second instance so auth signal changes won’t reach Convex auth sync - Add a
@convex-dev/authintegration snippet and clarify thatprovideConvexAuth()handlessetAuth/clearAuthautomatically whenisAuthenticatedchanges - Align JSDoc auth provider/token examples to prefer
useExisting
View changes on GitHub: v1.0.2...v1.0.3
v1.0.2
🐛 Bug Fixes
- Clear Convex auth when the provider is loading or unauthenticated to avoid stale tokens
- Auto-initialize auth sync when registering auth providers so queries refresh on sign-in/out
📖 Documentation
- Document automatic auth sync initialization and logout behavior
View changes on GitHub: v1.0.1...v1.0.2