Urgent.News

What's breaking now, across thousands of outlets.

Tech

django-modern-rest@0.16.0 release

Hi everyone, I am the release manager of django-modern-rest :) django-modern-rest 0.16.0 is out! Is this your first time that you hear about this project? django-modern-rest is a fully typed / fast / flexible / async-ready framework to create REST APIs for Django. It supports Pydantic, msgspec, attrs and many other models. Here's how the code looks like: import uuid import pydantic from dmr…

The django-modern-rest framework, a fully typed, fast, flexible, and async-ready solution for creating REST APIs in Django, has been released at version 0.16.0. The release, built during the opensource_september community event, featured 32 contributors and 144 commits, marking it as the fastest release yet.

One of the key performance improvements in this version is the PydanticFastSerializer, which now deserializes data 2.2 times faster and serializes data 1.33 times faster. Additionally, the new BodyMsgspec component decodes request bytes directly into a msgspec.Struct, making it 1.6 times faster than the previous Body msgspec request context validation. The content negotiation process is also memoized per header, resulting in up to 65 times faster performance for browser-style Accept headers.

Other notable features in this release include default values for components (Body[Model | None] = None), concrete_views for JWT, token, and session authentication, cursor (keyset) pagination with sync and async APIs, and extras= for your own typed @modify / @validate parameters. The release also introduces PEP 696 TypeVar defaults for reusable controllers, first-class CSRF handling, and explicit error handlers that can re-raise a new error for the next layer.

OpenAPI support has been enhanced with x-extensions on every object, security for gateways and mTLS, OpenAPI 3.2 fields, controller-level tags, deprecated, and servers, as well as deterministic schema output. Settings are now no longer merged across levels, with endpoint overrides controller, controller overrides settings, and explicit [] or None disabling, falling through to EMPTY when desired.

The django-modern-rest package now includes AI tooling agents with skills, contexts, and mcps, as well as the $dmr-upgrade skill that provides migration prompts for upgrading from version 0.15.0. All documentation is available in Markdown format, and the repository is accessible at https://github.com/wemake-services/django-modern-rest.

The comprehensive changelog and full release notes can be found at https://github.com/wemake-services/django-modern-rest/blob/master/CHANGELOG.md and https://github.com/wemake-services/django-modern-rest/releases/tag/0.16.0, respectively.

Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at lobste.rs →

More in Tech

More from Thursday 1 October →