Skip to content

Releases: thesmallstar/slackify-markdown-python

v0.2.4

25 May 15:03
552bc00

Choose a tag to compare

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 *_close handler emitted \n independently. 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.md walks 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)

25 May 15:02
552bc00

Choose a tag to compare

v0.2.4 (pre-release) Pre-release
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

24 May 10:43
2c8cd53

Choose a tag to compare

Changes in 0.2.3

Bug fix

  • Paragraph spacing (#15, PR #17): paragraph_close used to emit a single \n, collapsing consecutive paragraphs into adjacent lines in Slack. It now emits \n\n for standalone paragraphs (and a single \n for tight-list items, detected via token.hidden), matching the JS reference slackify-markdown and 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.toml classifiers 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

02 Mar 16:34
5db9961

Choose a tag to compare

Bug Fixes

  • Fix heading with bold text producing malformed output (#10, #11)
  • Fix thread-safety: use instance variable instead of class variable for heading state (#13)

Tests

  • Add tests for bold, italic, and bold-italic inside headings

v0.2.2-rc1

02 Mar 16:33
5db9961

Choose a tag to compare

v0.2.2-rc1 Pre-release
Pre-release

Pre-release for testing. Fixes thread-safety of heading state, adds heading formatting tests.

v0.2.1

02 Mar 16:28
05e8e8b

Choose a tag to compare

Bug Fixes

  • Fix heading with bold text producing malformed output (#10, #11)
    • ### **Step 1**: Description here now correctly outputs *Step 1: Description here* instead of **Step 1*: Description here*

v0.2.1-rc1

02 Mar 16:26
05e8e8b

Choose a tag to compare

v0.2.1-rc1 Pre-release
Pre-release

Pre-release for testing. Includes fix for heading with bold text (#10).

v0.2.0

02 Apr 13:23
ac65ad1

Choose a tag to compare

What's Changed

Full Changelog: v0.1.6...v0.2.0

v0.2.0-pre

02 Apr 13:19
ac65ad1

Choose a tag to compare

v0.2.0-pre Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.6-pre...v0.2.0-pre

v0.1.6-pre

02 Apr 13:12
2cf5e55

Choose a tag to compare

v0.1.6-pre Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.6...v0.1.6-pre