Skip to content

release/1.4.3#511

Merged
marc-romu merged 120 commits into
main-1.4.3from
dev-1.4.3
May 18, 2026
Merged

release/1.4.3#511
marc-romu merged 120 commits into
main-1.4.3from
dev-1.4.3

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

This PR prepares the release for version 1.4.3 with version update and code style fixes:

  • Updated version in Solution.props
  • Updated changelog with closed-solved issues
  • Updated README badges

github-actions Bot and others added 30 commits March 14, 2026 10:46
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>
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>
# 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)
…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>
github-actions Bot and others added 28 commits May 3, 2026 22:44
…mated' across workflows and add model-verification label
…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>
…#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>
@github-actions github-actions Bot requested a review from marc-romu as a code owner May 18, 2026 19:54
@marc-romu marc-romu merged commit cb039e8 into main-1.4.3 May 18, 2026
7 checks passed
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.

2 participants