Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-rollbar for openSUSE:Factory 
checked in at 2023-02-28 12:48:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rollbar (Old)
 and      /work/SRC/openSUSE:Factory/.python-rollbar.new.31432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-rollbar"

Tue Feb 28 12:48:33 2023 rev:9 rq:1067989 version:0.16.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rollbar/python-rollbar.changes    
2022-01-24 23:10:12.926667163 +0100
+++ /work/SRC/openSUSE:Factory/.python-rollbar.new.31432/python-rollbar.changes 
2023-02-28 12:48:54.156581963 +0100
@@ -1,0 +2,11 @@
+Mon Feb 20 12:16:51 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com>
+
+- Update to 0.16.3:
+  * 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
+- Disable broken tests in python 3.11, test_encode_empty_tuple
+
+-------------------------------------------------------------------

Old:
----
  v0.16.2.tar.gz

New:
----
  v0.16.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-rollbar.spec ++++++
--- /var/tmp/diff_new_pack.1jEIMs/_old  2023-02-28 12:48:54.928586978 +0100
+++ /var/tmp/diff_new_pack.1jEIMs/_new  2023-02-28 12:48:54.936587030 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-rollbar
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-rollbar
-Version:        0.16.2
+Version:        0.16.3
 Release:        0
 Summary:        Report exceptions, errors, and log messages to Rollbar
 License:        MIT
@@ -64,7 +63,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%pytest -k 'not test_shorten_array'
+%pytest -k 'not (test_shorten_array or test_encode_empty_tuple)'
 
 %post
 %python_install_alternative rollbar
@@ -76,6 +75,7 @@
 %doc README.md
 %license LICENSE
 %python_alternative %{_bindir}/rollbar
-%{python_sitelib}/*
+%{python_sitelib}/rollbar
+%{python_sitelib}/rollbar-%{version}*-info
 
 %changelog

++++++ python-rollbar-no-unittest2.patch ++++++
--- /var/tmp/diff_new_pack.1jEIMs/_old  2023-02-28 12:48:54.964587212 +0100
+++ /var/tmp/diff_new_pack.1jEIMs/_new  2023-02-28 12:48:54.968587238 +0100
@@ -1,7 +1,7 @@
-Index: pyrollbar-0.16.2/rollbar/test/__init__.py
+Index: pyrollbar-0.16.3/rollbar/test/__init__.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/__init__.py
-+++ pyrollbar-0.16.2/rollbar/test/__init__.py
+--- pyrollbar-0.16.3.orig/rollbar/test/__init__.py
++++ pyrollbar-0.16.3/rollbar/test/__init__.py
 @@ -1,13 +1,13 @@
 -import unittest2
 +import unittest
@@ -19,10 +19,10 @@
  def discover():
 -    return unittest2.defaultTestLoader.discover(__name__)
 +    return unittest.defaultTestLoader.discover(__name__)
-Index: pyrollbar-0.16.2/rollbar/test/test_lib.py
+Index: pyrollbar-0.16.3/rollbar/test/test_lib.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/test_lib.py
-+++ pyrollbar-0.16.2/rollbar/test/test_lib.py
+--- pyrollbar-0.16.3.orig/rollbar/test/test_lib.py
++++ pyrollbar-0.16.3/rollbar/test/test_lib.py
 @@ -2,6 +2,8 @@ from rollbar.lib import dict_merge
  
  from rollbar.test import BaseTest
@@ -38,10 +38,10 @@
          self.assertIn('y', result['a'])
 -        self.assertRegex(result['a']['y'], r'Uncopyable obj')
 +        six.assertRegex(self, result['a']['y'], r'Uncopyable obj')
-Index: pyrollbar-0.16.2/rollbar/test/test_rollbar.py
+Index: pyrollbar-0.16.3/rollbar/test/test_rollbar.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/test_rollbar.py
-+++ pyrollbar-0.16.2/rollbar/test/test_rollbar.py
+--- pyrollbar-0.16.3.orig/rollbar/test/test_rollbar.py
++++ pyrollbar-0.16.3/rollbar/test/test_rollbar.py
 @@ -17,6 +17,7 @@ except ImportError:
      import mock
  
@@ -116,10 +116,10 @@
  
      def test_filter_ip_no_user_ip(self):
          request_data = {'something': 'but no ip'}
-Index: pyrollbar-0.16.2/rollbar/test/test_scruburl_transform.py
+Index: pyrollbar-0.16.3/rollbar/test/test_scruburl_transform.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/test_scruburl_transform.py
-+++ pyrollbar-0.16.2/rollbar/test/test_scruburl_transform.py
+--- pyrollbar-0.16.3.orig/rollbar/test/test_scruburl_transform.py
++++ pyrollbar-0.16.3/rollbar/test/test_scruburl_transform.py
 @@ -1,4 +1,5 @@
  import copy
 +import six
@@ -134,10 +134,10 @@
 -        self.assertNotRegex(result['link'][0]['url'], r'^-+$')
 +        six.assertNotRegex(self, result['url'][0]['link'], r'^-+$')
 +        six.assertNotRegex(self, result['link'][0]['url'], r'^-+$')
-Index: pyrollbar-0.16.2/rollbar/test/test_serializable_transform.py
+Index: pyrollbar-0.16.3/rollbar/test/test_serializable_transform.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/test_serializable_transform.py
-+++ pyrollbar-0.16.2/rollbar/test/test_serializable_transform.py
+--- pyrollbar-0.16.3.orig/rollbar/test/test_serializable_transform.py
++++ pyrollbar-0.16.3/rollbar/test/test_serializable_transform.py
 @@ -10,6 +10,8 @@ except ImportError:
      # Python 2.7
      from collections import Mapping
@@ -180,10 +180,10 @@
          result = transforms.transform(start, serializable)
 -        self.assertRegex(result['custom'], 
"<UnStringableException.*Exception.*str.*>")
 +        six.assertRegex(self, result['custom'], 
"<UnStringableException.*Exception.*str.*>")
-Index: pyrollbar-0.16.2/setup.py
+Index: pyrollbar-0.16.3/setup.py
 ===================================================================
---- pyrollbar-0.16.2.orig/setup.py
-+++ pyrollbar-0.16.2/setup.py
+--- pyrollbar-0.16.3.orig/setup.py
++++ pyrollbar-0.16.3/setup.py
 @@ -19,7 +19,6 @@ with open(INIT_PATH) as fd:
  tests_require = [
      'webob',
@@ -192,19 +192,19 @@
      'mock<=3.0.5; python_version < "3.3"',
      'enum34; python_version < "3.4"',
      'httpx; python_version >= "3.6"',
-@@ -90,7 +89,7 @@ setup(
-         'requests<1.2,>=0.12.1; python_version == "3.2"',
-         'requests<1.2,>=0.12.1; python_version == "3.1"',
-         'requests<1.2,>=0.12.1; python_version == "3.0"',
+@@ -85,7 +84,7 @@ setup(
+         'requests>=0.12.1; python_version >= "3.6"',
+         'requests<2.26,>=0.12.1; python_version == "3.5"',
+         'requests<2.22,>=0.12.1; python_version == "3.4"',
 -        'six>=1.9.0'
 +        'six>=1.14.0'
      ],
      tests_require=tests_require,
  )
-Index: pyrollbar-0.16.2/shell.nix
+Index: pyrollbar-0.16.3/shell.nix
 ===================================================================
---- pyrollbar-0.16.2.orig/shell.nix
-+++ pyrollbar-0.16.2/shell.nix
+--- pyrollbar-0.16.3.orig/shell.nix
++++ pyrollbar-0.16.3/shell.nix
 @@ -20,7 +20,7 @@ python = let
    };
  in python36.override { inherit packageOverrides; };
@@ -214,10 +214,10 @@
  
  in
  
-Index: pyrollbar-0.16.2/rollbar/test/starlette_tests/__init__.py
+Index: pyrollbar-0.16.3/rollbar/test/starlette_tests/__init__.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/starlette_tests/__init__.py
-+++ pyrollbar-0.16.2/rollbar/test/starlette_tests/__init__.py
+--- pyrollbar-0.16.3.orig/rollbar/test/starlette_tests/__init__.py
++++ pyrollbar-0.16.3/rollbar/test/starlette_tests/__init__.py
 @@ -1,9 +1,9 @@
  import sys
 -import unittest2
@@ -230,10 +230,10 @@
  
  
  if sys.version_info < (3, 6):
-Index: pyrollbar-0.16.2/rollbar/test/starlette_tests/test_middleware.py
+Index: pyrollbar-0.16.3/rollbar/test/starlette_tests/test_middleware.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/starlette_tests/test_middleware.py
-+++ pyrollbar-0.16.2/rollbar/test/starlette_tests/test_middleware.py
+--- pyrollbar-0.16.3.orig/rollbar/test/starlette_tests/test_middleware.py
++++ pyrollbar-0.16.3/rollbar/test/starlette_tests/test_middleware.py
 @@ -14,7 +14,7 @@ try:
  except ImportError:
      STARLETTE_INSTALLED = False
@@ -270,10 +270,10 @@
          sys.version_info >= (3, 6), 'Global request access is supported in 
Python 3.6+'
      )
      def test_should_return_current_request(self):
-Index: pyrollbar-0.16.2/rollbar/test/starlette_tests/test_requests.py
+Index: pyrollbar-0.16.3/rollbar/test/starlette_tests/test_requests.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/starlette_tests/test_requests.py
-+++ pyrollbar-0.16.2/rollbar/test/starlette_tests/test_requests.py
+--- pyrollbar-0.16.3.orig/rollbar/test/starlette_tests/test_requests.py
++++ pyrollbar-0.16.3/rollbar/test/starlette_tests/test_requests.py
 @@ -7,14 +7,14 @@ try:
  except ImportError:
      STARLETTE_INSTALLED = False
@@ -291,10 +291,10 @@
      STARLETTE_INSTALLED and ALLOWED_PYTHON_VERSION,
      'Global request access requires Python3.6+',
  )
-Index: pyrollbar-0.16.2/rollbar/test/starlette_tests/test_logger.py
+Index: pyrollbar-0.16.3/rollbar/test/starlette_tests/test_logger.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/starlette_tests/test_logger.py
-+++ pyrollbar-0.16.2/rollbar/test/starlette_tests/test_logger.py
+--- pyrollbar-0.16.3.orig/rollbar/test/starlette_tests/test_logger.py
++++ pyrollbar-0.16.3/rollbar/test/starlette_tests/test_logger.py
 @@ -13,7 +13,7 @@ try:
  except ImportError:
      STARLETTE_INSTALLED = False
@@ -313,10 +313,10 @@
      STARLETTE_INSTALLED and ALLOWED_PYTHON_VERSION,
      'Starlette LoggerMiddleware requires Python3.6+',
  )
-Index: pyrollbar-0.16.2/rollbar/test/fastapi_tests/__init__.py
+Index: pyrollbar-0.16.3/rollbar/test/fastapi_tests/__init__.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/fastapi_tests/__init__.py
-+++ pyrollbar-0.16.2/rollbar/test/fastapi_tests/__init__.py
+--- pyrollbar-0.16.3.orig/rollbar/test/fastapi_tests/__init__.py
++++ pyrollbar-0.16.3/rollbar/test/fastapi_tests/__init__.py
 @@ -1,9 +1,9 @@
  import sys
 -import unittest2
@@ -329,10 +329,10 @@
  
  
  if sys.version_info < (3, 6):
-Index: pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_logger.py
+Index: pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_logger.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/fastapi_tests/test_logger.py
-+++ pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_logger.py
+--- pyrollbar-0.16.3.orig/rollbar/test/fastapi_tests/test_logger.py
++++ pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_logger.py
 @@ -13,7 +13,7 @@ try:
  except ImportError:
      FASTAPI_INSTALLED = False
@@ -351,10 +351,10 @@
      FASTAPI_INSTALLED and ALLOWED_PYTHON_VERSION,
      'FastAPI LoggerMiddleware requires Python3.6+',
  )
-Index: pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_middleware.py
+Index: pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_middleware.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/fastapi_tests/test_middleware.py
-+++ pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_middleware.py
+--- pyrollbar-0.16.3.orig/rollbar/test/fastapi_tests/test_middleware.py
++++ pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_middleware.py
 @@ -14,7 +14,7 @@ try:
  except ImportError:
      FASTAPI_INSTALLED = False
@@ -391,10 +391,10 @@
          sys.version_info >= (3, 6), 'Global request access is supported in 
Python 3.6+'
      )
      def test_should_return_current_request(self):
-Index: pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_routing.py
+Index: pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_routing.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/fastapi_tests/test_routing.py
-+++ pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_routing.py
+--- pyrollbar-0.16.3.orig/rollbar/test/fastapi_tests/test_routing.py
++++ pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_routing.py
 @@ -17,7 +17,7 @@ except ImportError:
      FASTAPI_INSTALLED = False
      ALLOWED_FASTAPI_VERSION = False
@@ -444,10 +444,10 @@
          sys.version_info >= (3, 6), 'Global request access is supported in 
Python 3.6+'
      )
      def test_should_return_current_request(self):
-Index: pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_utils.py
+Index: pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_utils.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/fastapi_tests/test_utils.py
-+++ pyrollbar-0.16.2/rollbar/test/fastapi_tests/test_utils.py
+--- pyrollbar-0.16.3.orig/rollbar/test/fastapi_tests/test_utils.py
++++ pyrollbar-0.16.3/rollbar/test/fastapi_tests/test_utils.py
 @@ -7,14 +7,14 @@ try:
  except ImportError:
      FASTAPI_INSTALLED = False
@@ -474,10 +474,10 @@
      FASTAPI_INSTALLED and ALLOWED_PYTHON_VERSION, 'FastAPI requires 
Python3.6+'
  )
  class UtilsBareRoutingTest(BaseTest):
-Index: pyrollbar-0.16.2/rollbar/test/asgi_tests/__init__.py
+Index: pyrollbar-0.16.3/rollbar/test/asgi_tests/__init__.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/asgi_tests/__init__.py
-+++ pyrollbar-0.16.2/rollbar/test/asgi_tests/__init__.py
+--- pyrollbar-0.16.3.orig/rollbar/test/asgi_tests/__init__.py
++++ pyrollbar-0.16.3/rollbar/test/asgi_tests/__init__.py
 @@ -1,9 +1,9 @@
  import sys
 -import unittest2
@@ -490,10 +490,10 @@
  
  
  if sys.version_info < (3, 5):
-Index: pyrollbar-0.16.2/rollbar/test/asgi_tests/test_middleware.py
+Index: pyrollbar-0.16.3/rollbar/test/asgi_tests/test_middleware.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/asgi_tests/test_middleware.py
-+++ pyrollbar-0.16.2/rollbar/test/asgi_tests/test_middleware.py
+--- pyrollbar-0.16.3.orig/rollbar/test/asgi_tests/test_middleware.py
++++ pyrollbar-0.16.3/rollbar/test/asgi_tests/test_middleware.py
 @@ -7,7 +7,7 @@ try:
  except ImportError:
      import mock
@@ -539,10 +539,10 @@
      @mock.patch('logging.Logger.warning')
      @mock.patch('rollbar.lib._async.report_exc_info', new_callable=AsyncMock)
      @mock.patch('rollbar.report_exc_info')
-Index: pyrollbar-0.16.2/rollbar/test/asgi_tests/test_spec.py
+Index: pyrollbar-0.16.3/rollbar/test/asgi_tests/test_spec.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/asgi_tests/test_spec.py
-+++ pyrollbar-0.16.2/rollbar/test/asgi_tests/test_spec.py
+--- pyrollbar-0.16.3.orig/rollbar/test/asgi_tests/test_spec.py
++++ pyrollbar-0.16.3/rollbar/test/asgi_tests/test_spec.py
 @@ -1,14 +1,14 @@
  import inspect
  import sys
@@ -560,10 +560,10 @@
  class ASGISpecTest(BaseTest):
      def test_asgi_v3_middleware_is_single_callable_coroutine(self):
          from rollbar.contrib.asgi import ReporterMiddleware
-Index: pyrollbar-0.16.2/rollbar/test/async_tests/__init__.py
+Index: pyrollbar-0.16.3/rollbar/test/async_tests/__init__.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/async_tests/__init__.py
-+++ pyrollbar-0.16.2/rollbar/test/async_tests/__init__.py
+--- pyrollbar-0.16.3.orig/rollbar/test/async_tests/__init__.py
++++ pyrollbar-0.16.3/rollbar/test/async_tests/__init__.py
 @@ -1,9 +1,9 @@
  import sys
 -import unittest2
@@ -576,10 +576,10 @@
  
  
  if sys.version_info < (3, 6):
-Index: pyrollbar-0.16.2/rollbar/test/async_tests/test_async.py
+Index: pyrollbar-0.16.3/rollbar/test/async_tests/test_async.py
 ===================================================================
---- pyrollbar-0.16.2.orig/rollbar/test/async_tests/test_async.py
-+++ pyrollbar-0.16.2/rollbar/test/async_tests/test_async.py
+--- pyrollbar-0.16.3.orig/rollbar/test/async_tests/test_async.py
++++ pyrollbar-0.16.3/rollbar/test/async_tests/test_async.py
 @@ -6,7 +6,7 @@ try:
  except ImportError:
      import mock

++++++ v0.16.2.tar.gz -> v0.16.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/.github/pull_request_template.md 
new/pyrollbar-0.16.3/.github/pull_request_template.md
--- old/pyrollbar-0.16.2/.github/pull_request_template.md       2021-09-22 
19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/.github/pull_request_template.md       2022-06-08 
12:09:29.000000000 +0200
@@ -1,14 +1,23 @@
 ## Description of the change
 
-> Description here
+> Please include a summary of the change and which issues are fixed.
+> Please also include relevant motivation and context.
+
 ## Type of change
+
 - [ ] Bug fix (non-breaking change that fixes an issue)
 - [ ] New feature (non-breaking change that adds functionality)
 - [ ] Breaking change (fix or feature that would cause existing functionality 
to not work as expected)
+- [ ] Maintenance
+- [ ] New release
 
 ## Related issues
 
-> Fix [#1]() 
+> Shortcut stories and GitHub issues (delete irrelevant)
+
+- Fix [SC-]
+- Fix #1
+
 ## Checklists
 
 ### Development
@@ -17,9 +26,9 @@
 - [ ] The code changed/added as part of this pull request has been covered 
with tests
 - [ ] All tests related to the changed code pass in development
 
-### Code review 
+### Code review
 
-- [ ]  This pull request has a descriptive title and information useful to a 
reviewer. There may be a screenshot or screencast attached
-- [ ] "Ready for review" label attached to the PR and reviewers mentioned in a 
comment
+- [ ] This pull request has a descriptive title and information useful to a 
reviewer. There may be a screenshot or screencast attached
+- [ ] "Ready for review" label attached to the PR and reviewers assigned
+- [ ] Issue from task tracker has a link to this pull request
 - [ ] Changes have been reviewed by at least one other engineer
-- [ ] Issue from task tracker has a link to this pull request 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/.github/workflows/ci.yml 
new/pyrollbar-0.16.3/.github/workflows/ci.yml
--- old/pyrollbar-0.16.2/.github/workflows/ci.yml       2021-09-22 
19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/.github/workflows/ci.yml       2022-06-08 
12:09:29.000000000 +0200
@@ -26,10 +26,14 @@
           - TWISTED_VERSION=16.5.0 treq==16.12.0 zope.interface==4.5.0
           - TWISTED_VERSION=16.6.0 treq==16.12.0 zope.interface==4.5.0
           - TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0
-          - DJANGO_VERSION=1.11.20
+          - DJANGO_VERSION=1.11.29
           - DJANGO_VERSION=2.0.13
-          - DJANGO_VERSION=2.1.7
           - DJANGO_VERSION=2.1.15
+          - DJANGO_VERSION=2.2.26
+          - DJANGO_VERSION=3.0.14
+          - DJANGO_VERSION=3.1.14
+          - DJANGO_VERSION=3.2.11
+          - DJANGO_VERSION=4.0.1
           - PYRAMID_VERSION=1.9.2
           - PYRAMID_VERSION=1.10.4
           - STARLETTE_VERSION=0.12.12 httpx==0.18.1 python-multipart==0.0.5
@@ -42,18 +46,46 @@
           - python-version: 2.7
             framework: DJANGO_VERSION=2.0.13
           - python-version: 2.7
-            framework: DJANGO_VERSION=2.1.7
+            framework: DJANGO_VERSION=2.1.15
+          - python-version: 2.7
+            framework: DJANGO_VERSION=2.2.26
+          - python-version: 2.7
+            framework: DJANGO_VERSION=3.0.14
           - python-version: 2.7
+            framework: DJANGO_VERSION=3.1.14
+          - python-version: 2.7
+            framework: DJANGO_VERSION=3.2.11
+          - python-version: 2.7
+            framework: DJANGO_VERSION=4.0.1
+          - python-version: 3.4
             framework: DJANGO_VERSION=2.1.15
           - python-version: 3.4
-            framework: DJANGO_VERSION=2.1.7
+            framework: DJANGO_VERSION=2.2.26
           - python-version: 3.4
-            framework: DJANGO_VERSION=2.1.15
+            framework: DJANGO_VERSION=3.0.14
+          - python-version: 3.4
+            framework: DJANGO_VERSION=3.1.14
+          - python-version: 3.4
+            framework: DJANGO_VERSION=3.2.11
+          - python-version: 3.4
+            framework: DJANGO_VERSION=4.0.1
           - python-version: 3.5
-            framework: DJANGO_VERSION=2.1.15
+            framework: DJANGO_VERSION=3.0.14
+          - python-version: 3.5
+            framework: DJANGO_VERSION=3.1.14
+          - python-version: 3.5
+            framework: DJANGO_VERSION=3.2.11
+          - python-version: 3.5
+            framework: DJANGO_VERSION=4.0.1
           - python-version: 3.6
-            framework: DJANGO_VERSION=2.1.15
+            framework: DJANGO_VERSION=4.0.1
           - python-version: 3.7
+            framework: DJANGO_VERSION=4.0.1
+          - python-version: 3.8
+            framework: DJANGO_VERSION=1.11.29
+          - python-version: 3.8
+            framework: DJANGO_VERSION=2.0.13
+          - python-version: 3.8
             framework: DJANGO_VERSION=2.1.15
 
           # twisted/treq setup.py allows:
@@ -134,18 +166,6 @@
         include:
           - python-version: 2.7
             framework: FLASK_VERSION=0.9
-          - python-version: 3.3
-            framework: FLASK_VERSION=0.10.1
-          - python-version: 3.3
-            framework: FLASK_VERSION=0.11.1
-          - python-version: 3.3
-            framework: FLASK_VERSION=0.12.4
-          - python-version: 3.3
-            framework: FLASK_VERSION=1.0.2
-          - python-version: 3.3
-            framework: DJANGO_VERSION=1.6.11
-          - python-version: 3.3
-            framework: DJANGO_VERSION=1.8.19
           - python-version: 3.4
             framework: DJANGO_VERSION=1.7.11
           - python-version: 3.4
@@ -185,11 +205,6 @@
       - name: Install dependencies
         run: pip install setuptools==39.2.0 --force-reinstall
 
-      - name: Python 3.3 dependencies
-        if: ${{ matrix.python-version == '3.3' }}
-        run: pip install --force-reinstall \
-          Werkzeug==0.14.1 six>=1.9.0 requests>=0.12.1 enum34 unittest2 
blinker webob
-
       - name: Set the framework
         run: echo ${{ matrix.framework }} >> $GITHUB_ENV
 
@@ -217,5 +232,27 @@
         if: ${{ contains(matrix.framework, 'FASTAPI_VERSION') }}
         run: pip install fastapi==$FASTAPI_VERSION
 
+      - name: Install Python 2 dependencies
+        if: ${{ contains(matrix.python-version, '2.7') }}
+        # certifi dropped support for Python 2 in 2020.4.5.2 but only started
+        # using Python 3 syntax in 2022.5.18. 2021.10.8 is the last release 
with
+        # Python 2 support.
+        run: pip install certifi==2021.10.8
+
+      - name: Install Python 3.4 dependencies
+        if: ${{ contains(matrix.python-version, '3.4') }}
+        # certifi uses the 'typing' from Python 3.5 module starting in 
2022.5.18
+        run: pip install certifi==2021.10.8 "typing-extensions<4"
+
+      - name: Install Python 3.5 dependencies
+        if: ${{ contains(matrix.python-version, '3.5') }}
+        # typing-extensions dropped support for Python 3.5 in version 4
+        run: pip install "typing-extensions<4"
+
+      - name: Install Python 3.6 dependencies
+        if: ${{ contains(matrix.python-version, '3.6') }}
+        # typing-extensions dropped support for Python 3.6 in version 4.2
+        run: pip install "typing-extensions<4.2"
+
       - name: Run tests
         run: python setup.py test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/CHANGELOG.md 
new/pyrollbar-0.16.3/CHANGELOG.md
--- old/pyrollbar-0.16.2/CHANGELOG.md   2021-09-22 19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/CHANGELOG.md   2022-06-08 12:09:29.000000000 +0200
@@ -2,6 +2,14 @@
 
 The change log is also available on the [GitHub Releases 
Page](https://github.com/rollbar/pyrollbar/releases).
 
+**0.16.3**
+
+- Pinned Python 2 CI tests to legacy version of dependencies. See 
[#408](https://github.com/rollbar/pyrollbar/pull/408)
+- Add PyPI badge for supported Python versions. See 
[#408](https://github.com/rollbar/pyrollbar/pull/401)
+- Add Django 4.0+ compatibility. See 
[#408](https://github.com/rollbar/pyrollbar/pull/400)
+- Update PR template. See [#408](https://github.com/rollbar/pyrollbar/pull/395)
+- SC-95272: Remove support for Python 3.3. See 
[#408](https://github.com/rollbar/pyrollbar/pull/394)
+
 **0.16.2**
 
 - Fix building person data in Django. See 
[#385](https://github.com/rollbar/pyrollbar/pull/385)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/README.md 
new/pyrollbar-0.16.3/README.md
--- old/pyrollbar-0.16.2/README.md      2021-09-22 19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/README.md      2022-06-08 12:09:29.000000000 +0200
@@ -1,5 +1,7 @@
 # Pyrollbar
+
 ![Build 
Status](https://github.com/rollbar/pyrollbar/workflows/Pyrollbar%20CI/badge.svg?tag=latest)
+![PyPI - Python Version](https://img.shields.io/pypi/pyversions/rollbar)
 
 Python notifier for reporting exceptions, errors, and log messages to 
[Rollbar](https://rollbar.com).
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/rollbar/__init__.py 
new/pyrollbar-0.16.3/rollbar/__init__.py
--- old/pyrollbar-0.16.2/rollbar/__init__.py    2021-09-22 19:25:23.000000000 
+0200
+++ new/pyrollbar-0.16.3/rollbar/__init__.py    2022-06-08 12:09:29.000000000 
+0200
@@ -23,7 +23,7 @@
 from rollbar.lib import events, filters, dict_merge, parse_qs, text, 
transport, urljoin, iteritems, defaultJSONEncode
 
 
-__version__ = '0.16.2'
+__version__ = '0.16.3'
 __log_name__ = 'rollbar'
 log = logging.getLogger(__log_name__)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pyrollbar-0.16.2/rollbar/contrib/django/middleware.py 
new/pyrollbar-0.16.3/rollbar/contrib/django/middleware.py
--- old/pyrollbar-0.16.2/rollbar/contrib/django/middleware.py   2021-09-22 
19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/rollbar/contrib/django/middleware.py   2022-06-08 
12:09:29.000000000 +0200
@@ -134,7 +134,7 @@
         if new_data in debug.TECHNICAL_500_TEMPLATE:
             return
         debug.TECHNICAL_500_TEMPLATE = 
debug.TECHNICAL_500_TEMPLATE.replace(insert_before, replacement, 1)
-    else:
+    elif hasattr(debug, 'CURRENT_DIR'):
         # patch ExceptionReporter.get_traceback_html if this version of Django 
is using
         # the file system templates rather than the ones in code
         # This code comes from:
@@ -152,6 +152,14 @@
             c = Context(exception_reporter.get_traceback_data(), 
use_l10n=False)
             return t.render(c)
         debug.ExceptionReporter.get_traceback_html = new_get_traceback_html
+    else:
+        # patch ExceptionReporter.get_traceback_html for Django versions 4.0+
+        def new_get_traceback_html(self):
+            """Return HTML version of debug 500 HTTP error page."""
+            with self.html_template_path.open(encoding='utf-8') as fh:
+                t = debug.DEBUG_ENGINE.from_string(fh.read())
+            c = Context(self.get_traceback_data(), use_l10n=False)
+            return t.render(c)
 
     if hasattr(debug.ExceptionReporter, '__rollbar__patched'):
         return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyrollbar-0.16.2/setup.py 
new/pyrollbar-0.16.3/setup.py
--- old/pyrollbar-0.16.2/setup.py       2021-09-22 19:25:23.000000000 +0200
+++ new/pyrollbar-0.16.3/setup.py       2022-06-08 12:09:29.000000000 +0200
@@ -50,7 +50,6 @@
         "Programming Language :: Python :: 2",
         "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.3",
         "Programming Language :: Python :: 3.4",
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
@@ -86,10 +85,6 @@
         'requests>=0.12.1; python_version >= "3.6"',
         'requests<2.26,>=0.12.1; python_version == "3.5"',
         'requests<2.22,>=0.12.1; python_version == "3.4"',
-        'requests<2.19,>=0.12.1; python_version == "3.3"',
-        'requests<1.2,>=0.12.1; python_version == "3.2"',
-        'requests<1.2,>=0.12.1; python_version == "3.1"',
-        'requests<1.2,>=0.12.1; python_version == "3.0"',
         'six>=1.9.0'
     ],
     tests_require=tests_require,

Reply via email to