Releases: Tim-Butterfield/FormCast
v1.1.2
Changelog
All notable changes to FormCast are documented in this file.
The format follows Keep a Changelog 1.1,
and the project adheres to Semantic Versioning 2.0.
See README.md for the feature overview and install instructions.
[1.1.2] -- 2026-06-01
Fixed
- NUMERICUPDOWN and TRACKBAR value get:
@FORMGETfor thevalue
property now reads the live control's current value instead of the
initial descriptor value, so changes the user makes in the form are
reflected. (issue #5)
Changed
- Release zip: the release workflow now publishes an identically
namedFormCast.zipalongside the versionedFormCast-v<tag>.zip, so
the version-independent
releases/latest/download/FormCast.zipURL resolves to the latest
release.
1.1.1 -- 2026-05-27
Fixed
- Path normalization in template I/O:
@FORMLOAD,@FORMIMPORT,
@FORMSAVE,@FORMSAVEIMAGE, and@FORMSAVECOMPOSITEnow normalize
paths viaPath.GetFullPath()before calling .NET file APIs, handling
double backslashes, SUBST drives, and mapped shares without requiring
%@truename[]on the BTM side. (issue #1) - CHECKBOX and RADIO pre-show property:
checkedproperty is now
read from the descriptor property bag during control realization, so
@FORMSETbefore@FORMSHOWworks correctly. (issues #2, #4) - DATETIMEPICKER value get/set: new
valueproperty for setting
and reading the date (ISO 8601 format) both before and after
@FORMSHOW. (issue #3) - RADIO checked get/set:
@FORMGETand@FORMSETfor thechecked
property now work on RADIO controls, matching CHECKBOX and TOGGLE
behavior. (issue #4) - Test suite: catch
BadImageFormatExceptionin P/Invoke error
handlers so all 579 tests pass regardless of test runner bitness.
Changed
- Centralized version: version number moved to
Directory.Build.props
so all projects inherit from one place.
1.1.0 -- 2026-05-27
Fixed
- Unload no longer kills persistent TCC sessions:
formcast-check.btm
now checks%_transientinstead of%_parentcontainingexplorer,
so only double-click-spawned windows auto-close on unload. - Template loading on SUBST/mapped drives: all
@FORMLOADcalls in
example BTMs now resolve paths through@truenamebefore passing to
.NET, matching the pattern already used forplugin /l.
Changed
- Flat release zip: DLLs and
FormCast.Host.exeare now in the zip
root instead of abin/subfolder. Install docs updated to match
(e.g.C:\FormCast\FormCast.dllinstead ofC:\FormCast\bin\FormCast.dll).
1.0.0 -- 2026-04-22
First public release.
Added
- Control surface: 39 control types including TOGGLE, MENUSTRIP,
TOOLBAR, STATUSBAR, CONTEXTMENU, SEPARATOR, TABCONTROL, DATAGRID,
TREEVIEW, SPLITCONTAINER, FLOWPANEL, TABLEPANEL, WEBBROWSER, and
RICHMEMO. 6 common dialogs: Open File, Save File, Browse Folder,
Color Picker, Font Picker, Task Dialog. - Layout managers:
absolute,flow,grid,dock, with nested
PANELcontainers that carry their own layout. - Events:
FORMEVENTSpolling pipe;@FORMBINDdeclarative event
bindings (click, change, focus, blur, dblclick, keypress, close);
theevents_pendingbit forON CONDITION-driven polling. - Modal forms via
@FORMSHOW[h,modal]with optional timer
auto-dismiss. - FORMPIPE streaming command for piping command output into a MEMO
or RICHMEMO control (dir /b | FORMPIPE %h memo). - JSONC templates with
${var}substitution,_bind.clickprops
activated by@FORMAPPLYBINDINGS, and a JSON Schema for editor
validation. - Appearance:
backcolor,forecolor,font, andtheme
(system/dark/light) with DWM dark title bar;anchorfor resize
behavior; 216 stock icons across 16 categories. - Standalone app mode via
myapp.btm /appand@FORMCONSOLE[hide],
with zero-flash desktop-shortcut support. - Visual designer (Toolbox / Canvas / Properties) with multi-select,
align / distribute / same-size, undo / redo, cut / copy / paste,
context menus, keyboard shortcuts, and JSONC save/load. FormCast.Host.exescaffolding for cross-processGlobal\
form handles (IRemoteFormRegistryintegration in v1.x).- Forced-shutdown contract:
plugin /u FormCastcloses every
realized window before returning. - Test coverage: 579 xUnit tests across the plugin and host; a
119-case TCC integration + smoke suite covering the designer,
templates, events, and plugin lifecycle.
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Changelog
All notable changes to FormCast are documented in this file.
The format follows Keep a Changelog 1.1,
and the project adheres to Semantic Versioning 2.0.
See README.md for the feature overview and install instructions.
1.1.1 -- 2026-05-27
Fixed
- Path normalization in template I/O:
@FORMLOAD,@FORMIMPORT,
@FORMSAVE,@FORMSAVEIMAGE, and@FORMSAVECOMPOSITEnow normalize
paths viaPath.GetFullPath()before calling .NET file APIs, handling
double backslashes, SUBST drives, and mapped shares without requiring
%@truename[]on the BTM side. (issue #1) - CHECKBOX and RADIO pre-show property:
checkedproperty is now
read from the descriptor property bag during control realization, so
@FORMSETbefore@FORMSHOWworks correctly. (issues #2, #4) - DATETIMEPICKER value get/set: new
valueproperty for setting
and reading the date (ISO 8601 format) both before and after
@FORMSHOW. (issue #3) - RADIO checked get/set:
@FORMGETand@FORMSETfor thechecked
property now work on RADIO controls, matching CHECKBOX and TOGGLE
behavior. (issue #4) - Test suite: catch
BadImageFormatExceptionin P/Invoke error
handlers so all 579 tests pass regardless of test runner bitness.
Changed
- Centralized version: version number moved to
Directory.Build.props
so all projects inherit from one place.
1.1.0 -- 2026-05-27
Fixed
- Unload no longer kills persistent TCC sessions:
formcast-check.btm
now checks%_transientinstead of%_parentcontainingexplorer,
so only double-click-spawned windows auto-close on unload. - Template loading on SUBST/mapped drives: all
@FORMLOADcalls in
example BTMs now resolve paths through@truenamebefore passing to
.NET, matching the pattern already used forplugin /l.
Changed
- Flat release zip: DLLs and
FormCast.Host.exeare now in the zip
root instead of abin/subfolder. Install docs updated to match
(e.g.C:\FormCast\FormCast.dllinstead ofC:\FormCast\bin\FormCast.dll).
1.0.0 -- 2026-04-22
First public release.
Added
- Control surface: 39 control types including TOGGLE, MENUSTRIP,
TOOLBAR, STATUSBAR, CONTEXTMENU, SEPARATOR, TABCONTROL, DATAGRID,
TREEVIEW, SPLITCONTAINER, FLOWPANEL, TABLEPANEL, WEBBROWSER, and
RICHMEMO. 6 common dialogs: Open File, Save File, Browse Folder,
Color Picker, Font Picker, Task Dialog. - Layout managers:
absolute,flow,grid,dock, with nested
PANELcontainers that carry their own layout. - Events:
FORMEVENTSpolling pipe;@FORMBINDdeclarative event
bindings (click, change, focus, blur, dblclick, keypress, close);
theevents_pendingbit forON CONDITION-driven polling. - Modal forms via
@FORMSHOW[h,modal]with optional timer
auto-dismiss. - FORMPIPE streaming command for piping command output into a MEMO
or RICHMEMO control (dir /b | FORMPIPE %h memo). - JSONC templates with
${var}substitution,_bind.clickprops
activated by@FORMAPPLYBINDINGS, and a JSON Schema for editor
validation. - Appearance:
backcolor,forecolor,font, andtheme
(system/dark/light) with DWM dark title bar;anchorfor resize
behavior; 216 stock icons across 16 categories. - Standalone app mode via
myapp.btm /appand@FORMCONSOLE[hide],
with zero-flash desktop-shortcut support. - Visual designer (Toolbox / Canvas / Properties) with multi-select,
align / distribute / same-size, undo / redo, cut / copy / paste,
context menus, keyboard shortcuts, and JSONC save/load. FormCast.Host.exescaffolding for cross-processGlobal\
form handles (IRemoteFormRegistryintegration in v1.x).- Forced-shutdown contract:
plugin /u FormCastcloses every
realized window before returning. - Test coverage: 579 xUnit tests across the plugin and host; a
119-case TCC integration + smoke suite covering the designer,
templates, events, and plugin lifecycle.
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Changelog
All notable changes to FormCast are documented in this file.
The format follows Keep a Changelog 1.1,
and the project adheres to Semantic Versioning 2.0.
See README.md for the feature overview and install instructions.
Unreleased
1.1.0 -- 2026-05-27
Fixed
- Unload no longer kills persistent TCC sessions:
formcast-check.btm
now checks%_transientinstead of%_parentcontainingexplorer,
so only double-click-spawned windows auto-close on unload. - Template loading on SUBST/mapped drives: all
@FORMLOADcalls in
example BTMs now resolve paths through@truenamebefore passing to
.NET, matching the pattern already used forplugin /l.
Changed
- Flat release zip: DLLs and
FormCast.Host.exeare now in the zip
root instead of abin/subfolder. Install docs updated to match
(e.g.C:\FormCast\FormCast.dllinstead ofC:\FormCast\bin\FormCast.dll).
1.0.0 -- 2026-04-22
First public release.
Added
- Control surface: 39 control types including TOGGLE, MENUSTRIP,
TOOLBAR, STATUSBAR, CONTEXTMENU, SEPARATOR, TABCONTROL, DATAGRID,
TREEVIEW, SPLITCONTAINER, FLOWPANEL, TABLEPANEL, WEBBROWSER, and
RICHMEMO. 6 common dialogs: Open File, Save File, Browse Folder,
Color Picker, Font Picker, Task Dialog. - Layout managers:
absolute,flow,grid,dock, with nested
PANELcontainers that carry their own layout. - Events:
FORMEVENTSpolling pipe;@FORMBINDdeclarative event
bindings (click, change, focus, blur, dblclick, keypress, close);
theevents_pendingbit forON CONDITION-driven polling. - Modal forms via
@FORMSHOW[h,modal]with optional timer
auto-dismiss. - FORMPIPE streaming command for piping command output into a MEMO
or RICHMEMO control (dir /b | FORMPIPE %h memo). - JSONC templates with
${var}substitution,_bind.clickprops
activated by@FORMAPPLYBINDINGS, and a JSON Schema for editor
validation. - Appearance:
backcolor,forecolor,font, andtheme
(system/dark/light) with DWM dark title bar;anchorfor resize
behavior; 216 stock icons across 16 categories. - Standalone app mode via
myapp.btm /appand@FORMCONSOLE[hide],
with zero-flash desktop-shortcut support. - Visual designer (Toolbox / Canvas / Properties) with multi-select,
align / distribute / same-size, undo / redo, cut / copy / paste,
context menus, keyboard shortcuts, and JSONC save/load. FormCast.Host.exescaffolding for cross-processGlobal\
form handles (IRemoteFormRegistryintegration in v1.x).- Forced-shutdown contract:
plugin /u FormCastcloses every
realized window before returning. - Test coverage: 579 xUnit tests across the plugin and host; a
119-case TCC integration + smoke suite covering the designer,
templates, events, and plugin lifecycle.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Changelog
All notable changes to FormCast are documented in this file.
The format follows Keep a Changelog 1.1,
and the project adheres to Semantic Versioning 2.0.
See README.md for the feature overview and install instructions.
Unreleased
1.0.0 -- 2026-04-22
First public release.
Added
- Control surface: 39 control types including TOGGLE, MENUSTRIP,
TOOLBAR, STATUSBAR, CONTEXTMENU, SEPARATOR, TABCONTROL, DATAGRID,
TREEVIEW, SPLITCONTAINER, FLOWPANEL, TABLEPANEL, WEBBROWSER, and
RICHMEMO. 6 common dialogs: Open File, Save File, Browse Folder,
Color Picker, Font Picker, Task Dialog. - Layout managers:
absolute,flow,grid,dock, with nested
PANELcontainers that carry their own layout. - Events:
FORMEVENTSpolling pipe;@FORMBINDdeclarative event
bindings (click, change, focus, blur, dblclick, keypress, close);
theevents_pendingbit forON CONDITION-driven polling. - Modal forms via
@FORMSHOW[h,modal]with optional timer
auto-dismiss. - FORMPIPE streaming command for piping command output into a MEMO
or RICHMEMO control (dir /b | FORMPIPE %h memo). - JSONC templates with
${var}substitution,_bind.clickprops
activated by@FORMAPPLYBINDINGS, and a JSON Schema for editor
validation. - Appearance:
backcolor,forecolor,font, andtheme
(system/dark/light) with DWM dark title bar;anchorfor resize
behavior; 216 stock icons across 16 categories. - Standalone app mode via
myapp.btm /appand@FORMCONSOLE[hide],
with zero-flash desktop-shortcut support. - Visual designer (Toolbox / Canvas / Properties) with multi-select,
align / distribute / same-size, undo / redo, cut / copy / paste,
context menus, keyboard shortcuts, and JSONC save/load. FormCast.Host.exescaffolding for cross-processGlobal\
form handles (IRemoteFormRegistryintegration in v1.x).- Forced-shutdown contract:
plugin /u FormCastcloses every
realized window before returning. - Test coverage: 579 xUnit tests across the plugin and host; a
119-case TCC integration + smoke suite covering the designer,
templates, events, and plugin lifecycle.
Full Changelog: https://github.com/Tim-Butterfield/FormCast/commits/v1.0.0