diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e7ca613..64f3cdd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.7.0" + ".": "0.8.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index eb6b45a..099bbec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,39 @@ All notable changes to Cryyer are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/). +## [0.8.0](https://github.com/atriumn/cryyer/compare/cryyer-v0.7.0...cryyer-v0.8.0) (2026-05-30) + + +### Features + +* add Bluesky and X (Twitter) direct posting providers ([#163](https://github.com/atriumn/cryyer/issues/163)) ([a304783](https://github.com/atriumn/cryyer/commit/a304783aec09f5273e47bc629c3e8db134773d22)) +* add Claude CLI provider for Opus/Sonnet without API key ([#157](https://github.com/atriumn/cryyer/issues/157)) ([75080ca](https://github.com/atriumn/cryyer/commit/75080cac97545c1aeda4d1cbb770c0f3c6a887a5)) +* add Claude OAuth token fallback for Anthropic provider ([#156](https://github.com/atriumn/cryyer/issues/156)) ([3338bbb](https://github.com/atriumn/cryyer/commit/3338bbb48a52a94ff9016dca4bc805b91c27387d)) +* add cryyer social blog-publish command ([#158](https://github.com/atriumn/cryyer/issues/158)) ([#159](https://github.com/atriumn/cryyer/issues/159)) ([6871652](https://github.com/atriumn/cryyer/commit/6871652e051aafd64334ce5748868fab900097d2)) +* add seed parser for social content ([#146](https://github.com/atriumn/cryyer/issues/146)) ([5f53375](https://github.com/atriumn/cryyer/commit/5f53375150c531ac5494eb56acef94aee31f1a6d)), closes [#129](https://github.com/atriumn/cryyer/issues/129) +* add self-hosted GitHub Actions deploy workflow ([#155](https://github.com/atriumn/cryyer/issues/155)) ([94a5fc4](https://github.com/atriumn/cryyer/commit/94a5fc438d806bb71531185dd30eeb084e106707)) +* add social MCP tools and GitHub Actions workflows ([#151](https://github.com/atriumn/cryyer/issues/151)) ([a9adff6](https://github.com/atriumn/cryyer/commit/a9adff695212617e6f1b6701a7589cebabb9e60d)) +* add top-level `cryyer blog publish` command ([#160](https://github.com/atriumn/cryyer/issues/160)) ([75af6d7](https://github.com/atriumn/cryyer/commit/75af6d7c3258108fbb2500c68947a49ae9f26d4b)) +* append CTA link to generated social posts ([#154](https://github.com/atriumn/cryyer/issues/154)) ([4a5b04a](https://github.com/atriumn/cryyer/commit/4a5b04a0f8e398e994692aa9d2d2d8bb4f959814)) +* auto-load .env file on startup ([#162](https://github.com/atriumn/cryyer/issues/162)) ([e25749f](https://github.com/atriumn/cryyer/commit/e25749f736d901472b97a57ddffcd1ac3e07bc1f)) +* remove cryyer run headless send entrypoint ([#170](https://github.com/atriumn/cryyer/issues/170)) ([c19cb9f](https://github.com/atriumn/cryyer/commit/c19cb9f6e0c681960574c623f6944f8b7ea2879d)), closes [#167](https://github.com/atriumn/cryyer/issues/167) +* remove Gmail email channel, go Resend-only ([#169](https://github.com/atriumn/cryyer/issues/169)) ([fab12f7](https://github.com/atriumn/cryyer/commit/fab12f7a8212af4914718a7e4e520e0ba7a6c62c)), closes [#166](https://github.com/atriumn/cryyer/issues/166) +* replace Buffer with direct LinkedIn posting ([#161](https://github.com/atriumn/cryyer/issues/161)) ([31f1c3d](https://github.com/atriumn/cryyer/commit/31f1c3d6e425f6f23d04d43e697b5644fb8cc3d1)) + + +### Bug Fixes + +* prioritize voice over structure in blog post generation ([589d115](https://github.com/atriumn/cryyer/commit/589d115be147130a98c9f58a34881c34dc19e570)) +* update blog prompt and fix broken test ([90f6b67](https://github.com/atriumn/cryyer/commit/90f6b67e690352ddba89c5afdcf7b0cbe5d48272)) +* update default model from invalid claude-sonnet-4-5-20250514 to claude-sonnet-4-6 ([7537f1d](https://github.com/atriumn/cryyer/commit/7537f1dd7029e8a30b9d44f672b50520855bb46b)) + + +### Miscellaneous + +* add arqo issue templates ([#164](https://github.com/atriumn/cryyer/issues/164)) ([d02d027](https://github.com/atriumn/cryyer/commit/d02d027f81fd6337de4f7fbdf77e216f8db31fc1)) +* add lat.md knowledge graph and session instructions ([1e506d8](https://github.com/atriumn/cryyer/commit/1e506d8724f58cad0ec8276bab5c22f526e6cb8c)) +* remove dead Buffer integration and broken social CI workflows ([#168](https://github.com/atriumn/cryyer/issues/168)) ([823a957](https://github.com/atriumn/cryyer/commit/823a957a4d548b9642fed1183c0c98e220132354)), closes [#165](https://github.com/atriumn/cryyer/issues/165) + ## [0.7.0](https://github.com/atriumn/cryyer/compare/cryyer-v0.6.3...cryyer-v0.7.0) (2026-03-25) diff --git a/drafts/v0.8.0-general.md b/drafts/v0.8.0-general.md new file mode 100644 index 0000000..b9b8974 --- /dev/null +++ b/drafts/v0.8.0-general.md @@ -0,0 +1,25 @@ +--- +subject: "Cryyer 0.8.0: Direct social posting, blog publishing, and more" +--- + +Hello! + +We've been busy making Cryyer the best way to share your project's progress. Version 0.8.0 is officially here, and it’s packed with features that make it easier to reach your audience wherever they are. + +## Direct Social Posting +We’ve removed the need for middlemen. You can now post your updates directly to **LinkedIn, X, and Bluesky**. It’s faster, simpler, and reduces the number of accounts you need to manage to get your message out. + +## From Updates to Blog Posts +Your release notes shouldn't just live in an email. With the new `blog-publish` command, you can instantly transform your latest activity into a formatted blog post, making it easier to maintain a public log of your work. + +## Better AI & Automation +- **Claude Integration:** Use powerful models like Claude Opus and Sonnet to help draft your content more naturally. +- **Social Content Workflows:** New tools to help you seed, draft, and send social-specific content alongside your standard updates. +- **Automatic Setup:** Cryyer now automatically detects your `.env` configuration files, so you can get up and running without extra steps. + +## Reliability First +To make sure your updates always reach your subscribers, we’ve moved to Resend as our dedicated email provider. This change ensures better delivery rates and a much simpler configuration process. + +Check out the full release on [GitHub](https://github.com/atriumn/cryyer) to see the complete list of improvements. + +Happy shipping! diff --git a/drafts/v0.8.0-technical.md b/drafts/v0.8.0-technical.md new file mode 100644 index 0000000..d515287 --- /dev/null +++ b/drafts/v0.8.0-technical.md @@ -0,0 +1,25 @@ +--- +subject: "Cryyer v0.8.0: Direct Social Providers, Resend Migration, and Claude CLI" +--- + +Cryyer v0.8.0 is now live. This release focuses on reducing middleware dependencies by moving to direct platform integrations and refining the developer workflow for automated content distribution. + +## Direct Social Integration +We have deprecated the Buffer integration (#168) in favor of direct providers for LinkedIn (#161), Bluesky, and X (#163). This allows for tighter control over post formatting and reduces external dependencies. Use the new `cryyer social` command suite to seed, draft, and publish content directly from the CLI. + +## Infrastructure & Breaking Changes +- **Resend-only Email:** The Gmail email channel has been removed (#169). Resend is now the exclusive engine for email delivery. +- **Gist Subscriber Store:** Introduced a GitHub Gist-backed subscriber store (#114) for lightweight, serverless audience management. Ensure you use a classic PAT as fine-grained tokens are not yet supported for this store (#126). +- **Scoped Package:** The npm package has been renamed to `@atriumn/cryyer` (#97). + +## Enhanced LLM Support +- **Claude CLI Provider:** Added support for Opus/Sonnet via CLI without requiring a direct API key (#157). +- **OAuth Fallback:** Added Claude OAuth token fallback for the standard Anthropic provider (#156). +- **Retry Logic:** Added a retry mechanism for LLM calls that encounter unparseable responses (#121). + +## DX Improvements +- **Auto .env Loading:** Cryyer now utilizes Node 20.6+ `process.loadEnvFile()` to automatically load credentials on startup (#162). +- **Non-interactive Init:** Support for `cryyer init` in non-interactive environments to streamline CI/CD setups (#106). +- **Headless Cleanup:** Removed the legacy headless send entrypoint (#170). + +View the full release notes and PR history on GitHub. diff --git a/package.json b/package.json index f429468..d7ed650 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@atriumn/cryyer", - "version": "0.7.0", + "version": "0.8.0", "description": "Automated product update emails with per-product voice powered by LLM drafts", "license": "MIT", "author": "Atriumn",