Skip to content

[Do Not Merge] Sample of CPython life with blurb. #703

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2,085 changes: 1,117 additions & 968 deletions Misc/NEWS

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Misc/NEWS.d/3.5.0/Build.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Issue #25071: Windows installer should not require TargetDir
parameter when installing quietly.

1 change: 1 addition & 0 deletions Misc/NEWS.d/3.5.0/release.date.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2015-09-13
77 changes: 77 additions & 0 deletions Misc/NEWS.d/3.5.0a1/Build.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
- Issue #15506: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure
script.

- Issue #22935: Allow the ssl module to be compiled if openssl doesn't support
SSL 3.

- Issue #22592: Drop support of the Borland C compiler to build Python. The
distutils module still supports it to build extensions.

- Issue #22591: Drop support of MS-DOS, especially of the DJGPP compiler
(MS-DOS port of GCC).

- Issue #16537: Check whether self.extensions is empty in setup.py. Patch by
Jonathan Hosmer.

- Issue #22359: Remove incorrect uses of recursive make. Patch by Jonas
Wagner.

- Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and
above. Patch by Zachary Turner.

- Issue #18093: the programs that embed the CPython runtime are now in a
separate "Programs" directory, rather than being kept in the Modules
directory.

- Issue #15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/
now display special message when and only when there are failures.

- Issue #21141: The Windows build process no longer attempts to find Perl,
instead relying on OpenSSL source being configured and ready to build. The
``PCbuild\build_ssl.py`` script has been re-written and re-named to
``PCbuild\prepare_ssl.py``, and takes care of configuring OpenSSL source
for both 32 and 64 bit platforms. OpenSSL sources obtained from
svn.python.org will always be pre-configured and ready to build.

- Issue #21037: Add a build option to enable AddressSanitizer support.

- Issue #19962: The Windows build process now creates "python.bat" in the
root of the source tree, which passes all arguments through to the most
recently built interpreter.

- Issue #21285: Refactor and fix curses configure check to always search
in a ncursesw directory.

- Issue #15234: For BerkelyDB and Sqlite, only add the found library and
include directories if they aren't already being searched. This avoids
an explicit runtime library dependency.

- Issue #17861: Tools/scripts/generate_opcode_h.py automatically regenerates
Include/opcode.h from Lib/opcode.py if the latter gets any change.

- Issue #20644: OS X installer build support for documentation build changes
in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin.

- Issue #20022: Eliminate use of deprecated bundlebuilder in OS X builds.

- Issue #15968: Incorporated Tcl, Tk, and Tix builds into the Windows build
solution.

- Issue #17095: Fix Modules/Setup *shared* support.

- Issue #21811: Anticipated fixes to support OS X versions > 10.9.

- Issue #21166: Prevent possible segfaults and other random failures of
python --generate-posix-vars in pybuilddir.txt build target.

- Issue #18096: Fix library order returned by python-config.

- Issue #17219: Add library build dir for Python extension cross-builds.

- Issue #22919: Windows build updated to support VC 14.0 (Visual Studio 2015),
which will be used for the official release.

- Issue #21236: Build _msi.pyd with cabinet.lib instead of fci.lib

- Issue #17128: Use private version of OpenSSL for OS X 10.5+ installer.

26 changes: 26 additions & 0 deletions Misc/NEWS.d/3.5.0a1/C API.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
- Issue #14203: Remove obsolete support for view==NULL in PyBuffer_FillInfo(),
bytearray_getbuffer(), bytesiobuf_getbuffer() and array_buffer_getbuf().
All functions now raise BufferError in that case.

- Issue #22445: PyBuffer_IsContiguous() now implements precise contiguity
tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation
flag. Previously the function reported false negatives for corner cases.

- Issue #22079: PyType_Ready() now checks that statically allocated type has
no dynamically allocated bases.

- Issue #22453: Removed non-documented macro PyObject_REPR().

- Issue #18395: Rename ``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`,
rename ``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document
these functions.

- Issue #21233: Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(),
PyObject_Calloc(), _PyObject_GC_Calloc(). bytes(int) is now using
``calloc()`` instead of ``malloc()`` for large objects which is faster and
use less memory.

- Issue #20942: PyImport_ImportFrozenModuleObject() no longer sets __file__ to
match what importlib does; this affects _frozen_importlib as well as any
module loaded using imp.init_frozen().

224 changes: 224 additions & 0 deletions Misc/NEWS.d/3.5.0a1/Core and Builtins.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
- Issue #23285: PEP 475 - EINTR handling.

- Issue #22735: Fix many edge cases (including crashes) involving custom mro()
implementations.

- Issue #22896: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()
and PyObject_AsWriteBuffer().

- Issue #21295: Revert some changes (issue #16795) to AST line numbers and
column offsets that constituted a regression.

- Issue #22986: Allow changing an object's __class__ between a dynamic type and
static type in some cases.

- Issue #15859: PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and
PyUnicode_EncodeCodePage() now raise an exception if the object is not a
Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on
platforms other than Windows. Patch written by Campbell Barton.

- Issue #21408: The default __ne__() now returns NotImplemented if __eq__()
returned NotImplemented. Original patch by Martin Panter.

- Issue #23321: Fixed a crash in str.decode() when error handler returned
replacment string longer than mailformed input data.

- Issue #22286: The "backslashreplace" error handlers now works with
decoding and translating.

- Issue #23253: Delay-load ShellExecute[AW] in os.startfile for reduced
startup overhead on Windows.

- Issue #22038: pyatomic.h now uses stdatomic.h or GCC built-in functions for
atomic memory access if available. Patch written by Vitor de Lima and Gustavo
Temple.

- Issue #20284: %-interpolation (aka printf) formatting added for bytes and
bytearray.

- Issue #23048: Fix jumping out of an infinite while loop in the pdb.

- Issue #20335: bytes constructor now raises TypeError when encoding or errors
is specified with non-string argument. Based on patch by Renaud Blanch.

- Issue #22834: If the current working directory ends up being set to a
non-existent directory then import will no longer raise FileNotFoundError.

- Issue #22869: Move the interpreter startup & shutdown code to a new
dedicated pylifecycle.c module

- Issue #22847: Improve method cache efficiency.

- Issue #22335: Fix crash when trying to enlarge a bytearray to 0x7fffffff
bytes on a 32-bit platform.

- Issue #22653: Fix an assertion failure in debug mode when doing a reentrant
dict insertion in debug mode.

- Issue #22643: Fix integer overflow in Unicode case operations (upper, lower,
title, swapcase, casefold).

- Issue #17636: Circular imports involving relative imports are now
supported.

- Issue #22604: Fix assertion error in debug mode when dividing a complex
number by (nan+0j).

- Issue #21052: Do not raise ImportWarning when sys.path_hooks or sys.meta_path
are set to None.

- Issue #16518: Use 'bytes-like object required' in error messages that
previously used the far more cryptic "'x' does not support the buffer
protocol.

- Issue #22470: Fixed integer overflow issues in "backslashreplace",
"xmlcharrefreplace", and "surrogatepass" error handlers.

- Issue #22540: speed up `PyObject_IsInstance` and `PyObject_IsSubclass` in the
common case that the second argument has metaclass `type`.

- Issue #18711: Add a new `PyErr_FormatV` function, similar to `PyErr_Format`
but accepting a `va_list` argument.

- Issue #22520: Fix overflow checking when generating the repr of a unicode
object.

- Issue #22519: Fix overflow checking in PyBytes_Repr.

- Issue #22518: Fix integer overflow issues in latin-1 encoding.

- Issue #16324: _charset parameter of MIMEText now also accepts
email.charset.Charset instances. Initial patch by Claude Paroz.

- Issue #1764286: Fix inspect.getsource() to support decorated functions.
Patch by Claudiu Popa.

- Issue #18554: os.__all__ includes posix functions.

- Issue #21391: Use os.path.abspath in the shutil module.

- Issue #11471: avoid generating a JUMP_FORWARD instruction at the end of
an if-block if there is no else-clause. Original patch by Eugene Toder.

- Issue #22215: Now ValueError is raised instead of TypeError when str or bytes
argument contains not permitted null character or byte.

- Issue #22258: Fix the internal function set_inheritable() on Illumos.
This platform exposes the function ``ioctl(FIOCLEX)``, but calling it fails
with errno is ENOTTY: "Inappropriate ioctl for device". set_inheritable()
now falls back to the slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``).

- Issue #21389: Displaying the __qualname__ of the underlying function in the
repr of a bound method.

- Issue #22206: Using pthread, PyThread_create_key() now sets errno to ENOMEM
and returns -1 (error) on integer overflow.

- Issue #20184: Argument Clinic based signature introspection added for
30 of the builtin functions.

- Issue #22116: C functions and methods (of the 'builtin_function_or_method'
type) can now be weakref'ed. Patch by Wei Wu.

- Issue #22077: Improve index error messages for bytearrays, bytes, lists,
and tuples by adding 'or slices'. Added ', not <typename>' for bytearrays.
Original patch by Claudiu Popa.

- Issue #20179: Apply Argument Clinic to bytes and bytearray.
Patch by Tal Einat.

- Issue #22082: Clear interned strings in slotdefs.

- Upgrade Unicode database to Unicode 7.0.0.

- Issue #21897: Fix a crash with the f_locals attribute with closure
variables when frame.clear() has been called.

- Issue #21205: Add a new ``__qualname__`` attribute to generator, the
qualified name, and use it in the representation of a generator
(``repr(gen)``). The default name of the generator (``__name__`` attribute)
is now get from the function instead of the code. Use ``gen.gi_code.co_name``
to get the name of the code.

- Issue #21669: With the aid of heuristics in SyntaxError.__init__, the
parser now attempts to generate more meaningful (or at least more search
engine friendly) error messages when "exec" and "print" are used as
statements.

- Issue #21642: In the conditional if-else expression, allow an integer written
with no space between itself and the ``else`` keyword (e.g. ``True if 42else
False``) to be valid syntax.

- Issue #21523: Fix over-pessimistic computation of the stack effect of
some opcodes in the compiler. This also fixes a quadratic compilation
time issue noticeable when compiling code with a large number of "and"
and "or" operators.

- Issue #21418: Fix a crash in the builtin function super() when called without
argument and without current frame (ex: embedded Python).

- Issue #21425: Fix flushing of standard streams in the interactive
interpreter.

- Issue #21435: In rare cases, when running finalizers on objects in cyclic
trash a bad pointer dereference could occur due to a subtle flaw in
internal iteration logic.

- Issue #21377: PyBytes_Concat() now tries to concatenate in-place when the
first argument has a reference count of 1. Patch by Nikolaus Rath.

- Issue #20355: -W command line options now have higher priority than the
PYTHONWARNINGS environment variable. Patch by Arfrever.

- Issue #21274: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c.

- Issue #20904: Support setting FPU precision on m68k.

- Issue #21209: Fix sending tuples to custom generator objects with the yield
from syntax.

- Issue #21193: pow(a, b, c) now raises ValueError rather than TypeError when b
is negative. Patch by Josh Rosenberg.

- PEP 465 and Issue #21176: Add the '@' operator for matrix multiplication.

- Issue #21134: Fix segfault when str is called on an uninitialized
UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.

- Issue #19537: Fix PyUnicode_DATA() alignment under m68k. Patch by
Andreas Schwab.

- Issue #20929: Add a type cast to avoid shifting a negative number.

- Issue #20731: Properly position in source code files even if they
are opened in text mode. Patch by Serhiy Storchaka.

- Issue #20637: Key-sharing now also works for instance dictionaries of
subclasses. Patch by Peter Ingebretson.

- Issue #8297: Attributes missing from modules now include the module name
in the error text. Original patch by ysj.ray.

- Issue #19995: %c, %o, %x, and %X now raise TypeError on non-integer input.

- Issue #19655: The ASDL parser - used by the build process to generate code for
managing the Python AST in C - was rewritten. The new parser is self contained
and does not require to carry long the spark.py parser-generator library;
spark.py was removed from the source base.

- Issue #12546: Allow ``\x00`` to be used as a fill character when using str, int,
float, and complex __format__ methods.

- Issue #20480: Add ipaddress.reverse_pointer. Patch by Leon Weber.

- Issue #13598: Modify string.Formatter to support auto-numbering of
replacement fields. It now matches the behavior of str.format() in
this regard. Patches by Phil Elson and Ramchandra Apte.

- Issue #8931: Make alternate formatting ('#') for type 'c' raise an
exception. In versions prior to 3.5, '#' with 'c' had no effect. Now
specifying it is an error. Patch by Torsten Landschoff.

- Issue #23165: Perform overflow checks before allocating memory in the
_Py_char2wchar function.

37 changes: 37 additions & 0 deletions Misc/NEWS.d/3.5.0a1/Documentation.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
- Issue #19548: Update the codecs module documentation to better cover the
distinction between text encodings and other codecs, together with other
clarifications. Patch by Martin Panter.

- Issue #22394: Doc/Makefile now supports ``make venv PYTHON=../python`` to
create a venv for generating the documentation, e.g.,
``make html PYTHON=venv/bin/python3``.

- Issue #21514: The documentation of the json module now refers to new JSON RFC
7159 instead of obsoleted RFC 4627.

- Issue #21777: The binary sequence methods on bytes and bytearray are now
documented explicitly, rather than assuming users will be able to derive
the expected behaviour from the behaviour of the corresponding str methods.

- Issue #6916: undocument deprecated asynchat.fifo class.

- Issue #17386: Expanded functionality of the ``Doc/make.bat`` script to make
it much more comparable to ``Doc/Makefile``.

- Issue #21312: Update the thread_foobar.h template file to include newer
threading APIs. Patch by Jack McCracken.

- Issue #21043: Remove the recommendation for specific CA organizations and to
mention the ability to load the OS certificates.

- Issue #20765: Add missing documentation for PurePath.with_name() and
PurePath.with_suffix().

- Issue #19407: New package installation and distribution guides based on
the Python Packaging Authority tools. Existing guides have been retained
as legacy links from the distutils docs, as they still contain some
required reference material for tool developers that isn't recorded
anywhere else.

- Issue #19697: Document cases where __main__.__spec__ is None.

Loading