Skip to content

Releases: paperfoot/xmaster-cli

v1.6.4

27 Apr 20:28

Choose a tag to compare

v1.6.4: long-form authoring helper

- analyze auto-runs long-form heuristics above 500 chars (preview hook,
  scannability, payoff density, dwell sweet-spot reward)
- inspire --long surfaces high-impression long-form exemplars
- agent-info adds the Jan 2026 $1M Article Contest data + winning pattern,
  seed authors, nanaban cover-image command, and 2026 timing guidance

v1.6.3

17 Apr 02:26

Choose a tag to compare

v1.6.3: cross-post candidates in track run

v1.6.2

17 Apr 02:09

Choose a tag to compare

v1.6.2: 2026 algorithm alignment — daily cap, thread drop-off, reply …

v1.6.1

09 Apr 17:25

Choose a tag to compare

v1.6.1: algorithm alignment + framework audit + --limit alias

v1.6.0

09 Apr 17:23

Choose a tag to compare

algorithm alignment: 19-signal model, author diversity, distribution …

v1.5.3

04 Apr 16:58

Choose a tag to compare

v1.5.3: fix self-update, drop self_update crate, update skill + agent…

v1.5.2

04 Apr 16:44

Choose a tag to compare

update agent-info and skill for from: operator in search-ai

- agent-info usage hint now documents from:username support
- skill file updated: search examples use search-ai with from: operator
  instead of the API search command

v1.5.1

02 Apr 21:30

Choose a tag to compare

v1.5.1: CreateNoteTweet support for Premium long posts via web fallback

Web session fallback now uses CreateNoteTweet GraphQL mutation for posts
>280 chars when account has Premium, fixing error 186 ("Tweet needs to be
a bit shorter") that occurred because CreateTweet hard-caps at 280 regardless
of Premium status.

Changes:
- xapi.rs: create_tweet_via_web() selects CreateNoteTweet vs CreateTweet based
  on text length + premium flag. Different query ID, richtext_options variable,
  and response path (data.notetweet_create vs data.create_tweet)
- config.rs: add graphql_create_note_tweet_id override for query ID rotation
- post.rs: preflight now shows critical issues (over_limit, empty_content) for
  replies too — previously all validation was skipped for replies
- Specific error message when Premium long post is rejected (suggests checking
  subscription status)

v1.5.0

30 Mar 17:20

Choose a tag to compare

v1.5.0: discovered posts library — automatic caching + inspire command

Every search, timeline, read, mentions, and engage feed now caches external
posts into a local discovered_posts SQLite table. Zero extra API calls —
just stops discarding data we already fetch.

New features:
- discovered_posts table with UPSERT semantics (re-encounters update metrics,
  preserve first_source/discovered_at, backfill media URLs from read)
- Cache taps in 6 commands: search, timeline, mentions, read, engage recommend,
  engage feed
- New `xmaster inspire` command to query the library:
  --topic, --author, --min-likes filters, sorted by impressions
- query_discovered_posts() and discovered_posts_count() store methods

The library builds itself from normal usage. Over time it becomes a personal
collection of high-performing posts from the user's niche — like SuperX's
10M viral library, but personal, always fresh, and fully local.

v1.4.2

30 Mar 03:28

Choose a tag to compare

v1.4.2: add config get command, wire voice into preflight, update docs

- New `config get <key>` command for reading individual config values
  (agents can read style.voice before adapting it, not blindly replacing)
- Wire style.voice into post/analyze AnalyzeContext as author_voice
- agent-info: document config get, premium hint in usage_hints
- README: document config get, premium setup step
- config show: display Premium status