Djblets 4.0 Beta 3 Release Notes¶
Release date: August 30, 2023
This release contains all bug fixes and features found in Djblets version 3.3 and 4.0 beta 2.
Installation¶
To install this release, run the following:
$ sudo pip3 install \
-f https://downloads.reviewboard.org/betas/reviewboard/6.0-beta-3/ \
--pre -U Djblets
We do not recommend upgrading a production server with this version of Djblets. This version is still in development, and is not guaranteed to have API stability.
To learn more, see:
Packaging¶
Djblets 4.x supports Python 3.8 - 3.11.
Support for Python 3.7 has been dropped.
Django 3.2.x is required.
cryptography 1.8.1+ is required.
django-pipeline 2.0.9 - 2.0.x is required.
markdown 3.3.x is required.
packaging 23.1 or higher is required.
importlib-metadata 6.6 or higher is required.
importlib-resources 5.9 or higher is required.
For building packages, Node.JS packages have now been consolidated as
dependencies under a new utility package. All Node.JS dependencies are now
listed in package.json
instead of djblets/dependencies.py
.
@beanbag/frontend-buildkit 1.1.0 - 1.1.x
djblets.configforms¶
Added Python type hints throughout some of the module.
The full port to Python type hints is still in-progress.
Updated the Config Forms JavaScript support to use Spina and TypeScript.
This enables code working with Config Forms to use Spina and TypeScript when interfacing with or subclassing these components.
djblets.extensions¶
Added Python type hints throughout most of the module.
The full port to Python type hints is still in-progress.
Updated to use modern Python packaging modules for extensions instead of legacy modules.
Our packaging and package loading code for extensions now use the modern importlib_metadata, importlib_resources, and packaging modules instead of the deprecated
pkg_resources
.While this shouldn’t impact any extensions, this is a large change. If your extension package no longer works, please let us know.
Updated the JavaScript extension support to use Spina and TypeScript.
This enables extension code to be written using these toolkits. This is backwards-compatible with older extensions.
djblets.mail¶
Added Python type hints throughout the module.
Added a
reply_to
argument toEmailMessage
.Updated to use modern Python packaging modules for loading DMARC-related data.
Deprecated positional arguments and the
enable_smart_spoofing
argument inEmailMessage
.
djblets.registries¶
Updated to use modern Python packaging modules for loading Python entrypoint-backed registries.
djblets.util¶
Added
djblets.util.filesystem.safe_join()
for joining filesystem path components without risk of escaping a confined top-level directory.Added
djblets.util.functional
, providing:iterable_len()
: Efficiently computes the length of a finite iterable.lazy_re_compile()
: Lazily compiles a regex on first access, to help reduce module/class load times.
Improved Python type hints for the
djblets.util.symbols.UNSET
symbol.This will now be correctly type-narrowed when compared against a value.
JavaScript¶
Fixed
$.ui.modalBox
button placement to factor in the padding around the box.
Contributors¶
Christian Hammond
David Trowbridge
Michelle Aubin