---
name: QStash Changelog
slug: qstash-changelog
type: feed
source_url: https://upstash.com/docs/qstash/overall/changelog
organization: Upstash
organization_slug: upstash
total_releases: 15
latest_date: 2026-02-25
last_updated: 2026-04-18
tracking_since: 2024-10-24
canonical: https://releases.sh/upstash/qstash-changelog
organization_url: https://releases.sh/upstash
---

<Release date="February 25, 2026" published="2026-02-25T08:21:08.000Z" url="https://upstash.com/docs/qstash/overall/changelog#february-2026">
## February 2026

TypeScript SDK (qstash-js) and Python SDK (qstash-py):

Added flow control management API: list(), get(key), and reset(key) methods on client.flowControl (TypeScript) and client.flow_control (Python).
The get and list responses now include rich metrics: waitListSize, parallelismMax, parallelismCount, rateMax, rateCount, ratePeriod, and ratePeriodStart.
See the [Flow Control](/qstash/features/flowcontrol#management-api) docs for code examples.


QStash Server:

GET /v2/flowControl now supports an optional search query parameter to filter keys by name.
New POST /v2/flowControl/:flowControlKey/reset endpoint resets parallelism and rate counters for a key.
GET /v2/globalParallelism now returns { parallelismMax, parallelismCount } instead of the old { waitListSize } shape.
</Release>

<Release date="October 9, 2025" published="2025-10-09T07:47:59.000Z" url="https://upstash.com/docs/qstash/overall/changelog#august-2025">
## August 2025

Console:

Added ability to hide/show columns on the Schedules tab.
Local mode is added to enable our users to use the console with their local development envrionment. See [docs](http://localhost:3000/qstash/howto/local-development) for details.
</Release>

<Release date="October 9, 2025" published="2025-10-09T07:47:59.000Z" url="https://upstash.com/docs/qstash/overall/changelog#september-2025">
## September 2025

TypeScript SDK (qstash-js):

Label feature is added. This will enable our users to label their publishes so that

Logs can be filtered with user given label.
DLQ can be filtered with user given label.




Console:

Flat view on the Logs tab is removed. The purpose is to simplify the Logs tab.
All the information is already available on the default(grouped) view. Let us know if there is something missing
via Discord/Support so that we can fill in the gaps.
</Release>

<Release date="August 22, 2025" published="2025-08-22T08:05:35.000Z" url="https://upstash.com/docs/qstash/overall/changelog#july-2025">
## July 2025

TypeScript SDK (qstash-js):

Added retryDelay option to dynamicaly program the retry duration of a failed message.
The new parameter is available in publish/batch/enqueue/schedules. See [here](/qstash/features/retry#custom-retry-delay)
Full changelog, including all fixes, is available [here](https://github.com/upstash/qstash-js/compare/v2.8.1...v2.8.2).
</Release>

<Release date="July 7, 2025" published="2025-07-07T12:29:42.000Z" url="https://upstash.com/docs/qstash/overall/changelog#june-2025">
## June 2025

No new features for QStash this month. We are mostly focused on stability and performance.
</Release>

<Release date="May 29, 2025" published="2025-05-29T11:55:48.000Z" url="https://upstash.com/docs/qstash/overall/changelog#april-2025">
## April 2025

QStash Server:

Added support for flow-control period, allowing users to define a period for a given rate—up to 1 week.
Previously, the period was fixed at 1 second.
For example, rate: 3 period: 1d means publishes will be throttled to 3 per day.
Applied several performance optimizations.


Console:

Added IN_PROGRESS as a filter option when grouping by message ID, making it easier to query in-flight messages.
See [here](/qstash/howto/debug-logs#lifecycle-of-a-message) for an explanation of message states.
</Release>

<Release date="May 29, 2025" published="2025-05-29T11:55:48.000Z" url="https://upstash.com/docs/qstash/overall/changelog#may-2025">
## May 2025

TypeScript SDK (qstash-js):

Added flow control period and deprecated ratePerSecond. See [here](https://github.com/upstash/qstash-js/pull/237).
Added IN_PROGRESS state filter. See [here](https://github.com/upstash/qstash-js/pull/236).
Full changelog, including all fixes, is available [here](https://github.com/upstash/qstash-js/compare/v2.7.23...v2.8.1).


Python SDK (qstash-py):

Added IN_PROGRESS state filter. See [here](https://github.com/upstash/qstash-js/pull/236).
Added various missing features: Callback Headers, Schedule with Queue, Overwrite Schedule ID, Flow Control Period. See [here](https://github.com/upstash/qstash-py/pull/41).
Full changelog, including all fixes, is available [here](https://github.com/upstash/qstash-py/compare/v2.0.5...v3.0.0).


Console:

Improved logs tab behavior to prevent collapsing or unnecessary refreshes, increasing usability.


QStash Server:

Added support for filtering messages by FlowControlKey (Console and SDK support in progress).
Applied performance improvements for bulk cancel operations.
Applied performance improvements for bulk publish operations.
Fixed an issue where scheduled publishes with queues would reset queue parallelism to 1.
Added support for updating existing queue parallelisms even when the max queue limit is reached.
Applied several additional performance optimizations.
</Release>

<Release date="April 4, 2025" published="2025-04-04T13:15:51.000Z" url="https://upstash.com/docs/qstash/overall/changelog#march-2025">
## March 2025

TypeScript SDK (qstash-js):

Renamed events to logs for clarity when referring to QStash features. client.events() is now deprecated, and client.logs() has been introduced. See [details here](https://github.com/upstash/qstash-js/pull/225).
For all fixes, see the full changelog [here](https://github.com/upstash/qstash-js/compare/v2.7.22...v2.7.23).


QStash Server:

Fixed an issue where messages with delayed callbacks were silently failing. Now, such messages are explicitly rejected during insertion.
</Release>

<Release date="February 10, 2025" published="2025-02-10T11:57:09.000Z" url="https://upstash.com/docs/qstash/overall/changelog#february-2025">
## February 2025

Python SDK (qstash-py):

Flow Control Parallelism and Rate. See [here](https://github.com/upstash/qstash-py/pull/36)
Addressed a few minor bugs. See the full changelog [here](https://github.com/upstash/qstash-py/compare/v2.0.3...v2.0.5)


QStash Server:

Introduced RateLimit and Parallelism controls to manage the rate and concurrency of message processing. Learn more [here](/qstash/features/flowcontrol).
Improved connection timeout detection mechanism to enhance scalability.
Added several new features to better support webhook use cases:

Support for saving headers in a URL group. See [here](/qstash/howto/webhook#2-url-group).
Ability to pass configuration parameters via query strings instead of headers. See [here](/qstash/howto/webhook#1-publish).
Introduced a new Upstash-Header-Forward header to forward all headers from the incoming request. See [here](/qstash/howto/webhook#1-publish).
</Release>

<Release date="February 5, 2025" published="2025-02-05T15:34:05.000Z" url="https://upstash.com/docs/qstash/overall/changelog#january-2025">
## January 2025

Python SDK (qstash-py):

Addressed a few minor bugs. See the full changelog [here](https://github.com/upstash/qstash-py/compare/v2.0.2...v2.0.3).


Local Development Server:

The local development server is now publicly available. This server allows you to test your Qstash setup locally. Learn more about the local development server [here](/qstash/howto/local-development).


Console:

Separated the Workflow and QStash consoles for an improved user experience.
Separated their DLQ messages as well.


QStash Server:

The core team focused on RateLimit and Parallelism features. These features are ready on the server and will be announced next month after the documentation and SDKs are completed.
</Release>

<Release date="January 10, 2025" published="2025-01-10T10:07:17.000Z" url="https://upstash.com/docs/qstash/overall/changelog#december-2024">
## December 2024

TypeScript SDK (qstash-js):

Added global headers to the client, which are automatically included in every publish request.
Resolved issues related to the Anthropics and Resend integrations.
Full changelog, including all fixes, is available [here](https://github.com/upstash/qstash-js/compare/v2.7.17...v2.7.20).



Python SDK (qstash-py):

Introduced support for custom schedule_id values.
Enabled passing headers to callbacks using the Upstash-Callback-Forward-... prefix.
Full changelog, including all fixes, is available [here](https://github.com/upstash/qstash-py/compare/v2.0.0...v2.0.1).



Qstash Server:

Finalized the local development server, now almost ready for public release.
Improved error reporting by including the field name in cases of invalid input.
Increased the maximum response body size for batch use cases to 100 MB per REST call.
Extended event retention to up to 14 days, instead of limiting to the most recent 10,000 events. Learn more on the [Pricing page](https://upstash.com/pricing/qstash).
</Release>

<Release date="December 6, 2024" published="2024-12-06T11:02:57.000Z" url="https://upstash.com/docs/qstash/overall/changelog#november-2024">
## November 2024

TypeScript SDK (qstash-js):

Added support for the Anthropics provider and refactored the api field of publishJSON. See the documentation [here](/qstash/integrations/anthropic).
Full changelog, including fixes, is available [here](https://github.com/upstash/qstash-js/compare/v2.7.14...v2.7.17).


Qstash Server:

Fixed a bug in schedule reporting. The Upstash-Caller-IP header now correctly reports the user’s IP address instead of an internal IP for schedules.
Validated the scheduleId parameter. The scheduleId must now be alphanumeric or include hyphens, underscores, or periods.
Added filtering support to bulk message cancellation. Users can now delete messages matching specific filters. See Rest API [here](/qstash/api-reference/messages/bulk-cancel-messages).
Resolved a bug that caused the DLQ Console to become unusable when data was too large.
Fixed an issue with queues that caused them to stop during temporary network communication problems with the storage layer.
</Release>

<Release date="November 19, 2024" published="2024-11-19T05:08:08.000Z" url="https://upstash.com/docs/qstash/overall/changelog#october-2024">
## October 2024

TypeScript SDK (qstash-js):

Fixed a bug on qstash-js where we skipped using the next signing key when the current signing key fails to verify the upstash-signature. Released with qstash-js v2.7.14.
Added resend API. See [here](/qstash/integrations/resend). Released with qstash-js v2.7.14.
Added schedule to queues feature to the qstash-js. See [here](/qstash/features/schedules#scheduling-to-a-queue). Released with qstash-js v2.7.14.


Console:

Optimized the console by trimming event bodies, reducing resource usage and enabling efficient querying of events with large payloads.


Qstash Server:

Began development on a new architecture to deliver faster event processing on the server.
Added more fields to events in the [REST API](/qstash/api-reference/logs/list-logs), including Timeout, Method, Callback, CallbackHeaders, FailureCallback, FailureCallbackHeaders, and MaxRetries.
Enhanced retry backoff logic by supporting additional headers for retry timing. Along with Retry-After, Qstash now recognizes X-RateLimit-Reset, X-RateLimit-Reset-Requests, and X-RateLimit-Reset-Tokens as backoff time indicators. See [here](/qstash/features/retry#retry-after-headers) for more details.
</Release>

<Release date="October 24, 2024" published="2024-10-24T09:24:09.000Z" url="https://upstash.com/docs/qstash/overall/changelog#august-2024">
## August 2024

Released [Upstash Workflow](/qstash/workflow).
Fixed a bug where paused schedules were mistakenly resumed after a process restart (typically occurring during new version releases).
</Release>

<Release date="October 24, 2024" published="2024-10-24T09:24:09.000Z" url="https://upstash.com/docs/qstash/overall/changelog#september-2024">
## September 2024

Improved performance, resulting in reduced latency for average publish times.
Set the nbf (not before) claim on Signing Keys to 0. This claim specifies the time before which the JWT must not be processed. Previously, this was incorrectly used, causing validation issues when there were minor clock discrepancies between systems.
Fixed queue name validation. Queue names must now be alphanumeric or include hyphens, underscores, or periods, consistent with other API resources.
Resolved bugs related to [overwriting a schedule](/qstash/features/schedules#overwriting-an-existing-schedule).
</Release>
