As a long time mobile and server side engineer I have been involved in many different types of projects over the years. Some small, and some large, but all with one recurring trend; the mobile clients need to consume data from a server to perform a task. Sometimes this data being consumed is small, and other times the application needs to continuously poll or be notified of new data to keep the application up to date it real time. So far, this is probably nothing out of the ordinary, right?
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!