Release notes for the JavaScript SDK (Documentation Index
Fetch the complete documentation index at: https://docs.trygravity.ai/llms.txt
Use this file to discover all available pages before exploring further.
@gravity-ai/api / @gravity-ai/react) and the Gravity pixel (gr-pix.js). Entries are publisher-facing — they describe behavior and integration changes, not internal refactors. Latest first.
Upgrading is always a drop-in replacement —
npm install @gravity-ai/api@latest and redeploy. We don’t ship breaking changes to the SDK surface on minor/patch bumps.Pixel and SDK now auto-wire end to end. If both are loaded on the page, the SDK pulls four values off
Caller-supplied values always win, so existing code that explicitly passes Related docs: Pixel · Request ads · Experiments
window.gravityPixel automatically on every gravityContext() call — no glue code.| Pixel method | Flows into | Why you care |
|---|---|---|
getVisitorId() | user.gruid | Stable first-party visitor ID — used for attribution and higher-value auctions |
getSessionId() | Top-level sessionId | You can drop your own sessionId parameter; the pixel’s 30-min rolling session ID is used unless you pass one explicitly |
getClickId() | user.grclid | Inbound Gravity click ID when a user arrives from a Gravity ad — surfaces in engine_events.request_context.user.grclid for attribution reporting |
getGraid() | user.graid | Inbound ad identifier, same attribution path |
sessionId keeps working unchanged.What to do: upgrade to 1.1.7, confirm the pixel is installed (install guide), optionally drop your own sessionId plumbing. If you’re not running experiments yet, this is a good checkpoint to start — see Experiments.PII auto-hashing for attribution. The SDK now hashes emails/phone numbers client-side (SHA-256, normalized) before they reach the wire, and the pixel’s
gruid is surfaced safely through the SDK so dashboards can attribute conversions without publishers having to think about privacy plumbing.No integration changes required — this shipped as internal hardening. Advertiser-side match rates go up, you don’t have to do anything.Ad composition experimentation framework. The SDK and engine now support A/B testing different ad compositions (which props the server sends, which layout the client renders) on a per-request basis, controlled from the Gravity dashboard.If you want to run UI variants without shipping code — try different CTA copy, card vs. pill layouts, inline vs. below-response placements — this is the unlock. Start at Experiments.
Bucket of bug fixes and polish:
- Fixed hardcoded
status: 200ingravityAdssuccess path - Fixed
setAdhover cleanup and prop-spread order ingravityContext - Fixed Windows URL injection and a timeout
0falsy-check bug - Swallowed
execFileerrors inopenUrlto avoid crashing host apps - Deprecated the legacy
Client+AdParamsAPI in favor ofGravity+gravityContext
1.1.0+ you’ve got these already. If you’re still on 1.0.x, upgrade when convenient — none of these are security-critical but the DX is materially better.Pre-
1.1.x history is available as version tarballs on npm: @gravity-ai/api versions · @gravity-ai/react versions. The short version: 0.0.x → 0.1.x → 1.0.0 covered the initial public API, ad card + impression logic, the publisher playground, and the first round of @gravity-ai/react templates. If you’re still pinned anywhere in this range, upgrade straight to latest — the API surface is stable across the 1.x line.How versions ship
@gravity-ai/apiand@gravity-ai/reactare versioned independently. Most publishers only need@gravity-ai/api;@gravity-ai/reactis a thin wrapper with pre-built components.lateston npm always reflects the newest stable release. We do not ship breaking changes to published APIs on1.xminor/patch bumps.- The pixel (
gr-pix.js) is served fromhttps://code.trygravity.ai/gr-pix.jsand updates in place — you don’t pin a version, you always get the current build. Changes are backwards-compatible.
Questions or issues?
- Integration help — see Integration guide or email support@trygravity.ai.
- Experiment setup — see Experiments.
- Going live checklist — see Going live.