- Unified
substackCLI for publication status and draft operations. - Commands to list publications, inspect drafts, schedule, unschedule, publish, and delete.
- Stable
--jsonoutput for automation and--publication-urloverrides. - Interactive confirmation and non-interactive
--yesprotection for publishing and deletion. - Pull-request CI across Python 3.10 through 3.14.
- Clear CLI error output, exit codes, timezone validation, and secret redaction.
- Package positioning, keywords, operational examples, and release validation.
- PyPI publishing now uploads the exact tested wheel and source distribution.
- Markdown-first draft helper:
Api.create_draft_from_markdown(...). - CLI commands:
substack-auth-checksubstack-publish-markdownsubstack-publish-yamlsubstack-mcp
- Optional MCP extra:
python-substack[mcp]. .env.examplefor setup.- GitHub issue templates for auth bugs and feature requests.
- Include
substack_mcpin packaged distributions. - Fix
examples/publish_post.py --publishso the flag publishes. - Correct MCP documentation to use
substack_mcp.mcp_server.
- Reworked README around Markdown, cookie auth, CLI usage, and MCP setup.
- Added PyPI classifiers and project links.
- Added focused tests for CLI behavior and Markdown draft creation.