Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-dill for openSUSE:Factory 
checked in at 2026-01-20 21:03:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dill (Old)
 and      /work/SRC/openSUSE:Factory/.python-dill.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-dill"

Tue Jan 20 21:03:19 2026 rev:21 rq:1328159 version:0.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dill/python-dill.changes  2025-11-14 
16:23:09.518120430 +0100
+++ /work/SRC/openSUSE:Factory/.python-dill.new.1928/python-dill.changes        
2026-01-20 21:03:20.785080471 +0100
@@ -1,0 +2,15 @@
+Tue Jan 20 01:52:03 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 0.4.1:
+  * drop formal support for python 3.8
+  * use get_file_type to open _pyio file types
+  * update rtfd to 3.12 and docs requirements
+  * formal support for 3.14; init support for 3.15
+  * dict and weakref descriptors are singletons in 3.15
+  * sync with rtd 15.4.1
+  * ensure valid class qualname in getsource
+  * avoid numpy segfault for 3.15.0a3
+  * update copyright for 2026, urllib3 to 2.6.0
+- Drop patch fix-contextvars.patch, merged upstream.
+
+-------------------------------------------------------------------

Old:
----
  dill-0.4.0.tar.gz
  fix-contextvars.patch

New:
----
  dill-0.4.1.tar.gz

----------(Old B)----------
  Old:  * update copyright for 2026, urllib3 to 2.6.0
- Drop patch fix-contextvars.patch, merged upstream.
----------(Old E)----------

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

Other differences:
------------------
++++++ python-dill.spec ++++++
--- /var/tmp/diff_new_pack.gUIeTY/_old  2026-01-20 21:03:23.089175840 +0100
+++ /var/tmp/diff_new_pack.gUIeTY/_new  2026-01-20 21:03:23.105176502 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-dill
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -23,16 +23,14 @@
 %endif
 %{?sle15_python_module_pythons}
 Name:           python-dill
-Version:        0.4.0
+Version:        0.4.1
 Release:        0
 Summary:        Module to serialize all of Python
 License:        BSD-3-Clause
 URL:            https://github.com/uqfoundation/dill
 Source:         
https://github.com/uqfoundation/dill/archive/refs/tags/%{version}.tar.gz#/dill-%{version}.tar.gz
-#PATCH-FIX-UPSTREAM fix-contextvars.patch based on gh#uqfoundation/dill#717
-Patch0:         fix-contextvars.patch
 BuildRequires:  %{python_module dbm}
-BuildRequires:  %{python_module devel >= 3.7}
+BuildRequires:  %{python_module devel >= 3.9}
 BuildRequires:  %{python_module objgraph >= 1.7.2}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}

++++++ dill-0.4.0.tar.gz -> dill-0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/.readthedocs.yml 
new/dill-0.4.1/.readthedocs.yml
--- old/dill-0.4.0/.readthedocs.yml     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/.readthedocs.yml     2026-01-19 03:39:07.000000000 +0100
@@ -10,7 +10,7 @@
 build:
   os: ubuntu-22.04
   tools:
-    python: "3.10"
+    python: "3.12"
 
 # install
 python:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/.travis.yml new/dill-0.4.1/.travis.yml
--- old/dill-0.4.0/.travis.yml  2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/.travis.yml  2026-01-19 03:39:07.000000000 +0100
@@ -1,21 +1,20 @@
-dist: jammy
+dist: noble
 language: python
 
 matrix:
     include:
-        - python: '3.8'
-          env:
-
         - python: '3.9'
           dist: focal
           env:
-            - COVERAGE="true"
-            - NUMPY="true"
 
         - python: '3.10'
+          dist: jammy
           env:
+            - COVERAGE="true"
+            - NUMPY="true"
 
         - python: '3.11'
+          dist: jammy
           env:
 
         - python: '3.12'
@@ -24,25 +23,23 @@
         - python: '3.13'
           env:
 
-        - python: '3.14-dev'
+        - python: '3.14'
           env:
 
-        - python: 'pypy3.8-7.3.9' # at 7.3.11
+        - python: '3.15t-dev'
           env:
 
-        - python: 'pypy3.9-7.3.9' # at 7.3.16
+        - python: 'pypy3.9-7.3.15' # at 7.3.16
           env:
 
         - python: 'pypy3.10-7.3.19'
           env:
 
-        - python: 'pypy3.11-7.3.19'
+        - python: 'pypy3.11-7.3.20'
           env:
 
     allow_failures:
-        - python: '3.14-dev' # CI missing
-        - python: 'pypy3.10-7.3.19' # CI missing
-        - python: 'pypy3.11-7.3.19' # CI missing
+        - python: '3.15t-dev' # prerelease
     fast_finish: true
 
 cache:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/DEV_NOTES new/dill-0.4.1/DEV_NOTES
--- old/dill-0.4.0/DEV_NOTES    2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/DEV_NOTES    2026-01-19 03:39:07.000000000 +0100
@@ -75,18 +75,6 @@
 >>> 
 
 
-
-########################################
-approach to pickling weakrefs:
-
-*) register the weakref types ?  (see line ~228 of dill.py)
-
-*) use hash to create hard copy of ref object
-   then upon unpickle, create new weakref
-
-*) propose that pickling a weakref will always provide a dead reference
-   unless the reference object is pickled along with the weakref
-
 ########################################
 pickling generators:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/LICENSE new/dill-0.4.1/LICENSE
--- old/dill-0.4.0/LICENSE      2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/LICENSE      2026-01-19 03:39:07.000000000 +0100
@@ -1,5 +1,5 @@
 Copyright (c) 2004-2016 California Institute of Technology.
-Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 All rights reserved.
 
 This software is available subject to the conditions and terms laid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/README.md new/dill-0.4.1/README.md
--- old/dill-0.4.0/README.md    2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/README.md    2026-01-19 03:39:07.000000000 +0100
@@ -76,7 +76,7 @@
 
[![Support](https://img.shields.io/badge/support-the%20UQ%20Foundation-purple.svg?style=flat&colorA=grey&colorB=purple)](http://www.uqfoundation.org/pages/donate.html)
 [![Documentation 
Status](https://readthedocs.org/projects/dill/badge/?version=latest)](https://dill.readthedocs.io/en/latest/?badge=latest)
 [![Build 
Status](https://app.travis-ci.com/uqfoundation/dill.svg?label=build&logo=travis&branch=master)](https://app.travis-ci.com/github/uqfoundation/dill)
-[![codecov](https://codecov.io/gh/uqfoundation/dill/branch/master/graph/badge.svg)](https://codecov.io/gh/uqfoundation/dill)
+[![codecov](https://codecov.io/gh/uqfoundation/dill/branch/master/graph/badge.svg?token=rgWkSxLxPW)](https://codecov.io/gh/uqfoundation/dill)
 -------------------
 You can get the latest development version with all the shiny new features at:
     https://github.com/uqfoundation
@@ -107,7 +107,7 @@
 ------------
 ``dill`` requires:
 
-* ``python`` (or ``pypy``), **>=3.8**
+* ``python`` (or ``pypy``), **>=3.9**
 * ``setuptools``, **>=42**
 
 Optional requirements:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/__diff.py 
new/dill-0.4.1/dill/__diff.py
--- old/dill-0.4.0/dill/__diff.py       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/__diff.py       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/__init__.py 
new/dill-0.4.1/dill/__init__.py
--- old/dill-0.4.0/dill/__init__.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/__init__.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/_dill.py new/dill-0.4.1/dill/_dill.py
--- old/dill-0.4.0/dill/_dill.py        2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/_dill.py        2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2015 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
@@ -54,6 +54,7 @@
 import builtins as __builtin__
 from pickle import _Pickler as StockPickler, Unpickler as StockUnpickler
 from pickle import GLOBAL, POP
+from _contextvars import Context as ContextType
 from _thread import LockType
 from _thread import RLock as RLockType
 try:
@@ -1039,7 +1040,10 @@
         try:
             attr = objclass.__dict__
             if type(attr) is DictProxyType:
-                attr = attr[name]
+                if sys.hexversion > 0x30f00a0 and name in 
('__weakref__','__dict__'):
+                    attr = _dictproxy_helper.__dict__[name]
+                else:
+                    attr = attr[name]
             else:
                 attr = getattr(objclass,name)
         except (AttributeError, KeyError):
@@ -2119,6 +2123,12 @@
 else:
     _testcapsule = None
 
+@register(ContextType)
+def save_context(pickler, obj):
+    logger.trace(pickler, "Cx: %s", obj)
+    pickler.save_reduce(ContextType, tuple(obj.items()), obj=obj)
+    logger.trace(pickler, "# Cx")
+
 
 #############################
 # A quick fix for issue #500
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/_objects.py 
new/dill-0.4.1/dill/_objects.py
--- old/dill-0.4.0/dill/_objects.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/_objects.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
@@ -50,6 +50,7 @@
 import threading
 import socket
 import contextlib
+import contextvars
 try:
     import bz2
     import sqlite3
@@ -175,7 +176,7 @@
 a['OptionGroupType'] = optparse.OptionGroup(_oparser,"foo") # pickle ok
 a['OptionType'] = optparse.Option('--foo') # pickle ok
 if HAS_CTYPES:
-    z = x if IS_PYPY else a
+    z = x if (IS_PYPY and sys.hexversion < 0x30b0df0) else a
     z['CCharType'] = _cchar = ctypes.c_char()
     z['CWCharType'] = ctypes.c_wchar() # fail == 2.6
     z['CByteType'] = ctypes.c_byte()
@@ -217,7 +218,7 @@
 a['UnicodeIOType'] = TextIO() # the new StringIO
 a['LoggerAdapterType'] = logging.LoggerAdapter(_logger,_dict) # pickle ok
 if HAS_CTYPES:
-    z = x if IS_PYPY else a
+    z = x if (IS_PYPY and sys.hexversion < 0x30b0df0) else a
     z['CBoolType'] = ctypes.c_bool(1)
     z['CLongDoubleType'] = ctypes.c_longdouble()
     del z
@@ -226,7 +227,7 @@
 a['OrderedDictType'] = collections.OrderedDict(_dict)
 a['CounterType'] = collections.Counter(_dict)
 if HAS_CTYPES:
-    z = x if IS_PYPY else a
+    z = x if (IS_PYPY and sys.hexversion < 0x30b0df0) else a
     z['CSSizeTType'] = ctypes.c_ssize_t()
     del z
 # generic operating system services (CH 15)
@@ -250,20 +251,22 @@
 a['NotImplementedType'] = NotImplemented
 a['SliceType'] = slice(1)
 a['UnboundMethodType'] = _class._method #XXX: works when not imported!
-d['TextWrapperType'] = open(os.devnull, 'r') # same as mode='w','w+','r+'
+from dill._dill import get_file_type as openfile
+d['TextWrapperType'] = openfile('r', buffering=-1) # same as mode='w','w+','r+'
 if not IS_PYODIDE:
-    d['BufferedRandomType'] = open(os.devnull, 'r+b') # same as mode='w+b'
-d['BufferedReaderType'] = open(os.devnull, 'rb') # (default: buffering=-1)
-d['BufferedWriterType'] = open(os.devnull, 'wb')
+    d['BufferedRandomType'] = openfile('r+b', buffering=-1) # same as 
mode='w+b'
+d['BufferedReaderType'] = openfile('rb', buffering=-1) # (default: 
buffering=-1)
+d['BufferedWriterType'] = openfile('wb', buffering=-1)
 try: # oddities: deprecated
     from _pyio import open as _open
-    d['PyTextWrapperType'] = _open(os.devnull, 'r', buffering=-1)
+    d['PyTextWrapperType'] = openfile('r', buffering=-1, open=_open)
     if not IS_PYODIDE:
-        d['PyBufferedRandomType'] = _open(os.devnull, 'r+b', buffering=-1)
-    d['PyBufferedReaderType'] = _open(os.devnull, 'rb', buffering=-1)
-    d['PyBufferedWriterType'] = _open(os.devnull, 'wb', buffering=-1)
+        d['PyBufferedRandomType'] = openfile('r+b', buffering=-1, open=_open)
+    d['PyBufferedReaderType'] = openfile('rb', buffering=-1, open=_open)
+    d['PyBufferedWriterType'] = openfile('wb', buffering=-1, open=_open)
 except ImportError:
     pass
+del openfile
 # other (concrete) object types
 z = d if sys.hexversion < 0x30800a2 else a
 z['CellType'] = (_lambda)(0).__closure__[0]
@@ -331,6 +334,7 @@
 x['SocketPairType'] = socket.socketpair()[0]
 # python runtime services (CH 27)
 a['GeneratorContextManagerType'] = contextlib.contextmanager(max)([1])
+#a['ContextType'] = contextvars.Context() #XXX: ContextVar
 
 try: # ipython
     __IPYTHON__ is True # is ipython
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/_shims.py 
new/dill-0.4.1/dill/_shims.py
--- old/dill-0.4.0/dill/_shims.py       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/_shims.py       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Author: Anirudh Vegesana ([email protected])
-# Copyright (c) 2021-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2021-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/detect.py 
new/dill-0.4.1/dill/detect.py
--- old/dill-0.4.0/dill/detect.py       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/detect.py       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/logger.py 
new/dill-0.4.1/dill/logger.py
--- old/dill-0.4.0/dill/logger.py       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/logger.py       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 # -*- coding: utf-8 -*-
 #
 # Author: Leonardo Gama (@leogama)
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/objtypes.py 
new/dill-0.4.1/dill/objtypes.py
--- old/dill-0.4.0/dill/objtypes.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/objtypes.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/pointers.py 
new/dill-0.4.1/dill/pointers.py
--- old/dill-0.4.0/dill/pointers.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/pointers.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/session.py 
new/dill-0.4.1/dill/session.py
--- old/dill-0.4.0/dill/session.py      2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/session.py      2026-01-19 03:39:07.000000000 +0100
@@ -3,7 +3,7 @@
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Author: Leonardo Gama (@leogama)
 # Copyright (c) 2008-2015 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/settings.py 
new/dill-0.4.1/dill/settings.py
--- old/dill-0.4.0/dill/settings.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/settings.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/source.py 
new/dill-0.4.1/dill/source.py
--- old/dill-0.4.0/dill/source.py       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/source.py       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 #
@@ -388,6 +388,8 @@
             # now we are dealing with an instance...
             name = object.__class__.__name__
             module = object.__module__
+            if not name.isidentifier() or not all(i.isidentifier() for i in 
module.split('.')): #XXX: does exclusing malicious code exclude valid use?
+                raise SyntaxError('invalid syntax')
             if module in ['builtins','__builtin__']:
                 return getimport(object, alias, builtin=builtin)
             else: #FIXME: leverage getimport? use 'from module import name'?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/temp.py new/dill-0.4.1/dill/temp.py
--- old/dill-0.4.0/dill/temp.py 2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/temp.py 2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/__init__.py 
new/dill-0.4.1/dill/tests/__init__.py
--- old/dill-0.4.0/dill/tests/__init__.py       2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/__init__.py       2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2018-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2018-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/__main__.py 
new/dill-0.4.1/dill/tests/__main__.py
--- old/dill-0.4.0/dill/tests/__main__.py       2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/__main__.py       2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2018-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2018-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_abc.py 
new/dill-0.4.1/dill/tests/test_abc.py
--- old/dill-0.4.0/dill/tests/test_abc.py       2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_abc.py       2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2023-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2023-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_check.py 
new/dill-0.4.1/dill/tests/test_check.py
--- old/dill-0.4.0/dill/tests/test_check.py     2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_check.py     2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_classdef.py 
new/dill-0.4.1/dill/tests/test_classdef.py
--- old/dill-0.4.0/dill/tests/test_classdef.py  2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_classdef.py  2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_dataclasses.py 
new/dill-0.4.1/dill/tests/test_dataclasses.py
--- old/dill-0.4.0/dill/tests/test_dataclasses.py       2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_dataclasses.py       2026-01-19 
03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Author: Anirudh Vegesana ([email protected])
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_detect.py 
new/dill-0.4.1/dill/tests/test_detect.py
--- old/dill-0.4.0/dill/tests/test_detect.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_detect.py    2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
@@ -138,6 +138,9 @@
 def test_lambdify():
     try:
         from sympy import symbols, lambdify
+        from numpy import __version__ as numversion
+        if numversion < '2.4.0' and sys.hexversion == 0x30f00a3:
+            return #NOTE: numpy Segfaults for the above combination
     except ImportError:
         return
     settings['recurse'] = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_dictviews.py 
new/dill-0.4.1/dill/tests/test_dictviews.py
--- old/dill-0.4.0/dill/tests/test_dictviews.py 2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_dictviews.py 2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Author: Anirudh Vegesana ([email protected])
-# Copyright (c) 2021-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2021-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_diff.py 
new/dill-0.4.1/dill/tests/test_diff.py
--- old/dill-0.4.0/dill/tests/test_diff.py      2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_diff.py      2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_extendpickle.py 
new/dill-0.4.1/dill/tests/test_extendpickle.py
--- old/dill-0.4.0/dill/tests/test_extendpickle.py      2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_extendpickle.py      2026-01-19 
03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_fglobals.py 
new/dill-0.4.1/dill/tests/test_fglobals.py
--- old/dill-0.4.0/dill/tests/test_fglobals.py  2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_fglobals.py  2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2021-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2021-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_file.py 
new/dill-0.4.1/dill/tests/test_file.py
--- old/dill-0.4.0/dill/tests/test_file.py      2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_file.py      2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_functions.py 
new/dill-0.4.1/dill/tests/test_functions.py
--- old/dill-0.4.0/dill/tests/test_functions.py 2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_functions.py 2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2019-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2019-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_functors.py 
new/dill-0.4.1/dill/tests/test_functors.py
--- old/dill-0.4.0/dill/tests/test_functors.py  2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_functors.py  2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_logger.py 
new/dill-0.4.1/dill/tests/test_logger.py
--- old/dill-0.4.0/dill/tests/test_logger.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_logger.py    2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 # Author: Leonardo Gama (@leogama)
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_mixins.py 
new/dill-0.4.1/dill/tests/test_mixins.py
--- old/dill-0.4.0/dill/tests/test_mixins.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_mixins.py    2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_module.py 
new/dill-0.4.1/dill/tests/test_module.py
--- old/dill-0.4.0/dill/tests/test_module.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_module.py    2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_moduledict.py 
new/dill-0.4.1/dill/tests/test_moduledict.py
--- old/dill-0.4.0/dill/tests/test_moduledict.py        2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_moduledict.py        2026-01-19 
03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_nested.py 
new/dill-0.4.1/dill/tests/test_nested.py
--- old/dill-0.4.0/dill/tests/test_nested.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_nested.py    2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_objects.py 
new/dill-0.4.1/dill/tests/test_objects.py
--- old/dill-0.4.0/dill/tests/test_objects.py   2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_objects.py   2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_properties.py 
new/dill-0.4.1/dill/tests/test_properties.py
--- old/dill-0.4.0/dill/tests/test_properties.py        2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_properties.py        2026-01-19 
03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_pycapsule.py 
new/dill-0.4.1/dill/tests/test_pycapsule.py
--- old/dill-0.4.0/dill/tests/test_pycapsule.py 2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_pycapsule.py 2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Author: Anirudh Vegesana ([email protected])
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_recursive.py 
new/dill-0.4.1/dill/tests/test_recursive.py
--- old/dill-0.4.0/dill/tests/test_recursive.py 2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_recursive.py 2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2019-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2019-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_registered.py 
new/dill-0.4.1/dill/tests/test_registered.py
--- old/dill-0.4.0/dill/tests/test_registered.py        2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_registered.py        2026-01-19 
03:39:07.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_restricted.py 
new/dill-0.4.1/dill/tests/test_restricted.py
--- old/dill-0.4.0/dill/tests/test_restricted.py        2025-04-16 
02:43:23.000000000 +0200
+++ new/dill-0.4.1/dill/tests/test_restricted.py        2026-01-19 
03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Kirill Makhonin (@kirillmakhonin)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_selected.py 
new/dill-0.4.1/dill/tests/test_selected.py
--- old/dill-0.4.0/dill/tests/test_selected.py  2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_selected.py  2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
@@ -44,11 +44,6 @@
 _newclass = objects['ClassObjectType']
 # some clean-up #FIXME: should happen internal to dill
 objects['TemporaryFileType'].close()
-objects['TextWrapperType'].close()
-if 'BufferedRandomType' in objects:
-    objects['BufferedRandomType'].close()
-objects['BufferedReaderType'].close()
-objects['BufferedWriterType'].close()
 objects['FileType'].close()
 del objects
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_session.py 
new/dill-0.4.1/dill/tests/test_session.py
--- old/dill-0.4.0/dill/tests/test_session.py   2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_session.py   2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 # Author: Leonardo Gama (@leogama)
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_source.py 
new/dill-0.4.1/dill/tests/test_source.py
--- old/dill-0.4.0/dill/tests/test_source.py    2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_source.py    2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
@@ -161,6 +161,18 @@
 def test_foo():
   assert importable(_foo, source=True).startswith("import dill\nclass 
Foo(object):\n  def bar(self, x):\n    return x*x+x\ndill.loads(")
 
+def test_safe():
+  import abc
+  obj = abc.ABC()
+  obj.__class__.__name__ = "(abc' + print('foo')]) # "
+  try:
+    source = getsource(obj, force=True)
+    assert False
+  except TypeError:
+    assert False
+  except SyntaxError:
+    pass
+
 if __name__ == '__main__':
     test_getsource()
     test_itself()
@@ -171,3 +183,4 @@
     test_importable()
     test_numpy()
     test_foo()
+    test_safe()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_sources.py 
new/dill-0.4.1/dill/tests/test_sources.py
--- old/dill-0.4.0/dill/tests/test_sources.py   2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_sources.py   2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @uqfoundation)
-# Copyright (c) 2024-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2024-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_temp.py 
new/dill-0.4.1/dill/tests/test_temp.py
--- old/dill-0.4.0/dill/tests/test_temp.py      2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_temp.py      2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_threads.py 
new/dill-0.4.1/dill/tests/test_threads.py
--- old/dill-0.4.0/dill/tests/test_threads.py   2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_threads.py   2026-01-19 03:39:07.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2024-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2024-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/dill/tests/test_weakref.py 
new/dill-0.4.1/dill/tests/test_weakref.py
--- old/dill-0.4.0/dill/tests/test_weakref.py   2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/dill/tests/test_weakref.py   2026-01-19 03:39:07.000000000 
+0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/docs/requirements.txt 
new/dill-0.4.1/docs/requirements.txt
--- old/dill-0.4.0/docs/requirements.txt        2025-04-16 02:43:23.000000000 
+0200
+++ new/dill-0.4.1/docs/requirements.txt        2026-01-19 03:39:07.000000000 
+0100
@@ -1,40 +1,39 @@
 # Packages required to build docs
 # dependencies pinned as:
-# 
https://github.com/readthedocs/readthedocs.org/blob/543f389ddd184ff91dac6a7b808dd21697292fd5/requirements/docs.txt
+# 
https://github.com/readthedocs/readthedocs.org/blob/73d63d35cd2a9951609fdff1c30dd287ccb57065/requirements/docs.txt
 
 alabaster==1.0.0
-anyio==4.8.0
+anyio==4.12.0
 babel==2.17.0
-certifi==2025.1.31
-charset-normalizer==3.4.1
-click==8.1.8
+certifi==2025.11.12
+charset-normalizer==3.4.4
+click==8.3.1
 colorama==0.4.6
 docutils==0.21.2
-exceptiongroup==1.2.2
-h11==0.14.0
-idna==3.10
+h11==0.16.0
+idna==3.11
 imagesize==1.4.1
 jinja2==3.1.6
 markdown-it-py==3.0.0
-markupsafe==3.0.2
-mdit-py-plugins==0.4.2
+markupsafe==3.0.3
+mdit-py-plugins==0.5.0
 mdurl==0.1.2
-myst-parser==4.0.0
-packaging==24.2
-pygments==2.19.1
-pyyaml==6.0.2
-requests==2.32.3
+myst-parser==4.0.1
+packaging==25.0
+pygments==2.19.2
+pyyaml==6.0.3
+requests==2.32.5
+roman-numerals-py==3.1.0
 six==1.17.0
-sniffio==1.3.1
-snowballstemmer==2.2.0
-sphinx==8.1.3
-sphinx-autobuild==2024.10.3
+snowballstemmer==3.0.1
+sphinx==8.2.3
+sphinx-autobuild==2025.8.25
 sphinx-copybutton==0.5.2
 sphinx-design==0.6.1
-sphinx-intl==2.3.1
+sphinx-intl==2.3.2
 sphinx-multiproject==1.0.0
 sphinx-notfound-page==1.1.0
-sphinx-prompt==1.9.0
+sphinx-prompt==1.10.2
 sphinx-rtd-theme==3.0.2
 sphinx-tabs==3.4.7
 sphinxcontrib-applehelp==2.0.0
@@ -45,11 +44,10 @@
 sphinxcontrib-jsmath==1.0.1
 sphinxcontrib-qthelp==2.0.0
 sphinxcontrib-serializinghtml==2.0.0
-sphinxext-opengraph==0.9.1
-starlette==0.45.3
-tomli==2.2.1
-typing-extensions==4.12.2
-urllib3==2.3.0
-uvicorn==0.34.0
-watchfiles==1.0.4
-websockets==14.2
+sphinxext-opengraph==0.13.0
+starlette==0.50.0
+typing-extensions==4.15.0
+urllib3==2.6.3
+uvicorn==0.38.0
+watchfiles==1.1.1
+websockets==15.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/scripts/get_gprof 
new/dill-0.4.1/scripts/get_gprof
--- old/dill-0.4.0/scripts/get_gprof    2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/scripts/get_gprof    2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/scripts/get_objgraph 
new/dill-0.4.1/scripts/get_objgraph
--- old/dill-0.4.0/scripts/get_objgraph 2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/scripts/get_objgraph 2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/scripts/undill 
new/dill-0.4.1/scripts/undill
--- old/dill-0.4.0/scripts/undill       2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/scripts/undill       2026-01-19 03:39:07.000000000 +0100
@@ -2,7 +2,7 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/setup.py new/dill-0.4.1/setup.py
--- old/dill-0.4.0/setup.py     2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/setup.py     2026-01-19 03:39:07.000000000 +0100
@@ -2,15 +2,15 @@
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
 # Copyright (c) 2008-2016 California Institute of Technology.
-# Copyright (c) 2016-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2016-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
 import os
 import sys
 # drop support for older python
-if sys.version_info < (3, 8):
-    unsupported = 'Versions of Python before 3.8 are not supported'
+if sys.version_info < (3, 9):
+    unsupported = 'Versions of Python before 3.9 are not supported'
     raise ValueError(unsupported)
 
 # get distribution meta info
@@ -55,19 +55,19 @@
         'Source Code':'https://github.com/uqfoundation/dill',
         'Bug Tracker':'https://github.com/uqfoundation/dill/issues',
     },
-    python_requires = '>=3.8',
+    python_requires = '>=3.9',
     classifiers = [
         'Development Status :: 5 - Production/Stable',
         'Intended Audience :: Developers',
         'Intended Audience :: Science/Research',
         'License :: OSI Approved :: BSD License',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',
         'Programming Language :: Python :: 3.11',
         'Programming Language :: Python :: 3.12',
         'Programming Language :: Python :: 3.13',
+        'Programming Language :: Python :: 3.14',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Scientific/Engineering',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/tox.ini new/dill-0.4.1/tox.ini
--- old/dill-0.4.0/tox.ini      2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/tox.ini      2026-01-19 03:39:07.000000000 +0100
@@ -2,16 +2,16 @@
 skip_missing_interpreters=
     True
 envlist =
-    py38
     py39
     py310
     py311
     py312
     py313
     py314
-    pypy38
+    py315
     pypy39
     pypy310
+    pypy311
 
 [testenv]
 deps =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dill-0.4.0/version.py new/dill-0.4.1/version.py
--- old/dill-0.4.0/version.py   2025-04-16 02:43:23.000000000 +0200
+++ new/dill-0.4.1/version.py   2026-01-19 03:39:07.000000000 +0100
@@ -1,11 +1,11 @@
 #!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2022-2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/dill/blob/master/LICENSE
 
-__version__ = '0.4.0'#.dev0'
+__version__ = '0.4.1'#.dev0'
 __author__ = 'Mike McKerns'
 __contact__ = '[email protected]'
 
@@ -70,7 +70,7 @@
     header = '''#!/usr/bin/env python
 #
 # Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
-# Copyright (c) 2025 The Uncertainty Quantification Foundation.
+# Copyright (c) 2026 The Uncertainty Quantification Foundation.
 # License: 3-clause BSD.  The full license text is available at:
 #  - https://github.com/uqfoundation/%s/blob/master/LICENSE
 ''' % modulename #XXX: author and email are hardwired in the header

Reply via email to