Releases: rollbar/pyrollbar
v1.1.0
Key Changes
Support for Python 3.12
The SDK officially supports and is tested against Python 3.12.
Support for pathlib.Path()
Thanks to a community contributor David Baumgold we now support pathlib.Path()
instead of just strings for both serialization and settings.
Enforce Locals Max Sizes
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.
What's Changed
- Updated supported/tested frameworks and modernized tests and packaging by @danielmorell in #455
- Fixed #398 FastAPI integration fails if docs are disabled by @danielmorell in #459
- Added support
pathlib.Path()
objects by @singingwolfboy in $450 - Added support for Python 3.12 by @danielmorell in #460
- Changed the
ShortenerTransform
to use breadth first traversal by @danielmorell in #461 - Fixed shortener multi level shortening by @danielmorell and @pawelsz-rb. See #449
Full Changelog: v1.0.0...v1.1.0
v1.1.0-beta
What's Changed
- Updated supported and tested frameworks and modernized tests and packaging by @danielmorell in #455
- Fixed #398 FastAPI integration fails if docs are disabled by @danielmorell in #459
- Support
pathlib.Path()
objects by @singingwolfboy in #450 - Added support for Python 3.12 by @danielmorell in #460
- Changed the
ShortenerTransform
to use breadth first traversal by @danielmorell in #461
New Contributors
- @singingwolfboy made their first contribution in #450
Full Changelog: v1.1.0-alpha...v1.1.0-beta
v1.1.0-alpha
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,
}
}
)
What's Changed
- Fixed shortener multi-level shortening by @danielmorell and @pawelsz-rb in #449
Full Changelog: v1.0.0...v1.0.0-alpha
v1.0.0
PyRollbar 1.0.0 is stable! A big thank you to every one of the amazing contributors who helped get us to this point!
Performance Improvements
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:
- A new HTTP transfer mechanism that uses a pool of background worker threads to transmit logs and reports to the Rollbar system. You can enable it with the following...
rollbar.init('<token>', '<env>', handler='thread_pool') # Optionally include `thread_pool_workers` to set the number of worker threads.
- Improved data sanitization and serialization with a batched transform. This can be enabled by setting
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.
Removed Python 2
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.
What's Changed
Fixed
- Fixed handling
sensitive_post_parameters
decorator in Django by @pawelsz-rb in #413 - Fixed Werkzeug DeprecationWarning of
BaseRequest
by @compyman in #410 - Fixed missing locals shortening on items with "trace_chain" instead of "trace" by @terencehonles in #365
- Fixed FastAPI version comparison by @ayharano in #433
- Fixed #436
WSGIRequest
has no attributesensitive_post_parameters
. by @danielmorell in #437
Added
- Added new
thread_pool
handler by @danielmorell in #416 - Added Rollbar branding to the readme by @paulserraino in #418
- Added batched transform to increase sanitization and serialization performance by @ijsnow in #421
Removed
- Replaced unittest2 with unittest by @brianr in #420
- Removed unittest2 by @mcepl in #419
- Remove deprecated flask
before_first_request
by @albertyw in #428 - Removed support for Python 2 by @danielmorell in #435
Changed
- Updated the base Ubuntu for CI to 20.04 test runner by @danielmorell and @waltjones in #427
- Replaced
httpx.post
data
kwarg withcontent
by @ayharano in #425
New Contributors
- @compyman made their first contribution in #410
- @paulserraino made their first contribution in #418
- @mcepl made their first contribution in #419
- @ijsnow made their first contribution in #421
- @arpad-fulop-rb made their first contribution in #431
- @albertyw made their first contribution in #428
- @ayharano made their first contribution in #433
Full Changelog: v0.16.3...v1.0.0
v1.0.0beta1
What's Changed
- Fixed #436
WSGIRequest
has no attributesensitive_post_parameters
. by @danielmorell in #437
Full Changelog: v1.0.0beta0...v1.0.0beta1
v1.0.0beta0
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.
What's Changed
- Fixed missing locals shortening on items with "trace_chain" instead of "trace" by @terencehonles in #365
- Updated the base Ubuntu for CI to 20.04, and remove py 2.7, 3.4 by @danielmorell in #427
- Removed deprecated flask before_first_request by @albertyw in #428
- Removed support for Python 2 by @danielmorell in #435
- Replaced FastAPI pure str comparison with PEP440 based comparison by @ayharano in #433
- Replace
httpx.post
data
kwarg withcontent
by @ayharano in #425
New Contributors
Full Changelog: v0.16.4beta1...v1.0.0beta0
v0.16.4beta1
What's Changed
- Added Rollbar branding to the Readme by @paulserraino in #418
- Replace unittest2 with unittest by @brianr and @mcepl in #420 and #419
- Added batched transform by @ijsnow in #421
New Contributors
- @paulserraino made their first contribution in #418
- @mcepl made their first contribution in #419
- @ijsnow made their first contribution in #421
Full Changelog: v0.16.4beta...v0.16.4beta1
v0.16.4beta
What's Changed
- handling sensitive_post_parameters decorator in django by @pawelsz-rb in #413
- Fix Werkzeug DeprecationWarning by @compyman in #410
- Added new thread_pool handler by @danielmorell in #416
New Contributors
Full Changelog: v0.16.3...v0.16.4beta