Releases: thesmallstar/slackify-markdown-python
Releases · thesmallstar/slackify-markdown-python
v0.2.4
What's new
Nested-list spacing/indent overhaul (#20):
- Proper indentation — 4 spaces per nest level for both bullet and ordered lists.
- Bullet hierarchy —
•(depth 1),◦(depth 2),▪(depth 3+). Matches Slack's native rendering. - Fixes the cascade bug — deeply nested lists and blockquotes were producing 2+ blank lines between blocks because each
*_closehandler emitted\nindependently. Now exactly one blank line, regardless of nest depth. - Code block content preserved verbatim — multi-blank-line content inside
```fenced blocks is no longer touched by the spacing normalization. - STX sentinel scrub — user-input control characters can't corrupt the internal newline-cap machinery.
Tests
- 60 tests total (49 existing + 10 new edge-case tests + 1 full-document integration test).
- Verified across Python 3.8 – 3.14.
Docs
- New
docs/architecture.mdwalks through the renderer pipeline, the cap/sentinel mechanism (with the trail of alternatives — NULL / PUA / noncharacters — and why STX won), and known limitations. - Future AST-walker migration tracked in #19.
v0.2.4 (pre-release)
Pre-release of 0.2.4 for TestPyPI smoke-testing. See PR #20 for the changes (nested-list spacing/indent overhaul, STX sentinel newline cap, 10 new edge-case tests + full-document integration test, docs/architecture.md).
v0.2.3
Changes in 0.2.3
Bug fix
- Paragraph spacing (#15, PR #17):
paragraph_closeused to emit a single\n, collapsing consecutive paragraphs into adjacent lines in Slack. It now emits\n\nfor standalone paragraphs (and a single\nfor tight-list items, detected viatoken.hidden), matching the JS referenceslackify-markdownand Slack mrkdwn semantics. - Trailing whitespace normalization (PR #17):
render()now strips trailing newlines and re-adds exactly one. Fixes a sibling divergence where a heading at the end of a document used to leave a trailing\n\n.
Maintenance (#18)
- Lockfile (
uv.lock) regenerated to current schema (revision 1 → revision 3). Same dependency graph — purely a metadata refresh. - Python 3.14 support added to
pyproject.tomlclassifiers and the CI test matrix (tests.yml). All 49 tests verified passing on 3.14.
Compatibility
requires-python is still >=3.8. Python 3.8 (EOL Oct 2024) and 3.9 (EOL Oct 2025) are kept for backward compatibility — dropping them is a deliberate breaking change reserved for a future release.
Install
pip install slackify_markdown==0.2.3
v0.2.2
v0.2.2-rc1
Pre-release for testing. Fixes thread-safety of heading state, adds heading formatting tests.
v0.2.1
v0.2.1-rc1
Pre-release for testing. Includes fix for heading with bold text (#10).
v0.2.0
What's Changed
- Bump version by @thesmallstar in #7
- Bump to 0.2.0 by @thesmallstar in #8
Full Changelog: v0.1.6...v0.2.0