What changes have occurred in the latest Python release

We all know Python often releases updates, but not everyone thinks about what changes happened. In this article, we will discuss the latest versions of Python, how it has changed, as well as what libraries and frameworks have appeared, and their advantages.

Since 2019, Python has been adapting annual release cycles. The cycle goes as follows: developers release new minor versions (3.X.0), then, when the beta version of the minor version (3.X.beta) will release, the active development stage begins. Each minor version maintains for a year and a half, then receives updates for three and a half years.

Versions 3.11 and 3.12

The last version, 3.12, was released on November 18, 2022, before there was version 3.11, released in October 2022. So, what changes have occurred in the latest versions? The main points are error messages, some modules improved, and the Python API and the C API have changed. In addition, the developers have optimized Python by adding experimental support, removing dozens of modules, and much more. Before that, in version 3.11, Python became 10-60% faster than in version 3.10. 

Сhanges in standard libraries

Asynchronous I/O is developing rapidly (task grouping has appeared), and typing and new standard library modules were introduced. Speaking of typing, for example, in version 3.11 there is a new type of SelfType which will simplify working with classes and make returning an instance of a class more intuitive. Besides, the TypeVarTuple type has been added, which allows you to cover any number of types. The LiteralString supertype has appeared, including string literals compatible with it. TypedDict’s typed dictionaries have also been altered, and the @dataclass_transform class decorator had added.

New frameworks

Today there are many well-known Python frameworks. They optimize development and provide convenient tools allowing you to deploy a finished product in a couple of days. But they also do not stand still. New frameworks are released and updated every time. Everyone knows about such popular frameworks as Django, CherryPy, Flask, TurboGears, and Tornado. In addition, there are new frameworks that have been released recently but are already able to compete with widespread frameworks. They use a new approach to solving problems and are worth paying attention to. For instance, Starlette, Sonic, Fast API. 

  • Sonic is a web server designed for fast startup, using the async/await syntax, so the code is not blocked, and the execution speed is high. 
  • Starlette is a lightweight ASGI framework for creating high-performance asyncio services, used both as an independent framework and an ASGI toolkit. For example, Starlette deals with the web part in the FastAPI. 
  • FastAPI is a modern, high-performance web framework for creating concise and fast HTTP API servers in Python 3.6+ with built-in validation, serialization, and asynchrony. As mentioned, Starlette deals with part of the web FastAPI, and Pydantic is responsible for validation. 

In general, the capabilities of these frameworks are enormous. For example, Starlette focuses on fashionable GraphQL, and FastAPI creates practical things for the REST API service. 

Conclusion

In summary, I would like to conclude that there have been many changes in versions 3.11 and 3.12, so it is impossible to tell in detail about all the functions. However, developers are working to make Python more powerful, faster, and more productive, and the new changes speak to this.

New libraries have appeared, and people are creating convenient and competitive frameworks, thanks to which Python continues to be one of the most known programming languages. I assume it will be at the top of the market for many more years.


Interesting Related Article: “What are Python data types?