Skip to content

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 16 Jun 11:51
· 142 commits to main since this release

[0.3.2] - 2026-06-16

🚀 Features

  • Configurable profile path + Docker support
  • Pre-built binaries CI + Homebrew formula + slides + blog outline
  • Add literary cover style (default) + fix empty thumb_media_id
  • Frontmatter cover field — auto-upload local cover image
  • Geek theme + ship auto-uploads cover as thumb_media_id
  • Add Windows support — Chrome detection + release build
  • Add moonpub new <title> command
  • Add AI module with DeepSeek integration
  • Add moonpub expand for reading notes → article

🐛 Bug Fixes

  • Omit empty thumb_media_id in draft JSON (WeChat API now rejects empty)
  • Always upload frontmatter cover regardless of body image count
  • Add 120s timeout to wait_url to prevent infinite hang
  • Track TOML section to correctly assign vault/blog root paths
  • Adapt to WeChat editor UI changes (2026-06-14)
  • Qrcode path, callout skip, per-article author/theme, config auto-discover
  • Truncate digest to 120 chars (WeChat errcode=45004)
  • Browser automation — CDP click to enter editor, title/author/theme improvements
  • Click real checkbox input for WeChat agreement dialogs
  • Target agreement checkbox inside label for WeChat dialogs
  • Click the correct '创作来源' row in editor
  • Click lbl_content_desc span inside 创作来源 row
  • Select 创作来源 option after clicking 未添加, disable 合集
  • 创作来源 use dedicated wrapper and contains-match option
  • Rewrite 创作来源 step with radio value selector and label-based verification
  • Restore configure step in ship_article, lost during refactor

🚜 Refactor

  • Remove last production unwrap() in open_browser
  • Thiserror AppError + anyhow CLI + cargo-audit CI
  • Split lib.rs into modules and extract push logic
  • Extract CDP helpers and markdown renderer into dedicated modules
  • Remove unused cdp helpers and update README architecture
  • Robustify WeChat editor automation helpers
  • Rename vault→articles for better UX
  • Rename ai→write, clarify humanize/polish

📚 Documentation

  • Detailed installation guide — Cargo, Docker, .env, moonpub.toml
  • Full E2E workflow guide + cover customization options
  • Update cover section — frontmatter cover field, literary style
  • Update CLAUDE.md with root-cause analysis and engineering lessons
  • Record module split and circular dependency fix in CLAUDE.md
  • Add project progress tracker
  • Update PROGRESS.md after test additions
  • Avoid hardcoding commit hash in PROGRESS.md
  • Mark browser automation as verified and frozen
  • Add session context for next conversation
  • Mark 创作来源 as verified stable
  • Add 创作来源 radio-value fix record to historical issues
  • Sync all docs — ship, configure, architecture, 创作来源 status
  • Update README download version to v0.3.2
  • Add CODE_OF_CONDUCT.md (Contributor Covenant)

🧪 Testing

  • Add targeted tests for cover upload logic and build_draft_json
  • Add unit tests for core helper functions
  • Add unit tests for markdown fence parsing and cdp js_str

⚙️ Miscellaneous Tasks

  • Fix release workflow duplicate check + English README
  • Add .vscode/ to gitignore
  • Fix release workflow — macos-14 runner, linux-arm64, remove --locked
  • Drop aarch64-apple-darwin, ring 0.17.14 panics on macOS ARM runners
  • Add CODEOWNERS
  • Rewrite release workflow with git-cliff + softprops/action-gh-release
  • Use macos-latest for x86_64-apple-darwin