# Send reliability, IMAP filtering, and Scheduler fixes

Source: https://developer.nylas.com/docs/changelogs/2026-09-28-send-imap-and-scheduler-fixes/

## Fixed

- **An `Idempotency-Key`** could stay in the `in_progress` state if the client disconnected mid-request, which permanently blocked retries that reused that key. Sends now clear the key correctly after a disconnect.
- **SMTP sends** could stall past the SDK's request timeout because of an incorrect port fallback during `STARTTLS` negotiation. The fallback now uses the correct port under a bounded dial timeout.
- **[Creating a draft](/docs/reference/api/drafts/post-draft/) with attachments** (multipart) now returns the `metadata` you set on the draft in the response. It was previously omitted.
- **Sending through Microsoft Graph** now retries transient provider failures on the send and draft-send paths instead of immediately returning an error.
- **Workflow-triggered sends** that hit a rate limit are now retried automatically instead of failing outright.
- **`thread_id` filtering on [`GET /v3/grants/{grant_id}/messages`](/docs/reference/api/messages/get-messages/)** no longer double URL-decodes the query parameter on IMAP grants. Thread IDs containing characters that need decoding could previously fail to match any messages.
- **`has_attachment=false` on [`GET /v3/grants/{grant_id}/threads`](/docs/reference/api/threads/get-threads/)** now correctly excludes threads that have attachments on IMAP grants, instead of sometimes still returning them.
- **`min_booking_notice`** set on a [Scheduler Configuration](/docs/reference/api/configurations/post-configurations/) is now applied when Nylas computes slots for [`POST /v3/calendars/availability`](/docs/reference/api/calendar/post-availability/). Previously, availability could return slots that fell inside the configured notice window.