NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2340 most downloaded on PyPI
A sphinx extension for designing beautiful, view size responsive web components.
Last release 8 months ago
19 Jan 2026
Release timing varies
gaps range from 9 days to 1.5 years
Nearly every release is documented
notes for 21 of 22 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
22 releases · first in 2021
One column per quarter.
🧪 add regression test for available material icons by @chrisjsewell in #224
muted, white, and black semantic colors by @user27182 in #216AGENTS.md by @chrisjsewell in #251Full Changelog: v0.6.1...v0.7.0
chrisjsewell in {pr}250chrisjsewell in {pr}250 and {pr}2552bndy5 in {pr}223muted, white, and black semantic colors by {user}agriyakhetarpal in {pr}216👌 Reduce right-padding of dropdown title by @chrisjsewell in #198
Full Changelog: v0.6.0...v0.6.1
chrisjsewell in {pr}212chrisjsewell in {pr}198⬆️ Python v3.9-3.12 by @chrisjsewell in #186
You can use the sd_custom_directives configuration option in your conf.py to add custom directives, with default option values:
sd_custom_directives = {
"dropdown-syntax": {
"inherit": "dropdown",
"argument": "Syntax",
"options": {
"color": "primary",
"icon": "code",
},
}
}The key is the new directive name to add, and the value is a dictionary with the following keys:
inherit: The directive to inherit from (e.g. dropdown)argument: The default argument (optional, only for directives that take a single argument)options: A dictionary of default options for the directive (optional)by @chrisjsewell in #194
Synchronised tabs can now be selected by adding a query parameter to the URL, for that sync-group, such as ?code=python for
.. tab-set-code::
.. literalinclude:: snippet.py
:language: python
.. literalinclude:: snippet.js
:language: javascriptThe last selected tab key, per group, is also persisted SessionStorage
by @mikemckiernan and @chrisjsewell in #196
There are three visible changes:
:chevron: down-up directive option.The PR also introduces three new CSS variables to control font sizes of the dropdown:
--sd-fontsize-tabs-label: 1rem;
--sd-fontsize-dropdown-title: 1rem;
--sd-fontweight-dropdown-title: 700;Internally, the HTML / CSS is changed, such that the title is now an inline-flex box, with three columns arranged with justify-content: space-between:
| icon (optional) | text (flex-grow: 1) |
state chevron |
|---|
Also, the state chevron was previously two distinct SVGs (with one hidden), but now is one that get rotated on open/close.
by @chrisjsewell in #192
input tag by @chrisjsewell in #195📚 Update theme versions by @chrisjsewell in #189
📚 Make octicon list a table by @chrisjsewell in #188
📚 Add sphinx-immaterial to doc theme builds by @chrisjsewell in #190
📚 Change syntax dropdown color by @chrisjsewell in #191
🔧 Add FIPS compliant flag to md5 call by @gabor-varga in #162
🔧 define build.os for RTD to fix build by @sciencewhiz in #176
🔧 Move to ruff by @chrisjsewell in #185
Full Changelog: v0.5.0...v0.6.0
### Dependencies
⬆️ Python v3.9-3.12 by {user}`chrisjsewell` in {pr}`186`
⬆️ Octicon icons to v19.8.0 by {user}`ffvpor` in {pr}`171`
### New
#### ✨ Create custom directives
You can use the sd_custom_directives configuration option in your conf.py to add custom directives, with default option values:
```python sd_custom_directives = {
- "dropdown-syntax": {
"inherit": "dropdown", "argument": "Syntax", "options": {
"color": "primary", "icon": "code",
},
}
The key is the new directive name to add, and the value is a dictionary with the following keys:
inherit: The directive to inherit from (e.g. dropdown)
argument: The default argument (optional, only for directives that take a single argument)
options: A dictionary of default options for the directive (optional)
by {user}`chrisjsewell` in {pr}`194`
#### ✨ sync tabs by URL query parameters
Synchronised tabs can now be selected by adding a query parameter to the URL, for that sync-group, such as ?code=python for
```restructuredtext .. tab-set-code:
.. literalinclude:: snippet.py
:language: python
.. literalinclude:: snippet.js
:language: javascript
```
The last selected tab key, per group, is also persisted to SessionStorage
by {user}`mikemckiernan` and {user}`chrisjsewell` in {pr}`196`
### Improve
👌 Use reference name by default for internal link cards by {user}`gabalafou` in {pr}`183`
👌 Improve specificity of JS function name by {user}`danirus` in {pr}`153`
👌 Remove duplicate CSS hashing for sphinx >= 7.1 by {user}`chrisjsewell` in {pr}`193`
#### 👌 Improve dropdown title bar
There are three visible changes:
1. The "default" behaviour of the right chevron is to go from right-facing (closed) to down-facing (open), instead of down-facing (closed) to up-facing (open). There is also a rotate transition on opening/closing. The old default behaviour can be retained by using the new :chevron: down-up directive option. 2. The prefix icon (optional), title text, and chevron state icon are now all better aligned 3. The top/bottom padding is now 0.5em instead of 1em
The PR also introduces three new CSS variables to control font sizes of the dropdown:
`css --sd-fontsize-tabs-label: 1rem; --sd-fontsize-dropdown-title: 1rem; --sd-fontweight-dropdown-title: 700; `
Internally, the HTML / CSS is changed, such that the title is now an inline-flex box, with three columns arranged with justify-content: space-between:
Also, the state chevron was previously two distinct SVGs (with one hidden), but now is one that get rotated on open/close.
by {user}`chrisjsewell` in {pr}`192`
### Fix
🐛 Fix tab-item label with nested syntax by {user}`Praecordi` in {pr}`135`
🐛 Fix do not close input tag by {user}`chrisjsewell` in {pr}`195`
### Internal
📚 Update theme versions by {user}`chrisjsewell` in {pr}`189`
📚 Make octicon list a table by {user}`chrisjsewell` in {pr}`188`
📚 Add sphinx-immaterial to doc theme builds by {user}`chrisjsewell` in {pr}`190`
📚 Change syntax dropdown color by {user}`chrisjsewell` in {pr}`191`
🔧 Add FIPS compliant flag to md5 call by {user}`gabor-varga` in {pr}`162`
🔧 define build.os for RTD to fix build by {user}`sciencewhiz` in {pr}`176`
🔧 Move to ruff by {user}`chrisjsewell` in {pr}`185`
Full Changelog: <https://github.com/executablebooks/sphinx-design/compare/v0.5.0...v0.6.0>
⬆️ Drop Python 3.7 support, by @chrisjsewell in #146
Full Changelog: v0.4.1...v0.5.0
chrisjsewell in {pr}146chrisjsewell in {pr}148Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.4.1...v0.5.0
This is a minor release to bring in the following PR:
This is a minor release to bring in the following PR:
This release primarily brings in support for the latest versions of Sphinx and Python, and implements a few enhancements and bugfixes as well.
This release primarily brings in support for the latest versions of Sphinx and Python, and implements a few enhancements and bugfixes as well.
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
(GitHub contributors page for this release)
@akaszynski (activity) | @bastimeyer (activity) | @benjaoming (activity) | @choldgraf (activity) | @chrisjsewell (activity) | @codecov-commenter (activity) | @feanil (activity) | @jpmckinney (activity) | @LecrisUT (activity) | @marxin (activity) | @mikemckiernan (activity) | @nicoa (activity) | @pre-commit-ci (activity) | @spoorcc (activity) | @srideep3 (activity) | @tirthasheshpatel (activity) | @zerocewl (activity)
Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.3.0...v0.4.0
124 ({user}feanil, {user}choldgraf)113 ({user}jpmckinney, {user}chrisjsewell)106105The following people contributed discussions, new ideas, code and documentation contributions, and review. See our definition of contributors.
🔧 MAINTAIN: Fix docutils PendingDeprecationWarning by @chrisjsewell in #94
link-alt to fix card link accessibility by @chrisjsewell in #89:name: options by @chrisjsewell in #91class-img-top/class-img-bottom by @chrisjsewell in #92PendingDeprecationWarning by @chrisjsewell in #94Full Changelog: v0.2.0...v0.3.0
2bndy5 ({pr}69):name: options ({pr}91)88)class-img-top/class-img-bottom ({pr}92)link-alt to fix card link accessibility ({pr}89)
link-alt option to card (and grid-item-card) directives, in order to assign a discernable name to the link (for screen readers).93)
PendingDeprecationWarning ({pr}94)64)Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.2.0...v0.3.0
[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #63
Full Changelog: v0.1.0...v0.2.0
Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.1.0...v0.2.0
⬆️ UPGRADE: octicons to v16.1.1 by @pocek in #43
Full Changelog: v0.0.13...v0.1.0
2bndy5 in {pr}41pocek in {pr}43chrisjsewell in {pr}59chrisjsewell in {pr}60chrisjsewell in {pr}58pradyunsg in {pr}22Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.0.13...v0.1.0
✨ NEW: add icon far role ({pr}35), thanks to {user}OriolAbril
✨ NEW: add icon far role ({pr}35), thanks to {user}OriolAbril
👌 IMPROVE: Styling for tabs ({pr}21), thanks to {user}pradyunsg
👌 IMPROVE: Properly remove the border on dropdown card body ({pr}23), thanks to {user}pradyunsg
🐛 FIX: sd-outline-* classes color ({pr}25)
Nothing published for this version
✨ NEW: Add ref-type option to button-ref directive
✨ NEW: Add ref-type option to button-ref directive
✨ NEW: Add grid-item directive child-direction and child-align options
✨ NEW: Add grid-item directive child-direction and child-align options
✨ NEW: Add card directive img-background option
♻️ REFACTOR: test_sd_hide_root_title to sd_hide_title front-matter
♻️ REFACTOR: test_sd_hide_root_title to sd_hide_title front-matter
👌 IMPROVE: dropdown chevrons
✨ NEW: Add test_sd_hide_root_title config option to hide the root title.
✨ NEW: Add test_sd_hide_root_title config option to hide the root title.
👌 IMPROVE: sd-card-hover:hover add scale 101%
📚 DOCS: Update landing page
✨ NEW: Add reverse option for grid directive
✨ NEW: Add reverse option for grid directive
✨ NEW: Add animations
✨ NEW: Add card-carousel directive
✨ NEW: Add card-carousel directive
👌 IMPROVE: Make octicon's size variable
👌 IMPROVE: Make octicon's size variable
👌 IMPROVE: Allow auto for grid columns
👌 IMPROVE: Allow auto for grid columns
👌 IMPROVE: Add more CSS classes and add documentation 📚
👌 IMPROVE: Add more CSS classes and add documentation 📚
Improve documentation 📚
Improve documentation 📚
Initial release 🎉
Initial release 🎉
Your coding agent can read these notes before it upgrades. Set up the MCP server →