NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4272 most downloaded on PyPI
Easy and powerful exception tracking with Rollbar. Send messages and exceptions with arbitrary context, get back aggregates, and debug production issues quickly.
Last release 16 days ago
18 Sep 2026
Release timing varies
gaps range from 1 weeks to 12 months
Most releases are documented
notes for 42 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
106 releases · first in 2013
Added session instrumentation to httpx and requests by @danielmorell in #498
tests and examples from the distributed package by @danielmorell in #499Full Changelog: v1.4.0...v1.5.0
One column per quarter.
Added support for Python 3.14 by @danielmorell in #484
extras to Rollbar by @terencehonles in #488Full Changelog: v1.3.0...v1.4.0
Added support for Python 3.14 by @danielmorell in #484
Full Changelog: v1.3.0...v1.4.0-beta
Added support for classes to define the method __rollbar_repr__ to control how objects are serialized by @danielmorell in #479
__rollbar_repr__ to control how objects are serialized by @danielmorell in #479Full Changelog: v1.2.0...v1.3.0
Added support for custom payload transforms by @danielmorell in #470
Added
Fixed
RollbarHandler reconfigures root logger by @ilkecan in #463include_request_body setting not checked for various frameworks by @danielmorell in #469namedtuple fields not being scrubbed by @danielmorell in #474Full Changelog: v1.1.2...v1.2.0
Fixed build missing entrypoints for pyramid and cli by @brianr in #471
Full Changelog: v1.1.1...v1.1.2
Fixed #465 httpx 0.28.0 not compatible with pyrollbar by @danielmorell in #466
Full Changelog: v1.1.0...v1.1.1
The SDK officially supports and is tested against Python 3.12.
The SDK officially supports and is tested against Python 3.12.
pathlib.Path()Thanks to a community contributor David Baumgold we now support pathlib.Path() instead of just strings for both serialization and settings.
In this release we have made some significant improvements to how we process large complex stack frames. There were shortening settings that were not properly being applied while truncating large objects. We have resolved those issues and made some other performance improvements to our data processing within the SDK.
We recommend reviewing the locals max sizes settings. The defaults are as follows...
import rollbar
rollbar.init(
access_token='<your token>',
locals={
'sizes': {
'maxlevel': 5,
'maxdict': 10,
'maxlist': 10,
'maxtuple': 10,
'maxset': 10,
'maxfrozenset': 10,
'maxdeque': 10,
'maxarray': 10,
'maxstring': 100,
'maxlong': 40,
'maxother': 100,
},
}
)The locals max sizes values were not consistently enforced in versions prior to 1.1.0, and so you may find that data previously included in prior version of the SDK is now being truncated. If that data is vital to your error investigation, you will want to adjust these values.
pathlib.Path() objects by @singingwolfboy in $450ShortenerTransform to use breadth first traversal by @danielmorell in #461Full Changelog: v1.0.0...v1.1.0
Updated supported and tested frameworks and modernized tests and packaging by @danielmorell in #455
pathlib.Path() objects by @singingwolfboy in #450ShortenerTransform to use breadth first traversal by @danielmorell in #461Full Changelog: v1.1.0-alpha...v1.1.0-beta
This release fixes a long-standing bug in the shortening logic that prevented it from fully shortening error reports that are two large. Because this
This release fixes a long-standing bug in the shortening logic that prevented it from fully shortening error reports that are two large. Because this can (and most likely will) change what data is reported to the Rollbar platform, we are releasing this as an alpha. We recommend testing it and adjusting the defaults for local variable shortening as needed.
You can fine tune the local sizes by changing the values from the defaults as shown here:
import rollbar
rollbar.init(
'<your token>',
'<your environment>',
locals={
'sizes': {
'maxlevel': 5,
'maxdict': 10,
'maxlist': 10,
'maxtuple': 10,
'maxset': 10,
'maxfrozenset': 10,
'maxdeque': 10,
'maxarray': 10,
'maxstring': 100,
'maxlong': 40,
'maxother': 100,
}
}
)Full Changelog: v1.0.0...v1.0.0-alpha
If you still require support for Python 2 you should use v0.16.x; it is stable and will continue to receive security fixes for at least another year.
PyRollbar 1.0.0 is stable! A big thank you to every one of the amazing contributors who helped get us to this point!
Some of the major work has been on making performance improvements to the more data intensive parts of the package. There should be some improvements across the board, however some exciting new performance features include:
rollbar.init('<token>', '<env>', handler='thread_pool')
# Optionally include `thread_pool_workers` to set the number of worker threads.
rollbar.init(..., batch_transforms=True).rollbar.init('<token>', '<env>', batch_transforms=True)
Note: performance may vary. For example, the async or another handler may perform better for your environment and workload. We strongly recommend testing before adopting.
In version 1.0.0 we have removed support for Python 2. This opens up the opportunity to embrace the ever-improving world of Python 3. If you still require support for Python 2 you should use v0.16.x; it is stable and will continue to receive security fixes for at least another year.
sensitive_post_parameters decorator in Django by @pawelsz-rb in https://github.com/rollbar/pyrollbar/pull/413BaseRequest by @compyman in https://github.com/rollbar/pyrollbar/pull/410WSGIRequest has no attribute sensitive_post_parameters. by @danielmorell in https://github.com/rollbar/pyrollbar/pull/437thread_pool handler by @danielmorell in https://github.com/rollbar/pyrollbar/pull/416before_first_request by @albertyw in https://github.com/rollbar/pyrollbar/pull/428httpx.post data kwarg with content by @ayharano in https://github.com/rollbar/pyrollbar/pull/425Full Changelog: https://github.com/rollbar/pyrollbar/compare/v0.16.3...v1.0.0
Fixed #436 WSGIRequest has no attribute sensitive_post_parameters. by @danielmorell in https://github.com/rollbar/pyrollbar/pull/437
WSGIRequest has no attribute sensitive_post_parameters. by @danielmorell in https://github.com/rollbar/pyrollbar/pull/437Full Changelog: https://github.com/rollbar/pyrollbar/compare/v1.0.0beta0...v1.0.0beta1
Removed deprecated flask before_first_request by @albertyw in https://github.com/rollbar/pyrollbar/pull/428
In v1.0.0 we will be removing support for Python 2. There are also a number of bug fixes and other small improvements. Removing the support for Python 2 reduced function calls and memory allocations allowing our data collection, cleaning, and serialization to be around 18% percent faster in benchmarks.
httpx.post data kwarg with content by @ayharano in https://github.com/rollbar/pyrollbar/pull/425Full Changelog: https://github.com/rollbar/pyrollbar/compare/v0.16.4beta1...v1.0.0beta0
Nothing published for this version
Added Rollbar branding to the Readme by @paulserraino in https://github.com/rollbar/pyrollbar/pull/418
Full Changelog: https://github.com/rollbar/pyrollbar/compare/v0.16.4beta...v0.16.4beta1
Fix Werkzeug DeprecationWarning by @compyman in https://github.com/rollbar/pyrollbar/pull/410
Full Changelog: https://github.com/rollbar/pyrollbar/compare/v0.16.3...v0.16.4beta
Pinned Python 2 CI tests to legacy version of dependencies. See #408
Full Changelog: https://github.com/rollbar/pyrollbar/compare/v0.16.2...v0.16.3
Fix building person data in Django. See #385
* Fix artifact v0.16.0 on PyPI
Add support for whitelist/blacklist for safelist/blocklist
Highlights
Pull requests
Change whitelist/blacklist for safelist/blocklist, https://github.com/rollbar/pyrollbar/pull/354 Populated framework for python twisted server, https://github.com/rollbar/pyrollbar/pull/360
Add support to python 3.8, https://github.com/rollbar/pyrollbar/pull/351 Fix deque test, https://github.com/rollbar/pyrollbar/pull/349 Add alternative
Highlights
Pull requests
Add support to python 3.8, https://github.com/rollbar/pyrollbar/pull/351 Fix deque test, https://github.com/rollbar/pyrollbar/pull/349 Add alternatives to exception handler, https://github.com/rollbar/pyrollbar/pull/335 Change dict_merge to allow strict mode, https://github.com/rollbar/pyrollbar/pull/339 Improve scrubbing test case, https://github.com/rollbar/pyrollbar/pull/343
…Fix DeprecationWarning, https://github.com/rollbar/pyrollbar/pull/325 Apply logger formatting to Rollbar messages, https://github.com/rollbar/pyrollba…
Handle recursive re-raising of exceptions, https://github.com/rollbar/pyrollbar/pull/317 Update Travis CI matrix, https://github.com/rollbar/pyrollbar/pull/307 Fix Travis build errors, https://github.com/rollbar/pyrollbar/pull/328 Use callable() instead of try/except TypeError, https://github.com/rollbar/pyrollbar/pull/319 Fix DeprecationWarning, https://github.com/rollbar/pyrollbar/pull/325 Apply logger formatting to Rollbar messages, https://github.com/rollbar/pyrollbar/pull/312 update trove classifiers + fix deprecation warnings, https://github.com/rollbar/pyrollbar/pull/331 Allow the request pool to be configured, https://github.com/rollbar/pyrollbar/pull/305
Allow the raw request body to be included if desired #304
#299 Add the authorization header to the default scrub fields list #298 Encode the payload properly for newer versions of Twisted #297 Don't fail to s
#299 Add the authorization header to the default scrub fields list #298 Encode the payload properly for newer versions of Twisted #297 Don't fail to send payloads because some inner object is not JSON serializable #291 Allow floats as circular references
Fix bug in which error params were not being passed correctly to pyramid middleware.
Fix bug in pyramid middleware where exc_info was not being passed to handle_error.
Add support for HTTP(S) proxies
Fix bug with file-based logging config in python 3
Django middlewares that differentiate between 404 and other exceptions #270
Create the configuration options, capture_username and capture_email. Prior to this release, if we gather person data automatically, we would try to c
capture_username and capture_email. Prior to this release,
if we gather person data automatically, we would try to capture the id, email, and username.
Starting with this release by default we will only capture the id. If you set capture_username
to True then we will also attempt to capture the username. Similarly for capture_email with
the email. (See #262)capture_ip. This can take one of three values: True,
'anonymize', or False. This controls how we handle IP addresses that are captured from
requests. If True, then we will send the full IP address. This is the current behaviour and the
default. If set to the string 'anonymize' which is also available as the constant ANONYMIZE on
the rollbar module, we will mask out the least significant bits of the IP address. If set to
False, then we will not capture the IP address. (See #262)request.files_keys for Flask #263init multiple times we will update the settings at each call. Prior to
this release we emitted a warning and did not update settings. #259Fix bug with KeyError related to extra data with a trace chain https://github.com/rollbar/pyrollbar/pull/218
Fix bug with KeyError related to extra data with a trace chain https://github.com/rollbar/pyrollbar/pull/218
Add support for parsed POST variables using Django REST Framework https://github.com/rollbar/pyrollbar/pull/86
Add additional hooks on django middleware https://github.com/rollbar/pyrollbar/pull/139
You can now add custom filtering logic to determine if the error/message/payload should be sent to Rollbar via the events module within rollbar https://github.com/rollbar/pyrollbar/pull/81
Extract and send additional request data from Sanic framework https://github.com/rollbar/pyrollbar/pull/227
Better handle 502 API errors https://github.com/rollbar/pyrollbar/pull/224
Fix deprecation warning related to Logging.warn
trace and trace_chain could appear in the final payload, which is not
allowed by the API.Nothing published for this version
Fix issue with shortener on Python 3
Fix bug that caused some payload objects to be turned into the wrong type when shortening is applied. This would lead to API rejections. See #200
suppress_reinit_warning option if you want to allow calling init twice. See #198Nothing published for this version
Fix a Django deprecation warning. See #165
Handle environments where sys.argv does not exist. See #131
sys.argv does not exist. See #131Gather request method from WebOb requests. See #152
Change _check_config() to deal with agent handler. See #147
Fix regression from 0.13.7. See #141
Update Django middleware to support Django 1.10+. See #138
Fixed a referenced before assignment in the failsafe. See #136
Fixed record message formatting issues breaking the log handler's history. See #135
Fixed failsafe handling for payloads that are too large. See #133
Improved handling of Enums. See #121
Improved handling of Nan and (Negative)Infinity. See #117
Failsafe handling for payloads that are too large. See #116
Failsafe handling for payloads that are too large. See #116
Frame payload refactor and varargs scrubbing. See #113
Frame payload refactor and varargs scrubbing. See #113
Keep blank values from request query strings when scrubbing URLs. See #110
Keep blank values from request query strings when scrubbing URLs. See #110
Breaking Changes: treq is now required for using Twisted with pyrollbar.
Improve object handling for SQLAlchemy pr#108
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →