Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-django-ipware for 
openSUSE:Factory checked in at 2023-10-05 20:04:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-ipware (Old)
 and      /work/SRC/openSUSE:Factory/.python-django-ipware.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-django-ipware"

Thu Oct  5 20:04:56 2023 rev:5 rq:1115779 version:5.0.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-django-ipware/python-django-ipware.changes    
    2023-05-08 17:24:11.596663064 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-django-ipware.new.28202/python-django-ipware.changes
     2023-10-05 20:06:06.453117065 +0200
@@ -1,0 +2,9 @@
+Thu Oct  5 09:20:34 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 5.0.1:
+  * Add HTTP_X_CLIENT_IP to defaults.py
+  * feat: support for python/django versions
+  * Add Missing Comma and Extend Private IPv6 Prefix List
+  * add deprecation notice
+
+-------------------------------------------------------------------

Old:
----
  django-ipware-5.0.0.tar.gz

New:
----
  django-ipware-5.0.1.tar.gz

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

Other differences:
------------------
++++++ python-django-ipware.spec ++++++
--- /var/tmp/diff_new_pack.5IwGzH/_old  2023-10-05 20:06:07.653160419 +0200
+++ /var/tmp/diff_new_pack.5IwGzH/_new  2023-10-05 20:06:07.657160564 +0200
@@ -16,11 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
-%define skip_python36 1
+%{?sle15_python_module_pythons}
 Name:           python-django-ipware
-Version:        5.0.0
+Version:        5.0.1
 Release:        0
 Summary:        Django utility application that returns client's real IP 
address
 License:        MIT

++++++ django-ipware-5.0.0.tar.gz -> django-ipware-5.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/.github/workflows/ci.yml 
new/django-ipware-5.0.1/.github/workflows/ci.yml
--- old/django-ipware-5.0.0/.github/workflows/ci.yml    2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/.github/workflows/ci.yml    2023-10-03 
02:46:28.000000000 +0200
@@ -1,34 +1,31 @@
 # https://devguide.python.org/versions
 # https://www.djangoproject.com/download/#supported-versions
-name: (CI)
+name: ci
 
 on:
   push:
     branches:
       - ci
+      - dev
+      - master
   pull_request:
     branches:
       - ci
+      - dev
       - master
 
 jobs:
-  build:
+  ci:
     name: Python ${{ matrix.python-version }}, django ${{ 
matrix.django-version }}
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: [3.7, 3.8, 3.9, "3.10", 3.11, pypy3.9]
-        django-version: [3.2, 4.0, 4.1]
+        python-version: [3.8, 3.9, "3.10", "3.11"]
+        django-version: [3.2, 4.1, 4.2]
         exclude:
           # excludes list
-          - python-version: 3.7
-            django-version: 4.0
-          - python-version: 3.7
-            django-version: 4.1
           - python-version: 3.11
             django-version: 3.2
-          - python-version: 3.11
-            django-version: 4.0
 
     steps:
       - uses: actions/checkout@v3
@@ -40,19 +37,12 @@
         run: |
           python -m pip install --upgrade pip
           pip install -e .
-          pip install --upgrade coveralls
-          pip install "django~=${{ matrix.django-version }}.0"
-      - name: Run flake8
-        run: |
-          pip install --upgrade flake8
-          flake8 --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
-      - name: Run pycodestyle
-        run: |
-          pip install --upgrade pycodestyle
-          pycodestyle --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
+          pip install --upgrade coveralls ruff
+          pip install "django~=${{ matrix.django-version }}"
+      - name: Run ruff
+        run: ruff --format=github .
       - name: Run test
-        run: |
-          coverage run --source=ipware manage.py test
+        run: coverage run --source=ipware manage.py test
       - name: Coveralls
         run: coveralls --service=github
         env:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/.github/workflows/dev.yml 
new/django-ipware-5.0.1/.github/workflows/dev.yml
--- old/django-ipware-5.0.0/.github/workflows/dev.yml   2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/.github/workflows/dev.yml   1970-01-01 
01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
-name: DEV
-
-# Run on push only for dev/sandbox
-# Otherwise it may trigger concurrently `push & pull_request` on PRs.
-on:
-  push:
-    branches:
-      - sandbox
-      - dev
-
-jobs:
-  build:
-    name: Python ${{ matrix.python-version }}, django ${{ 
matrix.django-version }}
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        python-version: [3.7, 3.8, 3.9, "3.10", 3.11, pypy3.9]
-        django-version: [3.2, 4.0, 4.1]
-        exclude:
-          # excludes list
-          - python-version: 3.7
-            django-version: 4.0
-          - python-version: 3.7
-            django-version: 4.1
-          - python-version: 3.11
-            django-version: 3.2
-          - python-version: 3.11
-            django-version: 4.0
-
-    steps:
-      - uses: actions/checkout@v3
-      - name: setup python
-        uses: actions/setup-python@v4
-        with:
-          python-version: ${{ matrix.python-version }}
-      - name: Install dependencies
-        run: |
-          python -m pip install --upgrade pip
-          pip install -e .
-          pip install --upgrade coveralls
-          pip install "django~=${{ matrix.django-version }}.0"
-      - name: Run flake8
-        run: |
-          pip install --upgrade flake8
-          flake8 --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
-      - name: Run pycodestyle
-        run: |
-          pip install --upgrade pycodestyle
-          pycodestyle --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
-      - name: Run test
-        run: |
-          coverage run --source=ipware manage.py test
-      - name: Coveralls
-        run: coveralls --service=github
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/.github/workflows/main.yml 
new/django-ipware-5.0.1/.github/workflows/main.yml
--- old/django-ipware-5.0.0/.github/workflows/main.yml  2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/.github/workflows/main.yml  1970-01-01 
01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-name: MAIN
-
-# Run on push only for main
-# Otherwise it may trigger concurrently `push & pull_request` on PRs.
-on:
-  push:
-    branches:
-      - master
-
-jobs:
-  build:
-    name: Python ${{ matrix.python-version }}, django ${{ 
matrix.django-version }}
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        python-version: [3.7, 3.8, 3.9, "3.10", 3.11, pypy3.9]
-        django-version: [3.2, 4.0, 4.1]
-        exclude:
-          # excludes list
-          - python-version: 3.7
-            django-version: 4.0
-          - python-version: 3.7
-            django-version: 4.1
-          - python-version: 3.11
-            django-version: 3.2
-          - python-version: 3.11
-            django-version: 4.0
-
-    steps:
-      - uses: actions/checkout@v3
-      - name: setup python
-        uses: actions/setup-python@v4
-        with:
-          python-version: ${{ matrix.python-version }}
-      - name: Install dependencies
-        run: |
-          python -m pip install --upgrade pip
-          pip install -e .
-          pip install --upgrade coveralls
-          pip install "django~=${{ matrix.django-version }}.0"
-      - name: Run flake8
-        run: |
-          pip install --upgrade flake8
-          flake8 --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
-      - name: Run pycodestyle
-        run: |
-          pip install --upgrade pycodestyle
-          pycodestyle --exclude=migrations,tests --ignore=E501,E241,E225,E128 .
-      - name: Run test
-        run: |
-          coverage run --source=ipware manage.py test
-      - name: Coveralls
-        run: coveralls --service=github
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/CHANGELOG.md 
new/django-ipware-5.0.1/CHANGELOG.md
--- old/django-ipware-5.0.0/CHANGELOG.md        2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/CHANGELOG.md        2023-10-03 02:46:28.000000000 
+0200
@@ -1,3 +1,12 @@
+# Unreleased
+
+Enhancement:
+
+- Drop Python 3.7 support
+- Add support for Django 4.2
+- Drop support for Django 4.0
+- Drop support for PyPy
+
 # 5.0.0
 
 Enhancement:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/README.md 
new/django-ipware-5.0.1/README.md
--- old/django-ipware-5.0.0/README.md   2023-03-05 15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/README.md   2023-10-03 02:46:28.000000000 +0200
@@ -1,4 +1,13 @@
-# Django IPware (Read [Notice](README.md#Notice))
+# Django IPware 
+## Deprecated
+
+This package is no longer maintained. Please use 
[python-ipware](https://github.com/un33k/python-ipware) instead.
+
+`python-ipware` is a newer package, with more advanced features. While this a 
Django specific package, `python-ipware` can be used with Django, Flask, etc.
+
+While this package is no longer maintained, it will continue to work as is. If 
you are using this package, you are encouraged to migrate to `python-ipware` as 
soon as possible.
+
+=====================================================================================
 
 **A Django application to retrieve client's IP address**
 
@@ -10,6 +19,10 @@
 
 **Best attempt** to get client's IP address while keeping it **DRY**.
 
+# Alternative package
+
+If you prefer a python version, you can use the 
[python-ipware](https://github.com/un33k/python-ipware) package instead. 
`python-ipware` is a newer package, with more advanced features. While this a 
Django specific package, `python-ipware` can be used with Django, Flask, etc.
+
 # Notice
 
 There is no perfect `out-of-the-box` solution against fake IP addresses, aka 
`IP Address Spoofing`.
@@ -119,13 +132,13 @@
      '233.', '234.', '235.', '236.', '237.', '238.', '239.',  # multicast
      '240.', '241.', '242.', '243.', '244.', '245.', '246.', '247.', '248.',
      '249.', '250.', '251.', '252.', '253.', '254.', '255.',  # reserved
-   ) + (
      '::',  # Unspecified address
-     '::ffff:', '2001:10:', '2001:20:'  # messages to software
+     '::ffff:', '2001:10:', '2001:20:',  # messages to software
      '2001::',  # TEREDO
      '2001:2::',  # benchmarking
      '2001:db8:',  # reserved for documentation and example code
-     'fc00:',  # IPv6 private block
+     'fc',  # IPv6 ULA (RFC4193) - NOTE: Reserved for future use, not 
currently in widespread use.
+     'fd',  # IPv6 ULA (RFC4193) - Mainly used for private network addressing
      'fe80:',  # link-local unicast
      'ff00:',  # IPv6 multicast
    )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/__version__.py 
new/django-ipware-5.0.1/ipware/__version__.py
--- old/django-ipware-5.0.0/ipware/__version__.py       2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/ipware/__version__.py       2023-10-03 
02:46:28.000000000 +0200
@@ -5,4 +5,4 @@
 __url__ = 'https://github.com/un33k/django-ipware'
 __license__ = 'MIT'
 __copyright__ = 'Copyright 2020 Val Neekman @ Neekware Inc.'
-__version__ = '5.0.0'
+__version__ = '5.0.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/defaults.py 
new/django-ipware-5.0.1/ipware/defaults.py
--- old/django-ipware-5.0.0/ipware/defaults.py  2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/ipware/defaults.py  2023-10-03 02:46:28.000000000 
+0200
@@ -1,6 +1,5 @@
 from django.conf import settings
 
-
 # Search for the real IP address in the following order
 # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For
 # X-Forwarded-For: <client>, <proxy1>, <proxy2>
@@ -15,6 +14,7 @@
         'HTTP_FORWARDED_FOR',
         'HTTP_FORWARDED',
         'HTTP_VIA',
+        'HTTP_X_CLIENT_IP',
         'REMOTE_ADDR',
     )
 )
@@ -58,13 +58,13 @@
         '233.', '234.', '235.', '236.', '237.', '238.', '239.',  # multicast
         '240.', '241.', '242.', '243.', '244.', '245.', '246.', '247.', '248.',
         '249.', '250.', '251.', '252.', '253.', '254.', '255.',  # reserved
-    ) + (
         '::',  # Unspecified address
-        '::ffff:', '2001:10:', '2001:20:'  # messages to software
+        '::ffff:', '2001:10:', '2001:20:',  # messages to software
         '2001::',  # TEREDO
         '2001:2::',  # benchmarking
         '2001:db8:',  # reserved for documentation and example code
-        'fc00:',  # IPv6 private block
+        'fc',  # IPv6 ULA (RFC4193) - NOTE: Reserved for future use, not 
currently in widespread use.
+        'fd',  # IPv6 ULA (RFC4193) - Mainly used for private network 
addressing
         'fe80:',  # link-local unicast
         'ff00:',  # IPv6 multicast
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/ip.py 
new/django-ipware-5.0.1/ipware/ip.py
--- old/django-ipware-5.0.0/ipware/ip.py        2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/ipware/ip.py        2023-10-03 02:46:28.000000000 
+0200
@@ -1,5 +1,5 @@
-from . import utils as util
 from . import defaults as defs
+from . import utils as util
 
 
 def get_client_ip(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/tests/tests_common.py 
new/django-ipware-5.0.1/ipware/tests/tests_common.py
--- old/django-ipware-5.0.0/ipware/tests/tests_common.py        2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/ipware/tests/tests_common.py        2023-10-03 
02:46:28.000000000 +0200
@@ -2,6 +2,7 @@
 
 from django.http import HttpRequest
 from django.test import TestCase
+
 from .. import utils as util
 
 
@@ -80,3 +81,16 @@
         ip = '74dc::02ba'
         result = util.get_ip_info(ip)
         self.assertTrue(result, (ip, True))
+
+    def test_is_ipv6_private_block(self):
+        ip = 'fc00::1'
+        self.assertTrue(util.is_private_ip(ip))
+
+        ip = 'fd00::1'
+        self.assertTrue(util.is_private_ip(ip))
+
+        # Test an address that is outside the fc00::/7 private block range
+        ip = 'fb00::1'
+        self.assertFalse(util.is_private_ip(ip))
+        ip = 'fe00::1'
+        self.assertFalse(util.is_private_ip(ip))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/tests/tests_ipv4.py 
new/django-ipware-5.0.1/ipware/tests/tests_ipv4.py
--- old/django-ipware-5.0.0/ipware/tests/tests_ipv4.py  2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/ipware/tests/tests_ipv4.py  2023-10-03 
02:46:28.000000000 +0200
@@ -2,6 +2,7 @@
 
 from django.http import HttpRequest
 from django.test import TestCase
+
 from ipware import get_client_ip
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/tests/tests_ipv6.py 
new/django-ipware-5.0.1/ipware/tests/tests_ipv6.py
--- old/django-ipware-5.0.0/ipware/tests/tests_ipv6.py  2023-03-05 
15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/ipware/tests/tests_ipv6.py  2023-10-03 
02:46:28.000000000 +0200
@@ -2,6 +2,7 @@
 
 from django.http import HttpRequest
 from django.test import TestCase
+
 from ipware import get_client_ip
 
 
@@ -189,4 +190,4 @@
             'HTTP_X_FORWARDED_FOR': '::ffff:177.139.233.139',
         }
         result = get_client_ip(request)
-        self.assertEqual(result, ('177.139.233.139', True))
\ No newline at end of file
+        self.assertEqual(result, ('177.139.233.139', True))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/ipware/utils.py 
new/django-ipware-5.0.1/ipware/utils.py
--- old/django-ipware-5.0.0/ipware/utils.py     2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/ipware/utils.py     2023-10-03 02:46:28.000000000 
+0200
@@ -91,9 +91,8 @@
             ip_list.append(clean_ip)
 
     ip_count = len(ip_list)
-    if ip_count > 0:
-        if is_valid_ip(ip_list[0]) and is_valid_ip(ip_list[-1]):
-            return ip_list, ip_count
+    if ip_count > 0 and is_valid_ip(ip_list[0]) and is_valid_ip(ip_list[-1]):
+        return ip_list, ip_count
 
     return [], 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/pyproject.toml 
new/django-ipware-5.0.1/pyproject.toml
--- old/django-ipware-5.0.0/pyproject.toml      2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/pyproject.toml      2023-10-03 02:46:28.000000000 
+0200
@@ -4,3 +4,34 @@
     "wheel"
 ]
 build-backend = "setuptools.build_meta"
+
+[tool.ruff]
+select = [
+    "B",
+    "C4",
+    "C9",
+    "DJ",
+    "E",
+    "EM",
+    "F",
+    "I",
+    "N",
+    "PGH",
+    "PLC",
+    "PLE",
+    "PLW",
+    "RSE",
+    "RET",
+    "RUF",
+    "SLF",
+    "SIM",
+    "TCH",
+    "TID",
+    "W",
+]
+ignore = ["PGH004", "TID252"]
+line-length = 107
+target-version = "py311"
+
+[tool.ruff.mccabe]
+max-complexity = 16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/requirement-dev.txt 
new/django-ipware-5.0.1/requirement-dev.txt
--- old/django-ipware-5.0.0/requirement-dev.txt 2023-03-05 15:20:24.000000000 
+0100
+++ new/django-ipware-5.0.1/requirement-dev.txt 2023-10-03 02:46:28.000000000 
+0200
@@ -1,4 +1,4 @@
-Django==4.0
-pycodestyle==2.7.0
-flake8==3.9.2
-twine==3.4.2
+Django==4.2.4
+pycodestyle==2.11.0
+flake8==6.1.0
+twine==4.0.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-ipware-5.0.0/setup.py 
new/django-ipware-5.0.1/setup.py
--- old/django-ipware-5.0.0/setup.py    2023-03-05 15:20:24.000000000 +0100
+++ new/django-ipware-5.0.1/setup.py    2023-10-03 02:46:28.000000000 +0200
@@ -2,14 +2,13 @@
 # Learn more: https://github.com/un33k/setup.py
 import os
 import sys
-
 from codecs import open
 from shutil import rmtree
-from setuptools import setup
 
+from setuptools import setup
 
 package = 'ipware'
-python_requires = ">=3.7"
+python_requires = ">=3.8"
 here = os.path.abspath(os.path.dirname(__file__))
 
 requires = []
@@ -70,7 +69,6 @@
         'License :: OSI Approved :: MIT License',
         'Programming Language :: Python',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',

Reply via email to