Over the years I have accumulated a lot of interesting code in my repositories from different research and side projects I’ve been involved with. A lot of this code is based in C, C++, and Objective-C, but ultimately has never see the light of day just because it was scrapped as part of a larger project or a feature being deprecated. Last week I was looking through my old Objective-C archives and realized that I have some pretty interesting examples of general computer science algorithms that I have never shared with my blog audience.
In years past Apple has announced their new operating systems, developer tools, and environments at WWDC and then in the fall final versions would be released to the entire developer base. Today, it is a whole new world in that the Swift language has mostly diverged from this pattern and is released on a community driven time schedule.
On September 11th, 2018 the OpenSSL team released a Long Term Support (LTS) version (1.1.1) of OpenSSL which will be supported by the community and the core team for the next five years. This LTS release includes many new features such as TLS 1.3, ABI version compatibility, new cryptography algorithms, and an overhaul in many areas to the random number generators included in OpenSSL.
This year at WWDC Apple announced a new feature called Siri Shortcuts. Siri Shortcuts now allows users to create custom voice commands to trigger Siri to perform actions on a device. The announcement of Siri Shortcuts is big news for both end users and developers as configuring a custom voice command is as easy as setting up a new statement on the Shortcuts dashboard or providing a new Intent via the Intent API.
Python just received a minor version update to Python 3.7 with many new performance enhancements, added features, and module improvements to the language. One of the existing Python modules in 3.7 that received some nice new enhancements is the ssl module. The updated ssl module now has enhanced hostname support, updates to how blacklisting and whitelisting work, but most importantly, conditional support for TLS 1.3 connections.
Python is about to get a nice new update with many new feature enhancement, performance improvements, and redesigned modules with the release of Python 3.7. At the time of writing this article a release candidate is available today by visiting CPython's github page and checking out branch 3.7. In this two part series I am writing about two updates to Python 3.7 that I feel will benefit the language in regards to networking. In this article I will be writing about the additions to the Python socket module because I am networking guy!