Skip to content

Releases: rollbar/pyrollbar

v1.1.0

22 Nov 17:48
a809a6b
Compare
Choose a tag to compare

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

Full Changelog: v1.0.0...v1.1.0

v1.1.0-beta

06 Nov 12:31
a641597
Compare
Choose a tag to compare
v1.1.0-beta Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.1.0-alpha...v1.1.0-beta

v1.1.0-alpha

24 May 20:06
8493ac0
Compare
Choose a tag to compare
v1.1.0-alpha Pre-release
Pre-release

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

Full Changelog: v1.0.0...v1.0.0-alpha

v1.0.0

16 Nov 14:43
dab08cd
Compare
Choose a tag to compare

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 attribute sensitive_post_parameters. by @danielmorell in #437

Added

Removed

Changed

New Contributors

Full Changelog: v0.16.3...v1.0.0

v1.0.0beta1

18 Sep 11:17
781da55
Compare
Choose a tag to compare
v1.0.0beta1 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.0beta0...v1.0.0beta1

v1.0.0beta0

01 Sep 22:24
9fe5f8e
Compare
Choose a tag to compare
v1.0.0beta0 Pre-release
Pre-release

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 with content by @ayharano in #425

New Contributors

Full Changelog: v0.16.4beta1...v1.0.0beta0

v0.16.4beta1

17 Apr 11:42
fd15c2a
Compare
Choose a tag to compare
v0.16.4beta1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.16.4beta...v0.16.4beta1

v0.16.4beta

28 Nov 14:09
55d08a6
Compare
Choose a tag to compare
v0.16.4beta Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.16.3...v0.16.4beta

v0.16.3

08 Jun 10:11
4eb8a80
Compare
Choose a tag to compare
  • Pinned Python 2 CI tests to legacy version of dependencies. See #408
  • Add PyPI badge for supported Python versions. See #408
  • Add Django 4.0+ compatibility. See #408
  • Update PR template. See #408
  • SC-95272: Remove support for Python 3.3. See #408

Full Changelog: v0.16.2...v0.16.3

v0.16.2

22 Sep 17:32
205d904
Compare
Choose a tag to compare
  • Fix building person data in Django. See #385
  • Fix circular error logging for non-HTTP events in Starlette. See #390
  • Fix Python 3.4 builds. See #389