21 KiB
@hanzo/convex
2.0.6
Patch Changes
- Updated dependencies []:
2.0.5
Patch Changes
- Updated dependencies []:
2.0.4
Patch Changes
2.0.3
Patch Changes
- Updated dependencies []:
2.0.2
Patch Changes
- Updated dependencies [
d9ad199]:
2.0.1
Patch Changes
-
#3684
714ffa5Thanks @richardsolomou! - Fix the refresh cron not registering whenINSIGHTS_PERSONAL_API_KEYis forwarded from the installing app. Convex only forwards component env vars at runtime, so the previous load-time gate saw an empty value during deploy-time module analysis and silently dropped the cron. The cron now registers unconditionally and gates at runtime.Fixes #3683. (2026-05-28)
-
Updated dependencies [
7b84b75]:
2.0.0
Major Changes
-
#3662
4285c40Thanks @richardsolomou! - v2 moves credentials onto the component via Convex 1.39's typed env-var config, bundles the flag-definitions refresh cron inside the component, and renamesINSIGHTS_API_KEY→INSIGHTS_PROJECT_TOKEN.Breaking changes:
- Requires Convex
^1.39.0(peer dependency bumped). INSIGHTS_API_KEYenv var renamed toINSIGHTS_PROJECT_TOKEN, to clearly differentiate the project token (phc_…) fromINSIGHTS_PERSONAL_API_KEY(phx_…/phs_…).INSIGHTS_PROJECT_TOKENis now required at deploy time (Convex env validation enforces it); v1 silently no-op'd missing-token event sends at runtime.apiKey,host, andpersonalApiKeyno longer accepted on theInsightsclient constructor — declare them as env vars on the component instead.apiKeyandhostare no longer arguments to the component's actions (capture,identify,evaluateFlag, etc.).refreshFlagDefinitionsno longer takes any arguments.- The refresh cron is now registered inside the component and only fires when
INSIGHTS_PERSONAL_API_KEYis set — delete any app-levelconvex/crons.tsthat existed only to refresh Insights flags. insights.refreshFlagDefinitions(ctx)renamed toinsights.reloadFeatureFlags(ctx)for parity withinsights-node.- Local-eval methods (
getFeatureFlag,isFeatureEnabled, etc.) now throw whenINSIGHTS_PERSONAL_API_KEYisn't configured, pointing callers at the remoteevaluateFlagmethods. They still returnundefinedduring the warm-up window when PAK is set but the cron hasn't fetched yet. - New optional
INSIGHTS_FLAGS_POLLING_INTERVAL_SECONDSenv var lets you tune the cron cadence (default 60 seconds). Raise it on free-tier dev deployments to reduce function-call usage.
See the migration guide in the README for the full diff. (2026-05-27)
- Requires Convex
1.0.10
Patch Changes
- Updated dependencies []:
1.0.9
Patch Changes
- Updated dependencies []:
1.0.8
Patch Changes
- Updated dependencies [
5568f12]:
1.0.7
Patch Changes
- Updated dependencies [
5d7a2d3]:
1.0.6
Patch Changes
- Updated dependencies [
c806cca]:
1.0.5
Patch Changes
- Updated dependencies [
18ea8b5]:
1.0.4
Patch Changes
- Updated dependencies [
f42f371]:
1.0.3
Patch Changes
- Updated dependencies []:
1.0.2
Patch Changes
- Updated dependencies [
12ef3f6]:
1.0.1
Patch Changes
- Updated dependencies [
a880dbc]:
1.0.0
Major Changes
-
#3622
a1a668eThanks @richardsolomou! - Feature flags are now evaluated locally in the Convex runtime instead of via a per-call action to Insights. Your app schedules a cron that callsinsights.refreshFlagDefinitions(ctx)on whatever interval suits you; the component fetches/flags/definitions, caches the result in a Convex table, and feature flag methods read from that cache and evaluate flags in-process. Methods work in queries (not just actions) and benefit from Convex's reactivity — a query reading a flag re-runs automatically when definitions change.Setup: pass the keys through
new Insights(components.insights, { apiKey, personalApiKey, host })in yourconvex/insights.ts. Convex components run in an isolated env namespace, so the client captures the keys at construction time and forwards them to the component whenrefreshFlagDefinitions(ctx)is called. Add aconvex/crons.tsthat schedulesinsights.refreshFlagDefinitions(ctx)— see the README for the exact shape.Two evaluation paths in this release. Pick the one that fits the flag:
- Local (
getFeatureFlag,isFeatureEnabled,getFeatureFlagPayload,getFeatureFlagResult,getAllFlags,getAllFlagsAndPayloads) — query/mutation/action context, no per-call round trip, reactive. RequirespersonalApiKey. Returnsnull/undefinedwhen local eval can't reach a verdict (experience continuity, static cohorts, theis_not_setoperator, or properties you don't pass in). - Remote (
evaluateFlag,evaluateFlagPayload,evaluateAllFlags) — action context only. Hits Insights's/flagsendpoint directly viainsights-node'sevaluateFlags. NopersonalApiKeyneeded. Handles every flag.
Breaking changes in this major release:
- Feature flag methods (
getFeatureFlag,isFeatureEnabled,getFeatureFlagPayload,getFeatureFlagResult,getAllFlags,getAllFlagsAndPayloads) now accept any context withrunQuery(queries, mutations, or actions) instead of requiring an action context. - Methods return
undefined(or empty objects for the all-flags methods) when local evaluation can't reach a verdict. They no longer fall back to a server/flagsrequest. - The
sendFeatureFlagEventsoption has been removed; with local evaluation there is no server-side/flagscall to emit those events. - The component now declares a
flagDefinitionstable — re-deploy the component to apply the schema change. - The component no longer ships its own cron. Consumers schedule the refresh themselves via
convex/crons.ts, which makes the polling interval explicit and gives the parent app's env vars a way to reach the action. (2026-05-19)
- Local (
Patch Changes
- Updated dependencies [
e119eec]:
0.2.33
Patch Changes
- Updated dependencies []:
0.2.32
Patch Changes
- Updated dependencies []:
0.2.31
Patch Changes
- Updated dependencies []:
0.2.30
Patch Changes
- Updated dependencies []:
0.2.29
Patch Changes
- Updated dependencies [
4b895bf]:
0.2.28
Patch Changes
- Updated dependencies [
ad60818]:
0.2.27
Patch Changes
- Updated dependencies [
223d925]:
0.2.26
Patch Changes
- Updated dependencies []:
0.2.25
Patch Changes
- Updated dependencies []:
0.2.24
Patch Changes
- Updated dependencies []:
0.2.23
Patch Changes
- Updated dependencies []:
0.2.22
Patch Changes
0.2.21
Patch Changes
- Updated dependencies [
8aee3d5]:
0.2.20
Patch Changes
- Updated dependencies [
f8bc02f]:
0.2.19
Patch Changes
0.2.18
Patch Changes
- Updated dependencies [
70ba8f8]:
0.2.17
Patch Changes
- Updated dependencies [
974e4b2]:
0.2.16
Patch Changes
- Updated dependencies []:
0.2.15
Patch Changes
- Updated dependencies []:
0.2.14
Patch Changes
- Updated dependencies []:
0.2.13
Patch Changes
- Updated dependencies []:
0.2.12
Patch Changes
- Updated dependencies [
70508df]:
0.2.11
Patch Changes
- Updated dependencies []:
0.2.10
Patch Changes
- Updated dependencies []:
0.2.9
Patch Changes
- Updated dependencies [
daf028d]:
0.2.8
Patch Changes
- Updated dependencies [
eadbcd7]:
0.2.7
Patch Changes
- Updated dependencies [
96f19b7]:
0.2.6
Patch Changes
- Updated dependencies [
1a8b727]:
0.2.5
Patch Changes
- Updated dependencies [
922a1c1]:
0.2.4
Patch Changes
- Updated dependencies [
b26c57c]:
0.2.3
Patch Changes
- #3426
1a0b58dThanks @marandaneto! - Trim surrounding whitespace from user-provided API keys, personal API keys, and host config values before using them. (2026-04-21) - Updated dependencies [
1a0b58d]:
0.2.2
Patch Changes
- Updated dependencies [
c735b08]:
0.2.1
Patch Changes
- Updated dependencies [
57ee5b2]:
0.2.0
Minor Changes
- #3302
fc5589fThanks @dmarticus! - preserve $set_once semantics in local flag evaluation cache (2026-04-07)
Patch Changes
- Updated dependencies [
fc5589f]:
0.1.19
Patch Changes
- Updated dependencies [
a01a3d5]:
0.1.18
Patch Changes
- #3309
197eedaThanks @marandaneto! - Extract CLI and sourcemap utilities from @insights/core into @insights/plugin-utils to remove cross-spawn from React Native dependencies (2026-04-01) - Updated dependencies [
197eeda]:
0.1.17
Patch Changes
- Updated dependencies [
a863914]:
0.1.16
Patch Changes
- Updated dependencies [
4bdfdbc]:
0.1.15
Patch Changes
- Updated dependencies [
8d34289]:
0.1.14
Patch Changes
- Updated dependencies [
5784dca]:
0.1.13
Patch Changes
- Updated dependencies [
314120a]:
0.1.12
Patch Changes
- Updated dependencies [
9cd2313]:
0.1.11
Patch Changes
- Updated dependencies [
697e423]:
0.1.10
Patch Changes
0.1.9
Patch Changes
- #3226
a8ca323Thanks @richardsolomou! - fix: support $-prefixed property keys (e.g. $ai_model, $set) by JSON-serializing properties before passing through Convex's value system (2026-03-11) - Updated dependencies [
4009c15]:
0.1.8
Patch Changes
- Updated dependencies [
33e9fb4]:
0.1.7
Patch Changes
- Updated dependencies [
4601bbc]:
0.1.6
Patch Changes
- Updated dependencies [
2eff595]:
0.1.5
Patch Changes
- Updated dependencies [
5e8d5fc]:
0.1.4
Patch Changes
- Updated dependencies [
0dc03b0]:
0.1.3
Patch Changes
0.1.2
Patch Changes
- Updated dependencies [
301e75a]:
0.1.1
Patch Changes
- #3111
cb4351aThanks @richardsolomou! - Initial release of @hanzo/convex - Insights analytics integration for Convex (2026-02-18) - Updated dependencies [
9dbc05e]:
0.1.0
Minor Changes
- #3110
7a858f7Thanks @richardsolomou! - Initial release of @hanzo/convex - Insights analytics integration for Convex (2026-02-17)
0.1.0
Minor Changes
- #3077
25ea963Thanks @richardsolomou! - Initial release of @hanzo/convex - Insights analytics integration for Convex (2026-02-17)
Patch Changes
- Updated dependencies [
e962f01]: