Skip to content

Releases: runsascoded/mdcmd

v0.7.4

20 Dec 20:02

Choose a tag to compare

v0.7.3

24 Nov 17:11

Choose a tag to compare

v0.7.3: Error handling for bmd and dependency update

🐛 Bug fixes

  • Fix bmd error handling to exit with non-zero code when commands fail - Previously, bmd would always exit with code 0 even when embedded commands failed, breaking shell scripts using set -e
  • Print stderr to stderr when commands fail (when include_stderr=False, the default)
  • Aligns bmd error handling with mdcmd improvements from v0.7.2

📦 Dependencies

  • Bump utz requirement to >=0.21.4 (includes additional fixes for process handling)

This release completes the error handling improvements started in v0.7.2 by applying the same fixes to the bmd, bmdf, bmdff, and bmdfff commands.

Full Changelog: v0.7.2...v0.7.3

Commits

  • 88e4ccf Update uv.lock with v0.7.2
  • 38da6d4 Fix bmd error handling: exit non-zero and print stderr on failure
  • a4f71a8 Bump utz requirement to >=0.21.4
  • e6867cb v0.7.3

v0.7.2

01 Nov 20:34
bc72aca

Choose a tag to compare

v0.7.2: Error handling improvements

🐛 Bug fixes

  • Fix mdcmd to exit with non-zero code when embedded commands fail - Previously, mdcmd would exit with code 0 even when commands failed, breaking shell scripts using set -e
  • Commands that fail no longer crash with stack traces
  • Failed commands are now reported gracefully with exit code and output
  • Other commands continue to execute in concurrent mode when one fails

📦 Dependencies

  • Bump utz requirement to >=0.21.1 (includes fix for text() handling None return values)

🧪 Tests

  • Add tests for command failure handling
  • Add tests for mixed success/failure scenarios
  • Add tests to ensure no uncaught exceptions on errors

📝 Documentation & Infrastructure

  • Improve README copy and formatting
  • Add dynamic README/PyPI link generation with new scripts:
    • scripts/gh-url.py - Generate GitHub URLs for links
    • scripts/gh_url_utils.py - Shared utilities for URL generation
    • scripts/raw-readme-link.py - Generate raw README section links
  • Remove test/print-ci-yml-ref.py (replaced by new link generation approach)
  • Use footer-style link definitions for better maintainability

⚙️ CI Improvements

  • Update to astral-sh/setup-uv@v7
  • Run CI on pull requests

Full Changelog: v0.7.1...v0.7.2

What's Changed

v0.7.1

10 Sep 14:09

Choose a tag to compare

  • Rm custom build_backend, process README links between install and build (in PyPI publish GHAs)
  • Remove redundant mktoc step from ci.yml
  • Simplify and fix print-ci-yml-ref.py

Full Changelog: v0.7.0...v0.7.1

v0.7.0

10 Sep 05:03

Choose a tag to compare

🎯 Rebrand from bmdf to mdcmd

  • Package name changed to better reflect primary use case
  • All functionality preserved (bmd, bmdf, bmdff, bmdfff, mdcmd, toc, mktoc)
  • Repository URLs updated to github.com/runsascoded/mdcmd

🏗️ Architecture improvements

  • TOC functionality moved to independent top-level package
  • Markdown lists now first-class block type in mdcmd
  • Removed special-case handling for toc command
  • mktoc simplified to thin wrapper around mdcmd -x '^toc$'

📝 Enhanced documentation

  • Line-numbered links to raw README sections
  • toc command now has proper --help and click interface

🧪 Better test coverage

  • Tests for new markdown-list-block handling
  • Tests for toc command integration
  • Tests for mktoc compatibility wrapper

This is the first release under the mdcmd name. Future bmdf releases will include migration guidance.

Full Changelog: v0.6.2...v0.7.0

v0.6.2

10 Sep 01:15

Choose a tag to compare

v0.6.2: README/CI/build improvements

  • Documentation improvements (structure and examples)
    • README dynamically links to line-number ranges in ci.yml
    • Dynamic links are updated via mdcmd
    • Custom build_backend outputs absolute github.com URLs (so intra-repo links work from rendered README on pypi.org)
  • test-publich.yml for publishing to Test PyPI
  • No changes to library functionality

Full Changelog: v0.6.1...v0.6.2

v0.6.1

09 Sep 21:35

Choose a tag to compare

v0.6.1: CI improvements and Python version updates

  • Added GitHub release automation to CI workflow
  • Converted build system from pip to uv for faster dependency resolution
  • Dropped Python 3.9 support (now requires Python 3.10+)
  • Fixed mdcmd --no-concurrent flag handling bug

Full Changelog: v0.6.0...v0.6.1