Actipro WinForms Studio Releases

Learn what's new across releases, with details of features, enhancements, and resolved issues.

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Actipro WinForms Studio 26.1.0Major versionSep 3, 2026
Features
  • Core
    • Added a new Core assembly that is referenced by all Actipro assemblies and contains various fundamental classes used across the product line.
    • Applications that use Actipro assembly references instead of NuGet packages must now also reference the Core assembly.
  • Bars
    • Improved general performance by updating backend logic to use generic collections, thus reducing how often values are boxed and unboxed.
    • Added a BarsMenuFactory that can be used to ensure all Actipro product contextual menus are based on Bars controls.
    • Updated the constructor arguments of BarCommand and BarCommandLink classes (and their derived types) to support optional arguments.
    • Updated how BarComboBoxCommand selects an item in the list based on the control value by matching the full text of an item before matching what the item starts with.
  • Navigation
    • Added NavigationBar.ShowFewerBarButtons and ShowMoreBarButtons methods to simplify operations that increase or decrease the number of visible buttons.
  • SyntaxEditor
    • Refactored the design of documents and snapshots to track the actual line terminators used in text instead of internally always normalizing line terminators to LF only.
    • Updated all methods for text retrieval to return document text with the actual line terminators by default, while still allowing normalization to other line terminator kinds.
    • Added properties to ITextSnapshot to return the inferred line terminator for a document snapshot's text and whether all lines uniformly use that same line terminator.
    • Added the ITextDocument.NormalizeLineTerminators method to ensure all line terminators in a document are of the same kind, and new edit actions to invoke its logic.
    • Added shorter-named values to the LineTerminator enumeration.
    • Added the ILineIndicatorTag interface for line-based indicator tags and updated line-based indicator APIs to use that interface.
    • Refactored the internal document text storage mechanism to improve performance and memory usage.
    • Changed the default value of TextStylePreview.Text from 'AaBbCcXxYyZz' to 'ij = I::oO(0xB81l);'.
    • Renamed several types and members to fix a misspelling of 'mergable' to the proper word 'mergeable'.
    • Updated the default editor context menu and scrollbar context menu to match the editor's color scheme.
    • Updated the default editor context menu to support accelerator keys within the related string resources.
    • Updated regular expression search patterns to support non-capturing group syntax.
    • Updated the search overlay pane to render the Find textbox with a red border when invalid regular expression syntax is detected.
    • Updated the SyntaxLanguage.PlainText property to return a cached instance.
    • Moved all regular expression-related types to the regex engine reimplementation in the Core assembly.
    • Moved the Text assembly's DisposableObject class to the Core assembly in the ActiproSoftware namespace and made the Dispose method abstract.
    • Refined the implementation of several core structures.
    • .NET Languages Add-on:
      • Improved IntelliPrompt capabilities within top-level statements.
  • Shared
    • Added new ControlExtensions for the Control type.
    • Added new ILogicalTreeNodeExtensions for the ILogicalTreeNode type.
    • Added several new methods to UIRendererManager that support generic type parameters.
    • Refactored licensing infrastructure and moved types to a new ActiproSoftware.Licensing namespace.
    • Refactored ILogicalTreeNode to use generic collections, which also impacts IUIElement, UIElement, UIControl, and UIContainerControl. Please see the Conversion documentation topic for details on potentially breaking changes.
    • Created a new simpler licensing dialog that displays when necessary, guiding the user through next steps.
    • Moved the ObservableObjectBase class to the Core assembly in the ActiproSoftware namespace and improved APIs, including adding a SetValue method.
    • Moved the DoubleExtensions class to the Core assembly in the ActiproSoftware.Extensions namespace and improved APIs. The RoundMode enumeration used by the extension methods was moved to the ActiproSoftware namespace.
    • Moved all types in the ActiproSoftware.Products.Logging namespace to the Core assembly in the ActiproSoftware.Logging namespace.
    • Moved the WeakEventListener class to the Core assembly in the ActiproSoftware namespace.
    • Renamed the DisposableObject class to MarshalByRefDisposableObject.
  • All
    • Added official support for Visual Studio 2026.
    • Added .NET assembly targets for .NET 10 and removed targets for .NET 6.
    • Added nullable reference type (NRT) annotations for all libraries and samples.
    • Added MenuFactory that is used by all Actipro products which can be used to customize or replace built-in contextual menus.
    • Moved all assembly image and cursor resources to a root path level in each assembly.
    • Renamed the ActiproSoftware.Products namespace to ActiproSoftware.Properties.
      Details for any breaking changes are in the 'Converting to v26.1' documentation topic.
Fixes
  • Bars
    • Fixed BarButtonCommand and BarSplitButtonCommand not properly deserializing the Checked property value.
  • Docking
    • Fixed issue restoring tool window layout in some mixed DPI scenarios where a container would restore at the absolute minimum size instead of the desired size.
  • SyntaxEditor
    • Fixed an issue that might cause an overlay pane to appear on top of the horizontal splitter box when automatic vertical scrollbars were used and the scrollbar was not currently displayed.
    • Fixed the default editor context menu not properly showing commands as disabled when the associated command could not be executed.
    • Fixed an issue where dragging an unnormalized selection of text could show the incorrect mouse drop cursor.
  • Wizard
    • Fixed an issue where dragging controls onto a WizardPage in the .NET-based Visual Studio designer did not work.
    • Fixed an issue where clicking the Next/Back buttons in the legacy .NET Framework-based Visual Studio designer navigated two pages at a time.
Actipro WinForms Studio 25.1.2Mar 13, 2026
Features
  • SyntaxEditor
    • Python Language Add-on
      • Improved how the Python resolver handles with statements.
      • Improved how the Python module loader processes string literal type annotations.
      • Improved support for Python return type annotations.
  • Shared
    • Added the TrustedCodeService class that manages dynamic loading of types in a secure-by-default manner. This change may be potentially breaking for certain rarely used features, so it's important to review the related documentation for details.
Fixes
  • SyntaxEditor
    • .NET Languages Add-on
      • Fixed an issue in the C# parser where nesting a record struct caused a parse error.
Actipro WinForms Studio 25.1.1Jan 22, 2026
Features
  • SyntaxEditor
    • Improved the text measurement logic for collapsed region adornments.
    • Updated the recently added IIntraTextSpacerTag.IsSpacerBefore property to have a default implementation in .NET.
    • .NET Languages Add-on
      • Added the static CSharpLexer.OtherPreprocessorDirectives property, which allows additional custom preprocessor directives to be supported.
      • Improved the C# resolver to better handle is pattern variable declarations in certain scenarios.
      • Improved the C# parser's logic for handling local functions.
      • Fixed an issue where IntelliPrompt completion within interpolated string expressions may be incorrect.
      • Fixed an issue in the C# parser grammar where the 'record' keyword couldn't be used as a variable properly.
    • Python Language Add-on
      • Added an IncludeSourceLocation option on Python IntelliPrompt providers that can be set to false to hide the source module path.
      • Improved Python code outlining to create nodes for all block statements, list expressions, and dictionary expressions.
      • Improved the Python resolver logic for resolving classes.
      • Updated IntelliPrompt to display docstrings defined for fields and variables.
      • Updated the Python parser to support Python v3.11 syntax.
      • Updated the Python parser to support Python v3.10 syntax.
Fixes
  • Docking
    • Fixed an issue where some modern IDocumentWindowTabStripRenderer instances defaulted the TabStripTabTextStringTrimming property to EllipsisCharacter instead of EllipsisPath.
  • SyntaxEditor
    • .NET Languages Add-on
      • Fixed an issue where IntelliPrompt completion within interpolated string expressions may be incorrect.
      • Fixed an issue in the C# parser grammar where the 'record' keyword couldn't be used as a variable properly.