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

# Viewing Recent Changelogs

> SendLayer API updates

<Update label="March 16, 2026" description="v1.0.0">
  ### Golang SDK

  Major v1 release with a revamped, struct-based request API across Email, Events, and Webhooks.

  #### Summary

  * Revamped email sending to use `SendEmailRequest` instead of positional arguments.
  * Aligned events querying and webhook creation with `GetEventsRequest` and `WebhookCreateRequest`.

  #### Details

  **Email**

  * Added `SendEmailRequest` with `From`, `To`, `Subject`, `Text`, `Html`, `Cc`, `Bcc`, `ReplyTo`, `Attachments`, `Headers`, and `Tags`.
  * Updated `EmailsService.Send` signature to `Send(req *SendEmailRequest) (*EmailResponse, error)`.

  **Events**

  * Added `GetEventsRequest` with `StartDate`, `EndDate`, `Event`, `MessageID`, `StartFrom`, and `RetrieveCount`.
  * Updated `EventsService.Get` signature to `Get(req *GetEventsRequest) (*EventsResponse, error)`.
  * All fields are optional; `nil` means no filters (`GET /events`).

  **Webhooks**

  * Reused `WebhookCreateRequest` as the user-facing create payload.
  * Updated `WebhooksService.Create` signature to `Create(req *WebhookCreateRequest) (*WebhookCreateResponse, error)`.

  #### Breaking Changes

  * `EmailsService.Send` no longer supports the old 12-argument signature.
  * `EventsService.Get` and `WebhooksService.Create` now require struct-based request payloads.
  * Existing integrations must migrate to request structs.

  #### Migration Example

  **Before**

  ```go theme={null}
  func main() {
  	sl := sendlayer.New(os.Getenv("SENDLAYER_API_KEY"))

  	resp, err := sl.Emails.Send(
  		"paulie@example.com",
  		"recipient@example.com",
  		"Test Email",
  		"This is a test email",
  		"",
  		nil, nil, nil,
  		nil, nil, nil,
  	)
  	if err != nil {
  		log.Fatal(err)
  	}

  	fmt.Println("Email sent! Message ID:", resp.MessageID)
  }
  ```

  **After**

  ```go theme={null}
  func main() {
  	sl := sendlayer.New(os.Getenv("SENDLAYER_API_KEY"))

  	resp, err := sl.Emails.Send(&sendlayer.SendEmailRequest{
  		From:    "paulie@example.com",
  		To:      "recipient@example.com",
  		Subject: "Test Email",
  		Text:    "This is a test email",
  	})
  	if err != nil {
  		log.Fatal(err)
  	}

  	fmt.Println("Email sent! Message ID:", resp.MessageID)
  }
  ```
</Update>

<Update label="January 15, 2026" description="v1.0.0">
  ### MCP Server

  Released a MCP server for AI tools like Cursor and Claude to send emails and manage webhooks/events.
</Update>

<Update label="December 12, 2025" description="v1.0.2">
  ### Node.js SDK

  Fixed TypeScript declarations resolution by pointing `"types"` to `"./dist"`.
</Update>

<Update label="October 9, 2025" description="v1.0.0">
  ### Ruby SDK

  Released a RubyGems client SDK for Ruby developers to integrate with SendLayer's API.
</Update>

<Update label="October 9, 2025" description="v0.1.0">
  ### Go SDK

  Released a client SDK for Golang developers to integrate with SendLayer's API.
</Update>

<Update label="August 28, 2025" description="v1.0.0">
  ### PHP SDK

  Released a client SDK for PHP developers to integrate with SendLayer's API.
</Update>

<Update label="June 26, 2025" description="v1.0.0">
  ### Node.js SDK

  Released a client SDK for JavaScript developers to integrate with SendLayer's API.
</Update>

<Update label="June 26, 2025" description="v1.0.0">
  ### Python SDK

  Released a client SDK for Python developers to integrate the API.
</Update>
