-
Notifications
You must be signed in to change notification settings - Fork 0
main to dev update #350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
main to dev update #350
Conversation
# SmartHopper 1.0.0: Canvas Button, Component Badges & New Providers This release introduces many exciting features; that's why the version is bumped to 1.0!! The Canvas button for a live assistance chat, component badges for model compatibility, new providers, and enhanced stability and security. ## 🎨 Canvas Button - New button on the top-left corner of your canvas to trigger an AI chat with SmartHopper Assistant. - Designed to help with Grasshopper tasks and equipped with tools for valuable information and basic tasks. - Can be hidden in settings if not needed. ## 🏷️ Component Badges - New badges display model compatibility with components before running them. - Green tick badge for verified models (gpt-5-mini from OpenAI and mistral-small-latest from MistralAI). - Blue badge indicates automatic replacement of incompatible models with compatible defaults. - Red badge indicating that no model was found compatible. ## 🤖 New Providers - Added support for **Anthropic** and **OpenRouter**, alongside MistralAI, OpenAI, and DeepSeek. ## ✨ Other Improvements - Internal improvements for stability and expandability. - Encrypted API keys with individualized keys for enhanced security. ## 🛠️ Technical Requirements - Rhino 8.19 or above - Windows 10/11 (macOS untested) - Valid API keys for chosen providers (OpenAI, MistralAI, DeepSeek, Anthropic, OpenRouter) ##⚠️ Important Notes - Settings file will rewrite on the first run due to security enhancements. Save your API keys again if you encounter issues. - Image generation currently supports only OpenAI DALL·E models. - Automatic model fallback may override user-selected models to meet component requirements. You will see a blue badge on the component indicating that the model was replaced. - API usage costs apply based on your provider plan. ## 🤝 We Value Your Feedback! - Share your experiences and suggestions via the [discussion forum](https://github.com/architects-toolkit/SmartHopper/discussions) - Report issues or request features on the [issue tracker](https://github.com/architects-toolkit/SmartHopper/issues) - Contribute to a better SmartHopper! Happy designing! 🎨
# SmartHopper 1.0.1-alpha: Enhanced Model Support & Error Handling [Patch] This patch release introduces significant improvements to model handling, error reporting, and tool usability, along with several important bug fixes. ## Detailed list of changes: - **Enhanced Model Support**: - Added support for any model name, even if not explicitly listed in the provider's registry - Expanded the provider's database with more predefined models - **Tooling Improvements**: - Enhanced AI Tool descriptions with better guided instructions - Added specialized wrappers for common Grasshopper operations (selection, visibility, grouping, etc.) - Improved `list_filter` tool with better natural language support for filtering, sorting, and reordering - **Bug Fixes**: - Fixed model badge display to correctly show "invalid model" status ([#332](#332), [#329](#329)) - Improved error message visibility in WebChat UI, especially for HTTP 400 and token limit errors ([#334](#334)) - Fixed `list_filter` tool's automatic sorting and deduplication issues ([#335](#335)) - **Technical Improvements**: - Centralized error handling in AIReturn and tool calls - Enhanced metric aggregation in Conversation Sessions - Improved error handling to ensure all error messages are properly surfaced to users
# SmartHopper 1.1.0-alpha: Smarter GhJSON & knowledge tools This alpha release focuses on a modern GhJSON/property system and powerful knowledge tools for McNeel forum and web—plus foundational scripting improvements that prepare SmartHopper for richer script workflows in future releases. ## 🌐 Knowledge tools for McNeel forum, web & Rhino files - McNeel forum AI tools: - `mcneel_forum_search` with configurable result limits and raw JSON post payloads. - `mcneel_forum_post_get` (renamed from `web_rhino_forum_read_post`) to fetch full posts by ID. - `mcneel_forum_post/topic_summarize` to generate AI‑powered summaries of forum threads. - `web_generic_page_read` now returns clean, context‑aware text for: - Wikipedia/Wikimedia, Discourse forums, GitHub/GitLab file URLs, and Stack Exchange questions via official APIs. ## 📦 Modern GhJSON & Property Management V2 - New `PropertyManagerV2` architecture with: - Clear separation of filtering, extraction, and application. - `PropertyFilter`, `PropertyHandlers`, `PropertyFilterConfig`, `SerializationContext`, and `ComponentCategory` for precise, scenario‑aware property control. - GhJSON optimization: - Groups only include members that are part of the current selection. - Runtime‑only properties (`VolatileData`, `IsValid`, `ReferenceID`, `IsGeometryLoaded`, etc.) are removed to keep JSON compact. - Fixed contradictory whitelist/omit rules and simplified `ComponentProperty` (removed `Type` and `HumanReadable`). - Enhanced GhJSON schema: - Rich parameter metadata: `parameterName`, `dataMapping`, `simplify`, `reverse`, `invert`, `unitize`, `expression`, `variableName`, `isPrincipal`, `locked`. - Unified `value` property for component state across sliders, panels, scribbles, scripts, and value lists. - Extended component schema with `Id`, `Params`, `InputSettings`, `OutputSettings`, and `ComponentState`. - Removed redundant/implicit fields (`expressionContent`, `access`, `description`, `optional`, type/object metadata). - **BREAKING**: The enhanced schema is now the default for all `gh_get` and `gh_put` operations, with legacy `Pivot` preserved for positioning compatibility. ## 🧠 Preparing advanced scripting workflows - Lays the groundwork for future scripting-focused releases with robust VB Script and script component handling: - Full 3‑section VB Script serialization/deserialization (`imports`, `script`, `additional`) with a dedicated `VBScriptCode` model and `vbCode` support in `ComponentState`. - GhJSON now extracts and restores VB Script code via ScriptSource properties (`UsingCode`, `ScriptCode`, `AdditionalCode`) using reflection. - Script components implement `IGH_VariableParameterComponent` for reliable dynamic parameter creation/removal: - Parameter settings applied via `CreateParameter`/`DestroyParameter` and `VariableParameterMaintenance()` with names, optional flags, and modifiers. - All script parameter and code operations are wrapped in `RhinoApp.InvokeOnUiThread()` to keep the Rhino/Grasshopper UI responsive and stable. - New unified `script_generator` AI tool replaces legacy `script_new` and `script_edit`, creating or editing script components from natural language and optional component GUIDs—forming the base for richer scripting assistants in upcoming versions. ## 🧪 Reliability, workflows & test coverage - Utility helpers for centralized Grasshopper/Rhino operations: - `GHConnectionUtils`, `GHGenerateUtils`, `RhinoFileUtils`, `RhinoGeometryUtils`. - `SelectingComponentBase` now persists selected objects across file save/load, including restored selection counts and graceful handling of missing objects. - New `SmartHopper.Core.Grasshopper.Tests` project: - 40+ `AIResponseParserTests` covering complex parsing and edge cases. - 30+ `PropertyManagerTests` validating type conversion and persistent data behavior. - Hotfix workflow system: - Automated hotfix branch creation, version bumping, conflict‑safe milestone updates, and fully documented hotfix pipelines. - Extended CI validations and test workflows for `hotfix/**` and `release/**` branches. ## 🛠️ Technical Requirements - Rhino 8.24 or above is required - Windows 10/11 (macOS has not been tested) - Valid API keys for at least one supported AI provider (MistralAI, OpenAI, DeepSeek, Anthropic, OpenRouter) ##⚠️ Important Notes - This is an alpha release with some features still unstable or subject to change. - API keys are required, and usage costs apply based on your provider and model choices. - Documentation is actively evolving to cover the new GhJSON schema, scripting tools, and knowledge workflows. ## 🤝 We Value Your Feedback! Help shape SmartHopper’s future by: - Sharing your experiences with the new GhJSON, scripting, and knowledge tools - Suggesting improvements via our [discussions](https://github.com/architects-toolkit/SmartHopper/discussions) - Telling us what AI capabilities or workflows would help your Grasshopper/Rhino practice most We hope you enjoy these new features and improvements! Happy designing! 🎨
…ronment variables
|
🏷️ This PR has been automatically assigned to milestone 1.1.0-alpha based on the version in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the release workflow to simplify how release information is accessed by removing an intermediate step that set environment variables.
- Removes the "Set Release Info" step that created job-level environment variables
- Uses step outputs and GitHub context directly instead of environment variables
- Scopes the
RELEASE_VERSIONenvironment variable to only the step that needs it
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.