Spotler SendPro 3.10.11 includes improvements for brute-force protection, Recipient API filter history, scheduling storage, API endpoint compatibility, service health checks, Java 11 build tooling, and several backend fixes. Most changes do not require user action; developers can optionally use the new Recipient API parameter and the preferred reschedule endpoint alias.
In this article you will learn more about:
Release overview
| Release item | Category | What changed | Why it matters | Action |
| Brute-force protection for shared IP environments | Improvement | Brute-force blocking now uses hashed combinations of username, password, and IP address instead of blocking only by IP address. | Users that share the same source or IP address are less likely to be affected by another user entering the same wrong credentials repeatedly. | No action required. |
| Recipient API filter history | Improvement | The Recipient API can return filter records that were removed in the past when ?include_removed=true is added to the request. |
Developers can diagnose recipient filter behaviour more accurately. | Optional action for API users. |
| Scheduling storage moved to S3 | Improvement | Scheduling data is now stored using S3. | Schedule-related operations are more reliable and consistent in distributed environments. | No action required. |
| Reschedule endpoint alias | Improvement | The reschedule endpoint now supports the snake_case endpoint alias reschedule_now. |
API naming is more consistent with other SendPro API calls. | Optional action for API users. |
| Health endpoint for Kubernetes health checks | Improvement | Services now include a status URL for health checks. | Health checks can confirm whether the service is running correctly. | No action required. |
| Java 11 build pipeline | Improvement | Build tooling has been updated for Java 11, including the Java 11 doclet API where needed. | The build process is better aligned with runtime and tooling requirements. | No action required. |
Highlighted changes
More useful brute-force protection for shared IP environments
What changed: Spotler SendPro now uses hashed combinations of username, password, and IP address to decide when brute-force protection should block an attempt. The system no longer blocks an entire shared IP address only because the same wrong credentials are retried repeatedly.
Who is this relevant for: This change is relevant for customers that use shared sources, shared IP environments, or integrations where many users or systems authenticate from the same source.
Why it matters: Users on the same source can continue using SMTP when another user or system repeatedly tries the same wrong credentials. SendPro still blocks behaviour that looks like password guessing, such as trying many different passwords for the same username.
Action: No action is required. Customers should not notice a changed lockout message, timing, or retry behaviour.
Recipient API can return removed filter records
What changed: The Recipient API can now return records for filters that previously contained a recipient when the request includes ?include_removed=true.
Who is this relevant for: This change is relevant for developers who use the Recipient API to inspect recipient selection behaviour or filter history.
Why it matters: Developers can see both the active filter record and past filter records for a recipient. Removed filter records can be identified by the expiresOn field.
Action: Optional action is available for API users. Add ?include_removed=true to GET /{account_id}/recipient/{recipient} when removed filter records must be included in the response.
Example request without removed records
GET /{account_id}/recipient/{recipient}Example request with removed records
GET /{account_id}/recipient/{recipient}?include_removed=trueExample response with removed records
{
"address": "recipient@example.com",
"filters": [
{
"id": "75122287",
"accountId": "5560",
"address": "recipient@example.com",
"reason": "Bounce",
"messageType": "EMAIL",
"date": "2026-05-27T09:49:22.000Z",
"expiresOn": "2026-05-27T09:49:58.000Z"
},
{
"id": "75132435",
"accountId": "5560",
"address": "recipient@example.com",
"reason": "Bounced again",
"messageType": "EMAIL",
"date": "2026-05-27T12:41:42.000Z"
}
],
"messageSummary": null
}Reschedule endpoint supports a snake_case alias
What changed: Spotler SendPro now supports POST /{account_id}/messages/{message_id}/reschedule_now as an alias for the existing reschedule endpoint.
Who is this relevant for: This change is relevant for developers who reschedule messages through the SendPro API.
Why it matters: The reschedule_now endpoint name is consistent with other API calls. Both endpoint variants are available, but reschedule_now is the preferred format for documentation and new implementations.
Action: Existing integrations that use rescheduleNow can continue to work. Developers can use reschedule_now for new implementations.
Available endpoint variants
POST /{account_id}/messages/{message_id}/rescheduleNow
POST /{account_id}/messages/{message_id}/reschedule_nowFull release notes
The following list contains the complete release notes for Spotler SendPro 3.10.11.
Highlighted release notes
-
More useful brute-force protection for shared IP environments
Brute-force protection now reduces unnecessary lockouts in shared IP environments while still protecting against password guessing. -
Recipient API can return removed filter records
The Recipient API can now include past filter records when?include_removed=trueis added to the request. -
Reschedule endpoint supports a snake_case alias
The SendPro API now supportsreschedule_nowas the preferred endpoint format for rescheduling a message.
Improvements
-
Scheduling storage
Scheduling data is now stored using S3. This improves reliability and consistency for schedule-related operations and does not change customer-visible scheduling behaviour. Existing scheduled items require no customer action. -
Service health checks
Services now include a status URL intended for Kubernetes health checks. The endpoint focuses on confirming that the service is running correctly, such as whether the Spring context and consumers have started. -
Java 11 build tooling
Build tooling has been updated to align with Java 11 requirements, including use of the Java 11 doclet API in the API doclet where needed.
Bug fixes
-
Online version link consistency
Fixed an issue where the online version URL could differ between archived messages and retried or resent message flows. The fix applies to newly resent messages. -
PDF template conversion diagnostics
Improved error handling and diagnostics for PDF conversion failures caused by external resources, such as image URLs with SSL or certificate issues. This makes it easier to identify the resource that causes a PDF template conversion to fail. -
Duplicate message detection reliability
Improved backend duplicate message detection logic for error scenarios involving duplicate detection checks. This change improves backend reliability and does not introduce a customer-facing duplicate-send block. -
Data Cache API PUT reliability
Fixed an issue where updating a Data Cache source through PUT could fail with a 500 Internal Server Error caused by an unsupported list operation during mapping. This change only affects the failed error scenario and does not change the PUT request or response structure.
Summary
Spotler SendPro 3.10.11 improves shared-IP brute-force protection, Recipient API filter history, scheduling storage, reschedule endpoint compatibility, service health checks, and Java 11 build tooling. The release also fixes issues related to online version links, PDF template diagnostics, duplicate message detection reliability, and Data Cache API PUT updates. Most changes require no action; API users can optionally use ?include_removed=true for recipient filter history and reschedule_now for the reschedule endpoint.