Skip to content

chore: release v0.1.0 - #1

Open
github-actions[bot] wants to merge 1 commit into
masterfrom
release-plz-2026-10-08T13-10-11Z
Open

github-actions[bot] wants to merge 1 commit into
masterfrom
release-plz-2026-10-08T13-10-11Z

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

🤖 New release

  • just-ai: 0.1.0
  • just-ai-lsp: 0.1.0
  • just-ai-mcp: 0.1.0
Changelog

just-ai

[0.1.0] - 2026-10-08

🚀 Features

  • feat: establish layered just-ai architecture (a8bc2ab)

  • feat(gui): add recipe arguments and run history (79ff26d)

  • feat(execution): cancel Unix process trees (7fe656c)

  • feat(history): expose cancellable run diagnostics (a754d98)

  • feat(provider): add OpenAI Responses adapter (59ae792)

  • feat(provider): add native Ollama adapter (1ae4881)

  • feat(mcp): add read-only stdio adapter (0bf8b4d)

  • feat(agent): add layered verification command (431e4e6)

  • feat(execution): cancel Windows process trees (2403a33)

  • feat(config): add complete configuration system

  • Add Config, HistoryConfig, ExecutionConfig, RiskConfig, PolicyConfig, AiConfig,
    ScannerConfig, BoundedFileConfig, McpConfig structs with TOML loading

  • Wire HistoryConfig into history module (JsonLineHistory, RunRecord, project_history_path)

  • Wire ExecutionConfig into execution module (RecipeExecutor, stream_queue_capacity,
    cancellation_poll_interval, max_capture_bytes)

  • Wire RiskConfig into RiskFinding.scan_line with custom rule support

  • Wire PolicyConfig into DefaultPolicy.evaluate with custom decisions

  • Wire ScannerConfig into ProjectScanner with file/total budgets and allowlist

  • Wire BoundedFileConfig into bounded_file module (max_editable_file_bytes, prefix_limit)

  • Update CLI to load config via Config::load() for history path/params

  • Add example just-ai.toml with all sections documented

  • All 64 tests pass (9bf6a4f)

  • feat(history): migrate JSONL history to SQLite backend

  • Added HistoryBackend enum (jsonl|sqlite) with sqlite as default

  • Created SqliteHistory implementation with full RunHistory trait

  • Added query() method for filtering by recipe/success

  • Added create_history() factory function for backend selection

  • Updated CLI to use create_history() for backend-agnostic access

  • Updated GUI to use create_history() for recent_runs and execute_run

  • Added HistoryConfig options: backend, database_file

  • Added sqlx, tokio(rt-multi-thread), chrono, uuid dependencies

  • Added 2 new tests for JSONL query filtering

  • All 66 tests pass (4fde9ea)

  • feat(provider): add streaming support for AI provider responses

  • Added AiStream type alias for streaming responses

  • Added complete_stream() method to AiProvider trait with default implementation

  • Implemented streaming for OpenAI Responses API (SSE format with output_text chunks)

  • Implemented streaming for Ollama (native SSE format with message/content)

  • Implemented streaming for OpenAI-Compatible (SSE format with choices/0/delta/content)

  • Added futures and async-stream dependencies

  • All 66 tests pass (a21c865)

🐛 Bug Fixes

  • fix(execution): terminate just options before recipe argv (2a23b1c)

  • fix(execution): block evaluative dry-run inputs (45c1ef5)

  • fix(core): bound just subprocess output (509bc8e)

  • fix(execution): bound recipe output collection (0342fac)

  • fix(core): bound project file reads (7b8b6e9)

  • fix(history): bound JSONL reads and retention (7013be3)

  • fix: validate modularization plans and prevent destructive file overwrites (bae7910)

  • fix: align editor adapters with core contracts and UTF-16 positions (8a24fc2)

  • fix: enforce companion run policy in editor and cover validation rollback (2dd06b0)

  • fix: enforce real runner previews, project policy and redacted AI context (f089682)

  • fix: isolate project history and make synchronous storage async-safe (bc87878)

  • fix: replace unsafe recipe merging with source-preserving deduplication plans (192a5b9)

  • fix: share stored template plans and validate MCP write contracts (1b8a2af)

  • fix: scope editor commands and verify native companion contracts in CI (fe175e6)

  • fix: apply project execution, provider tuning and history redaction settings (2eed4ee)

  • fix: upgrade Codebase graph verification and resolve companion boundary calls (8601e15)

♻️ Refactoring

  • refactor: share safe migration logic across CLI, MCP and desktop (b58b683)

✅ Tests

  • test: expand just dump compatibility coverage (4771278)

  • test(inspection): add Windows dump fixture (6ac1ee2)

  • test(execution): remove overflow process race (02945e0)

🔀 CI/CD

  • ci: fix clippy warnings and flaky test

  • apps/just-ai-gui/src-tauri/src/lib.rs: remove unused SqliteHistory import, prefix unused project_root with _

  • crates/just-ai/src/config.rs: add #[derive(Default)] to HistoryBackend enum

  • src/alias.rs: replace assert!(a == b) with assert_eq!(a, b)

  • crates/just-ai/src/application/execution.rs: add small sleep to avoid 'Text file busy' flaky test on CI

All tests pass locally (1594 workspace + 66 just-ai), clippy clean, fmt clean. (670518a)

  • ci: adjust sqlx features to reduce transitive deps

  • Switch from 'runtime-tokio-native-tls' to 'runtime-tokio' + 'tls-rustls'

  • This avoids pulling in rsa (via native-tls -> ring -> rsa) and others

  • Note: sqlx 0.9 requires Rust 1.94, staying on 0.8 for Rust 1.89 compat

All tests pass, clippy clean. (ccf4aa6)

Other

  • Add just-ai companion prototype (0aaff24)

  • Update specific README blocks (0a9e634)

  • P4: Complete Dockerfiles and release artifacts

  • Dockerfile.cli: Multi-stage CLI build (working, tested)

  • Dockerfile.mcp: Multi-stage MCP build (working, tested with ping/tools)

  • Dockerfile.gui: Multi-stage Tauri GUI build (built successfully)

  • Dockerfile.dev: Development container with all tooling

  • docker-compose.yml: Service orchestration for CLI, MCP, dev

  • .dockerignore: Optimized build context

  • .github/workflows/ci.yml: Complete CI pipeline (check, test, build, docker, audit, release)

  • apps/just-ai-gui/src-tauri/src/lib.rs: Fix private field import

All 3 Docker images build and run correctly.
All cargo tests pass (1594 in workspace + 66 in just-ai). (f233b80)

  • P1: Implement P1 improvements

  • P1.1: Add just-ai fix <recipe> command for AI-assisted recipe fixes

  • P1.2: Add --interactive flag to run command with TUI prompts (dialoguer)

  • P1.3: Grouped recipe insertion by dependencies/naming patterns

  • P1.4: VSCode extension with risk diagnostics, history panel, commands

  • P1.5: MCP tools: run_recipe, get_history, add_recipe, fix_recipe

  • P1.6: just-ai history migrate for JSONL -> SQLite conversion

  • P1.7: Provider adapters: Anthropic, Azure OpenAI, Google Gemini

  • P1.8: Config commands: validate, schema generation with schemars (3b15d6f)

  • P2.3 + P4: Multi-recipe AI workflows, batch operations, templates, and composition (ef3834d)

  • P5.1: Implement migrate/refactor command with dead code analysis and dependency graph

  • Add migrate CLI command with three subcommands:

    • analyze - Detect unreferenced/isolated recipes, dependency cycles, depths, and similar recipes
    • modularize - Group recipes by common prefix for module organization (analysis only)
    • deduplicate - Find and optionally merge similar/duplicate recipes (interactive or auto)
  • Add dead code detection functions in inspection.rs:

    • find_unreferenced_recipes() - recipes never used as dependencies
    • find_isolated_recipes() - recipes with no deps and no dependents
  • Add dependency graph analysis functions in inspection.rs:

    • detect_cycles() - Find circular dependencies using DFS
    • calculate_dependency_depths() - Longest path from root for each recipe
  • Add similarity detection:

    • find_similar_recipes() - Use TextDiff to find potential duplicates

All tests pass (61), cargo fmt clean, clippy clean. (54b072b)

  • P5.1: Add tests for migrate functionality

  • Add test fixtures for migration analysis:

    • just-dump-migrate.json - full project with dependencies for testing analysis
    • just-dump-cycle.json - circular dependency detection
    • just-dump-similar.json - duplicate recipe detection
  • Add unit tests in inspection.rs:

    • parses_versioned_migrate_fixture - tests unreferenced/isolated recipes, cycles, depths, similarity
    • detects_cycles - tests circular dependency detection with normalization
    • finds_similar_recipes - tests text similarity detection (100% for identical, <80% for different)
  • Fix calculate_dependency_depths() to use BFS from roots (corrected depth calculation)

All 64 tests pass, cargo fmt clean, clippy clean. (0db76fd)

  • P5.2: Implement modularize action with module file creation

  • Enhanced modularize_project in cli.rs to:

    • Group recipes by common prefix (e.g., test-, build-, deploy-)
    • Create .just module files for each group with 2+ recipes
    • Extract recipes from root justfile and move to module files
    • Add import statements at top of root justfile
    • Validate final justfile with just --dump
  • Added new helper functions:

    • extract_recipe() - extracts a recipe definition with its body
    • add_imports_at_top() - inserts import statements after existing imports
  • Added test fixture just-dump-modularize.json with 8 recipes for testing

  • Added test parses_versioned_modularize_fixture() for grouping logic

All 65 tests pass, cargo fmt clean, clippy clean. (234730f)

  • P5.3: Improve deduplicate action with smart merge

  • Enhanced deduplicate_project in cli.rs:

    • Added --merge flag for smart merging instead of removing one recipe
    • Added interactive option 'm' for smart merge (combines unique parts of both recipes)
    • Smart auto-merge when --write --merge used together
  • Added smart_merge_recipes() function that:

    • Uses shorter name (more generic)
    • Merges docs (prefers longer)
    • Unions parameters (prefers ones with defaults)
    • Unions dependencies
    • Combines unique body lines from both recipes (deduplicates identical lines)
  • Added test smart_merge_recipes_preserves_unique_body_lines for similarity detection

All 66 tests pass, cargo fmt clean, clippy clean. (a6c53fc)

  • Stage 4 implemented (8f08daf)

  • P2.4: Tauri GUI Config Validation & Schema commands

  • Added ai_config_validate command - validates just-ai.toml configuration

  • Added ai_config_schema command - outputs JSON Schema for just-ai.toml

  • Made find_config public in config module for Tauri backend access

  • Added schemars dependency to Tauri Cargo.toml

  • Added TypeScript types and API functions: ConfigValidationResult, ConfigSchemaResult, aiConfigValidate, aiConfigSchema

  • Added UI buttons for Validate Config and Config Schema in Utility panel

  • Added result display components: ConfigValidationResult (shows valid/invalid with errors), ConfigSchemaResult (pretty-prints JSON schema)

  • All tests pass, cargo fmt and clippy clean (1d4dac3)

  • P3.1: Template Persistence - Store templates in .just-ai/templates/

  • Added TemplateProposal serialization to JSON files in .just-ai/templates/

  • Added save_template(), load_template(), list_templates(), delete_template() functions

  • Modified handle_template() to persist templates to disk

  • Modified handle_instantiate_template() to load templates from disk

  • Added CLI commands: template-list, template-delete

  • Updated instantiate-template to use stored templates instead of re-generating

  • All tests pass, cargo fmt and clippy clean (d3ea85d)

  • Phase 3.2 + P2.3: Built-in Template Library and Multi-Recipe AI Workflows (ffc64fb)

just-ai-lsp

[0.1.0] - 2026-10-08

🐛 Bug Fixes

  • fix: resolve workflow action name and forbid lint issues

  • Fix release-plz GitHub Action name from 'release-plz/release-plz-action' to 'release-plz/action'

  • Remove TODO placeholder in LSP code action template to pass ./bin/forbid check

  • Replace 'echo TODO: implement' with '# implement' comment (09a61c3)

  • fix: resolve release-plz.toml TOML parse error and cargo fmt issue (26f3fda)

  • fix: align editor adapters with core contracts and UTF-16 positions (8a24fc2)

Other

  • P2.3 + P4: Multi-recipe AI workflows, batch operations, templates, and composition (ef3834d)

just-ai-mcp

[0.1.0] - 2026-10-08

🚀 Features

  • feat(mcp): add read-only stdio adapter (0bf8b4d)

  • feat(mcp): expose project agent prompts (65e0b1f)

  • feat(mcp): expose architecture resources (5b96dad)

  • feat(agent): add layered verification command (431e4e6)

  • feat(execution): cancel Windows process trees (2403a33)

  • feat(mcp): bound stdio input frames (87f6d0e)

🐛 Bug Fixes

  • fix(mcp): negotiate protocol versions (4e2ab81)

  • fix(mcp): validate JSON-RPC request envelopes (e1d1447)

  • fix(mcp): prevent client-selected executables (9ffbcd7)

  • fix(mcp): confine tools to server workspace (7b617b6)

  • fix(mcp): enforce tool argument allowlists (b2edf95)

  • fix(execution): block evaluative dry-run inputs (45c1ef5)

  • fix(core): bound just subprocess output (509bc8e)

  • fix(core): bound project file reads (7b8b6e9)

  • fix: enforce real runner previews, project policy and redacted AI context (f089682)

  • fix: isolate project history and make synchronous storage async-safe (bc87878)

  • fix: replace unsafe recipe merging with source-preserving deduplication plans (192a5b9)

  • fix: share stored template plans and validate MCP write contracts (1b8a2af)

  • fix: upgrade Codebase graph verification and resolve companion boundary calls (8601e15)

  • fix: verify execution preparation paths across all companion adapters (2e26ab1)

♻️ Refactoring

  • refactor(mcp): isolate prompt resource catalog (f71e473)

  • refactor(mcp): isolate read-only tool adapter (dfbb49d)

  • refactor(mcp): separate protocol dispatch from transport (56018b8)

  • refactor: share safe migration logic across CLI, MCP and desktop (b58b683)

✅ Tests

  • test(mcp): verify stdio transport (dbb1fd7)

🔀 CI/CD

  • ci: update Cargo.lock for GUI and MCP crates

Fixes CI failure: 'the lock file needs to be updated but --locked was passed'

Both crates had outdated Cargo.lock files that didn't match Cargo.toml after dependency updates. (21e6547)

Other

  • P1: Implement P1 improvements

  • P1.1: Add just-ai fix <recipe> command for AI-assisted recipe fixes

  • P1.2: Add --interactive flag to run command with TUI prompts (dialoguer)

  • P1.3: Grouped recipe insertion by dependencies/naming patterns

  • P1.4: VSCode extension with risk diagnostics, history panel, commands

  • P1.5: MCP tools: run_recipe, get_history, add_recipe, fix_recipe

  • P1.6: just-ai history migrate for JSONL -> SQLite conversion

  • P1.7: Provider adapters: Anthropic, Azure OpenAI, Google Gemini

  • P1.8: Config commands: validate, schema generation with schemars (3b15d6f)

  • P2.3 + P4: Multi-recipe AI workflows, batch operations, templates, and composition (ef3834d)

  • Stage 4 implemented (8f08daf)


This PR was generated with release-plz.

@github-actions
github-actions Bot force-pushed the release-plz-2026-10-08T13-10-11Z branch from 400d648 to 255a8bb Compare October 8, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants