# (Inspired by Eric Raymond; the doc strings are mostly his)
def makedirs(name, mode=0o777, exist_ok=False):
- """makedirs(path [, mode=0o777][, exist_ok=False])
+ """makedirs(name [, mode=0o777][, exist_ok=False])
- Super-mkdir; create a leaf directory and all intermediate ones.
- Works like mkdir, except that any intermediate path segment (not
- just the rightmost) will be created if it does not exist. If the
- target directory with the same mode as we specified already exists,
- raises an OSError if exist_ok is False, otherwise no exception is
+ Super-mkdir; create a leaf directory and all intermediate ones. Works like
+ mkdir, except that any intermediate path segment (not just the rightmost)
+ will be created if it does not exist. If the target directory already
+ exists, raise an OSError if exist_ok is False. Otherwise no exception is
raised. This is recursive.
"""
Library
-------
+- Issue #20145: `assertRaisesRegex` and `assertWarnsRegex` now raise a
+ TypeError if the second argument is not a string or compiled regex.
+
+- Issue #21058: Fix a leak of file descriptor in
+ :func:`tempfile.NamedTemporaryFile`, close the file descriptor if
+ :func:`io.open` fails
+
+- Issue #21013: Enhance ssl.create_default_context() when used for server side
+ sockets to provide better security by default.
+
- Issue #20633: Replace relative import by absolute import.
-- Issue #20875: Prevent possible gzip "'read' is not defined" NameError.
- Patch by Claudiu Popa.
+- Issue #20980: Stop wrapping exception when using ThreadPool.
+
+ - Issue #21082: In os.makedirs, do not set the process-wide umask. Note this
+ changes behavior of makedirs when exist_ok=True.
+
+- Issue #20990: Fix issues found by pyflakes for multiprocessing.
+
+- Issue #21015: SSL contexts will now automatically select an elliptic
+ curve for ECDH key exchange on OpenSSL 1.0.2 and later, and otherwise
+ default to "prime256v1".
+
+- Issue #20995: Enhance default ciphers used by the ssl module to enable
+ better security an prioritize perfect forward secrecy.
+
+- Issue #20884: Don't assume that __file__ is defined on importlib.__init__.
+
+- Issue #20879: Delay the initialization of encoding and decoding tables for
+ base32, ascii85 and base85 codecs in the base64 module, and delay the
+ initialization of the unquote_to_bytes() table of the urllib.parse module, to
+ not waste memory if these modules are not used.
+
+- Issue #19157: Include the broadcast address in the usuable hosts for IPv6
+ in ipaddress.
- Issue #11599: When an external command (e.g. compiler) fails, distutils now
prints out the whole command line (instead of just the command name) if the