You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add _inject_markdown_attr preprocessor to fix md_in_html extension
- Fix double-escaping of Django delimiters in pre>code blocks
- Sanitize audio_id to prevent XSS in inline onclick handler
- Validate audio_url against allowlist (http/https//) to block javascript: scheme
- Align _is_audio_table URL allowlist with convert_tables to fix silent row loss
- Badge images: inline sizing instead of full-width block classes
- Badge links: skip text/underline classes when sole child is img
- Remove dead media_suffixes variable from _is_audio_table
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.1.0] - 2026-04-17
9
+
10
+
### Fixed
11
+
12
+
-`md_in_html` extension was a no-op; added `_inject_markdown_attr` preprocessor to inject `markdown="1"` into block-level HTML tags so inner markdown (bold, links, badges) renders correctly
13
+
- Double-escaping of Django template delimiters in `<pre><code>` blocks; `<code>` inside `<pre>` is now skipped
14
+
- XSS: `audio_id` now sanitized with `re.sub(r'[^a-z0-9_]', '_', ...)` to strip all non-safe characters from inline JS
15
+
- XSS: `audio_url` validated to only accept `http://`, `https://`, or `/`-prefixed paths; `javascript:` and other schemes are rejected
16
+
- URL allowlist mismatch between `_is_audio_table` and `convert_tables`; both now require the same prefixes, eliminating silent row loss
17
+
- Badge images (inside `<a>`) no longer inherit the full-width block image classes; they receive `inline h-5 align-middle` instead
18
+
- Badge links (sole child is `<img>`) no longer receive text/underline Tailwind classes
19
+
- Removed dead `media_suffixes` variable from `_is_audio_table`
0 commit comments