Commit Graph

257 Commits

Author SHA1 Message Date
Yury Selivanov 63ae9f3b38 whatsnew/3.5: Cover asyncio changes relative to 3.4.0 2015-09-13 00:29:02 -04:00
Yury Selivanov 239503773d whatsnew/3.5: Add some examples
Patch by Elvis Pranskevichus
2015-09-12 23:46:39 -04:00
Yury Selivanov 7b76baeabf whatsnew/3.5: Update editor's email addresses 2015-09-12 17:53:33 -04:00
Yury Selivanov 95fd26bc01 whatsnew/3.5 More edits
Patch by Elvis Praskevichus.  (+ issue #25070)
2015-09-12 17:50:58 -04:00
Yury Selivanov 46a8b40ca8 whatsnew/3.5: Edits
Patch by Elvis Pranskevichus
2015-09-12 15:52:04 -04:00
Larry Hastings 2e789a1f1d Final touch-ups for the What's New In Python 3.5 document. 2015-09-12 17:36:44 +01:00
Larry Hastings 17e9f3b774 Backported the What's New In 3.5 from 3.5.1 to 3.5.0 (final!). 2015-09-12 17:12:36 +01:00
Serhiy Storchaka 1c30e7ef56 whatsnew/3.5: Added missed author names. 2015-09-11 20:55:28 +03:00
Yury Selivanov dddfffeda1 whatsnew/3.5: Fix nits 2015-09-11 01:23:10 -04:00
Yury Selivanov fd8d52b96c whatsnew/3.5: Drop empty section 2015-09-11 00:50:39 -04:00
Yury Selivanov 4dde587405 whatsnew/3.5: Sync whatsnew with versionadded/versionchanged doc tags 2015-09-11 00:48:21 -04:00
Yury Selivanov 508a81e094 whatsnew/3.5: Second pass over NEWS entries 2015-09-10 23:37:06 -04:00
Yury Selivanov 79cf1b04a3 whatsnew/3.5: Reformat code examples 2015-09-10 21:44:59 -04:00
Yury Selivanov a88cd646d1 whatsnew/3.5: Another editing pass
Patch by Elvis Pranskevichus.
2015-09-10 21:26:54 -04:00
Yury Selivanov 3b76552538 whatsnew/3.5: Fix refs in the importlib section 2015-09-10 19:02:24 -04:00
Yury Selivanov 1c73e69ec5 whatsnew/3.5: Clarify types.coroutine & types.CoroutineType 2015-09-10 18:59:42 -04:00
Yury Selivanov 83c6d729d4 whatsnew/3.5: Don't mention pyio.FileIO 2015-09-10 18:31:49 -04:00
Yury Selivanov c973990f4e whatsnew/3.5: Describe changes in issue #22980
Initial patch by Larry Hastings.
2015-09-10 18:26:44 -04:00
Yury Selivanov 5c3111e319 whatsnew/3.5: More edits -- use articles consistently; fix refs 2015-09-10 18:04:35 -04:00
Yury Selivanov ce917c731d whatsnew/3.5: Editorialization pass on library section
Patch by Elvis Pranskevichus
2015-09-10 17:35:38 -04:00
Yury Selivanov 88d073dad5 whatsnew/3.5: Mention issue 22464
(About the only new feature that was worth mentioning in
whatsnew without a NEWS entry)
2015-09-09 22:46:40 -04:00
Yury Selivanov ef05af5941 whatsnew/3.5: Merge argparse entries 2015-09-09 13:49:29 -04:00
Yury Selivanov 336b37b1dd whatsnew/3.5: First pass over NEWS is done. 2015-09-09 12:23:01 -04:00
Yury Selivanov 1f4d4705bd whatsnew/3.5: Fix nits per Berker Peksag suggestion 2015-09-09 09:27:29 -04:00
Yury Selivanov 0ac5f28bee whatsnew/3.5: Reformat PEP 475 to render in less space; add "ugly" ex in 465 2015-09-08 23:40:46 -04:00
Yury Selivanov 40301c04eb whatsnew/3.5: Better formatting; add traceback to significantly improved stdlib 2015-09-08 23:28:06 -04:00
Yury Selivanov 100fc3fbc2 whatsnew/3.5: Fix library news till Py3.5a1. Update other docs. 2015-09-08 22:40:30 -04:00
Yury Selivanov dfcfe13300 docs/whatsnew/3.5: Update peps section
Patch by Elvis Pranskevichus.
2015-09-08 15:33:15 -04:00
Larry Hastings d5b129c9a1 Fix for one-letter type in What's New In Python 3.5. 2015-08-24 12:49:22 -07:00
Yury Selivanov 7d6adab716 whatsnew/3.5: Mention new ssl memory bio 2015-08-05 19:01:51 -04:00
Yury Selivanov 40c0ce472e whatsnew/3.5: Mention 'typing' module docs in seealso for pep 484 2015-08-05 12:46:29 -04:00
Yury Selivanov a5a0062627 whatsnew: Add pep 448 to new syntax features section 2015-08-04 12:52:16 -04:00
Yury Selivanov 5df36af8b7 whatsnew/3.5: Briefly mention PEP 484 2015-08-04 12:46:57 -04:00
Yury Selivanov 216d999345 whatsnew/3.5: Mention PEP 448 2015-08-04 12:42:20 -04:00
Yury Selivanov 13b74aef62 whatsnew/3.5: Mention that 'async' is a bad name for modules 2015-08-03 14:55:58 -04:00
Berker Peksag 4333d8bad7 Issue #15582: Add a whatsnew entry for inspect.getdoc() changes in 3.5.
Patch by Martin Panter.
2015-07-30 18:06:09 +03:00
Victor Stinner ace8848df6 What's New in Python 3.5: document os.urandom() changes 2015-07-29 02:28:32 +02:00
Victor Stinner 988101364a What's New in Python 3.5: document socket.sendall() change on timeout 2015-07-29 01:41:25 +02:00
Victor Stinner 287452eeaf What's New in Python 3.5: Document ssl methods change on timeout 2015-07-29 01:39:13 +02:00
Victor Stinner 6752d65daf What's New in Python 3.5: move PEP 475 doc 2015-07-29 01:11:10 +02:00
Steve Dower 313fbf4548 Issue #24642: Adds installer notes and links to What's New for 3.5 2015-07-17 16:48:48 -07:00
Zachary Ware 3d3aedc8ba Fix usage of the default role. 2015-07-07 00:07:25 -05:00
Yury Selivanov fdbeb2b4b6 Issue #24400: Resurrect inspect.isawaitable()
collections.abc.Awaitable and collections.abc.Coroutine no longer
use __instancecheck__ hook to detect generator-based coroutines.

inspect.isawaitable() can be used to detect generator-based coroutines
and to distinguish them from regular generator objects.
2015-07-03 13:11:35 -04:00
Nick Coghlan 2ab5b092e5 Close #24458: PEP 489 documentation
Patch by Petr Viktorin.
2015-07-03 19:49:15 +10:00
Yury Selivanov f488fb422a Issue #19235: Add new RecursionError exception. Patch by Georg Brandl. 2015-07-03 01:04:23 -04:00
Yury Selivanov e13f8f3cab Issue #24450: Add gi_yieldfrom to generators; cr_await to coroutines.
Patch by Benno Leslie and Yury Selivanov.
2015-07-03 00:23:30 -04:00
Yury Selivanov a74b5e59af Issue #24400: Remove inspect.isawaitable().
isawaitable() was added before collections.abc.Awaitable; now,
with Awaitable, it is no longer needed (we don't have ishashable()
or isiterable() methods in the inspect module either).
2015-06-30 18:19:01 -04:00
Benjamin Peterson 4801383c29 upgrade to Unicode 8.0.0 2015-06-27 15:45:56 -05:00
Yury Selivanov 27947d5d5c docs.whatsnew: Update ref to tp_as_async 2015-06-23 15:09:58 -04:00
Yury Selivanov 5376ba9630 Issue #24400: Introduce a distinct type for 'async def' coroutines.
Summary of changes:

1. Coroutines now have a distinct, separate from generators
   type at the C level: PyGen_Type, and a new typedef PyCoroObject.
   PyCoroObject shares the initial segment of struct layout with
   PyGenObject, making it possible to reuse existing generators
   machinery.  The new type is exposed as 'types.CoroutineType'.

   As a consequence of having a new type, CO_GENERATOR flag is
   no longer applied to coroutines.

2. Having a separate type for coroutines made it possible to add
   an __await__ method to the type.  Although it is not used by the
   interpreter (see details on that below), it makes coroutines
   naturally (without using __instancecheck__) conform to
   collections.abc.Coroutine and collections.abc.Awaitable ABCs.

   [The __instancecheck__ is still used for generator-based
   coroutines, as we don't want to add __await__ for generators.]

3. Add new opcode: GET_YIELD_FROM_ITER.  The opcode is needed to
   allow passing native coroutines to the YIELD_FROM opcode.

   Before this change, 'yield from o' expression was compiled to:

      (o)
      GET_ITER
      LOAD_CONST
      YIELD_FROM

   Now, we use GET_YIELD_FROM_ITER instead of GET_ITER.

   The reason for adding a new opcode is that GET_ITER is used
   in some contexts (such as 'for .. in' loops) where passing
   a coroutine object is invalid.

4. Add two new introspection functions to the inspec module:
   getcoroutinestate(c) and getcoroutinelocals(c).

5. inspect.iscoroutine(o) is updated to test if 'o' is a native
   coroutine object.  Before this commit it used abc.Coroutine,
   and it was requested to update inspect.isgenerator(o) to use
   abc.Generator; it was decided, however, that inspect functions
   should really be tailored for checking for native types.

6. sys.set_coroutine_wrapper(w) API is updated to work with only
   native coroutines.  Since types.coroutine decorator supports
   any type of callables now, it would be confusing that it does
   not work for all types of coroutines.

7. Exceptions logic in generators C implementation was updated
   to raise clearer messages for coroutines:

   Before: TypeError("generator raised StopIteration")
   After: TypeError("coroutine raised StopIteration")
2015-06-22 12:19:30 -04:00
Ned Deily cec3f56fab Issue #24423: Fix formatting error in 3.5 whatsnew 2015-06-10 15:43:05 -07:00
Yury Selivanov 4640b300e3 Issue 24180: Mention sys.(get|set)_coroutine_wrapper in whatsnew 2015-05-31 17:21:38 -04:00
Tal Einat f67b0a36c5 minor fix of module order in whatsnew/3.5 2015-05-31 22:18:31 +03:00
Tal Einat d5519ed7f4 Issue #19543: Implementation of isclose as per PEP 485
For details, see:
PEP 0485 -- A Function for testing approximate equality

Functions added: math.isclose() and cmath.isclose().

Original code by Chris Barker. Patch by Tal Einat.
2015-05-31 22:05:00 +03:00
Serhiy Storchaka d4ea03c785 Issue #24284: The startswith and endswith methods of the str class no longer
return True when finding the empty string and the indexes are completely out
of range.
2015-05-31 09:15:51 +03:00
Benjamin Peterson 3d4a457663 improve section title 2015-05-31 00:22:42 -05:00
Yury Selivanov 5844436adf docs/whatsnew: Mention OrderedDict C implementation 2015-05-30 10:49:09 -04:00
Yury Selivanov 8fa6d4f753 docs/whatsnew: Mention that 'async' and 'await' will be keywords in 3.7 2015-05-28 17:09:14 -04:00
Benjamin Peterson e328323cf7 rephrase 2015-05-26 21:40:28 -05:00
Guido van Rossum 7ca13532f3 Fix bad indent in whatsnew/3.5.rst. 2015-05-23 15:27:51 -07:00
Terry Jan Reedy 44825cf71f Add pointer to IDLE what's new file. 2015-05-23 18:19:42 -04:00
Berker Peksag 1a90b17bce Fix Sphinx warnings. 2015-05-24 00:26:05 +03:00
Nick Coghlan d5cacbb1d9 PEP 489: Multi-phase extension module initialization
Known limitations of the current implementation:

- documentation changes are incomplete
- there's a reference leak I haven't tracked down yet

The leak is most visible by running:

  ./python -m test -R3:3 test_importlib

However, you can also see it by running:

  ./python -X showrefcount

Importing the array or _testmultiphase modules, and
then deleting them from both sys.modules and the local
namespace shows significant increases in the total
number of active references each cycle. By contrast,
with _testcapi (which continues to use single-phase
initialisation) the global refcounts stabilise after
a couple of cycles.
2015-05-23 22:24:10 +10:00
Gregory P. Smith ad577b938b Issue 24230: The tempfile module now accepts bytes for prefix, suffix and dir
parameters and returns bytes in such situations (matching the os module APIs).
2015-05-22 16:18:14 -07:00
Yury Selivanov 945fff44c4 Issue 20438: Add a note about deprecating old inspect APIs to whatsnew.
Also, deprecate formatargspec, formatargvalues, and getargvalues
functions.  Since we are deprecating 'getfullargspec' function in
3.5 (documentation only, no DeprecationWarning), it makes sense
to also deprecate functions designed to be directly used with it.

In 3.6 we will remove 'getargsspec' function (was deprecated since
Python 3.0), and start raising DeprecationWarnings in other
'getarg*' family of functions.  We can remove them in 3.7 or later.

Also, it is worth noting, that Signature API does not provide 100%
of functionality that deprecated APIs have.  It is important to do
a soft deprecation of outdated APIs in 3.5 to gather users feedback,
and improve Signature object.
2015-05-22 16:28:05 -04:00
Zachary Ware 569db2c9f6 Fix extraneous BOM in whatsnew.
That's what I get for using Notepad to make a quick edit...
2015-05-22 11:42:20 -05:00
Zachary Ware 7dc9dea778 Issue #20035: Reimplement tkinter._fix module as a C function.
The new private C function makes no permanent changes to the environment
and is #ifdef'd out on non-Windows platforms.
2015-05-22 11:36:53 -05:00
Yury Selivanov 8d006e75e0 docs: Mention PEP 479 in whatsnew.
Issue 22906.
2015-05-22 11:30:45 -04:00
Yury Selivanov f3e40fac10 Issue 24180: Documentation for PEP 492 changes. 2015-05-21 11:50:30 -04:00
Benjamin Peterson b1cc37cfb5 improve wording 2015-05-20 22:09:43 -05:00
Yury Selivanov 57c74fca02 Issue 24248: Deprecate inspect.Signature.from_function and .from_builtin 2015-05-20 23:07:02 -04:00
Yury Selivanov bcd4fc161a Issue 20691: Add follow_wrapped arg to inspect.signature/from_callable. 2015-05-20 14:30:08 -04:00
R David Murray c17686f071 Issue #13866: add *quote_via* argument to urlencode.
Patch by samwyse, completed by Arnon Yaari, and reviewed by
Martin Panter.
2015-05-17 20:44:50 -04:00
R David Murray 8308444eef #24218: Add SMTPUTF8 support to send_message.
Reviewed by Maciej Szulik.
2015-05-17 19:27:22 -04:00
R David Murray fdb23c2fe5 #20098: add mangle_from_ policy option.
This defaults to True in the compat32 policy for backward compatibility,
but to False for all new policies.

Patch by Milan Oberkirch, with a few tweaks.
2015-05-17 14:24:33 -04:00
R David Murray 224ef3ec3b #24211: Add RFC6532 support to the email library.
This could use more edge case tests, but the basic functionality is tested.
(Note that this changeset does not add tailored support for the RFC 6532
message/global MIME type, but the email package generic facilities will handle
it.)

Reviewed by Maciej Szulik.
2015-05-17 11:29:21 -04:00
R David Murray b744f3a45e #21083: add get_content_disposition method to email.message.
Patch by Abhilash Raj.
2015-05-16 15:41:07 -04:00
Serhiy Storchaka b9cec6a30f Issue #16314: Added support for the LZMA compression in distutils. 2015-05-16 22:13:27 +03:00
R David Murray b8cd3e4e30 #21804: Add RFC 6856 (UTF8) support to poplib.
Patch by Milan Oberkirch.
2015-05-16 15:05:53 -04:00
R David Murray cee7cf6026 #22027: Add RFC6531 support to smtplib.
Initial patch by Milan Oberkirch.
2015-05-16 13:58:14 -04:00
Yury Selivanov b907a513c8 Issue 24190: Add inspect.BoundArguments.apply_defaults() method. 2015-05-16 13:45:09 -04:00
Benjamin Peterson 14ef1a12c7 remove extra space 2015-05-13 11:19:27 -04:00
Benjamin Peterson 5562c90377 remove % from title, since it makes latex barf 2015-05-13 11:19:06 -04:00
Berker Peksag 2f3742b0d8 Issue #1322: platform.dist() and platform.linux_distribution() functions are now deprecated.
Initial patch by Vajrasky Kok.
2015-05-13 12:32:20 +03:00
Raymond Hettinger eac503aeac Issue #24064: Property() docstrings are now writeable.
(Patch by Berker Peksag.)
2015-05-13 01:09:59 -07:00
Serhiy Storchaka f0eeedf0d8 Issue #22681: Added support for the koi8_t encoding. 2015-05-12 23:24:19 +03:00
Serhiy Storchaka ad8a1c3fb2 Issue #22682: Added support for the kz1048 encoding. 2015-05-12 23:16:55 +03:00
Serhiy Storchaka 0d4df752ac Issue #15027: The UTF-32 encoder is now 3x to 7x faster. 2015-05-12 23:12:45 +03:00
Yury Selivanov 5096088c07 doc: Briefly mention C API changes in whatsnew. 2015-05-12 00:15:05 -04:00
Yury Selivanov b5d6a9d470 Mention PEP 492 in whatsnew. 2015-05-12 00:09:05 -04:00
R David Murray a33df31629 #21795: advertise 8BITMIME if decode_data is False.
Patch by Milan Oberkirch, with a few updates.  This changeset also
tweaks the smtpd and whatsnew docs for smtpd into what should be
the final form for the 3.5 release.
2015-05-11 12:11:40 -04:00
R David Murray a6429db4b8 #21800: Add RFC 6855 support to imaplib.
Original patch by Milan Oberkirch, updated by myself and
Maciej Szulik.
2015-05-10 19:17:23 -04:00
Gregory P. Smith 8cb6569fe1 Implements issue #9951: Adds a hex() method to bytes, bytearray, & memoryview.
Also updates a few internal implementations of the same thing to use the
new built-in code.

Contributed by Arnon Yaari.
2015-04-25 23:22:26 +00:00
Greg Ward 4d9d2563f5 #17445: difflib: add diff_bytes(), to compare bytes rather than str
Some applications (e.g. traditional Unix diff, version control
systems) neither know nor care about the encodings of the files they
are comparing. They are textual, but to the diff utility they are just
bytes. This worked fine under Python 2, because all of the hardcoded
strings in difflib.py are ASCII, so could safely be combined with
old-style u'' strings. But it stopped working in 3.x.

The solution is to use surrogate escapes for a lossless
bytes->str->bytes roundtrip. That means {unified,context}_diff() can
continue to just handle strings without worrying about bytes. Callers
who have to deal with bytes will need to change to using diff_bytes().

Use case: Mercurial's test runner uses difflib to compare current hg
output with known good output. But Mercurial's output is just bytes,
since it can contain:
  * file contents (arbitrary unknown encoding)
  * filenames (arbitrary unknown encoding)
  * usernames and commit messages (usually UTF-8, but not guaranteed
    because old versions of Mercurial did not enforce it)
  * user messages (locale encoding)

Since the output of any given hg command can include text in multiple
encodings, it is hopeless to try to treat it as decodable Unicode
text. It's just bytes, all the way down.

This is an elaboration of a patch by Terry Reedy.
2015-04-20 20:21:21 -04:00
R David Murray 0c49b896e6 #16914: add timestamps to smtplib debugging output via new debuglevel 2.
Patch by Gavin Chappell and Maciej Szulik.
2015-04-16 17:14:42 -04:00
R David Murray 4c7f995e80 #7159: generalize urllib prior auth support.
This fix is a superset of the functionality introduced by the issue #19494
enhancement, and supersedes that fix.  Instead of a new handler, we have a new
password manager that tracks whether we should send the auth for a given uri.
This allows us to say "always send", satisfying #19494, or track that we've
succeeded in auth and send the creds right away on every *subsequent* request.
The support for using the password manager is added to AbstractBasicAuth,
which means the proxy handler also now can handle prior auth if passed
the new password manager.

Patch by Akshit Khurana, docs mostly by me.
2015-04-16 16:36:18 -04:00
R David Murray 2b78129b3a #18128: use standard +NNNN timezone format in POT-Creation-Date header.
Patch by Michael McFadden, with a few small style tweaks.
2015-04-16 12:15:09 -04:00
Steve Dower d2bc389e55 Issue #4254: Adds _curses.update_lines_cols() Patch by Arnon Yaari 2015-04-15 18:06:05 -04:00
Eric V. Smith 7a80389ce5 Issue 23193: Add numeric_owner to tarfile.TarFile.extract() and tarfile.TarFile.extractall(). 2015-04-15 10:27:58 -04:00
Gregory P. Smith 6e73000723 Add a subprocess.run() function than returns a CalledProcess instance for a
more consistent API than the existing call* functions.
(enhancement from issue 23342)
2015-04-14 16:14:25 -07:00