release/1.4.3#511
Merged
Merged
Conversation
chore: add provider hash manifest for version 1.4.2-alpha (dual platform) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…d lifecycle and version scoping
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…ardize version parsing utilities
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…versioning workflows
# Pull Request: ci: enhance milestone management and release automation workflows ## Description Enhanced GitHub Actions workflows for comprehensive milestone management and automated release promotion. This PR introduces a robust system for managing the complete release lifecycle from alpha through stable releases. ### Key Features Added: **Milestone Management System:** - Automated milestone creation and lifecycle management across release stages (alpha → beta → rc → stable) - Support for multiple major versions with independent milestone hierarchies - Intelligent issue migration when milestones close **Release Promotion Workflow:** - Automatic promotion of versions through release stages after 30 days without reported issues - Manual promotion capability with force override option - Integration with milestone management for seamless version progression **Release Preparation Workflow:** - Automated release branch creation from dev - Version updates across Solution.props and project files - Changelog compilation from milestone issues and PRs - README badge updates and license header normalization ## Breaking Changes None - this is purely CI/CD infrastructure enhancement. ## Testing Done - None. PR to dev to test. ## Checklist - [x] This PR is focused on a single feature or bug fix - [ ] Version in Solution.props was updated, if necessary, and follows semantic versioning - [ ] CHANGELOG.md has been updated - [x] PR title follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.1.0/) format - [x] PR description follows [Pull Request Description Template](https://github.com/architects-toolkit/SmartHopper/blob/main/CONTRIBUTING.md#pull-request-description-template)
…release stages manager (#412)
…ion of closed milestone releases
…ell output commands
… output variable naming
… in version promotion workflow
… stabilization init workflow
…to bypass GitHub security restrictions
…fixes (#422) * chore: add provider hash manifest for 1.4.2-alpha (#410) chore: add provider hash manifest for version 1.4.2-alpha (dual platform) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * docs(ci): add comprehensive milestone management system with automated lifecycle and version scoping * Potential fix for code scanning alert no. 20: Code injection Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * docs(ci): add comprehensive versioning action documentation and standardize version parsing utilities * Update .github/actions/versioning/move-milestone-items/action.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(ci): correct step references and improve milestone pagination in versioning workflows * docs: add milestone management guide and update release workflow documentation * ci: enhance promotion eligibility checks with comprehensive validation criteria * ci: remove milestone check from promotion eligibility to allow promotion of closed milestone releases * ci: fix version grouping to use minor version and standardize PowerShell output commands * ci: skip promotion for versions with closed target milestones and fix output variable naming * ci: standardize PowerShell output commands and improve PR URL parsing in version promotion workflow * ci: prevent older versions from being promoted when target milestone is closed * ci: new stabilization-aware milestone workflow * ci: add workflows write permission to stabilization init workflow * ci: remove unnecessary workflows write permission from stabilization init workflow * ci: replace git commands with GitHub API calls for branch creation in stabilization init workflow * ci: use PAT_TOKEN for branch creation in stabilization init workflow to bypass GitHub security restrictions * chore: prepare release 1.4.2-beta with version update and code style fixes * fix: migration of critical fixes from 2.0.0-dev to 1.4.2-beta * style: reformat constructor calls and improve code consistency with 'this.' qualifier usage * refactor: replace result.Outputs.TryGetValue with result.TryGetValue across test components and improve code formatting consistency * refactor(statefulcomponentbase): supress unnecessary change in this release * refactor: supress unnecessary change in this release * refactor: simplify async code with ConfigureAwait and remove redundant null coalescing operators * chore: update CHANGELOG.md with unreleased changes for provider stability improvements and thread safety enhancements * ci: remove unnecessary JSON output flags from PR creation command in contributors workflow * refactor(ci): extract milestone creation logic into reusable composite action and add race condition handling * docs: update contributors section for release/1.4.2-beta --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: github-actions <action@github.com>
…t in MistralAI and OpenAI embedding models
…mated' across workflows and add model-verification label
…e-ProviderModels.ps1
…solidate duplicate Anthropic model entries, and fix MistralAI embedding capability flag from InputText to TextInput
…dering in Anthropic models, clean up duplicate and placeholder model entries, and prevent self-referential aliases in Update-ProviderModels.ps1
chore: sync allow-listed files from main → dev-1.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…xes (#481) * chore: prepare release 1.4.2-rc with version update and code style fixes * chore: condense CHANGELOG.md for 1.4.2-rc release with streamlined feature descriptions and reorganized beta/alpha sections * docs: add changelog simplification workflow with guidelines for end-user focused release notes * chore: streamline CHANGELOG.md with condensed descriptions and improved readability for end-user focused release notes --------- Co-authored-by: github-actions <action@github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com>
…cks, realtime model filtering, and logical model key normalization in Update-ProviderModels.ps1
chore: sync allow-listed files from main → dev-1.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore: sync allow-listed files from main → dev-1.4.2 * chore: sync allow-listed files from main → dev-1.4.2 * refactor: add Default capability flags to OpenAI models, remove deprecated realtime and image models, and adjust model rankings * chore(ci): update license headers --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…Text, ReasoningChat, Speech2Text, and Text2Speech
…interaction (#494) * fix: backport robust JSON recovery pipeline for scriptgenerate/ghput interaction - Add 4-stage JSON recovery to AIResponseParser.SanitizeAndParseJson(): 1. Direct parse 2. Markdown extraction 3. Brace-depth extraction 4. Sanitize AI malformations (unescaped control chars, smart quotes, trailing commas, unterminated strings, unbalanced containers) - Add SanitizeJsonString() and ExtractFirstJsonContainer() to AIResponseParser - Fix GhPutComponents to use GetLastInteraction(AIAgent.ToolResult) instead of unfiltered GetLastInteraction() which could return wrong type - Surface FailedComponents and Warnings from PutResult in gh_put analysis * Update CHANGELOG for ScriptGenerate fix Fixed the ScriptGenerate output placement issue in GhPlace component. --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Marc Roca-Musach <49920661+marc-romu@users.noreply.github.com>
chore: sync allow-listed files from main → dev-1.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore: sync allow-listed files from main → dev-1.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore: sync allow-listed files from main → dev-1.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* feat: add component name alias resolution for AI-generated GhJSON Add ComponentNameAliases utility that maps informal AI-emitted component names (e.g., 'python', 'csharp', 'slider') to their canonical Grasshopper names (e.g., 'Python 3 Script', 'C# Script', 'Number Slider') before GhJSON placement. This fixes the issue where gh_put fails with 'Could not instantiate component' errors when AI models generate informal component names that don't match the exact Grasshopper component registry. The alias dictionary covers ~80 common abbreviations across script, parameter, geometry, math, list, transform, surface, mesh, and display component categories. Integration point: ComponentNameAliases.Normalize() is called in gh_put after GhJson.FromJson() and before GhJson.Fix(), acting as a lightweight orchestration-layer pre-pass. * chore(ci): update license headers * feat: add VB Script alias resolution Add 'vb' and 'vbscript' aliases resolving to 'VB Script' canonical name. * chore: bump version to 1.4.3-rc --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com>
… code placement (#508) * fix: populate ComponentGuid when resolving script component aliases GhJSON 1.0.0 script handlers match by Name or ComponentGuid. When alias resolution changes the name (e.g. 'Python' -> 'Python 3 Script'), the handler's name check fails and script code is not applied. Populating ComponentGuid with the known type GUID lets the handler's GUID fallback succeed, ensuring script code is properly deserialized. * refactor: resolve component aliases via live server GUID lookup instead of hardcoded GUIDs Replace hardcoded ScriptComponentGuids dictionary with live lookups against Grasshopper's component server (via ObjectFactory.FindProxy). The original component Name is now preserved so GhJSON's deserialization handlers still match by name and apply extensions (e.g. script code). ComponentGuid is set from the server's actual proxy, avoiding tight coupling to specific GUIDs. * fix: use proxy.Guid instead of proxy.Desc.ComponentGuid and set canonical name IGH_ObjectProxy exposes the component type GUID via .Guid, not .Desc.ComponentGuid (IGH_InstanceDescription lacks that property). Also sets the canonical name on the component per review feedback, since once the GUID is in place handlers will match by ComponentGuid. * feat: add input/output variable matching validation to script_generate and script_review Add comprehensive documentation to script_generate explaining the requirement for exact variable name matching between Grasshopper script component parameters and script code, with language-specific examples for Python, C#, and VB. Add static analysis to script_review that validates: - Input parameters are referenced in the script code - Output parameters are assigned in the script code (required for data output --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com>
… placeholder for dynamic release notes
…#510) * chore: prepare release 1.4.3 with version update and code style fixes * chore: mark version 1.4.3 as release candidate with purple badge styling --------- Co-authored-by: github-actions <action@github.com> Co-authored-by: marc-romu <49920661+marc-romu@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR prepares the release for version 1.4.3 with version update and code style fixes: