Skip to content

v4.9.0-alpha.1 - Beta Modules (Alpha Release)

Pre-release
Pre-release

Choose a tag to compare

@kewynakshlley kewynakshlley released this 30 Oct 00:37
· 73 commits to main since this release

v4.9.0-alpha.1 - Beta Modules (Alpha Release)

⚠️ This is an alpha release. These APIs are subject to change.

What's New

This alpha release includes four new beta modules for early testing and feedback.

✨ Templates Module (Beta)

Manage email templates programmatically:

Resend resend = new Resend("re_...");

// Create template
CreateTemplateOptions options = CreateTemplateOptions.builder()
    .name("Welcome Email")
    .html("<h1>Welcome {{name}}!</h1>")
    .build();
resend.templates().create(options);

// Get template
resend.templates().get("template_id");

// List templates
resend.templates().list();

// Update template
resend.templates().update("template_id", updateOptions);

// Delete template
resend.templates().remove("template_id");

✨ Topics Module (Beta)

Manage subscription topics:

Resend resend = new Resend("re_...");

// Create topic
CreateTopicOptions options = CreateTopicOptions.builder()
    .name("Product Updates")
    .description("Latest product news")
    .build();
resend.topics().create(options);

// Get topic
resend.topics().get("topic_id");

// List topics
resend.topics().list();

// Update topic
resend.topics().update("topic_id", updateOptions);

// Remove topic
resend.topics().remove("topic_id");

✨ Inbound Emails (Beta)

Receive and process inbound emails:

Resend resend = new Resend("re_...");

// List received emails
ListReceivedEmailsResponse emails = resend.receiving().list();

// Get received email
ReceivedEmail email = resend.receiving().get("email_id");

// Get attachment
Attachment attachment = resend.receiving().getAttachment("email_id", "attachment_id");

// List attachments
List<Attachment> attachments = resend.receiving().listAttachments("email_id");

✨ Webhooks Module (Beta)

Manage and verify webhooks (also available in stable v4.8.0):

Resend resend = new Resend("re_...");

// Create webhook
CreateWebhookOptions options = CreateWebhookOptions.builder()
    .url("https://example.com/webhook")
    .events(WebhookEvent.EMAIL_SENT, WebhookEvent.EMAIL_DELIVERED)
    .build();
resend.webhooks().create(options);

// Verify webhook signature
VerifyWebhookOptions verifyOptions = VerifyWebhookOptions.builder()
    .payload(requestBody)
    .signature(signatureHeader)
    .secret(webhookSecret)
    .build();
resend.webhooks().verify(verifyOptions);

// List, get, update, remove webhooks
resend.webhooks().list();
resend.webhooks().get("webhook_id");
resend.webhooks().update("webhook_id", updateOptions);
resend.webhooks().remove("webhook_id");

Installation

Add this dependency to your project:

Maven:

<dependency>
    <groupId>com.resend</groupId>
    <artifactId>resend-java</artifactId>
    <version>4.9.0-alpha.1</version>
</dependency>

Gradle:

implementation 'com.resend:resend-java:4.9.0-alpha.1'

Important Notes

  • ⚠️ Alpha Release: These APIs are in active development and may have breaking changes
  • 🔒 Not for Production: Use stable v4.8.0 for production environments
  • 📝 Feedback Welcome: Please report any issues or suggestions

Commits

  • 0d912e8 feat: Implement templates module (beta) (#63)
  • 1ea3155 feat: Implement topics module (beta) (#64)
  • 464efd7 feat: Inbound emails (beta) (#65)
  • e2289d1 feat: Implement Webhooks module (beta) (#62)

Full Changelog

v4.8.0...v4.9.0-alpha.1