Skip to content

Comments

Release 2.1.0 | Plugin 5.2.0#4276

Merged
jjw24 merged 547 commits intomasterfrom
release_2_1_0
Feb 24, 2026
Merged

Release 2.1.0 | Plugin 5.2.0#4276
jjw24 merged 547 commits intomasterfrom
release_2_1_0

Conversation

@jjw24
Copy link
Member

@jjw24 jjw24 commented Feb 22, 2026

Release notes

Features

Bug fixes

Authors:

01Dri, AWAS666, dcog989, Heck-R, Jack251970, nilvanlopes, onesounds, sstream17, umutKaracelebi, VictoriousRaptor

01Dri and others added 30 commits October 11, 2025 03:15
Enable reordering of websearches with drap and drop
Enhancement: Support Custom Browser Path & Open in window / tab & In private for URL Plugin
Prefer https over http setting for url
Added a `RecordKey` property to `HistoryItem` for unique identification of history records, enabling more accurate matching during queries and executions. Updated `HistoryHelper` methods to utilize `RecordKey` for matching, with fallback to `Title` and `SubTitle`. Enhanced `GetExecuteAction` with error handling, nullable reference types, and improved matching logic. Included `RecordKey` in `History` object creation. Enabled nullable reference types in `HistoryHelper.cs` for better code safety. Refactored code for clarity and maintainability.
Refactored the `History` class to separate query and last opened history into distinct models, introducing `LastOpenedHistoryItem` and deprecating `HistoryItem`. Added a `HistoryStyle` enum and property to allow users to toggle between "Query History" and "Last Opened History." Simplified history display logic and updated the UI with a dropdown for history style selection.

Improved history item display with dynamic action population and relative timestamps. Enhanced performance by optimizing history storage with a maximum limit and streamlined logic for adding/retrieving items. Ensured backward compatibility by migrating legacy history data to the new format.

Updated localization strings, removed deprecated properties, and cleaned up redundant code. Fixed bugs related to inconsistent history actions and edge cases with legacy data.
Refactored `QueryResultsSelected()` usage by introducing a local
variable `queryResultsSelected` to avoid redundant method calls,
improving efficiency and readability. Added a comment to clarify
the purpose of the variable. Updated conditional logic to use
the new variable instead of directly invoking the method.
Replaced `HistoryHelper` with a new `ResultHelper` class to handle plugin result population asynchronously, improving performance and maintainability. Removed `ExecuteAction` and `QueryAction` properties from `LastOpenedHistoryItem` and updated `QueryHistory` and `MainViewModel` to use `LastOpenedHistoryItems` directly.

Refactored history result generation to support `AsyncAction` in `Result` objects, replacing synchronous plugin queries. Simplified legacy history migration and enhanced support for `HistoryStyle`. Improved error handling, code readability, and UI-related logic for history navigation.
---
updated-dependencies:
- dependency-name: Microsoft.Data.Sqlite
  dependency-version: 9.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Jack251970
Jack251970 previously approved these changes Feb 24, 2026
onesounds
onesounds previously approved these changes Feb 24, 2026
@jjw24
Copy link
Member Author

jjw24 commented Feb 24, 2026

I will merge when ready to go.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

6 issues found across 309 files

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Flow.Launcher.Infrastructure/FileExplorerHelper.cs">

<violation number="1" location="Flow.Launcher.Infrastructure/FileExplorerHelper.cs:14">
P2: `DialogJump.GetActiveExplorerPath()` already returns a normalized path string (including `shell:`/`shell:::` for virtual folders). Wrapping it in `new Uri(...).LocalPath` strips those prefixes or can throw for non-file URIs, so virtual folders end up with incorrect paths. Use the path directly instead of forcing a URI conversion.</violation>
</file>

<file name="Flow.Launcher.Infrastructure/Image/ThumbnailReader.cs">

<violation number="1" location="Flow.Launcher.Infrastructure/Image/ThumbnailReader.cs:174">
P2: Resolve relative IconFile paths against the .url file’s directory before checking existence and loading the bitmap; otherwise valid shortcuts with relative icon paths will always fall back to the default icon.</violation>
</file>

<file name="Flow.Launcher.Infrastructure/Logger/Log.cs">

<violation number="1" location="Flow.Launcher.Infrastructure/Logger/Log.cs:168">
P2: Changing the enum order breaks persisted settings because `LogLevel` is serialized as a numeric enum value. Existing settings values (0/1) now map to NONE/ERROR, which can unexpectedly disable logging after upgrade. Preserve the original numeric values when adding new entries.</violation>
</file>

<file name="Flow.Launcher.Core/Plugin/PluginManager.cs">

<violation number="1" location="Flow.Launcher.Core/Plugin/PluginManager.cs:824">
P2: `SameOrLesserPluginVersionExists` should use `GetAllLoadedPlugins()` instead of `GetAllInitializedPlugins(includeFailed: true)`. With async plugin initialization, plugins that are loaded but still initializing will be missed by this version check, potentially allowing duplicate or downgrade installs during the initialization window.</violation>
</file>

<file name="Flow.Launcher/Languages/ko.xaml">

<violation number="1" location="Flow.Launcher/Languages/ko.xaml:82">
P2: Avoid adding strings directly to ko.xaml. Add these keys in en.xaml and let the translation pipeline populate other locales.

(Based on your team's feedback about avoiding non-en language file edits.) [FEEDBACK_USED]</violation>
</file>

<file name="Flow.Launcher/Languages/pt-pt.xaml">

<violation number="1" location="Flow.Launcher/Languages/pt-pt.xaml:82">
P2: Avoid editing non-en translation files directly. Add new strings in the English resource file and let the translation platform propagate updates to pt-pt to prevent overwrites and conflicts.

(Based on your team's feedback about avoiding non-en language file edits in PRs.) [FEEDBACK_USED]</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@prlabeler prlabeler bot added bug Something isn't working enhancement New feature or request kind/i18n labels Feb 24, 2026
@jjw24 jjw24 removed bug Something isn't working enhancement New feature or request kind/i18n labels Feb 24, 2026
@jjw24 jjw24 dismissed stale reviews from onesounds and Jack251970 via f32ee6e February 24, 2026 10:25
@prlabeler prlabeler bot added bug Something isn't working enhancement New feature or request kind/i18n labels Feb 24, 2026
@jjw24 jjw24 requested a review from Jack251970 February 24, 2026 11:32
@jjw24 jjw24 removed bug Something isn't working enhancement New feature or request kind/i18n labels Feb 24, 2026
@jjw24 jjw24 merged commit cd98253 into master Feb 24, 2026
6 checks passed
@jjw24 jjw24 deleted the release_2_1_0 branch February 24, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Release PR which contains the changes going into the upcoming release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants