Add release notes for Djblets 6.0.
Review Request #14759 — Created Jan. 5, 2026 and submitted
Djblets 6.0 is a large release, featuring caching improvements, new
dynamic page state injection support, general rate limiting, cache
locks, layered siteconfig lookups, new templatetag support, and a whole
lot more.This change introduces the release notes for this release, covering
usage information and examples where appropriate.Given how much is going on in this release, sub-sections have been used
to introduce the major new changes within a module's section, and
examples have been added to help clarify how most of these work. This
will be the pattern going forward, and should also help with any AI bots
that want to learn from our releases.
Built the docs. Checked for bad links, build errors, and any obvious
errors in the text.
| Summary | ID |
|---|---|
| 24c0dce29e31b108b4835c5333352925a74484a4 |
| Description | From | Last Updated |
|---|---|---|
|
Typo in description: featureing -> featuring |
|
|
|
The "featureing" typo in the description was never fixed. |
|
|
|
We don't have anything referencing this. |
|
|
|
This is a little bit confusing. Can you maybe clarify that once the deprecated modules are removed, this dependency should … |
|
|
|
Grammar here is a bit weird ("TemplateHook are a powerful way") |
|
|
|
Let's say "switch to using django-assert-queries directly" |
|
|
|
Typo: cam -> can |
|
|
|
This should be in a djblets.util.templatetags section, not djblets.util.decorators |
|
|
|
Typo: code-block: html+django -> code-block:: html+django (needs 2 colons) |
|
|
|
This reads a bit weird. The section for this says "dynamic page injections", so how about: "New module for dynamic … |
|
|
|
locked is a method, not a property. This should either be if lock.locked(): or if lock.acquired: (which both accomplish the … |
|
|
|
This says typelets.symbols.UNSET but the code is using djblets.util.symbols.UNSET, and those are currently not the same thing. |
|
|
|
This is mixing up two different APIs. We have override_feature_check, that takes in a single feature ID and state (like … |
|
|
|
This should also document the new trace_id argument. |
|
|
|
This should say Djblets 8. |
|
|
|
Underline is too long here. |
|
|
|
While this works, it seems like django templates would usually be written with as_type="int" (with quotes) |
|
|
|
It'd be nice to include this in the example below as well. |
|
|
|
I feel like the examples flow better if we put this point first, and the keyword args point second. |
|
|
|
The argument name in here is obj but then in the body you use author |
|
|
|
Your get_raw_object_value() method returns a dict with id, but then you're using pk here. |
|
|
|
Annotation says you return QuerySet but there's no return statement in here. |
|
|
|
Does this link correctly? |
|
|
|
This is importing override_feature_checks twice. One was supposed to be override_feature_check. |
|
|
|
These aren't quite right. The typelets names have Django in them (e.g. SerializableDjangoJSONDict) |
|
- Change Summary:
-
Rewrote these for Djblets 6, and to provide subsections to break things apart with examples used to illustrate the major changes.
- Summary:
-
Add release notes for Djblets 5.3.Add release notes for Djblets 6.0.
- Description:
-
~ Djblets 5.3 is a large release, featureing caching improvements, new
~ Djblets 6.0 is a large release, featureing caching improvements, new
dynamic page state injection support, general rate limiting, cache locks, layered siteconfig lookups, new templatetag support, and a whole lot more. This change introduces the release notes for this release, covering
usage information and examples where appropriate. + + Given how much is going on in this release, sub-sections have been used
+ to introduce the major new changes within a module's section, and + examples have been added to help clarify how most of these work. This + will be the pattern going forward, and should also help with any AI bots + that want to learn from our releases. - Commits:
-
Summary ID 3fa6f62e2f2abb2333eb49248c69a9e717289b5d f20c1587c1653f21ae2805ec37283251d5fac310 - Branch:
-
release-5.xrelease-6.x
Checks run (2 succeeded)
-
-
This reads a bit weird. The section for this says "dynamic page injections", so how about: "New module for dynamic page state injection into templates"?
-
lockedis a method, not a property. This should either beif lock.locked():orif lock.acquired:(which both accomplish the same thing). -
This says
typelets.symbols.UNSETbut the code is usingdjblets.util.symbols.UNSET, and those are currently not the same thing. -
This is mixing up two different APIs.
We have
override_feature_check, that takes in a single feature ID and state (like you have here), oroverride_feature_checks, which takes in a dict of states for multiple features.We should include docs for both of those here.
-
-
-
-
While this works, it seems like django templates would usually be written with
as_type="int"(with quotes)
- Change Summary:
-
- Added notes on the
djblets.util.typingand.symbolstransitions. - Added a note on the extension static media installation fixes.
- Improved wording about page state injections.
- Fixed some code examples.
- Reworked the feature check override notes.
- Added the
trace_idargument. - Fixed deprecation warnings.
- Fixed syntax issues.
- Added notes on the
- Commits:
-
Summary ID f20c1587c1653f21ae2805ec37283251d5fac310 afc1e3686a2d93cc0a46e273cdb1b1bedd9fb111
Checks run (2 succeeded)
- Change Summary:
-
- Improved the examples and text for datagrid JSON serialization.
- Changed the order of the
blocktagexamples. - Added a coderef page for
djblets.extensions, so a link would resolve.
- Description:
-
~ Djblets 6.0 is a large release, featureing caching improvements, new
~ Djblets 6.0 is a large release, featuring caching improvements, new
dynamic page state injection support, general rate limiting, cache locks, layered siteconfig lookups, new templatetag support, and a whole lot more. This change introduces the release notes for this release, covering
usage information and examples where appropriate. Given how much is going on in this release, sub-sections have been used
to introduce the major new changes within a module's section, and examples have been added to help clarify how most of these work. This will be the pattern going forward, and should also help with any AI bots that want to learn from our releases. - Commits:
-
Summary ID afc1e3686a2d93cc0a46e273cdb1b1bedd9fb111 716b723b02d6d10e1b47b08f1b0e320addec3626
Checks run (2 succeeded)
- Change Summary:
-
- Fixed a number of code examples noticed by David and then some noticed by Claude.
- Fixed some off-by-one indentations in some code blocks that I noticed.
- Commits:
-
Summary ID 716b723b02d6d10e1b47b08f1b0e320addec3626 24c0dce29e31b108b4835c5333352925a74484a4