Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
engines:
duplication:
enabled: true
config:
languages:
- python
fixme:
enabled: true
pep8:
enabled: true
radon:
enabled: true
ratings:
paths:
- "**.py"
exclude_paths: []
4 changes: 4 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[flake8]
max-line-length = 100
max-complexity = 10
exclude = test/*
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@ rollbar.egg-info/
*.egg
.eggs/
.idea/
*~
Pipfile
Pipfile.lock
.pytest_cache/
92 changes: 79 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,105 @@ sudo: false
language: python
matrix:
include:
- python: "2.6"
- python: "2.7"
env: FLASK_VERSION=0.9
- python: "2.7"
env: FLASK_VERSION=0.10.1
- python: "2.7"
env: FLASK_VERSION=0.11.1
- python: "2.7"
env: FLASK_VERSION=0.12.2
- python: "3.3"
env: FLASK_VERSION=0.10.1
- python: "3.3"
env: FLASK_VERSION=0.11.1
- python: "3.3"
env: FLASK_VERSION=0.12.2
- python: "3.4"
env: FLASK_VERSION=0.10.1
- python: "3.4"
env: FLASK_VERSION=0.11.1
- python: "3.4"
env: FLASK_VERSION=0.12.2
- python: "3.5"
env: FLASK_VERSION=0.10.1
- python: "3.5"
env: FLASK_VERSION=0.11.1
- python: "3.4"
env: FLASK_VERSION=0.12.2
- python: "3.6"
env: FLASK_VERSION=0.10.1
- python: "3.6"
env: FLASK_VERSION=0.11.1
- python: "3.6"
env: FLASK_VERSION=0.12.2

- python: "2.7"
env: TWISTED_VERSION=15.4
env: TWISTED_VERSION=15.5.0
- python: "2.7"
env: TWISTED_VERSION=16.1.1
- python: "2.7"
env: TWISTED_VERSION=16.2.0
- python: "2.7"
env: TWISTED_VERSION=16.3.0
- python: "2.7"
env: TWISTED_VERSION=16.4.0
- python: "2.7"
env: TWISTED_VERSION=16.5.0
- python: "2.7"
env: TWISTED_VERSION=16.6.0
- python: "2.7"
env: TWISTED_VERSION=17.1.0

- python: "2.6"
env: DJANGO_VERSION=1.4
- python: "2.7"
env: DJANGO_VERSION=1.4
- python: "3.2"
env: DJANGO_VERSION=1.7
env: DJANGO_VERSION=1.6.11
- python: "2.7"
env: DJANGO_VERSION=1.7.11
- python: "2.7"
env: DJANGO_VERSION=1.8.18
- python: "2.7"
env: DJANGO_VERSION=1.9.13
- python: "2.7"
env: DJANGO_VERSION=1.10.7
- python: "2.7"
env: DJANGO_VERSION=1.11.1

- python: "3.3"
env: DJANGO_VERSION=1.6.11
- python: "3.3"
env: DJANGO_VERSION=1.8
env: DJANGO_VERSION=1.8.18

- python: "3.4"
env: DJANGO_VERSION=1.7.11
- python: "3.4"
env: DJANGO_VERSION=1.8.18
- python: "3.4"
env: DJANGO_VERSION=1.9.13
- python: "3.4"
env: DJANGO_VERSION=1.8
env: DJANGO_VERSION=1.10.7
- python: "3.4"
env: DJANGO_VERSION=1.11.1

- python: "3.5"
env: DJANGO_VERSION=1.8.18
- python: "3.5"
env: DJANGO_VERSION=1.9.13
- python: "3.5"
env: DJANGO_VERSION=1.10.7
- python: "3.5"
env: DJANGO_VERSION=1.8
env: DJANGO_VERSION=1.11.1

- python: "3.6"
env: DJANGO_VERSION=1.11.1

- python: "3.6"
env: PYRAMID_VERSION=1.9.2

install:
- if [ -v FLASK_VERSION ]; then pip install Flask==$FLASK_VERSION; fi
- if [ -v TWISTED_VERSION ]; then pip install Twisted==$TWISTED_VERSION service_identity pyOpenSSL; fi
- if [ -v TWISTED_VERSION ]; then pip install Twisted==$TWISTED_VERSION treq; fi
- if [ -v DJANGO_VERSION ]; then pip install Django==$DJANGO_VERSION; fi
- if [ -v PYRAMID_VERSION ]; then pip install pyramid==$PYRAMID_VERSION; fi

script:
- python setup.py test


141 changes: 139 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,146 @@
# Change Log

The change log has moved to this repo's [GitHub Releases Page](https://github.com/rollbar/pyrollbar/releases).

**0.14.0**

- Create the configuration options, `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](https://github.com/rollbar/pyrollbar/pull/262))
- Create the configuration option `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](https://github.com/rollbar/pyrollbar/pull/262))
- Fix `request.files_keys` for Flask [#263](https://github.com/rollbar/pyrollbar/pull/263)
- If you call `init` multiple times we will update the settings at each call. Prior to
this release we emitted a warning and did not update settings. [#259](https://github.com/rollbar/pyrollbar/pull/259)
- Better Tornado support [#256](https://github.com/rollbar/pyrollbar/pull/256)

**0.13.18**

- See Release Notes

**0.13.17**

- Fix deprecation warning related to Logging.warn
- Fix bug where non-copyable objects could cause an exception if they end up trying to get passed to
one of the logging methods.
- Fix bug where both `trace` and `trace_chain` could appear in the final payload, which is not
allowed by the API.

**0.13.16**

- Fix PyPI documentation

**0.13.15**

- Fix shortener issue for Python 3

**0.13.14**

- 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](https://github.com/rollbar/pyrollbar/pull/200)
- Add `suppress_reinit_warning` option if you want to allow calling init twice. See [#198](https://github.com/rollbar/pyrollbar/pull/198)
- Pass through keyword arguments from the logging handler to the underling Rollbar init call. See
[#203](https://github.com/rollbar/pyrollbar/pull/203)

**0.13.13**

- Add support for AWS Lambda. See [#191](https://github.com/rollbar/pyrollbar/pull/191)

**0.13.12**

- Remove the Django request body from the payload as it can contain sensitive data. See [#174](https://github.com/rollbar/pyrollbar/pull/174)
- Allow users to shorten arbitrary parts of the payload. See [#173](https://github.com/rollbar/pyrollbar/pull/173)
- Fix a Django deprecation warning. See [#165](https://github.com/rollbar/pyrollbar/pull/165)

**0.13.11**

- Handle environments where `sys.argv` does not exist. See [#131](https://github.com/rollbar/pyrollbar/pull/131)

**0.13.10**

- Gather request method from WebOb requests. See [#152](https://github.com/rollbar/pyrollbar/pull/152)

**0.13.9**

- Change `_check_config()` to deal with agent handler. See [#147](https://github.com/rollbar/pyrollbar/pull/147)
- Fix settings values not being booleans in Pyramid. See [#150](https://github.com/rollbar/pyrollbar/pull/150)

**0.13.8**

- Fix regression from 0.13.7. See [#141](https://github.com/rollbar/pyrollbar/pull/141)

**0.13.7**

- Update Django middleware to support Django 1.10+. See [#138](https://github.com/rollbar/pyrollbar/pull/138)

**0.13.6**

- Fixed a referenced before assignment in the failsafe. See [#136](https://github.com/rollbar/pyrollbar/pull/136)

**0.13.5**

- Fixed record message formatting issues breaking the log handler's history. See [#135](https://github.com/rollbar/pyrollbar/pull/135)

**0.13.4**

- Fixed failsafe handling for payloads that are too large. See [#133](https://github.com/rollbar/pyrollbar/pull/133)

**0.13.3**

- Improved handling of Enums. See [#121](https://github.com/rollbar/pyrollbar/pull/121)

**0.13.2**

- Improved handling of Nan and (Negative)Infinity. See [#117](https://github.com/rollbar/pyrollbar/pull/117)
- RollbarHandler now ignores log records from Rollbar. See [#118](https://github.com/rollbar/pyrollbar/pull/118)

**0.13.1**

- Failsafe handling for payloads that are too large. See [#116](https://github.com/rollbar/pyrollbar/pull/116)
- Failsafe Behavior
- Log an error containing the original payload and the UUID from it
- Send a new payload to Rollbar with the custom attribute containing the UUID and host from the original payload

**0.13.0**

- Frame payload refactor and varargs scrubbing. See [#113](https://github.com/rollbar/pyrollbar/pull/113)
- Frame Payload Changes
- remove args and kwargs
- add argspec as the list of argument names to the function call
- add varargspec as the name of the list containing the arbitrary unnamed positional arguments to the function call if any exist
- add keywordspec as the name of the object containing the arbitrary keyword arguments to the function call if any exist
- Other Changes:
- Arguments with default values are no longer removed from args and placed into kwargs
- varargs are now scrubbable and scrubbed by default
- Switched to using a Session object to perform HTTPS requests to optimize for keepalive connections. See [#114](https://github.com/rollbar/pyrollbar/pull/114)

**0.12.1**

- Keep blank values from request query strings when scrubbing URLs. See [#110](https://github.com/rollbar/pyrollbar/pull/110)

**0.12.0**

- Fix and update Twisted support. See [#109](https://github.com/rollbar/pyrollbar/pull/109)
- **Breaking Changes**: [treq](https://github.com/twisted/treq) is now required for using Twisted with pyrollbar.

**0.11.6**

- Improve object handling for SQLAlchemy. See [#108](https://github.com/rollbar/pyrollbar/pull/108)

**0.11.5**

- Fixed a bug when custom `__repr__()` calls resulted in an exception being thrown. See [#102](https://github.com/rollbar/pyrollbar/pull/102)

**0.11.4**

- revert changes from 0.11.3 since they ended-up having the unintended side effect by that exceptions messages weren't processing as expected.
- update settings in init first so that custom scrub_fields entries are handled correctly
- Revert changes from 0.11.3 since they ended-up having the unintended side effect by that exceptions messages weren't processing as expected.
- Update settings in init first so that custom scrub_fields entries are handled correctly

**0.11.3**

Expand Down
Loading