Skip to content

v1.2.2

Choose a tag to compare

@release-please-for-lemonade release-please-for-lemonade released this 08 Apr 06:06
e4d1552

1.0.0 (2026-04-08)

Features

  • add /btw command for parallel side questions with turn isolation (#70) (b6b7a27)
  • add /status, /events, /spaces, /credits, /history commands (#78) (860b08d)
  • add /version command with npm update check and restart (#71) (a8573e8)
  • add 10 event admin tools (clone, recurring, checkin, export, invitations, tickets, payments) (#81) (609b725)
  • add 31 new tools, AI credits, subscriptions, and billing safety dual-mode (8604303)
  • add 34 new tools for events, co-hosts, broadcasting, email, guests, analytics, pages, templates (ddb013d)
  • add 7 connector tools, /connectors command, and connectors skill file (#87) (1d84e11)
  • add 8 space admin tools (analytics, leaderboards, roles, pinning, delete) (#82) (5a079b1)
  • add advanced analytics tools (ea944f6)
  • add auth logout command to clear stored credentials (#150) (4413bea)
  • add automated schema validation test for GraphQL field names (#104) (4d0da83)
  • add backend drift detection for capability resolver coverage (5e90706)
  • add CanonicalCapability type infrastructure with factory and adapter (70a6684)
  • add capability manifest, introspection command, and skill generation (411bf86)
  • add cli with all 44 commands, auth, api clients, output formatting (4ea8e5b)
  • add codegen auto-sync pipeline for mcp and graphql (abd7f2c)
  • add core multiline input classes (Batch 1/3) (#109) (092eb40)
  • add discoverability metadata (whenToUse, searchHint, shouldDefer, alwaysLoad) to all tools (f772e8c)
  • add doctor command for CLI health diagnostics (1515fb1)
  • add event session reservation and voting tools (86307b6)
  • add explicit category metadata to tool registry (4ee3c04)
  • add file upload pipeline and image management tools (09cc0a3)
  • add make-lemonade interactive AI terminal and stripe commands (bb4161f)
  • add MultilineInput React component (Batch 2/3) (#110) (4c2603f)
  • add OAuth polling, secure API key input, and connector run command (#89) (102e548)
  • add payment account CRUD and Stripe capability tools (aa60958)
  • add plan mode wizard for interactive parameter collection (#59) (460e25d)
  • add retry with exponential backoff for transient streaming errors (98506e6)
  • add retry with exponential backoff for transient streaming errors (162fa11)
  • add rich rendering - markdown, streaming, thinking indicator (Phase B) (74818dd)
  • add rich terminal UI for make-lemonade (Phase A - ESM, ChatEngine, Ink foundation) (27ad63b)
  • add space event moderation and quota tools (a6ae666)
  • add space newsletter operations tools (6fa7529)
  • add space role permissions tools (bd929a6)
  • add space switch tool for make-lemonade (e626e20)
  • add status command for at-a-glance CLI state overview (eb77abb)
  • add stripe-connect and stripe-status commands (e2dedfa)
  • add Tempo auto-pay for tickets, payout setup, MPP request, and reward display (#91) (fe9a853)
  • add Tempo wallet integration with /tempo command and wallet tools (#90) (1b62d0e)
  • add theme data management and theme builder tool (a632ef2)
  • add ticket lifecycle and payment operations tools (9f9fc48)
  • add tool discoverability via CLI commands and /tools slash command (4015117)
  • add tool execution, slash commands, error display, confirm prompt (Phase C) (3f83884)
  • add user tools, discount management, ticket categories, and application export (#83) (2c92365)
  • add Zesty skills system with 6 domain skill files and /name command (701c042)
  • enable Kitty keyboard protocol for Shift+Enter, add Ctrl+L and Ctrl+U (#75) (587f201)
  • enrich all tools with CanonicalCapability metadata (351820f)
  • expand event create/update to full EventInput configuration (38e92c0)
  • expand space create/update to full SpaceInput and add payment accounts tool (dd02c77)
  • implement deferred tool loading with ToolSearch (61ce9e5)
  • integrate MultilineInput, remove ink-text-input (Batch 3/3) (#111) (bf4ef9a)
  • point OAuth2 login at Hydra public URL instead of backend (a1437de)
  • polish toolbar, loading state, and spacing UX (#57) (c84b542)
  • pump version to 1.0.0 (d238316)
  • rebuild terminal UI with Ink fullscreen layout (#53) (42b6b70)
  • rebuild terminal UI with readline + chalk (#52) (b6c19fa)
  • redesign plan mode wizard with progress bar, markdown renderer, and natural language trigger (#62) (378a05e)
  • skip second API call for self-describing tools via formatResult (#74) (907e7e0)
  • switch to standard event endpoints for timezone/space data, add /export CSV command (#84) (14d27c5)

Bug Fixes

  • /credits help text mode qualifier + deduplicate displayName ternary (18d1f53)
  • add chalk styling and credits guidance to API key error (5244192)
  • add cli_version tool so AI handles version questions naturally (#72) (21d0a8c)
  • add comment explaining post-exit return guard (82be6f1)
  • add executable bin wrappers for reliable CLI installation (2ab0067)
  • add input separator line and status bar (b28d9dc)
  • add invariant comment to Escape rollback path (442b2e3)
  • add missing branch files for live mode/provider switching (688a86b)
  • add missing capabilities to mock providers in conversationStore tests (016384c)
  • add missing CapabilityNotAvailableError catch in connectors list (67b127d)
  • add missing TOOL_TO_RESOLVER entries for ai-prefixed tools (1ca10fd)
  • add newsletter failed status and expand detail view (5a5ce6c)
  • add NPM_TOKEN for publish authentication (7260f3e)
  • add null guard for getEvent and fix argument nullability (788e5e7)
  • add timezone detection, ban markdown tables, add table fallback renderer (#63) (48d86f3)
  • add troubleshooting hint for Tempo login redirect issue (#101) (13555b0)
  • add unhandledRejection and uncaughtException handlers for safe crash cleanup (f85c4ed)
  • address all hostile review findings on slash command routing (1b353a6)
  • address all review findings for chat startup mode recovery (677421f)
  • address all review findings for chat startup/mode-recovery (85f2960)
  • address audit findings for advanced analytics tools (26aef51)
  • address audit findings for backend drift detection (74f25d0)
  • address audit findings for capability enrichment (bee64e7)
  • address audit findings for capability manifest and introspection (aabafdd)
  • address audit findings for capability type infrastructure (09ef066)
  • address audit findings for discoverability metadata (8a083e5)
  • address audit findings for event config completeness (c3bd58e)
  • address audit findings for file upload pipeline (50ffc73)
  • address audit findings for newsletter tools (2f0aa39)
  • address audit findings for page builder tools (0104e04)
  • address audit findings for payment account tools (3ce70a9)
  • address audit findings for session and voting tools (1ed9255)
  • address audit findings for slash command unification (060ad12)
  • address audit findings for space config completeness (20ee8c6)
  • address audit findings for space event moderation tools (8d36362)
  • address audit findings for theme data management (456c845)
  • address audit findings for ticket lifecycle tools (8603691)
  • address audit findings for tool category metadata (7274641)
  • address critical audit findings for deferred tool loading (ed4a285)
  • address final review findings — dead guard, switch tests, state coupling (63d366b)
  • address hostile audit findings for streaming error recovery (6c85473)
  • address hostile review findings for /mode and help table (8fd7b1b)
  • address hostile review findings on credits-mode migration (94e7117)
  • address Karen PR #117 findings for terminal protocol cleanup (25cfae0)
  • address Karen review findings for analytics tools (76d0584)
  • address Karen review findings for capability enrichment (2b1eff4)
  • address Karen review findings for capability infrastructure (cb44f0a)
  • address Karen review findings for capability manifest (f0fd83c)
  • address Karen review findings for deferred tool loading (e75fda2)
  • address Karen review findings for discoverability metadata (edfdb42)
  • address Karen review findings for drift detection (24b0b9a)
  • address Karen review findings for file upload pipeline (f7df795)
  • address Karen review findings for newsletter tools (f03f0e2)
  • address Karen review findings for page builder tools (41af378)
  • address Karen review findings for payment account tools (7495e61)
  • address Karen review findings for session and voting tools (188b19e)
  • address Karen review findings for slash command unification (0efc855)
  • address Karen review findings for space config (76dd99a)
  • address Karen review findings for streaming error recovery (038d7c2)
  • address Karen review findings for theme tools (b5bcc10)
  • address Karen review findings for ticket lifecycle tools (95bd822)
  • address Karen review findings for tool category metadata (1e85d72)
  • address Karen review findings on build-release-hygiene (cb875e9)
  • address Karen review findings on credits history alignment (3c1e632)
  • address Karen review findings on credits-history-alignment (c759db2)
  • address remaining audit findings for remediation branch (a5d36fc)
  • address remaining Karen review findings (60a6dcc)
  • address remaining review findings for chat startup mode recovery (e5b88a8)
  • address retroactive Karen findings for event moderation and role permissions (e66415e)
  • address review findings — dead imports, vi import, abort signal fallback (697554c)
  • address review findings for MeasuredText display-column handling (e05be21)
  • address review findings in verify-dist bin validation (aa7a899)
  • align batch mode JSON output with standard CLI envelope (101b6bb)
  • align chat tool registry with current event schema (d451abb)
  • align event and ticket GraphQL queries with current backend schema (d36a08c)
  • align event and ticket GraphQL queries with current backend schema (#132) (d36a08c)
  • align event queries with current backend schema (e9452ce)
  • align feedback and ticket pricing queries with backend schema (a20e555)
  • align welcome banner to top of screen (#55) (314636d)
  • await full multi-step Tempo login process with 5min timeout (#100) (404d987)
  • backspace on empty line merges back into previous line in multiline input (#108) (6fcce45)
  • bold event names, timezone-aware dates, community name in event lists (#65) (4fe2991)
  • cache space list for consistent /spaces switching, reset streaming state on cancel (#86) (d1d48de)
  • catch resolveSpaceTitle throw and stabilize spaceName fallback (8e7771b)
  • check abort signal after settling gate to prevent cancelled turn from reaching provider (2b25b06)
  • clean up final schema alignment doc and price edge cases (482ed22)
  • clean up final schema alignment review nits (2e1ee75)
  • clear stale space name on BYOK switch and harden startup recovery (245ad6e)
  • close refresh race and clean up auth refresh tests (22c3fa6)
  • comprehensive skills audit — formatting, response guidance, date handling (#67) (711faac)
  • correct 6 schema mismatches and add /spaces switching (#80) (a1e32ee)
  • correct dynamic schema injection guard for deferred tools (af3c8d7)
  • correct field names for guest stats, ticket sales, and view insight queries (#103) (143648a)
  • correct getMe query to match direct resolver response shape (019bd92)
  • correct masked display and cursorChar width tracking for surrogate pairs (869f5b0)
  • correct notifications and space_stats queries, show spinner between tool iterations (#79) (38fac6b)
  • correct resolver mapping for page_section_catalog and add site_templates (ec972c3)
  • defensively clone caller-provided surfaces array (c0402ed)
  • document ticket type id limitation and align free-ticket creation (df0eacd)
  • document verify-dist regex coupling to bin wrapper structure (181d7d8)
  • eliminate leading newline when truncation drops all history (03794b4)
  • eliminate render-phase ref side effects in useChatEngine index bookkeeping (419be07)
  • eliminate stale settling promise trap and add missing cancel tests (31a1444)
  • eliminate stale-snapshot replacement and updater timing dependency in removeMessageById (205cad7)
  • emit JSON error envelope in batch mode on handleTurn failure (51820ad)
  • emit turn_done on all early return paths to prevent infinite spinner (#73) (bcd67e0)
  • emit turn_done only after final iteration, guard empty messages, color status words (#68) (119d100)
  • enable selection highlighting in masked input mode (608a1af)
  • enforce mutual exclusion in settling gate and defer message commit to post-acceptance (11a05a1)
  • extract crash handlers for testability and use safe stderr output (f1a36e2)
  • extract duplicated .tmp cleanup to helper function (c665d06)
  • extract validateMode and fix mock-confirms-mock tests (763c008)
  • extract validation module to avoid barrel-file side effects in tests (6b2c99e)
  • fail loudly when verify-dist cannot extract bin import target (536230d)
  • fix ai config (6d0c4e3)
  • harden ConversationStore against clear-during-turn and mutable leaks (4eb30b3)
  • harden ConversationStore turn lifecycle and cleanup safety (1ed2202)
  • harden credits-mode history formatting against non-text content (aa183f3)
  • harden diagnostics selection assertion and strengthen masked cursor test (5198006)
  • harden oauth refresh behavior and add coverage (4e03e4f)
  • harden positionToOffset clamp to decouple from early-return ordering (165068f)
  • harden removeMessageUpdater docstring, StrictMode log guard, and reset-path test (0e6002e)
  • harden rollback guard, catch-path test coverage, and doc precision (f4910fd)
  • harden schema-aligned queries and input validation (8255f8a)
  • harden TurnCoordinator types, counter isolation, and test coverage (5829b71)
  • horizontal tabs, space selector, yellow headings, footer spacing in plan mode (#64) (b2f37fe)
  • improve StatusBar, message distinction, scroll, and space handling (d68eb61)
  • include failed_at in newsletter list date display (0746cc8)
  • include private field in ticket type mutation responses (f24a392)
  • index-based rollback for cancel/error paths in submit flow (dffe7f2)
  • keep > indicator on first line for multiline input (#107) (e8af9af)
  • keep displayCol in original column space when cursorChar substitutes a wide grapheme (ae83ac5)
  • make corruption-path deterministic, extract removeMessageUpdater (5039775)
  • make corruption-path idempotent, remove dead removeMessageByIdUpdater (07b8e89)
  • make getTerminalProtocol() enforce initialization order (c173aab)
  • make Position.column use visual display columns instead of source offsets (73d9fbf)
  • make removeMessageByIdUpdater idempotent for React StrictMode safety (5721938)
  • make stripEmittedSuffix throw on unexpected suffix instead of returning undefined (de29f4c)
  • make useChatEngine index bookkeeping atomic and crash-safe (7579075)
  • merge payment categories and clean up redundant tests (d3de1db)
  • migrate 10 trivial ai-prefixed resolvers to verified direct equivalents (7d5f6ca)
  • migrate TOOL_TO_COMMAND map to canonical tool names and update surfaces (00613c5)
  • move Tempo hint into welcome banner to preserve banner visibility (#94) (23e224d)
  • move terminal protocol ownership out of MultilineInput (aef9ee2)
  • normalize payment accounts tool naming and guards (dde8050)
  • persist ai_provider on own_key mode switch and remove dead isSwitching guard (d62d33b)
  • polish tool discoverability output consistency (998082e)
  • poll for Tempo wallet connection after browser auth (#97) (dd5a546)
  • pop failed user message and improve batch test coverage (a5f3d48)
  • prevent API rejection from leading assistant messages after history truncation (#151) (7ffe6c1)
  • prevent cancel-then-resubmit race in TurnCoordinator (c50bb99)
  • prevent orphaned user message on pre-turn failure and clarify token invariant (48939be)
  • prevent stale turn completion from clearing showThinking after cancel→resubmit (ab317eb)
  • prevent UI orphan on beginTurn failure and use index-based UI rollback (4f38219)
  • protect coordinator from pre-stream setup throws and unhandled completion rejection (ab9656d)
  • read version from package.json instead of hardcoded value (c0773e3)
  • readline UX polish - Escape cancel, spinner cleanup, prompt alignment (4941a2e)
  • recover chat history after streaming errors (28cc1a4)
  • refresh expired oauth tokens automatically (2dede6a)
  • reject arrays in parseJsonObject helper (0a406a9)
  • reject unexpected non-emitted files in dist verification (08f4080)
  • reject zero quantity in ticket price chat tool (0bba55f)
  • remove dead assertions module, wire selection diagnostics, add masked cursor-in-selection tests (9468ce4)
  • remove dead code branch and rename test file to match source (c88628c)
  • remove dead code branch and unused shebangs in build scripts (9509181)
  • remove dead originalFetch variable in creditsModeRuntime test (cd9edce)
  • remove duplicate event_payment_summary registration (470b7f8)
  • remove fixed viewport to enable natural terminal scrolling (#56) (90eb2a9)
  • remove generated skills from npm files and deduplicate version module (72851f4)
  • remove risky .tmp recovery, add temp cleanup in readConfig (b60f3e8)
  • remove Tempo hint from welcome, fix multiline input colors and placeholder (#106) (5cb7cc2)
  • remove unused destructured variables flagged by linter (b005e35)
  • remove unused retryable field from classifyError (0854d40)
  • render multiline input as separate lines with previous lines above TextInput (#76) (0bba66f)
  • render welcome banner inside Ink fullscreen instead of pre-Ink stdout (#54) (dfb4db1)
  • repair broken page builder tools and add page config management (102f140)
  • replace ASCII text logo with braille lemon art (6101b08)
  • replace boolean turn lock with token model to prevent stale-finally race (3fe9c05)
  • replace deferred ref-based UI rollback with synchronous ID mechanism (f631040)
  • replace ghost "space switch" command references with correct guidance (#148) (c29d4ca)
  • replace Ink UI with readline + chalk for reliable terminal rendering (cece20f)
  • replace redundant dynamic import of getModelsForProvider with static import (a3a3001)
  • replace unsafe NOOP cast with IInputMonitor interface (096191a)
  • resolve credits space title from actual selected space, remove dead guard (ecd9b81)
  • resolve Ink UI layout, scroll, and tool result format bugs (5759cff)
  • resolve multiline input indent and backspace boundary bugs (#112) (5b5ab79)
  • resolve provider-history race, remove dead code, fix BTW error prefix (86d966a)
  • resolve remaining event schema alignment review findings (7af8432)
  • resolve review nits — add missing afterEach import, remove non-null assertions (8a45d90)
  • resolve scroll, billing, message distinction, model switch, autocomplete, thinking words, StatusBar layout (10d5f88)
  • resolve Tempo PATH after install, use pipe stdio to avoid breaking Ink terminal (#95) (8623512)
  • resolve TurnCoordinator ownership, staleness, race, and BTW error regressions (673f183)
  • resolve zero-width grapheme black hole in positionToOffset (1b442a0)
  • restore [btw] context prefix on BTW turn error messages (3d1c398)
  • restore orchestrator progress file deleted in error (7262768)
  • revert additional incompatible resolver switches found in Karen review (b9fb280)
  • revert incompatible resolver switches to ai-prefixed pending proper migration (42c110f)
  • revert package name to @lemonade-social/cli (9f20cd8)
  • revert to AI event endpoints — standard endpoints require different auth/schema (#85) (a4149de)
  • revert unsupported timezone and hosted_by fields from GraphQL queries (#66) (8240155)
  • rewrite graphemeCount to avoid unused loop variable (ecfc4f6)
  • roll back cancelled turn user message from provider history (b9bc069)
  • roll back orphaned BTW user message on turn failure (176a560)
  • sanitize sensitive tool args, validate HTTPS, restrict export permissions (#88) (99e99aa)
  • shift+enter multiline, force plan mode on missing params, render markdown (#60) (2552e5a)
  • show actual API error instead of generic "Invalid key" message (7f5e36f)
  • show clear step-by-step instructions during Tempo wallet login (#99) (2f1816b)
  • show help menu when Tempo CLI not installed instead of error (#92) (a1e8998)
  • show Tempo wallet hint on startup (#93) (b4031a0)
  • show thinking spinner during loading and support shift+enter multiline (#58) (ae22fe6)
  • show valid keys in config set help text (808ab9b)
  • split Ink rendering from message output for proper scroll and history (172b54a)
  • start polling immediately after auth URL shown, don't await login process (#98) (5fd9d1d)
  • stream Tempo login output so user sees confirmation code, 2min timeout (#96) (9be3f40)
  • suppress unused-var lint error in graphemeCount (6983a71)
  • switch all ai-prefixed resolvers to direct backend equivalents (4e030aa)
  • switch to eslint 9 flat config, remove unused import (5a0f093)
  • test: make abort mid-stream assertion non-vacuous (4780dd9)
  • trigger release (a1ed29f)
  • trigger release (5806966)
  • trigger release (de430d5)
  • unify paid-tier 0-credits behavior and clean up App render churn (13c7acb)
  • update aiGetMe query to match new AIGetMeResponse schema (9de7741)
  • update codegen resolver map to use createEvent/updateEvent (c1d9b66)
  • update discovery doc to reflect current category metadata (6c5c8eb)
  • update npm scope to @lemonade_social/cli (e722101)
  • update npm scope to @lemonade-social/cli (b5e65c6)
  • update placeholder text and add more rotating tips (#77) (c9945f5)
  • update stale MCP tool label to canonical naming (cef9e0c)
  • update toolbar on space switch, improve Stripe error handling, add URL guidance (#61) (b9dc3eb)
  • use --no-browser flag for Tempo login, suggest incognito for redirect issues (#102) (56c4ceb)
  • use atomic write-then-rename for auth config persistence (ba42735)
  • use backslash for multiline input, prevent concurrent turn execution (#69) (18939e4)
  • use display-column semantics in MultilineInput rendering (18022bd)
  • use import instead of require for package.json (6bfd469)
  • use length snapshot for safe message rollback in batch error path (27c669c)
  • use shared jsonSuccess/jsonError helpers in batch mode (534163f)
  • use single quotes for non-interpolated GraphQL string (173566e)
  • use single quotes in switchHandlers return string (851f577)
  • use structural JSON parsing in batch success test (6d9610b)
  • use unscoped package name for npm publish (6d2fd81)
  • use visual display columns in MeasuredText position mapping (#114) (9ecee93)
  • validate --mode flag and add it to help text (7c6e601)
  • validate cursor bounds on every MultilineInput state update (7b8b03f)
  • verify all emitted file types and resolve paths from script location (f07449b)
  • verify application answers shape and unify free-ticket input (d072736)
  • warn on unknown CLI flags instead of silently ignoring them (#149) (def8c60)