36 Commits

Author SHA256 Message Date
Dominique Leuenberger
8659ae7c2d Accepting request 1244271 from devel:languages:python:Factory
- Add CVE-2025-0938-sq-brackets-domain-names.patch which
  disallows square brackets ([ and ]) in domain names for parsed
  URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)
- Add 314a4-no-SO_REUSEPORT.patch to fix build on new kernel
  (gh#python/cpython#128916).
- Configure externally_managed with a bcond
  https://en.opensuse.org/openSUSE:Python:Externally_managed
  bsc#1228165
- Update to the fourth development version of 3.14.0:
  - Tools/Demos
    - gh-128152: Fix a bug where Argument Clinic’s C
      pre-processor parser tried to parse pre-processor
      directives inside C comments. Patch by Erlend Aasland.
  - Tests
    - gh-128690: Temporarily do not use test_embed in PGO profile
      builds until the problem with test_init_pyvenv_cfg failing
      in some configurations is resolved.
  - Library
    - gh-128731: Fix ResourceWarning in
      urllib.robotparser.RobotFileParser.read().
    - gh-71339: Add new assertion methods for unittest:
      assertHasAttr(), assertNotHasAttr(), assertIsSubclass(),
      assertNotIsSubclass() assertStartsWith(),
      assertNotStartsWith(), assertEndsWith() and
      assertNotEndsWith().
    - gh-118761: Improve import time of pickle by 25% by removing
      an unnecessary regular expression. As such, re is no more
      implicitly available as pickle.re. Patch by Bénédikt Tran.
    - gh-128661: Fixes typing.evaluate_forward_ref() not showing
      deprecation when type_params arg is not passed.
    - gh-128562: Fix possible conflicts in generated tkinter
      widget names if the widget class name ends with a digit.
    - gh-128559: Improved import time of asyncio.
    - gh-128552: Fix cyclic garbage introduced
      by asyncio.loop.create_task() and
      asyncio.TaskGroup.create_task() holding a reference to the
      created task if it is eager.
    - gh-128340: Add internal thread safe handle to be used
      in asyncio.loop.call_soon_threadsafe() for thread safe
      cancellation.
    - gh-128182: Fix crash when using ctypes pointers
      concurrently on the free threaded build.
    - gh-128400: Only show the current thread in faulthandler on
      the free threaded build to prevent races.
    - gh-128400: Fix crash when using
      faulthandler.dump_traceback() while other threads are
      active on the free threaded build.
    - gh-128388: Fix PyREPL on Windows to support more
      keybindings, like the Control-← and Control-→ word-skipping
      keybindings and those with meta (i.e. Alt), e.g. Alt-d to
      kill-word or Alt-Backspace backward-kill-word.
    - gh-88834: Unify the instance check for typing.Union and
      types.UnionType: Union now uses the instance checks against
      its parameters instead of the subclass checks.
    - gh-128302: Fix
      xml.dom.xmlbuilder.DOMEntityResolver.resolveEntity(), which
      was broken by the Python 3.0 transition.
    - gh-128317: Highlight today in colour in calendar’s CLI
      output. Patch by Hugo van Kemenade.
    - gh-128302: Allow xml.dom.xmlbuilder.DOMParser.parse()
      to correctly handle xml.dom.xmlbuilder.DOMInputSource
      instances that only have a systemId attribute set.
    - gh-128151: Improve generation of UUID objects version 3,
      4, 5, and 8 via their dedicated functions by 30%. Patch by
      Bénédikt Tran.
    - gh-128118: Improve performance of copy.copy() by 30% via a
      fast path for atomic types and container types.
    - gh-127946: Fix crash when modifying ctypes._CFuncPtr
      objects concurrently on the free threaded build.
    - gh-128062: Revert the font of turtledemo’s menu bar to its
      default value and display the shortcut keys in the correct
      position.
    - gh-128014: Fix resetting the default window icon by passing
      default='' to the tkinter method wm_iconbitmap().
    - gh-41872: Fix quick extraction of module docstrings from
      a file in pydoc. It now supports docstrings with single
      quotes, escape sequences, raw string literals, and other
      Python syntax.
    - gh-127060: Set TERM environment variable to “dumb” to
      disable traceback colors in IDLE, since IDLE doesn’t
      understand ANSI escape sequences. Patch by Victor Stinner.
    - gh-126742: Fix support of localized error messages reported
      by dlerror(3) and gdbm_strerror in ctypes and dbm.gnu
      functions respectively. Patch by Bénédikt Tran.
    - gh-122548: Adds two new local events to sys.monitoring,
      BRANCH_LEFT and BRANCH_RIGHT. This allows the two arms
      of the branch to be disabled independently, which should
      hugely improve performance of branch-level coverage
      tools. The old branch event, BRANCH is now deprecated.
    - gh-127847: Fix the position when doing interleaved seeks
      and reads in uncompressed, unencrypted zip files returned
      by zipfile.ZipFile.open().
    - gh-127688: Add the SCHED_DEADLINE and SCHED_NORMAL
      constants to the os module.
    - gh-83662: Add missing __class_getitem__ method to the
      Python implementation of functools.partial(), to make it
      compatible with the C version. This is mainly relevant for
      alternative Python implementations like PyPy and GraalPy,
      because CPython will usually use the C-implementation of
      that function.
    - gh-127586: multiprocessing.pool.Pool now properly restores
      blocked signal handlers of the parent thread when creating
      processes via either spawn or forkserver.
    - gh-98188: Fix an issue in
      email.message.Message.get_payload() where data cannot be
      decoded if the Content Transfer Encoding mechanism contains
      trailing whitespaces or additional junk text. Patch by Hui
      Liu.
    - gh-127529: Correct behavior of
      asyncio.selector_events.BaseSelectorEventLoop._accept_connection()
      in handling ConnectionAbortedError in a loop. This improves
      performance on OpenBSD.
    - gh-127360: When a descriptive error message cannot be
      provided for an ssl.SSLError, the “unknown error” message
      now shows the internal error code (as retrieved by
      ERR_get_error and similar OpenSSL functions).
    - gh-127196: Fix crash when dict with keys in invalid
      encoding were passed to several functions in _interpreters
      module.
    - gh-124130: Fix a bug in matching regular expression \B in
      empty input string. Now it is always the opposite of \b. To
      get an old behavior, use (?!\A\Z)\B. To get a new behavior
      in old Python versions, use (?!\b).
    - gh-126639: tempfile.NamedTemporaryFile will now issue
      a ResourceWarning when it is finalized by the garbage
      collector without being explicitly closed.
    - gh-126624: Expose error code XML_ERROR_NOT_STARTED of Expat
      >=2.6.4 in xml.parsers.expat.errors.
    - gh-126225: getopt and optparse are no longer marked as
      deprecated. There are legitimate reasons to use one of
      these modules in preference to argparse, and none of these
      modules are at risk of being removed from the standard
      library. Of the three, argparse remains the recommended
      default choice, unless one of the concerns noted at the top
      of the optparse module documentation applies.
    - gh-124761: Add SO_REUSEPORT_LB constant to socket for
      FreeBSD.
    - gh-121720: enum.EnumDict can now be used without resorting
      to private API.
    - gh-123424: Add zipfile.ZipInfo._for_archive() setting
      default properties on ZipInfo objects. Patch by Bénédikt
      Tran and Jason R. Coombs.
    - gh-121676: Deprecate calling the Python implementation of
      functools.reduce() with a function or sequence as a keyword
      argument. This will be forbidden in Python 3.16 in order to
      match the C implementation.
    - gh-112015: ctypes.memoryview_at() now exists to create
      a memoryview object that refers to the supplied pointer
      and length. This works like ctypes.string_at() except
      it avoids a buffer copy, and is typically useful when
      implementing pure Python callback functions that are passed
      dynamically-sized buffers.
    - gh-95371: Added support for other image formats (PNG, PGM,
      and PPM) to the turtle module. Patch by Shin-myoung-serp.
  - Core and Builtins
    - gh-128078: Fix a SystemError when using anext() with a
      default tuple value. Patch by Bénédikt Tran.
    - gh-128717: Fix a crash when setting the recursion limit
      while other threads are active on the free threaded build.
    - gh-124483: Treat Py_DECREF and variants as escaping when
      generating opcode and uop metadata. This prevents the
      possibility of a __del__ method causing the JIT to behave
      incorrectly.
    - gh-126703: Improve performance of class methods by using a
      freelist.
    - gh-128137: Update PyASCIIObject layout to handle interned
      field with the atomic operation. Patch by Donghee Na.
    - gh-128192: Upgrade HTTP digest authentication algorithm for
      urllib.request by supporting SHA-256 digest authentication
      as specified in RFC 7616.
    - gh-126868: Increase usage of freelist for int allocation.
    - gh-114203: Optimize Py_BEGIN_CRITICAL_SECTION for simple
      recursive calls.
    - gh-127705: Adds stackref debugging when Py_STACKREF_DEBUG
      Inis set. Finds all double-closes and leaks, logging the
      Inorigin and last borrow. spired by HPy’s debug mode.
      Inhttps://docs.hpyproject.org/en/latest/debug-mode.html
    - gh-128079: Fix a bug where except* does not properly check
      the return value of an ExceptionGroup’s split() function,
      leading to a crash in some cases. Now when split() returns
      an invalid object, except* raises a TypeError with the
      original raised ExceptionGroup object chained to it.
    - gh-128030: Avoid error from calling
      PyModule_GetFilenameObject on a non-module object when
      importing a non-existent symbol from a non-module object.
    - gh-128035: Indicate through ssl.HAS_PHA whether the
      ssl module supports TLSv1.3 post-handshake client
      authentication (PHA). Patch by Will Childs-Klein.
    - gh-127274: Add a new flag, CO_METHOD, to co_flags that
      indicates whether the code object belongs to a function
      defined in class scope.
    - gh-66409: During the path initialization, we now check if
      base_exec_prefix is the same as base_prefix before falling
      back to searching the Python interpreter directory.
    - gh-127970: We now use the location of the libpython
      runtime library used in the current proccess to determine
      sys.base_prefix on all platforms implementing the dladdr
      function defined by the UNIX standard — this includes
      Linux, Android, macOS, iOS, FreeBSD, etc. This was already
      the case on Windows and macOS Framework builds.
    - gh-127773: Do not use the type attribute cache for types
      with incompatible MRO.
    - gh-127903: Objects/unicodeobject.c: fix a crash on DEBUG
      builds in _copy_characters when there is nothing to copy.
    - gh-127809: Fix an issue where the experimental JIT may
      infer an incorrect result type for exponentiation (** and
      **=), leading to bugs or crashes.
    - gh-126862: Fix a possible overflow when a class inherits
      from an absurd number of super-classes. Reported by Valery
      Fedorenko. Patch by Bénédikt Tran.
  - C API
    - gh-128400: Py_FatalError() no longer shows all threads on
      the free threaded build to prevent crashes.
    - gh-128629: Add macros Py_PACK_VERSION() and
      Py_PACK_FULL_VERSION() for bit-packing Python version
      numbers.
    - gh-128008: Add PyWeakref_IsDead() function, which tests if
      a weak reference is dead.
    - gh-127350: Add Py_fopen() function to open a file. Similar
      to the fopen() function, but the path parameter is a
      Python object and an exception is set on error. Add also
      Py_fclose() function to close a file, function needed for
      Windows support. Patch by Victor Stinner.
  - Build
    - gh-128627: For Emscripten builds the function pointer cast
      call trampoline now uses the wasm-gc ref.test instruction
      if it’s available instead of Wasm JS type reflection.
    - gh-128472: Skip BOLT optimization of functions using
      computed gotos, fixing errors on build with LLVM 19.
    - gh-115765: GNU Autoconf 2.72 is now required to generate
      !configure. Patch by Erlend Aasland.
    - gh-123925: Fix building the curses module on platforms with
      libncurses but without libncursesw.
    - gh-90905: Add support for cross-compiling to x86_64 on
      aarch64/arm64 macOS.
    - gh-128321: Set LIBS instead of LDFLAGS when checking if
      sqlite3 library functions are available. This fixes the
      ordering of linked libraries during checks, which was
      incorrect when using a statically linked libsqlite3.
    - gh-100384: Error on unguarded-availability in macOS builds,
      preventing invalid use of symbols that are not available in
      older versions of the OS.
    - gh-128104: Remove Py_STRFTIME_C99_SUPPORT conditions in
      favor of requiring C99 strftime(3) specifier support at
      build time. When cross-compiling, there is no build time
      check and support is assumed.
    - gh-127951: Add option --pystats to the Windows build to
      enable performance statistics collection.

OBS-URL: https://build.opensuse.org/request/show/1244271
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=5
2025-02-09 19:01:38 +00:00
b3baeedca9 - Add 314a4-no-SO_REUSEPORT.patch to fix build on new kernel
(gh#python/cpython#128916).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=36
2025-02-07 19:25:18 +00:00
fb6c6692db Fix changelog
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=35
2025-02-07 18:54:16 +00:00
8b94bc8090 - Add CVE-2025-0938-sq-brackets-domain-names.patch which
disallows square brackets ([ and ]) in domain names for parsed
  URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=34
2025-02-07 18:53:28 +00:00
666a05a468 - Configure externally_managed with a bcond
https://en.opensuse.org/openSUSE:Python:Externally_managed
  bsc#1228165

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=33
2025-02-03 14:13:15 +00:00
b7a4629611 - Update to the fourth development version of 3.14.0:
- Tools/Demos
    - gh-128152: Fix a bug where Argument Clinic’s C
      pre-processor parser tried to parse pre-processor
      directives inside C comments. Patch by Erlend Aasland.
  - Tests
    - gh-128690: Temporarily do not use test_embed in PGO profile
      builds until the problem with test_init_pyvenv_cfg failing
      in some configurations is resolved.
  - Library
    - gh-128731: Fix ResourceWarning in
      urllib.robotparser.RobotFileParser.read().
    - gh-71339: Add new assertion methods for unittest:
      assertHasAttr(), assertNotHasAttr(), assertIsSubclass(),
      assertNotIsSubclass() assertStartsWith(),
      assertNotStartsWith(), assertEndsWith() and
      assertNotEndsWith().
    - gh-118761: Improve import time of pickle by 25% by removing
      an unnecessary regular expression. As such, re is no more
      implicitly available as pickle.re. Patch by Bénédikt Tran.
    - gh-128661: Fixes typing.evaluate_forward_ref() not showing
      deprecation when type_params arg is not passed.
    - gh-128562: Fix possible conflicts in generated tkinter
      widget names if the widget class name ends with a digit.
    - gh-128559: Improved import time of asyncio.
    - gh-128552: Fix cyclic garbage introduced
      by asyncio.loop.create_task() and
      asyncio.TaskGroup.create_task() holding a reference to the
      created task if it is eager.
    - gh-128340: Add internal thread safe handle to be used

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=32
2025-01-17 23:07:33 +00:00
Ana Guerrero
1f2a8a5568 Accepting request 1233306 from devel:languages:python:Factory
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1233306
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=4
2024-12-26 11:24:12 +00:00
5305209e15 Fix %%files
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=30
2024-12-18 09:09:12 +00:00
27c84829c0 Add _sysconfig_*.json file to %%files.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=29
2024-12-18 06:23:32 +00:00
b4a03c8ca5 - Update to the third development version of 3.14.0:
- Tools/Demos
    - gh-126700: Add support for multi-argument gettext functions
      in pygettext.py.
  - Tests
    - gh-127906: Test the limited C API in test_cppext. Patch by
      Victor Stinner.
    - gh-127637: Add tests for the dis command-line
      interface. Patch by Bénédikt Tran.
    - gh-126925: iOS test results are now streamed during test
      execution, and the deprecated xcresulttool is no longer
      used.
    - gh-127076: Disable strace based system call tests when
      LD_PRELOAD is set.
    - gh-127076: Filter out memory-related mmap, munmap, and
      mprotect calls from file-related ones when testing io
      behavior using strace.
  - Security
    - gh-127655: Fixed the
      asyncio.selector_events._SelectorSocketTransport
      transport not pausing writes for the protocol when
      the buffer reaches the high water mark when using
      asyncio.WriteTransport.writelines().
  - Library
    - gh-126907: Fix crash when using atexit concurrently on the
      free-threaded build.
    - gh-127870: Detect recursive calls in ctypes _as_parameter_
      handling. Patch by Victor Stinner.
    - gh-127732: The platform module now correctly detects
      Windows Server 2025.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=28
2024-12-18 00:35:19 +00:00
Ana Guerrero
fce5013011 Accepting request 1228813 from devel:languages:python:Factory
- Update to the second development version of 3.14.0a2.
  - Tools/Demos
    - gh-126807: Fix extraction warnings in pygettext.py caused
      by mistaking function definitions for function calls.
    - gh-126167: The iOS testbed was modified so that it can be
      used by third-party projects for testing purposes.
  - Tests
    - gh-126909: Fix test_os extended attribute tests to work on
      filesystems with 1 KiB xattr size limit.
    - gh-125730: Change make test to not run GUI tests by
      default. Use make ci to run tests with GUI tests instead.
    - gh-124295: Add translation tests to the argparse module.
  - Security
    - gh-126623: Upgrade libexpat to 2.6.4
  - Library
    - gh-85957: Add missing MIME types for images with RFCs: emf,
      fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
      Hugo van Kemenade.
    - gh-126920: Fix the prefix and exec_prefix keys from
      sysconfig.get_config_vars() incorrectly having the same
      value as sys.base_prefix and sys.base_exec_prefix,
      respectively, inside virtual environments. They now
      accurately reflect sys.prefix and sys.exec_prefix.
    - gh-67877: Fix memory leaks when regular expression matching
      terminates abruptly, either because of a signal or because
      memory allocation fails.
    - gh-125063: marshal now supports slice objects. The marshal
      format version was increased to 5.
    - gh-126789: Fixed the values of sysconfig.get_config_vars(),
      sysconfig.get_paths(), and their siblings when the site
      initialization happens after sysconfig has built a cache
      for sysconfig.get_config_vars().
    - gh-126188: Update bundled pip to 24.3.1
    - gh-126766: Fix issue where urllib.request.url2pathname()
      failed to discard two leading slashes introducing an empty
      authority section.
    - gh-126705: Allow os.PathLike to be a base for Protocols.
    - gh-126699: Allow collections.abc.AsyncIterator to be a base
      for Protocols.
    - gh-126654: Fix crash when non-dict was passed to several
      functions in _interpreters module.
    - gh-104745: Limit starting a patcher (from
      unittest.mock.patch() or unittest.mock.patch.object()) more
      than once without stopping it
    - gh-126595: Fix a crash when instantiating itertools.count
      with an initial count of sys.maxsize on debug builds. Patch
      by Bénédikt Tran.
    - gh-120423: Fix issue where urllib.request.pathname2url()
      mishandled Windows paths with embedded forward slashes.
    - gh-126565: Improve performances of zipfile.Path.open() for
      non-reading modes.
    - gh-126505: Fix bugs in compiling case-insensitive regular
      expressions with character classes containing non-BMP
      characters: upper-case non-BMP character did was ignored
      and the ASCII flag was ignored when matching a character
      range whose upper bound is beyond the BMP region.
    - gh-117378: Fixed the multiprocessing "forkserver"
      start method forkserver process to correctly inherit
      the parent’s sys.path during the importing of
      multiprocessing.set_forkserver_preload() modules in the
      same manner as sys.path is configured in workers before
      executing work items.
    - This bug caused some forkserver module preloading to
      silently fail to preload. This manifested as a performance
      degration in child processes when the sys.path was required
      due to additional repeated work in every worker.
    - It could also have a side effect of "" remaining in
      sys.path during forkserver preload imports instead of the
      absolute path from os.getcwd() at multiprocessing import
      time used in the worker sys.path.
    - The sys.path differences between phases in the child
      process could potentially have caused preload to import
      incorrect things from the wrong location. We are unaware of
      that actually having happened in practice.
    - gh-125679: The multiprocessing.Lock and
      multiprocessing.RLock repr values no longer say “unknown”
      on macOS.
    - gh-126476: Raise calendar.IllegalMonthError (now a subclass
      of IndexError) for calendar.month() when the input month is
      not correct.
    - gh-126489: The Python implementation of pickle no longer
      calls pickle.Pickler.persistent_id() for the result of
      persistent_id().
    - gh-126451: Register the contextvars.Context type to
      collections.abc.Mapping.
    - gh-126175: Add msg, doc, pos, lineno and colno attributes
      to tomllib.TOMLDecodeError. Deprecate instantiating with
      free-form arguments.
    - gh-89416: Add RFC 9559 MIME types for Matroska audiovisual
      container formats. Patch by Hugo van Kemenade.
    - gh-126417: Register the multiprocessing.managers.DictProxy
      and multiprocessing.managers.ListProxy types in
      multiprocessing.managers to collections.abc.MutableMapping
      and collections.abc.MutableSequence, respectively.
    - gh-126390: Add support for returning intermixed options and
      non-option arguments in order in getopt.gnu_getopt().
    - gh-126374: Add support for options with optional arguments
      in the getopt module.
    - gh-126363: Speed up pattern parsing in pathlib.Path.glob()
      by skipping creation of a pathlib.Path object for the
      pattern.
    - gh-126353: asyncio.get_event_loop() now does not implicitly
      creates an event loop. It now raises a RuntimeError if
      there is no set event loop. Patch by Kumar Aditya.
    - gh-126313: Fix an issue in curses.napms() when
      curses.initscr() has not yet been called. Patch by Bénédikt
      Tran.
    - gh-126303: Fix pickling and copying of os.sched_param
      objects.
    - gh-126138: Fix a use-after-free crash on asyncio.Task
      objects whose underlying coroutine yields an object that
      implements an evil __getattribute__(). Patch by Nico
      Posada.
    - gh-120057: Replace the os.environ.refresh() method with a
      new os.reload_environ() function. Patch by Victor Stinner.
    - gh-126220: Fix crash in cProfile.Profile and
      _lsprof.Profiler when their callbacks were directly called
      with 0 arguments.
    - gh-126212: Fix issue where urllib.request.pathname2url()
      and url2pathname() removed slashes from Windows DOS drive
      paths and URLs.
    - gh-126223: Raise a UnicodeEncodeError instead of a
      SystemError upon calling _interpreters.create() with an
      invalid Unicode character.
    - gh-126205: Fix issue where urllib.request.pathname2url()
      generated URLs beginning with four slashes (rather than
      two) when given a Windows UNC path.
    - gh-126156: Improved performances of creating Morsel objects
      by a factor of 3.8x.
    - gh-126105: Fix a crash in ast when the ast.AST._fields
      attribute is deleted.
    - gh-126106: Fixes a possible NULL pointer dereference in
      ssl.
    - gh-126080: Fix a use-after-free crash on asyncio.Task
      objects for which the underlying event loop implements an
      evil __getattribute__(). Reported by Nico-Posada. Patch by
      Bénédikt Tran.
    - gh-125322: Correct detection of complex numbers support in
      libffi.
    - gh-126083: Fixed a reference leak in asyncio.Task objects
      when reinitializing the same object with a non-None
      context. Patch by Nico Posada.
    - gh-126068: Fix exceptions in the argparse module so that
      only error messages for ArgumentError and ArgumentTypeError
      are now translated. ArgumentError is now only used for
      command line errors, not for logical errors in the
      program. TypeError is now raised instead of ValueError for
      some logical errors.
    - gh-125413: Add pathlib.Path.scandir() method to efficiently
      fetch directory children and their file attributes. This is
      a trivial wrapper of os.scandir().
    - gh-125984: Fix use-after-free crashes on asyncio.Future
      objects for which the underlying event loop implements an
      evil __getattribute__(). Reported by Nico-Posada. Patch by
      Bénédikt Tran.
    - gh-125926: Fix urllib.parse.urljoin() for base URI with
      undefined authority. Although RFC 3986 only specify
      reference resolution for absolute base URI, urljoin()
      should continue to return sensible result for relative base
      URI.
    - gh-125969: Fix an out-of-bounds crash when an evil
      asyncio.loop.call_soon() mutates the length of the internal
      callbacks list. Patch by Bénédikt Tran.
    - gh-125966: Fix a use-after-free crash in
      asyncio.Future.remove_done_callback(). Patch by Bénédikt
      Tran.
    - gh-125789: Fix possible crash when mutating list of
      callbacks returned by asyncio.Future._callbacks. It
      now always returns a new copy in C implementation
      _asyncio. Patch by Kumar Aditya.
    - gh-126916: Allow the initial parameter of
      functools.reduce() to be passed as a keyword
      argument. Patch by Sayandip Dutta.
    - gh-124452: Fix an issue in
      email.policy.EmailPolicy.header_source_parse() and
      email.policy.Compat32.header_source_parse() that introduced
      spurious leading whitespaces into header values when the
      header includes a newline character after the header name
      delimiter (:) and before the value.
    - gh-117941: argparse.BooleanOptionalAction now rejects
      option names starting with --no-.
    - gh-125884: Fixed the bug for pdb where it can’t set
      breakpoints on functions with certain annotations.
    - gh-125355: Fix several bugs in
      argparse.ArgumentParser.parse_intermixed_args().
    -     The parser no longer changes temporarily during
      parsing.
    -     Default values are not processed twice.
    -     Required mutually exclusive groups containing
      positional arguments are now supported.
    -     The missing arguments report now includes the names of
      all required optional and positional arguments.
    -     Unknown options can be intermixed with positional
      arguments in parse_known_intermixed_args().
    - gh-125767: super objects are now pickleable and copyable.
    - gh-124969: locale.nl_langinfo(locale.ALT_DIGITS) now
      returns a string again. The returned value consists of up
      to 100 semicolon-separated symbols.
    - gh-84850: Remove URLopener and FancyURLopener classes
      from urllib.request. They had previously raised
      DeprecationWarning since Python 3.3.
    - gh-125666: Avoid the exiting the interpreter if a null byte
      is given as input in the new REPL.
    - gh-125710: [Enum] fix hashable<->nonhashable comparisons
      for member values
    - gh-125631: Restore ability to set persistent_id and
      persistent_load attributes of instances of the Pickler and
      Unpickler classes in the pickle module.
    - gh-125378: Fixed the bug in pdb where after a multi-line
      command, an empty line repeats the first line of the
      multi-line command, instead of the full command.
    - gh-125682: Reject non-ASCII digits in the Python
      implementation of json.loads() conforming to the JSON
      specification.
    - gh-125660: Reject invalid unicode escapes for Python
      implementation of json.loads().
    - gh-52551: Use wcsftime() to implement time.strftime() on
      Windows.
    - gh-125259: Fix the notes removal logic for errors thrown in
      enum initialization.
    - gh-125633: Add function inspect.ispackage() to determine
      whether an object is a package or not.
    - gh-125614: In the FORWARDREF format of annotationlib,
      fix bug where nested expressions were not returned as
      annotationlib.ForwardRef format.
    - gh-125590: Allow FrameLocalsProxy to delete and pop if the
      key is not a fast variable.
    - gh-125600: Only show stale code warning in pdb when we
      display source code.
    - gh-125542: Deprecate passing keyword-only prefix_chars
      argument to argparse.ArgumentParser.add_argument_group().
    - gh-125541: Pressing Ctrl-C while blocked in
      threading.Lock.acquire(), threading.RLock.acquire(), and
      threading.Thread.join() now interrupts the function call
      and raises a KeyboardInterrupt exception on Windows,
      similar to how those functions behave on macOS and Linux.
    - gh-125519: Improve traceback if importlib.reload() is
      called with an object that is not a module. Patch by Alex
      Waygood.
    - gh-125451: Fix deadlock when
      concurrent.futures.ProcessPoolExecutor shuts down
      concurrently with an error when feeding a job to a worker
      process.
    - gh-125115: Fixed a bug in pdb where arguments starting with
      - can’t be passed to the debugged script.
    - gh-125398: Fix the conversion of the VIRTUAL_ENV path in
      the activate script in venv when running in Git Bash for
      Windows.
    - gh-125245: Fix race condition when importing
      collections.abc, which could incorrectly return an empty
      module.
    - gh-52551: Fix encoding issues in time.strftime(), the
      strftime() method of the datetime classes datetime, date
      and time and formatting of these classes. Characters
      not encodable in the current locale are now acceptable
      in the format string. Surrogate pairs and sequence
      of surrogatescape-encoded bytes are no longer
      recombinated. Embedded null character no longer terminates
      the format string.
    - gh-124984: Fixed thread safety in ssl in the free-threaded
      build. OpenSSL operations are now protected by a per-object
      lock.
    - gh-124651: Properly quote template strings in venv
      activation scripts.
    - gh-124694: We’ve added
      concurrent.futures.InterpreterPoolExecutor, which allows
      you to run code in multiple isolated interpreters. This
      allows you to circumvent the limitations of CPU-bound
      threads (due to the GIL). Patch by Eric Snow.
    - This addition is unrelated to PEP 734.
    - gh-58032: Deprecate the argparse.FileType type converter.
    - gh-99749: Adds a feature to optionally enable suggestions
      for argument choices and subparser names if mistyped by the
      user.
    - gh-58956: Fixed a bug in pdb where sometimes the breakpoint
      won’t trigger if it was set on a function which is already
      in the call stack.
    - gh-124111: The tkinter module can now be built to use
      either the new version 9.0.0 of Tcl/Tk or the latest
      release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
      improvements, both to the Tcl language and to the
      appearance and utility of the graphical user interface
      provided by Tk.
    - gh-80958: unittest discovery supports PEP 420 namespace
      packages as start directory again.
    - gh-123370: Fix the canvas not clearing after running
      turtledemo clock.
    - gh-89083: Add uuid.uuid8() for generating UUIDv8 objects as
      specified in RFC 9562. Patch by Bénédikt Tran
    - gh-122549: Add platform.invalidate_caches() to invalidate
      cached results.
    - gh-120754: Update unbounded read calls in zipfile to
      specify an explicit size putting a limit on how much data
      they may read. This also updates handling around ZIP max
      comment size to match the standard instead of reading
      comments that are one byte too long.
    - gh-121267: Improve the performance of tarfile when writing
      files, by caching user names and group names.
    - gh-70764: Fixed an issue where inspect.getclosurevars()
      would incorrectly classify an attribute name as a global
      variable when the name exists both as an attribute name and
      a global variable.
    - gh-118289: posixpath.realpath() now raises
      NotADirectoryError when strict mode is enabled and a
      non-directory path with a trailing slash is supplied.
    - gh-119826: Always return an absolute path for
      os.path.abspath() on Windows.
    - gh-97850: Remove deprecated pkgutil.get_loader() and
      pkgutil.find_loader().
    - gh-118986: Add socket.IPV6_RECVERR constant (available
      since Linux 2.2).
    - gh-116897: Accepting objects with false values (like 0 and
      []) except empty strings, byte-like objects and None in
      urllib.parse functions parse_qsl() and parse_qs() is now
      deprecated.
    - gh-101955: Fix SystemError when match regular expression
      pattern containing some combination of possessive
      quantifier, alternative and capture group.
    - gh-71936: Fix a race condition in
      multiprocessing.pool.Pool.
    - bpo-46128: Strip unittest.IsolatedAsyncioTestCase stack
      frames from reported stacktraces.
    - gh-84852: Add MIME types for MS Embedded OpenType, OpenType
      Layout, TrueType, WOFF 1.0 and 2.0 fonts. Patch by Sahil
      Prajapati and Hugo van Kemenade.
  - Documentation
    - gh-126622: Added stub pages for removed modules explaining
      their removal, where to find replacements, and linking to
      the last Python version that supported them. Contributed by
      Ned Batchelder.
    - gh-125277: Require Sphinx 7.2.6 or later to build the
      Python documentation. Patch by Adam Turner.
    - gh-60712: Include the object type in the lists of
      documented types. Change by Furkan Onder and Martin Panter.
  - Core and Builtins
    - gh-126795: Increase the threshold for JIT code
      warmup. Depending on platform and workload, this can result
      in performance gains of 1-9% and memory savings of 3-5%.
    - gh-126341: Now ValueError is raised instead of SystemError
      when trying to iterate over a released memoryview object.
    - gh-126688: Fix a crash when calling os.fork() on some
      operating systems, including SerenityOS.
    - gh-126066: Fix importlib to not write an incomplete
      .pyc files when a ulimit or some other operating system
      mechanism is preventing the write to go through fully.
    - gh-126222: Do not include count of “peek” items in
      _PyUop_num_popped. This ensures that the correct number of
      items are popped from the stack when a micro-op exits with
      an error.
    - gh-126366: Fix crash when using yield from on an object
      that raises an exception in its __iter__.
    - gh-126209: Fix an issue with skip_file_prefixes parameter
      which resulted in an inconsistent behaviour between the C
      and Python implementations of warnings.warn(). Patch by
      Daehee Kim.
    - gh-126312: Fix crash during garbage collection on an object
      frozen by gc.freeze() on the free-threaded build.
    - gh-103951: Relax optimization requirements to allow fast
      attribute access to module subclasses.
    - gh-126072: Following gh-126101, for Code Objects like
      lambda, annotation and type alias, we no longer add None to
      its co_consts.
    - gh-126195: Improve JIT performance by 1.4% on macOS Apple
      Silicon by using platform-specific memory protection
      APIs. Patch by Diego Russo.
    - gh-126139: Provide better error location when attempting to
      use a future statement with an unknown future feature.
    - gh-126072: Add a new attribute in co_flags to indicate
      whether the first item in co_consts is the docstring. If a
      code object has no docstring, None will NOT be inserted.
    - gh-126076: Relocated objects such as tuple, bytes and
      str objects are properly tracked by tracemalloc and its
      associated hooks. Patch by Pablo Galindo.
    - gh-90370: Avoid temporary tuple creation for vararg in
      argument passing with Argument Clinic generated code (if
      arguments either vararg or positional-only).
    - gh-126018: Fix a crash in sys.audit() when passing a
      non-string as first argument and Python was compiled in
      debug mode.
    - gh-126012: The memoryview type now supports subscription,
      making it a generic type.
    - gh-125837: Adds LOAD_SMALL_INT and LOAD_CONST_IMMORTAL
      instructions. LOAD_SMALL_INT pushes a small integer equal
      to the oparg to the stack. LOAD_CONST_IMMORTAL does the
      same as LOAD_CONST but is more efficient for immortal
      objects. Removes RETURN_CONST instruction.
    - gh-125942: On Android, the errors setting of sys.stdout was
      changed from surrogateescape to backslashreplace.
    - gh-125859: Fix a crash in the free threading build when
      gc.get_objects() or gc.get_referrers() is called during an
      in-progress garbage collection.
    - gh-125868: It was possible in 3.14.0a1 only for
      attribute lookup to give the wrong value. This was
      due to an incorrect specialization in very specific
      circumstances. This is fixed in 3.14.0a2.
    - gh-125498: The JIT has been updated to leverage Clang 19’s
      new preserve_none attribute, which supports more platforms
      and is more useful than LLVM’s existing ghccc calling
      convention. This also removes the need to manually patch
      the calling convention in LLVM IR, simplifying the JIT
      compilation process.
    - gh-125703: Correctly honour tracemalloc hooks in
      specialized Py_DECREF paths. Patch by Pablo Galindo
    - gh-125593: Use color to highlight error locations in
      traceback from exception group
    - gh-125017: Fix crash on certain accesses to the
      __annotations__ of staticmethod and classmethod objects.
    - gh-125588: The Python PEG generator can now use f-strings
      in the grammar actions. Patch by Pablo Galindo
    - gh-125444: Fix illegal instruction for older Arm
      architectures. Patch by Diego Russo, testing by Ross
      Burton.
    - gh-118423: Add a new INSTRUCTION_SIZE macro to the cases
      generator which returns the current instruction size.
    - gh-125038: Fix crash when iterating over a generator
      expression after direct changes on gi_frame.f_locals. Patch
      by Mikhail Efimov.
    - gh-124855: Don’t allow the JIT and perf support to be
      active at the same time. Patch by Pablo Galindo
    - gh-123714: Update JIT compilation to use LLVM 19
    - gh-123930: Improve the error message when a script
      shadowing a module from the standard library causes
      ImportError to be raised during a “from” import. Similarly,
      improve the error message when a script shadowing a third
      party module attempts to “from” import an attribute from
      that third party module while still initialising.
    - gh-119793: The map() built-in now has an optional
      keyword-only strict flag like zip() to check that all the
      iterables are of equal length. Patch by Wannes Boeykens.
    - gh-118950: Fix bug where SSLProtocol.connection_lost wasn’t
      getting called when OSError was thrown on writing to
      socket.
    - gh-113570: Fixed a bug in reprlib.repr where it incorrectly
      called the repr method on shadowed Python built-in types.
  - C API
    - gh-126554: Fix error handling in ctypes.CDLL objects which
      could result in a crash in rare situations.
    - gh-126061: Add PyLong_IsPositive(), PyLong_IsNegative() and
      PyLong_IsZero() for checking if a PyLongObject is positive,
      negative, or zero, respectively.
    - gh-125608: Fix a bug where dictionary watchers
      (e.g., PyDict_Watch()) on an object’s attribute dictionary
      (__dict__) were not triggered when the object’s attributes
      were modified.
    - gh-123619: Added the
      PyUnstable_Object_EnableDeferredRefcount() function for
      enabling PEP 703 deferred reference counting.
    - gh-121654: Add PyType_Freeze() function to make a type
      immutable. Patch by Victor Stinner.
    - gh-120026: The Py_HUGE_VAL macro is soft deprecated.
  - Build
    - gh-126691: Removed the --with-emscripten-target configure
      flag. We unified the node and browser options and the same
      build can now be used, independent of target runtime.
    - gh-123877: Use wasm32-wasip1 as the target triple for
      WASI instead of wasm32-wasi. The latter will eventually
      be reclaimed for WASI 1.0 while CPython currently only
      supports WASI preview1.
    - gh-126458: Disable SIMD support for HACL under WASI.
    - gh-89640: Hard-code float word ordering as little endian on
      WASM.
    - gh-126206: make clinic now runs Argument Clinic using the
      --force option, thus forcefully regenerating generated
      code.
    - gh-126187: Introduced Tools/wasm/emscripten.py to simplify
      doing Emscripten builds.
    - gh-124932: For cross builds, there is now support for
      having a different install prefix than the host_prefix used
      by getpath.py. This is set to / by default for Emscripten,
      on other platforms the default behavior is the same as
      before.
    - gh-125946: The minimum supported Android version is now 7.0
      (API level 24).
    - gh-125940: The Android build now supports 16 KB page sizes.
    - gh-89640: Improve detection of float word ordering on Linux
      when link-time optimizations are enabled.
    - gh-124928: Emscripten builds now require node >= 18.
    - gh-115382: Fix cross compile failures when the host and
      target SOABIs match.
- Remove upstreamed patches:
  - fix_test_generated_data.patch
  - fix_test_ftp_error.patch
  - gh125535-Lib_IntVector_Intrinsics_vec128.patch
- Don't limit clang to clang18.

OBS-URL: https://build.opensuse.org/request/show/1228813
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=3
2024-12-08 10:37:19 +00:00
c7164168dc Update F00251-change-user-install-location.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=26
2024-12-06 15:35:06 +00:00
0596163e48 - Don't limit clang to clang18.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=25
2024-11-19 23:25:44 +00:00
809f944b62 Don't limit to clang18
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=24
2024-11-19 23:19:44 +00:00
9d574d767b - Update to the second development version of 3.14.0a2.
- Tools/Demos
    - gh-126807: Fix extraction warnings in pygettext.py caused
      by mistaking function definitions for function calls.
    - gh-126167: The iOS testbed was modified so that it can be
      used by third-party projects for testing purposes.
  - Tests
    - gh-126909: Fix test_os extended attribute tests to work on
      filesystems with 1 KiB xattr size limit.
    - gh-125730: Change make test to not run GUI tests by
      default. Use make ci to run tests with GUI tests instead.
    - gh-124295: Add translation tests to the argparse module.
  - Security
    - gh-126623: Upgrade libexpat to 2.6.4
  - Library
    - gh-85957: Add missing MIME types for images with RFCs: emf,
      fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
      Hugo van Kemenade.
    - gh-126920: Fix the prefix and exec_prefix keys from
      sysconfig.get_config_vars() incorrectly having the same
      value as sys.base_prefix and sys.base_exec_prefix,
      respectively, inside virtual environments. They now
      accurately reflect sys.prefix and sys.exec_prefix.
    - gh-67877: Fix memory leaks when regular expression matching
      terminates abruptly, either because of a signal or because
      memory allocation fails.
    - gh-125063: marshal now supports slice objects. The marshal
      format version was increased to 5.
    - gh-126789: Fixed the values of sysconfig.get_config_vars(),
      sysconfig.get_paths(), and their siblings when the site

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=23
2024-11-19 22:16:13 +00:00
Ana Guerrero
5478a684d8 Accepting request 1224239 from devel:languages:python:Factory
- Remove -IVendor/ from python-config boo#1231795
- Require exact clang18 and llvm18, because apparently CPython is
  not ready for 19 yet (gh#python/cpython!125499).

OBS-URL: https://build.opensuse.org/request/show/1224239
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=2
2024-11-15 14:42:33 +00:00
7561ffd453 - Remove -IVendor/ from python-config boo#1231795
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=21
2024-11-14 07:06:50 +00:00
bad4db9a6e - Require exact clang18 and llvm18, because apparently CPython is
not ready for 19 yet (gh#python/cpython!125499).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=20
2024-11-11 17:21:00 +00:00
Ana Guerrero
ec6360c6b5 Accepting request 1218446 from devel:languages:python:Factory
new version of the Python interpreter

OBS-URL: https://build.opensuse.org/request/show/1218446
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=1
2024-10-28 14:17:52 +00:00
c070616633 - Fix version number to 3.14.0~a1
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=18
2024-10-25 20:36:04 +00:00
fff9b66773 Recover patch CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=17
2024-10-17 12:40:45 +00:00
a15f7b0fad - Add fix_test_generated_data.patch to skip failing test
(gh#python/cpython#121938).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=16
2024-10-17 12:39:27 +00:00
3f3cf2ab15 requiring network access, and explicitly declare we have no
network.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=15
2024-10-17 11:26:41 +00:00
3a5dd04770 More debugging
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=14
2024-10-17 11:08:35 +00:00
a7b3239561 I cannot believe this would fix the patch.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=13
2024-10-17 10:31:44 +00:00
8bad2f513e Use %%autosetup
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=12
2024-10-17 07:35:40 +00:00
a0ad707487 Escape macros in comments
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=11
2024-10-17 06:41:36 +00:00
a07e4323d1 Fix fix_test_ftp_error.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=10
2024-10-17 05:35:58 +00:00
80e1e18481 - Binary module _opcode is not build any more
(gh#python/cpython!121555)
- Add fix_test_ftp_error.patch to mark test_ftp_error as
  requiring network access.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=9
2024-10-16 13:13:17 +00:00
194f2f3598 Fix changes
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=8
2024-10-16 11:33:27 +00:00
9eb4265634 - Binary module _opcode is not build any more.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=7
2024-10-16 08:26:01 +00:00
2ccc1ee586 sigstore. Remove python.keyring.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=6
2024-10-16 07:25:32 +00:00
90379ac38c - With python311-Sphinx we don't need no-skipif-doctests.patch
any more.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=5
2024-10-16 07:24:52 +00:00
d3604bc82f - Add patch to fix build:
- gh125535-Lib_IntVector_Intrinsics_vec128.patch
    (gh#python/cpython#125535)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=4
2024-10-16 07:20:31 +00:00
7bbbc4808d - Update to the first development version of 3.14.0a1.
Many new features for Python 3.14 are still being planned and
  written. Among the new major new features and changes so far:
  - PEP 649: deferred evaluation of annotations
  - Improved error messages
- Upstream doesn't sign tarballs with GPG anymore, but uses
  sigstore.
- Patches rebased and refreshed:
  - CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch
  - bpo-31046_ensurepip_honours_prefix.patch
  - fix-test-recursion-limit-15.6.patch
  - python-3.3.0b1-fix_date_time_compiler.patch

- Add warning about no-GIL builds being experimental.

- Update to 3.13.0:
  Major new features of the 3.13 series, compared to 3.12
  Some of the new major new features and changes in Python 3.13 are:
  - New features
    - A new and improved interactive interpreter, based on
      PyPy's, featuring multi-line editing and color support, as
      well as colorized exception tracebacks.
    - An experimental free-threaded build mode, which disables
      the Global Interpreter Lock, allowing threads to run
      more concurrently. The build mode is available as an
      experimental feature in the Windows and macOS installers as
      well.
    - A preliminary, experimental JIT, providing the ground work
      for significant performance improvements.
    - The locals() builtin function (and its C equivalent)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=3
2024-10-16 07:07:46 +00:00
28ba05e717 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=2 2024-10-16 05:31:22 +00:00