> For the complete documentation index, see [llms.txt](https://docs.skypaybd.top/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.skypaybd.top/system-and-devices/changelog.md).

# Changelog

SkyPay follows [Semantic Versioning (SemVer 2.0.0)](https://semver.org/). API releases are numbered in the format `vMAJOR.MINOR.PATCH`:

* **MAJOR**: Incompatible API changes, deprecated endpoints, or structural schema overhauls.
* **MINOR**: Backward-compatible new features, additional payment channels, or expanded telemetry fields.
* **PATCH**: Backward-compatible bug fixes, performance optimizations, and security patches.

***

## Release History

### v2.2.0 — October 2026 (Current Stable)

**Added**:

* **Multi-Device Telemetry Endpoint (`/api/v2/device/status`)**: Query operational states, battery percentages, and downtime formatting across multiple Android relay devices using comma-separated keys.
* **HMAC-SHA256 Webhook Signatures**: Outgoing instant payment notifications now include the `X-SkyPay-Signature` header for cryptographic origin verification and tamper prevention.
* **BSC Node Multi-Provider Failover**: Decentralized BEP20 USDT transaction verification now queries secondary RPC nodes (Ankr, QuickNode) if the primary public BSC node times out.

**Changed**:

* Standardized `last_active` interval outputs (`now`, `Xm`, `Xh`, `Xd`, `Xw`, `Xmo`, `Xy`).
* Expanded Headless verification aliases (`tx_hash`, `mobile_number`, `order_id`).

***

### v2.1.0 — July 2026

**Added**:

* **Programmatic SMS Gateway API (`/api/v2/gateway/send`)**: Dispatch real outbound SMS messages via connected merchant Android relay hardware.
* **Unicode & Bangla SMS Encoding**: Full native support for Bangla character sets and multi-part SMS messages.
* **FCM HTTP v1 Migration**: Upgraded internal push dispatching to OAuth2 JWT Google Service Account credentials for sub-second wakeups.

**Fixed**:

* Resolved race condition in concurrent SMS queue dispatching when multiple client threads submit pings simultaneously.

***

### v2.0.0 — March 2026 (Major Release)

**Added**:

* **Headless In-App API (`/api/v2/payment/create` & `/api/v2/payment/verify`)**: 100% white-label API architecture for Flutter, React Native, iOS, Android, and Telegram bots.
* **Bangla QR Interoperability**: Automatic reconciliation of merchant QR push notifications via sender MSISDN matching.
* **BEP20 USDT Smart Contract Engine**: Automatic on-chain reconciliation of Binance Smart Chain USDT transfers using EVM transaction hashes.
* **Binance Pay Direct Integration**: Authenticated server-to-server Binance Open API settlement.

**Deprecated**:

* Query parameter authentication (`?api_key=...`) deprecated in favor of HTTP headers (`BRAND-KEY`).

***

### v1.2.0 — November 2025

**Added**:

* **Custom Metadata Support**: Merchants can attach arbitrary JSON objects (`meta_data`) during payment session initialization.
* **Customer Profile Auto-Fill**: Hosted checkout supports `cus_name` and `cus_email` parameters to pre-fill invoice contact fields.
* **Automated Webhook Callbacks**: Automatic HTTP POST delivery on hosted payment execution.

***

### v1.0.0 — January 2025 (Initial Release)

**Added**:

* Launch of SkyPay Core Hosted Checkout Gateway (`/api/payment/create`, `/api/execute/{id}`, `/api/payment/verify`).
* Direct automated verification for bKash and Nagad personal accounts via Android SMS relay bridge.
* WooCommerce and WHMCS payment gateway plugins.

***

## Migration Guide: Migrating from v1 Hosted to v2 Headless

If your application currently uses Hosted Checkout (v1) and you want to build custom, in-app checkout screens without browser redirection, follow these migration steps:

### 1. Update Session Creation Endpoint

* **Old Endpoint**: `POST https://core.skypaybd.top/api/payment/create`
* **New Endpoint**: `POST https://core.skypaybd.top/api/v2/payment/create`

### 2. Update Request Parameters

Remove `success_url` and `cancel_url` from your payload (these are not needed in headless mode). Supply `cus_name`, `amount`, and optional `meta_data`.

### 3. Handle Method Arrays

Instead of receiving a `payment_url`, your client application will receive an array of active `methods`:

```json
{
  "id": "ids_98fbc102e4aa",
  "methods": [
    { "name": "bkash", "personal": "017XXXXXXXX" },
    { "name": "binance", "amount_usdt": 19.2 }
  ]
}
```

Render these payment options natively within your mobile app or chatbot UI.

### 4. Direct Client Verification

When the customer submits their transaction proof, submit it directly to `/api/v2/payment/verify`:

```json
{
  "id": "ids_98fbc102e4aa",
  "method": "bkash",
  "transaction_id": "CKL48A9D01"
}
```

***

## 5. Next Steps

Learn how to deploy and synchronize these documentation files with GitBook and GitHub:

* [← Previous: Error Reference](/system-and-devices/error-codes.md)
* [Next: Deployment & GitBook Sync →](/deployment-and-setup/deployment.md)
