]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Victor Stinner [Tue, 14 Jan 2025 15:31:13 +0000 (16:31 +0100)]
gh-59705: Document OS thread name change (#128800)
Victor Stinner [Tue, 14 Jan 2025 15:29:21 +0000 (16:29 +0100)]
gh-106320: Document replacement for removed C API (#128787)
Rafael Fontenelle [Tue, 14 Jan 2025 15:17:24 +0000 (12:17 -0300)]
Fix a "doctest" block in `Doc/library/turtle.rst` (#128831)
Hugo van Kemenade [Tue, 14 Jan 2025 15:12:21 +0000 (17:12 +0200)]
Merge branch 'main' of https://github.com/python/cpython
Hugo van Kemenade [Tue, 14 Jan 2025 15:10:53 +0000 (17:10 +0200)]
Post 3.14.0a4
Mark Shannon [Tue, 14 Jan 2025 15:08:56 +0000 (15:08 +0000)]
GH-128682: Convert explicit loops closing arrays into `DECREF_INPUTS`. (GH-128822)
* Mark Py_DECREF and Py_XDECREF as escaping
* Remove explicit loops for clearing array inputs
Bénédikt Tran [Tue, 14 Jan 2025 13:25:33 +0000 (14:25 +0100)]
gh-118761: substitute `re` import in `base64.b16decode` for a more efficient alternative (#128736)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Chris Markiewicz <effigies@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Serhiy Storchaka [Tue, 14 Jan 2025 13:19:32 +0000 (15:19 +0200)]
gh-71339: Use new assertion methods in test_typing (GH-128825)
Serhiy Storchaka [Tue, 14 Jan 2025 13:18:25 +0000 (15:18 +0200)]
gh-71339: Use new assertion methods in test_sqlite3 (GH-128830)
Hugo van Kemenade [Tue, 14 Jan 2025 11:41:39 +0000 (13:41 +0200)]
Python 3.14.0a4
Bénédikt Tran [Tue, 14 Jan 2025 11:26:26 +0000 (12:26 +0100)]
gh-118761: Improve import time of the `pickle` module. (#128732)
Importing `pickle` is now roughly 25% faster.
Importing the `re` module is no longer needed and
thus `re` is no more implicitly exposed as `pickle.re`.
---------
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Victor Stinner [Tue, 14 Jan 2025 10:18:52 +0000 (11:18 +0100)]
gh-109959: Skip test_glob.test_selflink() flaky test (#128812)
Victor Stinner [Tue, 14 Jan 2025 10:17:20 +0000 (11:17 +0100)]
gh-127787: Move _PyUnicodeError_GetParams() to the internal C API (#128803)
Bénédikt Tran [Tue, 14 Jan 2025 09:16:43 +0000 (10:16 +0100)]
Update cryptographic primitives code owners. (#128747)
Hugo van Kemenade [Tue, 14 Jan 2025 08:53:03 +0000 (10:53 +0200)]
gh-123299: Copyedit "What's New in Python 3.14" (#128814)
Bénédikt Tran [Tue, 14 Jan 2025 08:40:59 +0000 (09:40 +0100)]
Skip CI expensive checks on `CODEOWNERS` update (#128754)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Serhiy Storchaka [Tue, 14 Jan 2025 08:02:38 +0000 (10:02 +0200)]
gh-71339: Add additional assertion methods for unittest (GH-128707)
Add the following methods:
* assertHasAttr() and assertNotHasAttr()
* assertIsSubclass() and assertNotIsSubclass()
* assertStartsWith() and assertNotStartsWith()
* assertEndsWith() and assertNotEndsWith()
Also improve error messages for assertIsInstance() and
assertNotIsInstance().
Victor Stinner [Tue, 14 Jan 2025 07:44:20 +0000 (08:44 +0100)]
gh-106320: Document private C APIs promoted to public C API (#128788)
Bénédikt Tran [Mon, 13 Jan 2025 16:58:11 +0000 (17:58 +0100)]
gh-125997: Increase test coverage for `time.sleep()` (#128751)
- Add tests for durations of invalid types.
- Add tests for `int` and `float` durations, including signed zeroes durations.
- Add tests for nonzero very small durations and durations close to the clock resolution.
---------
Co-authored-by: Victor Stinner <vstinner@python.org>
Bénédikt Tran [Mon, 13 Jan 2025 16:14:59 +0000 (17:14 +0100)]
Explicitly import `urllib.error` in `urllib.robotparser` (#128737)
Zhikang Yan [Mon, 13 Jan 2025 15:54:46 +0000 (23:54 +0800)]
gh-128562: Fix generation of the tkinter widget names (GH-128604)
There were possible conflicts if the widget class name ends with a digit.
Bénédikt Tran [Mon, 13 Jan 2025 15:54:13 +0000 (16:54 +0100)]
gh-128078: Use `PyErr_SetRaisedException` in `_PyGen_SetStopIterationValue` (#128287)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Kumar Aditya [Mon, 13 Jan 2025 15:36:55 +0000 (21:06 +0530)]
gh-128002: add more thread safety tests for asyncio (#128480)
Kumar Aditya [Mon, 13 Jan 2025 14:38:33 +0000 (20:08 +0530)]
gh-128421: make getters and setters of `BaseException` thread safe (#128728)
Peter Bierma [Mon, 13 Jan 2025 14:36:54 +0000 (09:36 -0500)]
gh-128400: Only show the current thread in `Py_FatalError` on the free-threaded build (#128758)
Bénédikt Tran [Mon, 13 Jan 2025 13:25:04 +0000 (14:25 +0100)]
gh-111178: fix UBSan failures in `Objects/codeobject.c` (GH-128240)
Peter Bierma [Mon, 13 Jan 2025 13:17:38 +0000 (08:17 -0500)]
gh-128182: Add per-object memory access synchronization to `ctypes` (GH-128490)
Cheryl Sabella [Mon, 13 Jan 2025 13:14:59 +0000 (05:14 -0800)]
gh-67748: DOC:Add summary table for str methods in stdtypes.rst (GH-1709)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
Petr Viktorin [Mon, 13 Jan 2025 13:10:41 +0000 (14:10 +0100)]
gh-127773: Disable attribute cache on incompatible MRO entries (GH-127924)
Bénédikt Tran [Mon, 13 Jan 2025 12:55:09 +0000 (13:55 +0100)]
gh-128078: Clear exception in `anext` before calling `_PyGen_SetStopIterationValue` (#128780)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Mark Shannon [Mon, 13 Jan 2025 12:37:48 +0000 (12:37 +0000)]
GH-128682: Stronger checking of `PyStackRef_CLOSE` and `DEAD`. (GH-128683)
Bénédikt Tran [Mon, 13 Jan 2025 11:46:13 +0000 (12:46 +0100)]
gh-128150: Improve performances of `uuid.uuid*` constructor functions. (#128151)
We introduce a private constructor `UUID._from_int()` for RFC 4122/9562 UUIDs,
which takes the integral UUID value as input. The latter must have correctly set
its variant and version bits. We also make `UUID.__init__()` slightly more efficient.
Mark Shannon [Mon, 13 Jan 2025 11:42:45 +0000 (11:42 +0000)]
GH-124483: Mark `Py_DECREF`, etc. as escaping for the JIT (GH-128678)
Hugo van Kemenade [Mon, 13 Jan 2025 11:05:02 +0000 (13:05 +0200)]
gh-128595: Add test class helper to force no terminal colour (#128687)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Mark Shannon [Mon, 13 Jan 2025 10:30:28 +0000 (10:30 +0000)]
GH-128685: Specialize (rather than quicken) LOAD_CONST into LOAD_CONST_[IM]MORTAL (GH-128708)
Bénédikt Tran [Mon, 13 Jan 2025 10:21:22 +0000 (11:21 +0100)]
gh-123345: improve `fnmatch` docs (#123346)
Ned Deily [Mon, 13 Jan 2025 09:02:18 +0000 (04:02 -0500)]
gh-128690: temporarily do not use test_embed in PGO profile builds (#128771)
Temporarily do not use test_embed in PGO profile builds until the problem with test_init_pyvenv_cfg failing in some configurations is resolved.
Zanie Blue [Mon, 13 Jan 2025 08:38:28 +0000 (02:38 -0600)]
gh-90905: Allow cross-compilation on macOS (#128385)
sobolevn [Mon, 13 Jan 2025 07:40:52 +0000 (10:40 +0300)]
gh-128759: fix data race in `type_modified_unlocked` (#128764)
Hood Chatham [Sun, 12 Jan 2025 23:09:39 +0000 (00:09 +0100)]
gh-128627: Emscripten: Use wasm-gc based call adaptor if available (#128628)
Replaces the trampoline mechanism in Emscripten with an implementation that uses a
recently added feature of wasm-gc instead of JS type reflection, when that feature is
available.
Serhiy Storchaka [Sun, 12 Jan 2025 13:14:46 +0000 (15:14 +0200)]
gh-128731: Fix ResourceWarning in robotparser.RobotFileParser.read() (GH-128733)
Peter Bierma [Sun, 12 Jan 2025 13:04:30 +0000 (08:04 -0500)]
gh-128717: Stop-the-world when setting the recursion limit (#128741)
Pieter Eendebak [Sun, 12 Jan 2025 13:01:49 +0000 (14:01 +0100)]
gh-126703: Add freelist for `PyMethodObject` (#128594)
Serhiy Storchaka [Sun, 12 Jan 2025 10:53:17 +0000 (12:53 +0200)]
gh-128734: Fix ResourceWarning in urllib tests (GH-128735)
Serhiy Storchaka [Sun, 12 Jan 2025 10:22:43 +0000 (12:22 +0200)]
gh-128729: Fix RuntimeWarning in test_unittest (GH-128730)
Yan Yanchii [Sun, 12 Jan 2025 08:27:28 +0000 (09:27 +0100)]
gh-128377: Skip `test_cmd_line.test_non_interactive_output_buffering` when `PYTHONUNBUFFERED=1` (#128378)
The `test_cmd_line.test_non_interactive_output_buffering` test assumes a buffered `stdio`
without checking the `PYTHONUNBUFFERED` value. Instead of changing the environment
variable for the duration of the test, it is better to simply skip it.
Barney Gale [Sat, 11 Jan 2025 19:27:47 +0000 (19:27 +0000)]
GH-128520: Divide pathlib ABCs into three classes (#128523)
In the private pathlib ABCs, rename `PurePathBase` to `JoinablePath`, and
split `PathBase` into `ReadablePath` and `WritablePath`. This improves the
API fit for read-only virtual filesystems.
The split of `PathBase` entails a similar split of `CopyWorker` (implements
copying) and the test cases in `test_pathlib_abc`.
In a later patch, we'll make `WritablePath` inherit directly from
`JoinablePath` rather than `ReadablePath`. For a couple of reasons,
this isn't quite possible yet.
Yan Yanchii [Sat, 11 Jan 2025 16:19:29 +0000 (17:19 +0100)]
gh-128438: Add `EnvironmentVarGuard` for `test_pdb.py` (#128522)
9cel [Sat, 11 Jan 2025 09:17:35 +0000 (05:17 -0400)]
Make the Python CLI error message style more consistent (GH-128129)
RUANG (James Roy) [Sat, 11 Jan 2025 01:03:12 +0000 (09:03 +0800)]
gh-128696: Add arm64 to the get_platform return val description (#128701)
Adam Johnson [Fri, 10 Jan 2025 15:54:45 +0000 (15:54 +0000)]
gh-128409: Document that pdb.post_mortem() accepts exceptions (#128410)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Petr Viktorin [Fri, 10 Jan 2025 12:59:51 +0000 (13:59 +0100)]
gh-127257: Add hex code to ssl "unknown error" message (GH-127360)
* ssl: Add hex error code to "unknown error" messages
To make it easier to vary the individual parts of the message,
replace the if-ladder with constant format strings by building
the string piece-wise with PyUnicodeWriter.
Use "unknown error (0x%x)" rather than just "unknown error" if we
can't get a better error message. (Hex makes sense as the error
includes two packed parts.)
Paulie Peña [Fri, 10 Jan 2025 12:52:19 +0000 (07:52 -0500)]
gh-128388: pyrepl on Windows: add meta and ctrl+arrow keybindings (GH-128389)
Fix `Lib/_pyrepl/windows_console.py` to support more keybindings, like the
`Ctrl`+`←` and `Ctrl`+`→` word-skipping keybindings and those with meta (i.e. Alt),
e.g. to `kill-word` or `backward-kill-word`.
Specifics: if Ctrl is pressed, emit "ctrl left" and "ctrl right" instead of just "left" or
"right," and if Meta/Alt is pressed, emit the special key code for meta before
emitting the other key that was pressed.
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Bénédikt Tran [Fri, 10 Jan 2025 10:52:36 +0000 (11:52 +0100)]
gh-111178: fix UBSan failures for `gdbmobject` (GH-128178)
* fix UBSan failures for `gdbmobject`
* suppress unused return values
Bénédikt Tran [Fri, 10 Jan 2025 10:51:24 +0000 (11:51 +0100)]
gh-111178: fix UBSan failures in `Python/bltinmodule.c` (GH-128235)
* fix UBSan failures for `filterobject`
* fix UBSan failures for `mapobject`
* fix UBSan failures for `zipobject`
Bénédikt Tran [Fri, 10 Jan 2025 10:50:02 +0000 (11:50 +0100)]
gh-111178: fix UBSan failures in `Objects/bytearrayobject.c` (GH-128236)
* fix UBSan failures for `bytesiterobject`
* fix UBSan failures for `PyByteArrayObject`
Bénédikt Tran [Fri, 10 Jan 2025 10:48:06 +0000 (11:48 +0100)]
gh-111178: fix UBSan failures in `Objects/bytesobject.c` (GH-128237)
* remove redundant casts for `bytesobject`
* fix UBSan failures for `striterobject`
Bénédikt Tran [Fri, 10 Jan 2025 10:47:19 +0000 (11:47 +0100)]
gh-111178: fix UBSan failures in `Modules/_bz2module.c` (GH-128238)
Bénédikt Tran [Fri, 10 Jan 2025 10:46:36 +0000 (11:46 +0100)]
gh-111178: fix UBSan failures in `Objects/complexobject.c` (GH-128241)
fix UBSan failures for `PyComplexObject`
sobolevn [Fri, 10 Jan 2025 10:25:02 +0000 (13:25 +0300)]
gh-128694: Fix `(env changed)` error in `test_inspect` (#128702)
Bénédikt Tran [Fri, 10 Jan 2025 03:32:53 +0000 (04:32 +0100)]
gh-126862: Use `Py_ssize_t` instead of `int` when processing the number of super-classes (#127523)
Sam Gross [Fri, 10 Jan 2025 00:59:10 +0000 (19:59 -0500)]
gh-128691: Use deferred reference counting on `_thread._local` (#128693)
This change, along with the LOAD_ATTR specializations, makes the
"thread_local_read" micro benchmark in Tools/ftscalingbench/ftscalingbench.py
scale well to multiple threads.
sobolevn [Thu, 9 Jan 2025 19:45:35 +0000 (22:45 +0300)]
gh-127196: Fix crash in `_interpreters`, when `shared` had invalid encodings (#127220)
dgpb [Thu, 9 Jan 2025 19:32:00 +0000 (21:32 +0200)]
gh-128650: Fix incorrect statement in partial documentation (gh-128651)
Kumar Aditya [Thu, 9 Jan 2025 15:56:00 +0000 (21:26 +0530)]
gh-128002: fix `asyncio.all_tasks` against concurrent deallocations of tasks (#128541)
sobolevn [Thu, 9 Jan 2025 15:15:13 +0000 (18:15 +0300)]
gh-128661: Fix `typing.evaluate_forward_ref` not showing deprecation (#128663)
gh-128661: Fix `typing.evaluate_forward_ref` not showing deprecataion
sobolevn [Thu, 9 Jan 2025 14:25:03 +0000 (17:25 +0300)]
gh-128673: Increase coverage of `typing.get_type_hints` (#128674)
Peter Bierma [Thu, 9 Jan 2025 13:54:44 +0000 (08:54 -0500)]
gh-118915: Document `PyUnstable_InterpreterState_GetMainModule` (GH-128483)
Kumar Aditya [Thu, 9 Jan 2025 12:20:12 +0000 (17:50 +0530)]
gh-124433: fix docs for `asyncio.Queue.task_done` (#128669)
Kumar Aditya [Thu, 9 Jan 2025 10:10:45 +0000 (15:40 +0530)]
gh-126137: improve docs for `loop.add_reader` and `loop.add_writer` (#128666)
Petr Viktorin [Thu, 9 Jan 2025 10:10:28 +0000 (11:10 +0100)]
gh-128629: Add Py_PACK_VERSION and Py_PACK_FULL_VERSION (GH-128630)
Kumar Aditya [Thu, 9 Jan 2025 09:19:05 +0000 (14:49 +0530)]
gh-79149: document reentrant safety of `loop.call_soon_threadsafe` (#128662)
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Tomas R. [Wed, 8 Jan 2025 23:38:02 +0000 (00:38 +0100)]
gh-97850: Remove the mention of removal from `ResourceReader` docs (#128602)
Remove the mention of removal from ResourceReader docs
Filipe Laíns 🇵🇸 [Wed, 8 Jan 2025 21:10:43 +0000 (21:10 +0000)]
acks: add myself (#128652)
Filipe Laíns 🇵🇸 [Wed, 8 Jan 2025 20:23:16 +0000 (20:23 +0000)]
GH-66409: check if exec_prefix is the same as prefix before searching executable_dir (#127974)
Brandt Bucher [Wed, 8 Jan 2025 17:00:11 +0000 (09:00 -0800)]
Remove unnecessary LIST_TO_TUPLE conversions (GH-126558)
Bénédikt Tran [Wed, 8 Jan 2025 13:55:04 +0000 (14:55 +0100)]
gh-111178: fix UBSan failures in `Objects/capsule.c` (GH-128239)
fix UBSan failures for `PyCapsule`
Bénédikt Tran [Wed, 8 Jan 2025 13:52:27 +0000 (14:52 +0100)]
gh-111178: fix UBSan failures in `Python/context.c` (GH-128242)
* fix UBSan failures for `PyContext`
* fix UBSan failures for `PyContextVar`
* fix UBSan failures for `PyContextToken`
* fix UBSan failures for `_PyContextTokenMissing`
Bénédikt Tran [Wed, 8 Jan 2025 13:50:40 +0000 (14:50 +0100)]
gh-111178: fix UBSan failures in `Python/hamt.c` (GH-128247)
* fix UBSan failures for `PyHamtObject`
* fix UBSan failures for `PyHamtNode_Array`
* fix UBSan failures for `PyHamtNode_Collision`
* fix UBSan failures for `PyHamtNode_Bitmap`
sobolevn [Wed, 8 Jan 2025 12:04:54 +0000 (15:04 +0300)]
gh-128615: Cover pickling of `ParamSpecArgs` and `ParamSpecKwargs` (#128616)
Filipe Laíns 🇵🇸 [Wed, 8 Jan 2025 12:03:21 +0000 (12:03 +0000)]
GH-127970: find the runtime library when dladdr is available (#127972)
sobolevn [Wed, 8 Jan 2025 12:02:47 +0000 (15:02 +0300)]
gh-128613: Increase `typing.Concatenate` coverage (#128614)
sobolevn [Wed, 8 Jan 2025 11:19:41 +0000 (14:19 +0300)]
gh-128617: Fix `test_typing.test_readonly_inheritance` (#128618)
gh-41872: Fix quick extraction of module docstrings from a file in pydoc (GH-127520)
It now supports docstrings with single quotes, escape sequences,
raw string literals, and other Python syntax.
Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Erlend E. Aasland [Wed, 8 Jan 2025 08:36:44 +0000 (09:36 +0100)]
gh-87506: Amend json.loads() post PR #127355 (#128609)
gh-87506: Document that json.load*() can raise UnicodeDecodeError (#127355)
Co-authored-by: Erlend Aasland <erlend@python.org>
Brandt Bucher [Wed, 8 Jan 2025 01:25:48 +0000 (17:25 -0800)]
GH-127809: Fix the JIT's understanding of ** (GH-127844)
Erlend E. Aasland [Tue, 7 Jan 2025 21:42:36 +0000 (22:42 +0100)]
gh-127614: Correctly check for ttyname_r() in configure (#128503)
PR #14868 replaced the ttyname() call with ttyname_r(), but the old
check remained.
Serhiy Storchaka [Tue, 7 Jan 2025 21:13:08 +0000 (23:13 +0200)]
gh-127350: Add more tests for Py_fopen() (GH-128587)
Erlend E. Aasland [Tue, 7 Jan 2025 21:07:17 +0000 (22:07 +0100)]
Docs: mark up json.load() using parameter list (#128488)
T. Wouters [Tue, 7 Jan 2025 14:41:01 +0000 (06:41 -0800)]
gh-115999: Add free-threaded specialization for COMPARE_OP (#126410)
Add free-threaded specialization for COMPARE_OP, and tests for COMPARE_OP specialization in general.
Co-authored-by: Donghee Na <donghee.na92@gmail.com>
Bénédikt Tran [Tue, 7 Jan 2025 11:47:18 +0000 (12:47 +0100)]
gh-111178: fix UBSan failures in `Modules/_sre/sre.c` (GH-128250)
fix UBSan failures for `PatternObject`, `MatchObject`, `TemplateObject`, `ScannerObject`
Bénédikt Tran [Tue, 7 Jan 2025 11:45:29 +0000 (12:45 +0100)]
gh-111178: fix UBSan failures in `Modules/_abc.c` (GH-128253)
* fix UBSan failures in `_abc.c`
* suppress unused return values
Thomas Grainger [Tue, 7 Jan 2025 11:44:57 +0000 (11:44 +0000)]
gh-128552: fix refcycles in eager task creation (#128553)
Stephen Morton [Tue, 7 Jan 2025 10:40:41 +0000 (02:40 -0800)]
gh-128302: Fix bugs in xml.dom.xmlbuilder (GH-128284)
* Allow DOMParser.parse() to correctly handle DOMInputSource instances
that only have a systemId attribute set.
* Fix DOMEntityResolver.resolveEntity(), which was broken by the
Python 3.0 transition.
* Add Lib/test/test_xml_dom_xmlbuilder.py with few tests.
Jun Komoda [Tue, 7 Jan 2025 08:36:27 +0000 (17:36 +0900)]
Add `.. availability:: Windows` directive to COM-related function prototype (GH-127436)
Add a directive to prototype that "returns a foreign function that will call a COM method"
Erlend E. Aasland [Tue, 7 Jan 2025 07:59:24 +0000 (08:59 +0100)]
gh-108202: Document calendar.Calendar.firstweekday (#128566)
Russell Keith-Magee [Tue, 7 Jan 2025 05:12:58 +0000 (13:12 +0800)]
gh-128146: Exclude os/log.h import on older macOS versions. (#128165)
Reworks the handling of Apple system log handling to account for older macOS
versions that don't provide os-log.
Zanie Blue [Tue, 7 Jan 2025 03:02:55 +0000 (21:02 -0600)]
gh-128472: Add `-skip-funcs` to BOLT options to fix computed goto errors (gh-128511)
* Add `-skip-funcs` to BOLT options to fix computed goto errors
Co-authored-by: Gregory Szorc <gregory.szorc@gmail.com>
* NEWS
---------
Co-authored-by: Gregory Szorc <gregory.szorc@gmail.com>
Stan Ulbrych [Mon, 6 Jan 2025 23:38:45 +0000 (23:38 +0000)]
gh-108202: Document `calendar.Calendar` methods `getfirstweekday` and `setfirstweekday` (#127579)