Releases: architects-toolkit/SmartHopper
Release list
SmartHopper 2.0.0-dev.260821: Local and self-hosted AI, batch calling, and the Provider SDK
SmartHopper 2.0.0-dev.260821 brings two new ways to run AI locally, batch processing for OpenRouter, and the foundation for a standalone Provider SDK.
🏠 New self-hosted AI providers
- Connect directly to a self-hosted LocalAI or Ollama server using the new built-in providers.
- Both support OpenAI-compatible chat completions, tools, streaming, and JSON Schema structured outputs.
- Ollama includes a
seedextra-descriptor for reproducible outputs.
📦 OpenRouter batch support and estimated cost
- OpenRouter now supports batch requests with submission, status polling, cancellation, and result download when the selected model declares
SupportsBatch. - New
AIMetrics.EstimatedCostandAICostCalculatorestimate the USD cost of each call from provider pricing and token buckets; exposed throughDeconstruct SmartHopper Metricsand the metrics JSON output. - OpenRouter
:batchmodel variants are now canonicalized to their base slug.
🧩 Provider SDK foundation
- This release introduces
SmartHopper.ProviderSdk, the new SDK layer that all built-in providers now reference. - In the future the SDK will be split out of the main repository as a standalone NuGet package, making it easier for third-party developers to build custom SmartHopper providers.
⚙️ Technical Requirements
- Rhino 8.0 or above is required
- Windows 10/11 or macOS
- Valid API keys for MistralAI, OpenAI, DeepSeek, Anthropic, OpenRouter, Gemini, or a self-hosted LocalAI/Ollama endpoint (API key optional)
📝 Important Notes
- This is a dev.260821 release with some features still unstable or subject to change
- API keys are required, and usage costs apply based on your provider
- Documentation is currently under development
💬 We Value Your Feedback!
Help shape SmartHopper's future by:
- Sharing your experiences with the new features
- Suggesting improvements via our discussion (https://github.com/architects-toolkit/SmartHopper/discussions)
- Telling us what AI capabilities would help your workflow most
We hope you enjoy these new features and improvements!
Happy designing!
Auto-generated release notes
What's Changed
- chore: add provider hash manifest for 2.0.0-dev.260802 by @github-actions[bot] in #727
- chore(templates): add 2.0.0-dev.260802 to model-verification dropdown by @github-actions[bot] in #726
- chore(templates): sync model-verification template with ProviderModels by @github-actions[bot] in #730
- ci: enforce linear history and auto-rebase dev onto main by @devin-ai-integration[bot] in #731
- release: SmartHopper 2.0.0-dev.260803 by @devin-ai-integration[bot] in #733
- Dev release 2.0.0-dev.260821 by @marc-romu in #752
Full Changelog: 2.0.0-dev.260802...2.0.0-dev.260821
SmartHopper 2.0.0-dev.260802: AI-Powered Canvas Tools & Enhanced Security
AI-assisted Grasshopper workflows just got smarter with new canvas management tools, deeper provider controls, and critical security upgrades.
🛠️ New AI Tools for Rhino
- Generate and place Grasshopper definitions directly on canvas with
gh_generate_and_place_on_canvas - Get comprehensive canvas reports with
gh_report, including AI-generated file summaries - Smart wiring suggestions with
gh_smart_connectbased on your described purpose - Clear canvas components while preserving protected elements with
gh_clear
⚙️ Provider Enhancements
- Configure AI providers and models directly from components with
set_ai_provider_and_model - Check available providers and their configuration status with
get_available_providers - Browse live model lists with
get_available_models(falling back to static lists when needed) - DeepSeek users gain new
ReasoningEffortandTopPcontrols
🔒 Security Upgrades
- macOS Keychain integration replaces file-based encryption
- Automatic Windows migration preserves existing API keys
- Fixed XSS vulnerabilities in WebView chat rendering
- Pinned vulnerable dependencies to patched versions
📄 Documentation & Specs
- Added GhJSON/GhPatch reference documentation via
smarthopper_ghjson_reference - New
providerstopic insmarthopper_readmeexplains default settings management
🎨 UI Improvements
- MCP lock support: visually lock components from updates with orange border and icon
- New Grasshopper components for reports (
AIGhReportComponent) and smart connections (AIGhConnectComponent)
Technical Requirements
- Rhino 8.0 or above is required
- Windows 10/11 or macOS
- Valid API keys for MistralAI, OpenAI, DeepSeek, Anthropic, Gemini or OpenRouter
Important Notes
- This is an dev.260802 release with some features still unstable or subject to change
- API keys are required, and usage costs apply based on your provider
- Documentation is currently under development
- macOS users will need to re-enter API keys due to security improvements
We Value Your Feedback!
Help shape SmartHopper's future by:
- Sharing your experiences with the new features
- Suggesting improvements via our discussion (https://github.com/architects-toolkit/SmartHopper/discussions)
- Telling us what AI capabilities would help your workflow most
We hope you enjoy these new features and improvements!
Happy designing!
Auto-generated release notes
What's Changed
- chore: add provider hash manifest for 2.0.0-dev.260705 by @github-actions[bot] in #638
- chore: add provider hash manifest for 1.4.3 by @github-actions[bot] in #646
- chore(models): auto-add new and deprecate stale DeepSeek models by @github-actions[bot] in #650
- chore(models): auto-add new and deprecate stale MistralAI models by @github-actions[bot] in #653
- chore(models): auto-add new and deprecate stale OpenAI models by @github-actions[bot] in #656
- chore(models): auto-add new and deprecate stale Gemini models by @github-actions[bot] in #658
- chore(models): auto-add new and deprecate stale OpenRouter models by @github-actions[bot] in #659
- chore: update development version date to 2.0.0-dev.260714 by @github-actions[bot] in #661
- chore(templates): sync model-verification template with ProviderModels by @github-actions[bot] in #665
- docs(dev): sync provider model summary by @github-actions[bot] in #663
- chore: add provider hash manifest for 1.4.4 by @github-actions[bot] in #674
- chore(models): auto-add new and deprecate stale Anthropic models by @github-actions[bot] in #687
- chore(models): auto-add new and deprecate stale OpenAI models by @github-actions[bot] in #683
- chore(models): auto-add new and deprecate stale DeepSeek models by @github-actions[bot] in #677
- chore(models): auto-add new and deprecate stale Gemini models by @github-actions[bot] in #684
- chore(models): auto-add new and deprecate stale OpenRouter models by @github-actions[bot] in #682
- docs(dev): sync provider model summary by @github-actions[bot] in #693
- chore: update development version date to 2.0.0-dev.260722 by @github-actions[bot] in #691
- chore(models): auto-add new and deprecate stale MistralAI models by @github-actions[bot] in #680
- chore(templates): sync model-verification template with ProviderModels by @github-actions[bot] in #692
- release: SmartHopper 2.0.0-dev.260802 (rebased, conflicts resolved) by @devin-ai-integration[bot] in #725
Full Changelog: 2.0.0-dev.260705...2.0.0-dev.260802
SmartHopper 1.4.4: DeepSeek Enhancements & Provider Fixes [Patch]
This patch improves DeepSeek integration with new settings, removed limits, and critical tool-call fixes, while ensuring compatibility with OpenRouter and MistralAI.
Detailed list of changes
- Added
ReasoningEffortandTopPsettings for DeepSeek provider, enabling control over thinking mode and nucleus sampling. - Removed the artificial
MaxTokenscap of8192for DeepSeek, allowing values up to the API output limit. - Fixed multi-step tool call requests in DeepSeek by properly structuring assistant and tool messages to avoid
invalid_request_error. - Removed optional
namefield fromrole=toolresult messages in DeepSeek and OpenRouter providers for compatibility.
Auto-generated release notes
What's Changed
- feat(deepseek): release 1.4.4 with DeepSeek settings, model catalog updates, and tool-call fixes by @marc-romu in #671
Full Changelog: 1.4.3...1.4.4
SmartHopper 2.0.0-dev.260705: MCP Server and Canvas Automation
This dev release brings a built-in MCP server so external clients can drive SmartHopper tools, expands the canvas automation toolkit with five new tools, introduces component protection for mutating AI operations, and polishes PDF/web-to-Markdown conversion with image-mode controls.
🌐 MCP Server
New SmartHopperMcpServerComponent starts a local HTTP/JSON-RPC MCP server that exposes SmartHopper tools to external clients such as Claude Desktop or other MCP-compatible apps. The component is opt-in, restarts automatically when port, bearer token, or mutating-tools inputs change.
🧰 Canvas Tools
Five new tools for automating the Grasshopper canvas:
gh_connectandgh_disconnectto wire or unwire componentsgh_removeto delete componentsgh_document_saveto save the documentbutton_clickto trigger button components and force downstream recalculation
gh_put and gh_get now paginate and support Count/pageSize limits, and gh_put reliably restores external connections.
🛡️ Canvas Protection
Components that implement ICanvasProtectedComponent (starting with the MCP server component) are protected from mutating AI tools, so critical components are not accidentally modified by automated canvas operations.
📝 Markdown & File Conversion
PDF-to-Markdown conversion now preserves hyperlinks, detects lists, interleaves inline images in reading order, and cleans up numbering. Web-to-Markdown supports link, embed, describe, and caption image modes, with fixed edge cases for Wikipedia and Discourse. A new AIWeb2MdComponent provides AI-powered URL-to-Markdown conversion while the standard Web2MdComponent is now non-AI.
📊 Live Runtime Data
Canvas query responses can now include live Grasshopper parameter values as runtime data via the shared GhJSON library, so external tools can inspect what the definition is actually computing.
🔍 Self-Documenting Tools
New smarthopper_workflows and smarthopper_tool_help tools help MCP clients discover available workflows and tool usage. Every AI tool now exposes MCP metadata, JSON schemas, and read-only/mutating hints.
⚙️ Provider Settings & Models
Provider settings were refreshed: Anthropic adds ServiceTier and ReasoningEffort; MistralAI and Gemini add ReasoningEffort; Gemini restricts SafetyLevel to allowed values. Model registries were updated across Anthropic, DeepSeek, Gemini, MistralAI, OpenAI, and OpenRouter.
🛠️ Technical Requirements
- Rhino 8.0 or above is required
- Windows 10/11 or macOS
- Valid API keys for MistralAI, OpenAI, DeepSeek, Anthropic, Gemini or OpenRouter
⚠️ Important Notes
- This is a dev release with some features still unstable or subject to change
- API keys are required, and usage costs apply based on your provider
- Documentation is currently under development
🤝 We Value Your Feedback!
Help shape SmartHopper's future by:
- Sharing your experiences with the new features
- Suggesting improvements via our discussion
- Telling us what AI capabilities would help your workflow most
We hope you enjoy these new features and improvements!
Happy designing! 🎨
SmartHopper 1.4.3: macOS Compatibility, Provider Security, and Smarter AI Canvas Tools
This patch promotes the 1.4.3 release candidate to a stable release with no additional changes. From the last stable release (1.2.4), this release provides full macOS support through Yak/Rhino Package Manager, a safer cross-platform provider verification system, an updated AI model catalog, and more reliable AI-generated script placement on the Grasshopper canvas.
Detailed list of changes
🖥️ macOS Compatibility
- Full Yak/Rhino Package Manager support for macOS, including fixes for race conditions, GhJSON validation, JSON parsing, and URL handling.
- First release open to everyone (not just as a pre-release) as macOS-compatible through Yak/Rhino Package Manager.
- Platform-appropriate provider security: Authenticode + hash verification on Windows, hash-only on macOS.
- Fixes "Compatibility with Mac" (#263) and macOS-specific issues in 1.4.0-alpha (#389, #393, #395).
🔒 Provider Security
- SHA-256 hash verification for AI provider DLLs.
- Three-tier verification modes: Soft, Hard, and Strict.
- Manual verification menu item and a comprehensive status dialog.
- Improved offline detection, caching, and reduced timeout for faster hash checks.
🛠️ Grasshopper Components & Canvas Tools
- Component name alias resolution: AI tools can use informal names like "python" or "slider" and resolve them to canonical Grasshopper components via the live component server before GhJSON placement.
script_generateoutput is now correctly placed by the GhPlace component.gh_putcan instantiate components when the AI uses informal component names.- Script code is now properly applied to placed script components after alias resolution.
AIScriptGeneratorrenamed toAIScriptGeneratefor consistent naming.- Fixed
Idmissing GhJSON validation errors in script tools.
🤖 AI Models
- Refreshed model registries across Anthropic, DeepSeek, Gemini, MistralAI, OpenAI, and OpenRouter.
- Adjusted default models and rankings across providers based on official documentation.
⚙️ Settings & UI
- Enhanced About Dialog now shows the current SmartHopper version and platform information.
- Fixed encryption initialization to use local hash storage.
- Improved provider status dialog messaging, sizing, and text wrapping.
🏗️ Infrastructure & Stability
- Improved provider stability, thread safety, and timeout handling.
- Centralized canvas connection and replacement logic to preserve external wires during component replacement.
- Improved AI capability bit ordering and model catalog consistency.
🛠️ Technical Requirements
- Rhino 8.24 or above is required
- Windows 10/11 or macOS
- Valid API keys for at least one supported AI provider
⚠️ Important Notes
- API keys are required, and usage costs apply based on your provider and model choices
- Selecting the right provider and model for each task is key to getting the best results and requires some trial and error.
🚀 Getting Started
- Install SmartHopper in Grasshopper
- Add your API key in SmartHopper Settings
- Click the SmartHopper button on the canvas to start chatting
- Drag AI components onto your canvas for specific tasks
- Explore a new endless world of possibilities with SmartHopper!
🤝 We Value Your Feedback!
Help shape SmartHopper's future by:
- Sharing your experiences with the stable release
- Suggesting new features or improvements via our discussion
- Reporting any issues to help us maintain stability
- Telling us what AI capabilities would help your workflow most
SmartHopper is your creative partner in Grasshopper. Let's build something amazing together.
Happy designing! 🎨
Auto-generated release notes
What's Changed
- refactor(ghjson): externalize GhJSON libraries to ghjson-dotnet package by @marc-romu in #374
- chore: update development version date to 1.3.0-dev.260208 by @github-actions[bot] in #375
- chore: add automated copyright year update workflow and centralize metadata in Directory.Build.props by @marc-romu in #376
- refactor(ghjson): externalize GhJSON libraries to ghjson-dotnet NuGet packages by @marc-romu in #379
- chore: prepare release 1.3.0-alpha with version update and code style fixes by @github-actions[bot] in #380
- release/1.3.0-alpha by @github-actions[bot] in #381
- fix(core): add macOS compatibility for provider loading and URL handling by @nofcfy-fanqi in #382
- feat(security): add SHA-256 provider verification and macOS compatibility improvements by @marc-romu in #383
- chore: prepare release 1.4.0-alpha with version update and code style fixes by @github-actions[bot] in #384
- release/1.4.0-alpha by @github-actions[bot] in #385
- chore: add provider hash manifest for 1.4.0-alpha by @github-actions[bot] in #386
- chore: add provider hash manifest for 1.4.0-alpha by @github-actions[bot] in #388
- update dev from main by @marc-romu in #390
- chore: update 263-compatibility-with-mac from dev by @marc-romu in #391
- fix(core): resolve macOS issues in 1.4.0-alpha — deadlock, GhJSON validation, and JSON parsing by @nofcfy-fanqi in #389
- feat(infrastructure): enhance provider security verification and macOS compatibility by @marc-romu in #397
- docs: update contributors section for dev by @github-actions[bot] in #398
- chore: prepare release 1.4.1-alpha with version update and code style fixes by @github-actions[bot] in #399
- chore: remove date from version for main release by @github-actions[bot] in #401
- release/1.4.1-alpha by @github-actions[bot] in #400
- chore: add provider hash manifest for 1.4.1-alpha by @github-actions[bot] in #403
- ci: fixed github pages deployment by @marc-romu in #404
- fix(tools): prevent GhJSON Id missing errors in script_edit and script_generate by @marc-romu in #406
- docs: update contributors section for dev by @github-actions[bot] in #407
- chore: prepare release 1.4.2-alpha with version update and code style fixes by @github-actions[bot] in #408
- release/1.4.2-alpha by @github-actions[bot] in #409
- chore: add provider hash manifest for 1.4.2-alpha by @github-actions[bot] in #410
- ci: enhance milestone management and release automation workflows by @marc-romu in #411
- ci: new automatic milestone management, automatic update to yak, and release stages manager by @marc-romu in #412
- chore: prepare release 1.4.2-beta with version update and code style fixes by @github-actions[bot] in #422
- release/1.4.2-beta by @github-actions[bot] in #426
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #427
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #428
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #429
- [patch] ci: add reusable cherry-pick action and patch propagation workflow for multi-branch commit fan-out → dev-1.4.2 by @github-actions[bot] in #431
- [patch] ci: add patch/ prefix to auto-delete branch patterns in PR cleanup workflow → dev-1.4.2 by @github-actions[bot] in #434
- [patch] feat(model-registry): refresh AI model catalog across all providers with Apr 2026 updates and rebalance rankings → dev-1.4.2 by @github-actions[bot] in #436
- [patch] docs(changelog): correct OpenAI gpt-5.5 rank and Anthropic claude-opus-4-7 default capabilities; align OpenRouter mirrored model defaults with native OpenAI provider → dev-1.4.2 by @github-actions[bot] in #437
- ci: automate release notes generation with Mistral AI by @devin-ai-integration[bot] in #439
...
SmartHopper 2.0.0-dev.260619: Unified AI I/O, GhJSON Patch, Audio/Speech support, Gemini, and more!
This major dev release reimagines SmartHopper's component surface with a unified *2* naming convention, introduces a complete family of typed AI input and output components with graceful fallback handling, adds GhJSON diff/patch operations for versioned Grasshopper workflows, and brings speech and music support across OpenAI, MistralAI and Google Gemini.
🔄 Unified Naming & Breaking Changes
Every AI tool and component has been renamed to a clearer source2target pattern:
- Tools:
text_generate→text2text,img_generate→text2img,file_to_md→file2md,web_to_md→web2md, etc.web_generic_page_readis removed—useweb2mdinstead. - Components:
AITextGenerate→AIText2TextComponent,AIImgGenerateComponent→AIText2ImgComponent,AIFileToMdComponent→AIFile2MdComponent, etc.WebPageReadComponentis removed—useWeb2MdComponentinstead.
Other breaking changes:
Model (M)replaced bySettings (S): all AI components now acceptAIRequestParameters(from the newAISettingsComponent) or a plain model name string for backward compatibility.- Batch API signatures changed:
AIBatchStatus.ResultBody→Resultsdictionary;SubmitBatchAsyncandOnBatchCompletedsignatures updated for multi-item support. - Removed
service_tierextra descriptor from OpenAI, Anthropic and MistralAI providers. Use the dedicatedBatchinput onAISettingsComponentinstead. ComponentBasedeep refactor: files saved before SmartHopper 1.1.0 lose persistent outputs on first open and must be re-run once.
📥📤 New AI I/O Component Family
A complete suite of typed input and output components now covers every common Grasshopper-to-AI data exchange:
- Input components (
SmartHopper > Input):Text2AI,Img2AI,Audio2AI,Json2AI,AIPromptComponent(formerlyAIInstructionsComponent), plus typed list variantsTextList2AI,NumberList2AI,IntegerList2AI,BooleanList2AIthat collapse branches into JSON arrays. - Output components (
SmartHopper > Output):AI2Text,AI2Boolean,AI2Number,AI2Integer,AI2Markdown,AI2Json,AI2Img,AI2Script, plus typed list variantsAI2TextList,AI2NumberList,AI2IntegerList,AI2BooleanListthat expand JSON arrays into typed branches.
Some output components carry an optional Fallback (F) input and a Used Fallback (UF) boolean output. When the AI response is unparseable or empty, the fallback value is emitted and UF = true.
📦 GhJSON Diff & Patch
Version your Grasshopper canvas with .ghpatch files:
- New AI tools:
gh_diff,gh_patch_apply,gh_patch_validate. - New Grasshopper components:
GhDiffComponents("Diff GhJSON"),GhPatchApplyComponents("Apply GhPatch"),SaveGhPatch,OpenGhPatch,GhValidateComponentsandGhPatchApplyToCanvasComponents.
These operations route through the GhJSON.NET 1.1.0 NuGet Package, still under testing.
🚀 Batch Processing UX
Batch jobs now show a live progress counter (Processing batch (YY/XX)...), survive file save/reload because sentinel trees are serialized with the document, and provide immediate cancellation feedback (Cancelling batch {id}... → Batch {id} cancelled successfully). Per-item custom IDs improve traceability, and order-based fallback matching recovers results when sentinel mapping is unavailable.
🆕 Google Gemini Provider and Audio Support [NOT TESTED FEATURES]
- Google Gemini is now a first-class provider with support for Gemini 3.1, 2.5, 2.0 and 1.5 models, including text generation, image generation, structured outputs, tool calling, extended thinking, batch processing and service-tier selection.
- Audio support lands for OpenAI, MistralAI and Gemini: speech-to-text (
whisper-1,voxtral-small-latest, etc.) and text-to-speech (tts-1,voxtral-tts-26-03, Gemini preview TTS). A newlyriamusic-generation endpoint is available on Gemini.
⚙️ Settings & Timeout Consolidation
AISettingsComponentassembles per-requestAIRequestParametersfrom universal inputs: Model, Temperature, Max Tokens, Top P, Seed, Timeout and Extras.AIExtraSettingsComponentdynamically generates inputs based on the selected provider's extra descriptors.- Timeout is now a single setting (default 300 s) with clear resolution priority: component input → settings → safe default.
📄 File, Web & Vision Processing
file2mdandAIFile2MdComponentconvert PDF, DOCX, PPTX, XLSX, HTML, CSV and more to Markdown with layout intelligence and image extraction.web2mdandWeb2MdComponentconvert web pages to Markdown with specialized handlers for Wikipedia, GitHub, GitLab and Stack Exchange.img2textnow supports batch mode and correctly transmits base64 image data forGH_ExtractedImageinputs across all providers.
📦 JSON Components & Utilities
New non-AI JSON components join the SmartHopper > JSON tab:
JsonSchemaComponent,JsonSchemaPropComponent,JsonSchemaPropObjectComponent,JsonSchemaPropArrayComponentJsonObjectComponent,JsonArrayComponent,JsonArray2TextListComponent,JsonObject2TextComponentJsonGetValueComponent(dot-notation paths),JsonMergeComponentJsonSanitizerComponentrecovers malformed AI-generated JSON via automatic markdown-fence stripping, brace-depth extraction and smart sanitization.
🛠️ Technical Requirements
- Rhino 8.0 or above is required
- Windows 10/11 or macOS
- Valid API keys for MistralAI, OpenAI, DeepSeek, Anthropic, OpenRouter or Google Gemini
⚠️ Important Notes
- This is a dev release with some features still unstable or subject to change
- API keys are required, and usage costs apply based on your provider
- Breaking: saved Grasshopper files using the old
Model (M)input or legacy component names will need reconnecting after upgrade - Documentation is currently under development
🤝 We Value Your Feedback!
Help shape SmartHopper's future by:
- Sharing your experiences with the new features
- Suggesting improvements via our discussion
- Telling us what AI capabilities would help your workflow most
We hope you enjoy these new features and improvements!
Happy designing! 🎨
Auto-generated release notes
What's Changed
- chore: add provider hash manifest for 1.4.2-alpha by @github-actions[bot] in #410
- ci: enhance milestone management and release automation workflows by @marc-romu in #411
- ci: new automatic milestone management, automatic update to yak, and release stages manager by @marc-romu in #412
- update dev by @marc-romu in #413
- feat(ai): Add batch API support, vision capabilities, file/markdown conversion, and AI settings components by @marc-romu in #416
- feat(ai-tools): rename AI tools and components to consistent naming convention by @marc-romu in #417
- docs: update contributors section for dev by @github-actions[bot] in #418
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #427
- [patch] ci: add reusable cherry-pick action and patch propagation workflow for multi-branch commit fan-out → dev by @github-actions[bot] in #432
- [patch] ci: add patch/ prefix to auto-delete branch patterns in PR cleanup workflow → dev by @github-actions[bot] in #433
- [patch] feat(model-registry): refresh AI model catalog across all providers with Apr 2026 updates and rebalance rankings → dev by @github-actions[bot] in #435
- ci: automate release notes generation with Mistral AI by @devin-ai-integration[bot] in #439
- ci: add concurrency controls, promotion freeze, auto-discover branches, and CI improvements by @devin-ai-integration[bot] in #442
- docs(rules): clarify Windsurf guidance by @devin-ai-integration[bot] in #443
- Update dev from main by @marc-romu in #444
- docs: update contributors section for main by @github-actions[bot] in #445
- [patch] ci: automate license header updates on PRs → dev by @github-actions[bot] in #446
- ci(models): automated provider model discovery via OpenRouter API by @marc-romu in #453
- chore: anonymize SmartHopperPublicKey for main by @github-actions[bot] in #454
- chore(models): auto-add new and deprecate stale OpenRouter models by @github-actions[bot] in #463
- chore(models): auto-add new and deprecate stale MistralAI models by @github-actions[bot] in #465
- ci: dispatch PR checks after bot writes by @devin-ai-integration[bot] in #469
- chore(models): auto-add new and deprecate stale DeepSeek models by @github-actions[bot] in #466
- chore(models): auto-add new and deprec...
SmartHopper 1.4.3-rc: AI Component Name Handling & Placement Fixes [Patch]
This patch improves AI-generated component placement by resolving informal names (e.g., "python") to canonical Grasshopper names and fixes critical issues with script component code application.
Detailed list of changes
- Added Component Name Aliases utility to map informal AI-emitted names (e.g., "python", "csharp") to canonical Grasshopper names (e.g., "Python 3 Script", "C# Script") before GhJSON placement, ensuring proper GUID resolution while preserving original names for handler matching.
- Fixed
ScriptGenerateoutput not being placed by theGhPlacecomponent. - Fixed
gh_putfailing to instantiate components when AI uses informal names. - Fixed script code not being applied to placed script components by ensuring alias resolution sets
ComponentGuidfrom the live component server while retaining the original name for GhJSON deserialization.
Auto-generated release notes
What's Changed
- chore: add provider hash manifest for 1.4.2-alpha by @github-actions[bot] in #410
- ci: enhance milestone management and release automation workflows by @marc-romu in #411
- ci: new automatic milestone management, automatic update to yak, and release stages manager by @marc-romu in #412
- chore: prepare release 1.4.2-beta with version update and code style fixes by @github-actions[bot] in #422
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #427
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #428
- chore: add provider hash manifest for 1.4.2-beta by @github-actions[bot] in #429
- [patch] ci: add reusable cherry-pick action and patch propagation workflow for multi-branch commit fan-out → dev-1.4.2 by @github-actions[bot] in #431
- [patch] ci: add patch/ prefix to auto-delete branch patterns in PR cleanup workflow → dev-1.4.2 by @github-actions[bot] in #434
- [patch] feat(model-registry): refresh AI model catalog across all providers with Apr 2026 updates and rebalance rankings → dev-1.4.2 by @github-actions[bot] in #436
- [patch] docs(changelog): correct OpenAI gpt-5.5 rank and Anthropic claude-opus-4-7 default capabilities; align OpenRouter mirrored model defaults with native OpenAI provider → dev-1.4.2 by @github-actions[bot] in #437
- ci: automate release notes generation with Mistral AI by @devin-ai-integration[bot] in #439
- ci: add concurrency controls, promotion freeze, auto-discover branches, and CI improvements by @devin-ai-integration[bot] in #442
- docs(rules): clarify Windsurf guidance by @devin-ai-integration[bot] in #443
- docs: update contributors section for main by @github-actions[bot] in #445
- chore: sync main → dev-1.4.2 by @github-actions[bot] in #449
- ci(models): automated provider model discovery via OpenRouter API by @marc-romu in #453
- chore: anonymize SmartHopperPublicKey for main by @github-actions[bot] in #454
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #452
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #460
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #468
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #471
- chore: prepare release 1.4.2-rc with version update and code style fixes by @github-actions[bot] in #481
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #484
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #486
- fix: backport robust JSON recovery pipeline for scriptgenerate/ghput interaction by @devin-ai-integration[bot] in #494
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #492
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #504
- chore: sync main → dev-1.4.2 (infra + provider models) by @github-actions[bot] in #506
- feat: add component name alias resolution for AI-generated GhJSON by @devin-ai-integration[bot] in #507
- fix: resolve component aliases via live server GUID lookup for script code placement by @devin-ai-integration[bot] in #508
- chore: prepare release 1.4.3 with version update and code style fixes by @github-actions[bot] in #510
- release/1.4.3 by @github-actions[bot] in #511
Full Changelog: 1.4.2-rc...1.4.3-rc
SmartHopper 1.4.2-rc: Expanded AI Model Support & Infrastructure Improvements [Patch]
This patch introduces the latest AI models (April 2026) across all providers, optimizes model rankings, and enhances backend infrastructure for smoother performance.
Detailed list of changes
- Added new AI models from OpenAI (
gpt-5.5,gpt-image-2), Anthropic (claude-opus-4-7), DeepSeek (deepseek-v4-pro,deepseek-v4-flash), MistralAI (newdevstral-2-25-12code-agent), and OpenRouter (mirrored provider models) - Updated default model rankings based on official provider documentation
- Improved AI capability bit ordering and model catalog consistency
- Enhanced CI/CD workflows for model verification, provider discovery, and stabilization branch management
Auto-generated release notes
What's Changed
- release/1.4.2-rc by @github-actions[bot] in #482
Full Changelog: 1.4.2-beta...1.4.2-rc
SmartHopper 1.4.2-beta: Provider Stability & Infrastructure Improvements [Patch]
This patch release delivers critical stability improvements across all AI providers and enhances thread safety in the provider infrastructure. It includes refined timeout policies, streaming adapter fixes, and expanded model support for all supported providers.
Detailed list of changes:
- Infrastructure Stability: Migrated critical fixes including provider stability improvements, timeout policy refinements, and streaming adapter fixes across the entire AI infrastructure layer
- Thread Safety:
ProviderManagernow usesConcurrentDictionaryfor all provider collections to improve concurrent access safety and prevent race conditions - Code Quality: Applied consistent code style with
this.qualifiers andConfigureAwait()patterns across Infrastructure and Providers projects - Provider Initialization:
ProviderManagernow exposesIsInfrastructureReadyflag to signal when provider infrastructure initialization completes, enabling better lifecycle management - AI Provider Updates: All AI providers (Anthropic, DeepSeek, MistralAI, OpenAI, OpenRouter) received stability improvements and extended known list of models with the latest available versions
Full Changelog: 1.4.2-alpha...1.4.2-beta
SmartHopper 1.4.2-alpha
Full Changelog: 1.4.1-alpha...1.4.2-alpha