> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK changelog

> Changelog for Waffo Node.js, Java, and Go SDK releases.

## Node.js SDK (@waffo/waffo-node)

<Steps>
  <Step title="v2.4.0 (2026-03-14) — Latest">
    * Type alignment: all SDK type fields are consistent with the openapi.json definitions
    * Fixed endpoint paths for `merchantConfig` and `payMethodConfig`
    * Added the `captureRequestedAt` field to `CaptureOrderParams`
    * Added the `captureMode` field to `PaymentInfo`
    * Added Capture E2E tests and Schema field validation tests
  </Step>

  <Step title="v2.3.4 (2026-03-10)">
    * Made `RefundOrderParams.requestedAt` optional; the SDK will automatically inject the current UTC time
  </Step>

  <Step title="v2.3.3 (2026-03-03)">
    * Fixed `RefundOrderParams` field names and types to align with openapi.json
    * Renamed `notifyUrl` to `refundNotifyUrl`
    * Added refund Webhook E2E tests
  </Step>

  <Step title="v2.3.2 (2026-03-02)">
    * Added handling for the `SUBSCRIPTION_CHANGE_NOTIFICATION` Webhook event
  </Step>

  <Step title="v2.3.1 (2026-03-01)">
    * **Important fix**: `buildSuccessResponse()` returns `{"message":"success"}` instead of `{"status":"success"}`
  </Step>

  <Step title="v2.3.0 (2026-02-24)">
    * Automatically inject timestamps: when not provided, `orderRequestedAt` and `requestedAt` will be set automatically
  </Step>
</Steps>

***

## Java SDK (waffo-java)

<Steps>
  <Step title="v1.2.0 (2026-03-14) — Latest">
    * Type alignment: all SDK type fields are consistent with the openapi.json definitions
    * Fixed Java 8 compatibility issues
    * Added Capture E2E tests and Schema field validation tests
  </Step>

  <Step title="v1.1.2 (2026-03-10)">
    * Automatically inject `RefundOrderParams.requestedAt`
    * Added `SUBSCRIPTION_CHANGE_NOTIFICATION` Webhook handling
    * Fixed `RefundOrderParams` field alignment issues
  </Step>

  <Step title="v1.1.1 (2026-03-01)">
    * **Important fix**: `buildSuccessResponse()` returns `{"message":"success"}` instead of `{"status":"SUCCESS"}`
  </Step>

  <Step title="v1.1.0 (2026-02-24)">
    * Automatically inject timestamps
    * Changed `CancelOrderParams.orderRequestedAt` type from String to Instant
  </Step>
</Steps>

***

## Go SDK (waffo-go)

<Steps>
  <Step title="v1.3.1 (2026-03-16) — Latest">
    * Fixed Go module proxy cache issues
  </Step>

  <Step title="v1.3.0 (2026-03-14)">
    * Type alignment: all SDK type fields are consistent with the openapi.json definitions
    * Fixed endpoint paths for `merchantConfig` and `payMethodConfig`
    * Added `RefundStatus`, `OrderStatus`, and `SubscriptionStatus` constants
    * Added Capture E2E tests and Schema field validation tests
  </Step>

  <Step title="v1.2.2 (2026-03-03)">
    * Fixed `RefundOrderParams` fields to align with openapi.json
    * Added refund Webhook E2E tests
  </Step>

  <Step title="v1.2.1 (2026-03-01)">
    * **Important fix**: `BuildSuccessResponse()` returns `{"message":"success"}` instead of `{"status":"success"}`
  </Step>

  <Step title="v1.2.0 (2026-02-24)">
    * Automatically inject timestamps
  </Step>
</Steps>
