Skip to content

Removed unwatned project#4361

Merged
Maheshkale447 merged 5 commits into
Releases/Betafrom
upgrade-to-NET8
Nov 17, 2025
Merged

Removed unwatned project#4361
Maheshkale447 merged 5 commits into
Releases/Betafrom
upgrade-to-NET8

Conversation

@Maheshkale447

@Maheshkale447 Maheshkale447 commented Nov 17, 2025

Copy link
Copy Markdown
Contributor

Description

Type of Change

  • Bug fix - [ ] New feature - [ ] Breaking change - [ ] Plugin update

Checklist

  • PR description clearly describes the changes
  • Target branch is correct (master for features, Releases/* for fixes)
  • Latest code from target branch merged
  • No commented/junk code included
  • No new build warnings or errors
  • All existing unit tests pass
  • New unit tests added for new functionality
  • Cross-platform compatibility verified (Windows/Linux/macOS)
  • CI/CD pipeline passes
  • Code follows project conventions (Act{Platform}{Type}, {Platform}Driver)
  • Repository objects use [IsSerializedForLocalRepository] where needed
  • Error handling uses Reporter.ToLog() pattern
  • Documentation updated for user-facing changes
  • Self-review completed and code review comments addressed

Summary by CodeRabbit

Release Notes

  • Chores

    • Updated Magick.NET dependency to version 14.9.1 across projects.
    • Updated Visual Studio solution version to 18.
  • Removed Features

    • Removed Sikuli image recognition integration and associated components.

@coderabbitai

coderabbitai Bot commented Nov 17, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Removes the entire GingerSikuliStandard project and all its public API surface. Updates Magick.NET dependency from 14.8.2 to 14.9.1 across multiple project files. Updates Visual Studio version from 17 to 18 in solution file. Modifies UIAComWrapperHelper.cs AutomationId search to use hardcoded property identifier "42171" instead of previous approach.

Changes

Cohort / File(s) Summary
Solution and Project Configuration
Ginger.sln, Ginger/Ginger.csproj, Ginger/GingerCoreNET/GingerCoreNET.csproj, Ginger/GingerTest/GingerTest.csproj
Updated Visual Studio version from 17 to 18 in solution file. Bumped Magick.NET-Q16-AnyCPU package from 14.8.2 to 14.9.1 in three project files.
UIAutomation Logic Update
Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
Modified FindElementByLocator ByAutomationID branch to search CurrentWindow.CachedParent descendants using hardcoded AutomationIdProperty value "42171" instead of previous CurCond3 approach. Added explanatory comments and spacing.
GingerSikuliStandard Project Removal
Ginger/GingerSikuliStandard/GingerSikuliStandard.csproj, Ginger/GingerSikuliStandard/packages.config, Ginger/GingerSikuliStandard/sikuli_JSON/*.cs, Ginger/GingerSikuliStandard/sikuli_REST/*.cs, Ginger/GingerSikuliStandard/sikuli_UTIL/*.cs
Deleted entire GingerSikuliStandard project including all public API classes: sikuli_JSON data models (json_Click, json_DragDrop, json_Exists, json_Find, json_Pattern, json_Result, json_Type, json_Wait, json_WaitVanish), sikuli_REST REST client wrapper (Screen, Pattern, Key, KeyModifier, ActionLog), and sikuli_UTIL utilities (APILauncher, ActionResult, SikuliActionException, Util).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • UIAComWrapperHelper.cs logic change: Requires verification that hardcoded property identifier "42171" is correct and that the new search strategy (CachedParent descendants) is compatible with existing element location patterns.
  • GingerSikuliStandard project removal: Significant scope with 15+ deleted files. Requires verifying that no external code within Ginger maintains dependencies on removed classes (Screen, Pattern, Key, KeyModifier, ActionResult, SikuliActionException, APILauncher, etc.).
  • Dependency updates: Relatively straightforward version bumps across four project files, but should verify Magick.NET 14.9.1 compatibility.

Possibly related PRs

Poem

🐰 The Sikuli dreams have faded into code,
Yet Magick shines with versions bright and new,
Automation searches deeper down the road,
With property "42171" seeking true! ✨
A cleaner vision, UI swift renewed.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is entirely missing. Only the template structure is present with unchecked boxes; no actual description of changes, rationale, type of change, or checklist verification is provided. Complete the Description section explaining what was removed and why, select the appropriate Type of Change, and verify all checklist items are completed before merging.
Title check ❓ Inconclusive The title 'Removed unwatned project' has a typo ('unwatned' instead of 'unwanted') and is vague. While it generally relates to the removal of GingerSikuliStandard project, it lacks clarity about what was removed and why. Correct the typo and make the title more specific, e.g., 'Remove GingerSikuliStandard project' or 'Remove deprecated Sikuli integration components'.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch upgrade-to-NET8

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
Ginger/GingerTest/GingerTest.csproj (1)

1-1: ⚠️ Incomplete PR description and missing context — blocker.

The PR description is empty (only template provided), and the "Type of Change" checklist is not marked. Additionally, the PR title states "Removed unwanted project," but the AI summary mentions removal of GingerSikuliStandard and UIAComWrapperHelper.cs changes—neither of which are present in the provided code files.

Before merging:

  1. Provide a clear description of the PR scope and rationale
  2. Select the appropriate type of change
  3. Clarify whether GingerSikuliStandard removal and UIAComWrapperHelper.cs changes are part of this PR or separate
  4. Provide the missing files for review if part of this PR
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4d3a3c5 and 823a5c1.

⛔ Files ignored due to path filters (1)
  • Ginger/GingerSikuliStandard/dlls/JNI.dll is excluded by !**/*.dll, !**/*.dll
📒 Files selected for processing (25)
  • Ginger/Ginger.sln (1 hunks)
  • Ginger/Ginger/Ginger.csproj (1 hunks)
  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs (2 hunks)
  • Ginger/GingerCoreNET/GingerCoreNET.csproj (1 hunks)
  • Ginger/GingerSikuliStandard/GingerSikuliStandard.csproj (0 hunks)
  • Ginger/GingerSikuliStandard/packages.config (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Click.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_DragDrop.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Exists.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Find.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Pattern.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Result.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Type.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Wait.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_WaitVanish.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_REST/ActionLog.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_REST/Key.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_REST/KeyModifier.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_REST/Pattern.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_REST/Screen.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_UTIL/APILauncher.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_UTIL/ActionResult.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_UTIL/SikuliActionException.cs (0 hunks)
  • Ginger/GingerSikuliStandard/sikuli_UTIL/Util.cs (0 hunks)
  • Ginger/GingerTest/GingerTest.csproj (1 hunks)
💤 Files with no reviewable changes (20)
  • Ginger/GingerSikuliStandard/sikuli_REST/KeyModifier.cs
  • Ginger/GingerSikuliStandard/packages.config
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Type.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Wait.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Result.cs
  • Ginger/GingerSikuliStandard/sikuli_UTIL/ActionResult.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_DragDrop.cs
  • Ginger/GingerSikuliStandard/sikuli_UTIL/Util.cs
  • Ginger/GingerSikuliStandard/sikuli_UTIL/APILauncher.cs
  • Ginger/GingerSikuliStandard/sikuli_REST/ActionLog.cs
  • Ginger/GingerSikuliStandard/sikuli_UTIL/SikuliActionException.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_WaitVanish.cs
  • Ginger/GingerSikuliStandard/sikuli_REST/Screen.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Pattern.cs
  • Ginger/GingerSikuliStandard/sikuli_REST/Key.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Click.cs
  • Ginger/GingerSikuliStandard/GingerSikuliStandard.csproj
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Exists.cs
  • Ginger/GingerSikuliStandard/sikuli_REST/Pattern.cs
  • Ginger/GingerSikuliStandard/sikuli_JSON/json_Find.cs
🧰 Additional context used
🧠 Learnings (17)
📓 Common learnings
Learnt from: AmanPrasad43
Repo: Ginger-Automation/Ginger PR: 4281
File: Ginger/GingerCore/GingerCore.csproj:538-538
Timestamp: 2025-08-25T08:48:11.915Z
Learning: In the Ginger codebase, the OWASPZAPDotNetAPI package reference in GingerCore.csproj is required for architectural reasons, even when direct usage is not immediately visible in the codebase. This was confirmed by AmanPrasad43 during the security testing feature implementation.
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:9146-9291
Timestamp: 2025-09-04T15:43:57.789Z
Learning: In SeleniumDriver.cs, prefer using the C# fallback GenerateEnhancedSvgXPath(IWebElement) for SVG XPath generation instead of injecting/validating a JavaScript-based XPath builder. This was accepted in PR Ginger-Automation/Ginger#4294.
📚 Learning: 2025-09-04T15:43:57.789Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:9146-9291
Timestamp: 2025-09-04T15:43:57.789Z
Learning: In SeleniumDriver.cs, prefer using the C# fallback GenerateEnhancedSvgXPath(IWebElement) for SVG XPath generation instead of injecting/validating a JavaScript-based XPath builder. This was accepted in PR Ginger-Automation/Ginger#4294.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2024-07-26T22:04:12.930Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 3429
File: Ginger/Ginger/AutomatePageLib/AddActionMenu/WindowExplorer/Common/WindowExplorerPage.xaml.cs:1123-1126
Timestamp: 2024-07-26T22:04:12.930Z
Learning: The user has removed an unnecessary empty line at 1123 in `WindowExplorerPage.xaml.cs` for better code compactness.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-09-04T11:19:44.719Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:10651-10658
Timestamp: 2025-09-04T11:19:44.719Z
Learning: In Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs, maintainer prefers not to keep the helper IsSvgElementByWebElement(IWebElement); rely on the existing enum-based IsSvgElement(eElementType) helper instead. Future reviews should not reintroduce IsSvgElementByWebElement.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-09-04T15:42:00.330Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:8334-8350
Timestamp: 2025-09-04T15:42:00.330Z
Learning: In PR Ginger-Automation/Ginger#4294, SeleniumDriver.cs: maintainer requested to keep the WebElement-based helper IsSvgElementByWebElement(IWebElement) and its current usages for now, deferring the replacement with GetElementTypeEnum(..) + IsSvgElement(eElementType) to a later PR.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-09-04T10:00:39.311Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:5731-5734
Timestamp: 2025-09-04T10:00:39.311Z
Learning: In SeleniumDriver.ProcessSvgChildElements, always search SVG children within the current ISearchContext (frame/shadow) instead of using Driver.FindElement, and pass parentContext from FindAllElementsFromPOM.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-09-04T09:55:20.543Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:5789-5796
Timestamp: 2025-09-04T09:55:20.543Z
Learning: In Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs (around line 5786), maintainer prashelke prefers to keep the helper method `IsSvgElement(eElementType)` as-is (no inlining or renaming), even though it currently checks only for `eElementType.Svg`. Future reviews should not suggest removing or renaming this helper.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-07-10T07:11:28.974Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4249
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:4684-4695
Timestamp: 2025-07-10T07:11:28.974Z
Learning: In Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs, attribute values used in CSS selectors (e.g., ByTitle, ByAriaLabel, ByDataTestId, ByPlaceholder) should be escaped using a helper method (such as EscapeCssAttributeValue) to prevent selector breakage due to special characters.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-09-05T09:30:10.074Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4294
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs:5942-5960
Timestamp: 2025-09-05T09:30:10.074Z
Learning: In Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/Selenium/SeleniumDriver.cs (around SVG helpers, approx. lines 5942–5960 and 5983–5984), maintainer prefers keeping ToLower() for tag/name normalization; do not suggest replacing with ToLowerInvariant() in future reviews for this area.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-04-25T13:29:45.059Z
Learnt from: GokulBothe99
Repo: Ginger-Automation/Ginger PR: 4188
File: Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs:22-23
Timestamp: 2025-04-25T13:29:45.059Z
Learning: The `using Amdocs.Ginger.Repository;` statement in Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs is necessary as it provides access to the `ObservableList<>` class which is used throughout the file for collections of RunSetConfig, AnalyzerItemBase, and ApplicationPOMModel objects.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-04-25T13:29:45.059Z
Learnt from: GokulBothe99
Repo: Ginger-Automation/Ginger PR: 4188
File: Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs:22-23
Timestamp: 2025-04-25T13:29:45.059Z
Learning: The `using Amdocs.Ginger.Repository;` statement in Ginger/GingerCoreNET/RunLib/CLILib/DoOptionsHanlder.cs is necessary as it imports the ObservableList<> class which is used throughout the file.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-06-16T10:37:13.073Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 4232
File: Ginger/GingerCoreNET/ActionsLib/UI/VisualTesting/VRTAnalyzer.cs:19-22
Timestamp: 2025-06-16T10:37:13.073Z
Learning: In Ginger codebase, both `using amdocs.ginger.GingerCoreNET;` and `using Amdocs.Ginger.CoreNET;` are valid and serve different purposes. The first (lowercase) contains the WorkSpace class and related workspace functionality, while the second (proper case) contains drivers like GenericAppiumDriver and other core functionality. Both may be required in files that use types from both namespaces.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-03-20T11:10:30.816Z
Learnt from: GokulBothe99
Repo: Ginger-Automation/Ginger PR: 4137
File: Ginger/Ginger/SourceControl/SourceControlProjectsPage.xaml.cs:21-21
Timestamp: 2025-03-20T11:10:30.816Z
Learning: The `Amdocs.Ginger.Common.SourceControlLib` namespace is required in files that reference the `GingerSolution` class for source control operations in the Ginger automation framework.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
  • Ginger/Ginger.sln
📚 Learning: 2025-08-25T08:48:11.915Z
Learnt from: AmanPrasad43
Repo: Ginger-Automation/Ginger PR: 4281
File: Ginger/GingerCore/GingerCore.csproj:538-538
Timestamp: 2025-08-25T08:48:11.915Z
Learning: In the Ginger codebase, the OWASPZAPDotNetAPI package reference in GingerCore.csproj is required for architectural reasons, even when direct usage is not immediately visible in the codebase. This was confirmed by AmanPrasad43 during the security testing feature implementation.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
  • Ginger/Ginger/Ginger.csproj
  • Ginger/GingerTest/GingerTest.csproj
  • Ginger/GingerCoreNET/GingerCoreNET.csproj
📚 Learning: 2024-11-06T09:06:34.050Z
Learnt from: prashelke
Repo: Ginger-Automation/Ginger PR: 3984
File: Ginger/GingerCoreNET/ALMLib/RQM/ExportToRQM.cs:911-911
Timestamp: 2024-11-06T09:06:34.050Z
Learning: In the `Ginger/GingerCoreNET/ALMLib/RQM/ExportToRQM.cs` file of the Ginger project, initializing lists in C# using `[]` syntax (e.g., `List<T> list = [];`) is acceptable and does not require changing to `new List<T>()`.

Applied to files:

  • Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs
📚 Learning: 2025-01-16T04:09:15.662Z
Learnt from: IamRanjeetSingh
Repo: Ginger-Automation/Ginger PR: 4058
File: Ginger/GingerCoreNET/Drivers/CoreDrivers/Web/ActionHandlers/ActUIElementHandler.cs:648-649
Timestamp: 2025-01-16T04:09:15.662Z
Learning: The Ginger project primarily targets .NET 8.0, which supports C# 12 features including collection expressions with spread operator.

Applied to files:

  • Ginger/Ginger/Ginger.csproj
  • Ginger/GingerCoreNET/GingerCoreNET.csproj
  • Ginger/Ginger.sln
📚 Learning: 2024-12-09T12:36:36.824Z
Learnt from: sudarshan0212
Repo: Ginger-Automation/Ginger PR: 4024
File: Ginger/GingerRuntime/GingerRuntime.csproj:43-43
Timestamp: 2024-12-09T12:36:36.824Z
Learning: Version 24.6.1 of Ginger.ExecuterService.Contracts is unlisted and should not be suggested for updates.

Applied to files:

  • Ginger/GingerTest/GingerTest.csproj
🧬 Code graph analysis (1)
Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs (1)
Ginger/GingerCore/Drivers/WindowsLib/WindowsDriver.cs (4)
  • UIAuto (740-775)
  • UIAuto (1748-1784)
  • UIAuto (1786-1812)
  • UIAuto (1813-1822)
🔇 Additional comments (4)
Ginger/Ginger.sln (1)

3-4: Visual Studio version bumped from 17 to 18 — approved.

The Visual Studio version metadata is updated consistently (comment and version value). This aligns with Visual Studio 2022 v18.x and is compatible with the project's .NET 8.0 target framework.

Ginger/Ginger/Ginger.csproj (1)

744-744: Magick.NET-Q16-AnyCPU dependency updated from 14.8.2 to 14.9.1 — consistent with other projects.

This change mirrors the dependency update in GingerCoreNET.csproj and GingerTest.csproj, ensuring all projects reference the same Magick.NET version.

Ginger/GingerTest/GingerTest.csproj (1)

24-24: Magick.NET-Q16-AnyCPU dependency updated from 14.8.2 to 14.9.1 — aligned across projects.

Test project dependency is consistently updated with the rest of the codebase.

Ginger/GingerCoreNET/GingerCoreNET.csproj (1)

296-296: Magick.NET-Q16-AnyCPU updated to 14.9.1 — approved.

The 14.9.1 release (2025-10-29) includes a security fix for a CLAHE unsigned underflow and division-by-zero vulnerability in the underlying ImageMagick library. No breaking changes or API removals are documented, making this a safe patch-level upgrade from 14.8.2.

Comment thread Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs Outdated
Comment thread Ginger/GingerCore/Actions/UIAutomation/UIAComWrapperHelper.cs Outdated
@Maheshkale447
Maheshkale447 merged commit 225a60d into Releases/Beta Nov 17, 2025
24 of 29 checks passed
@Maheshkale447
Maheshkale447 deleted the upgrade-to-NET8 branch November 17, 2025 18:04
@coderabbitai coderabbitai Bot mentioned this pull request Nov 24, 2025
15 tasks
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.

1 participant