Skip to content

Tags: grab/superapp-sdk

Tags

v2.0.0-beta.57

Toggle v2.0.0-beta.57's commit message
_Demo apps demonstrate per-user visit tracking with `StorageModule`._


### Added

- Visit counter in CDN and React demos, displayed on the home page after sign-in.

### Changed

- React demo: `@grabjs/superapp-sdk` `^2.0.0-beta.38` → `^2.0.0-beta.56`.

v2.0.0-beta.56

Toggle v2.0.0-beta.56's commit message
_Refines public API typings by removing redundant no-content result a…

…liases and tightening method/type documentation._


### Added

- Expanded inline parameter descriptions to improve API clarity.

### Changed

- Consolidated module method/type docs with explicit `status_code` outcomes and simplified request descriptions across updated modules.

### Fixed

- Reduced ambiguity in no-content API contracts by standardizing on response types instead of separate `*Result = void` aliases.

### Removed

- Removed redundant no-content `*Result` aliases from public exports and module types.

v2.0.0-beta.55

Toggle v2.0.0-beta.55's commit message
_Strengthens module type/schema contracts and trims schema exports fr…

…om the public API surface._


### Added

- Explicit, SDK-native type aliases across module request/response/result contracts.

### Changed

- Annotated module Valibot schemas with `v.GenericSchema<...>` to align runtime schema definitions with exported TypeScript types.

### Fixed

- Improved type consistency between schemas and module contracts to reduce inferred-type drift.

### Removed

- Removed public re-exports of `*Schema` symbols from module `index.ts` files and the root `src/index.ts`.

v2.0.0-beta.54

Toggle v2.0.0-beta.54's commit message
_Aligns core response contracts with explicit SDK naming and stricter…

… status-code guards._


### Added

- Added explicit core response/status types: `SDKOkResponse`, `SDKNoContentResponse`, `SDKRedirectResponse`, `SDKErrorResponse`, and `SDKErrorStatusCode`.

### Changed

- Renamed public core contracts from `Bridge*`/`InvokeOptions` to `SDK*`/`ModuleInvokeOptions` across exports, modules, and docs.
- Updated core response schemas from `bridge*Schema` naming to `sdk*ResponseSchema` naming.
- Narrowed type guards (`isSuccess`, `isClientError`, `isServerError`, `isError`) to explicit supported status codes instead of open ranges.

### Fixed

- Updated guard tests and documentation examples to match the stricter status-code behavior.

### Removed

- Removed legacy `BridgeResponse`, `BridgeStream`, and `BridgeStreamHandlers` API docs in favor of `SDKResponse`, `SDKStream`, and `SDKStreamHandlers`.

v2.0.0-beta.53

Toggle v2.0.0-beta.53's commit message
_Improves API docs organization with explicit groups/categories and s…

…implified TypeDoc plugins._


### Added

- Added `@category` support in TSDoc config and applied category/group annotations across exported modules, types, and schemas.

### Changed

- Reorganized TypeDoc output ordering (groups/categories) for HTML, API JSON, and Markdown builds.

### Removed

- Removed `typedoc-plugin-valibot` from documentation build plugins and dev dependencies.

v2.0.0-beta.51

Toggle v2.0.0-beta.51's commit message
_Bump eSIM minimum Grab app to 5.409.0; Slack release posts use an in…

…-channel header with changelog in a thread._


### Changed

- `DeviceModule.isEsimSupported`: `MINIMUM_VERSION` set to Grab app **5.409.0** (was 5.402.0).
- `scripts/notify-slack.mjs`: release posts a short header in-channel; formatted changelog and doc links go in a thread reply (context line points readers to the thread).

v2.0.0-beta.50

Toggle v2.0.0-beta.50's commit message
### Changed


- `IdentityModule.authorize`: `200` responses now include the PKCE artifacts (`codeVerifier`, `nonce`, `redirectUri`) in `result` alongside `code` and `state`, so callers no longer need to call `getAuthorizationArtifacts()` after a successful in_place flow. Storage writes are unchanged, so `getAuthorizationArtifacts()` remains available as a fallback.

v2.0.0-beta.49

Toggle v2.0.0-beta.49's commit message
### Changed


- `DeviceModule.isEsimSupported`: client-side minimum Grab app **5.402.0** (`DeviceModule.MINIMUM_VERSION`); below that returns `426` without invoking the bridge; types and Valibot schema accept `403`, `424`, and `426`; JSDoc notes `mobile.device` scope and error-handling example

v2.0.0-beta.48

Toggle v2.0.0-beta.48's commit message
### Added


- `204` responses for storage `get*` methods when the key has no value (after normalizing raw bridge payloads)
- Validation and warnings for unexpected raw bridge shapes on storage reads

### Changed

- Storage `getBoolean`, `getInt`, `getString`, and `getDouble` expose `result` as the scalar value (not `{ value: … }`); empty keys for `get*` and `remove` return `400` without calling the bridge
- Empty keys for `setBoolean`, `setInt`, `setString`, and `setDouble` return `400` without calling the bridge (same client-side validation pattern as `get*` and `remove`)

### Removed

- `{ value }` wrapper on successful storage read results

v2.0.0-beta.47

Toggle v2.0.0-beta.47's commit message
### Added


- New "Scopes and Permissions" section in Core Concepts guide explaining Backend vs. Mobile scopes
- Authentication and initialization flow examples in Integration Guide

### Changed

- Refined Core Concepts guide with improved type guard and stream documentation
- Simplified Integration Guide with consolidated analytics and checkout examples
- Demo applications (CDN and React) updated with improved error handling and direct status code checks
- Security documentation in demo apps updated to emphasize backend token exchange requirements
- Analytics documentation updated to use `ContainerAnalyticsEventState` constants

### Fixed

- Coordinate property access in demo applications