WinFBE Changelog

What's new in WinFBE 3.1.0

Jun 5, 2023
  • Version 3.1.0 (June 4, 2023):
  • Updated included FreeBasic Compiler to version 1.10 (located in toolchain: "FreeBASIC-1.10.0-winlibs-gcc-9.3.0").
  • Editor:
  • Fixed "Quick Run" bug for non-Latin text (eg. Chinese) where editor text was not correctly converted to unicode text.
  • Changed "Quick Run" to save to UTF-8 encoded file rather than UTF-16.
  • Added recognize VAR keyword in parser for dimension variables in order to popup codetips (same behaviour as DIM and REDIM).
  • Updated WinFBX library source files to the latest version per Jose Roca's Github.

New in WinFBE 3.0.8 (Jan 17, 2023)

  • Editor:
  • Updated the Scintilla DLL's to the latest version 5.3.2 (Dec 6, 2022).
  • Modified the Scintilla & Lexilla DLL's to fix a long standing syntax coloring issue whereby code appearing after a pound sign character ("#") would not be syntax highlighted.
  • Modified AutoCompletion to always insert the corresponding completion statement (eg. Next, End If, End Select, Wend...).
  • Fixed bug in UnicodeToUtf8 conversion function that could corrupt some foriegn characters by removing trailing null characters. This impacted the output of visual designer *.design files.
  • Fixed minor parser bug that would not complete the parse of an "end constructor" or "end destructor" correctly.

New in WinFBE 3.0.7 (Jan 2, 2023)

  • Editor:
  • Fixed issue causing full Windows Desktop refresh that could cause flicker in other applications whenever the left mouse button pressed in WinFBE.
  • Visual Designer:
  • Fixed bug loading Form Design files containing foreign characters (for example Chinese language).
  • Fixed bug saving text to visual designer *.DESIGN json files that contain embedded single quote character.
  • Fixed logic related to "Display on Form" checkbox for Menu, ToolBar and StatusBar editor dialogs.

New in WinFBE 3.0.6 (Dec 19, 2022)

  • Fixed parser bug causing duplicate events when TYPE/END TYPE structure exists inside visual designer Form file.

New in WinFBE 3.0.5 (Dec 14, 2022)

  • Editor:
  • Fixed duplicate events when loading Form file via MRU list or drag/drop into editor from outside of a Project.
  • Fixed issue whereby files added to Project via MRU list or drag/drop would not show in the Explorer list.

New in WinFBE 3.0.4 (Dec 14, 2022)

  • Editor:
  • Fixed ENUM code parsing and autocomplete popup.
  • Fixed DIM AS autocomplete popup not reducing popup list as word is being typed.
  • Fixed regression whereby Ctrl+S Save (or SaveAs) with no open documents would crash the application.
  • Visual Designer:
  • Added Button control propert (ImageAlign) to position an image within the button.
  • Corrected issues with selected Button image properties properly being reflected for the button during design time.
  • Form files would have their file encoding reset to ANSI on subsequent reloading of the project.
  • New Projects created with a Visual Designer template would not have the new Form located in the Normal section of the Explorer treeview.
  • Fixed regression. The popup code completion intellisense now correctly displays popup list for WinFormsX global variables "Colors" and "Application".
  • Added MCS_DAYSTATE style for MonthCalendar allowing the user to correctly handle the MCN_GETDAYSTATE notification in their form's AllEvents handler.

New in WinFBE 3.0.3 (Nov 24, 2022)

  • Fixed bug whereby SaveAs dialog would appear for Quick Run files.

New in WinFBE 3.0.2 (Nov 24, 2022)

  • Editor:
  • Fixed bug where WinFBE 64-bit only would GPF if currently loaded file is edited by an external editor causing WinFBE to reload the file.
  • Fixed bug where focus would be lost from the Find textbox as the user typed a search word and a corresponding match was found.
  • Fixed bug where an invalid startup position for the editor would be saved if WinFBE closed while it is minimized to the Windows Taskbar.
  • Added new internal code parser that creates codetips and autocomplete popups.
  • Fixed GPF for WinFBE 64-bit that was caused by some leftover array code from cache system that was removed from earlier BETA.
  • In-memory parser database not cleared when the same Project loaded multiple times resulting in duplicate entries in the Functions list.
  • Visual Designer:
  • MAJOR FILE FORMAT CHANGE: Form data separated from code file and is now saved to external file with *.design file extension.
  • Existing visual designer files are saved with a "*.backup-before-upgrade" file extension prior to the new file format upgrade in case something goes wrong and the user needs revert to the older file.
  • When selecting a control from the toolbox and then just clicking on a form (not "drawing" it), it creates a control with a height and width of 0. There are now default sizes for all controls that may be created too small.
  • When double-clicking an event in the toolbox, automatically enable that event, create the placeholder (if needed) and switch to that event in the code view.
  • When double-clicking a control in design view, automatically switch to the code view for the default event handler for that control (e.g.: the _Click handler if it's a button).
  • Listview was not clearing columns/rows when a form is reused (e.g. via popup form).
  • Added Listview property (HeaderThemed) to enable/disable theme drawing for the header portion of the Listview.
  • The ability to set the default control font name and size for all new controls created for a project, rather than always defaulting to Segoe UI 9pt.
  • Added Button control property (AllowFocusRect) to enable/disable drawing the rectangle around the button when it has focus. Only valid if Theme property is False.
  • Added Button control property (TextForeColorHot) to set text color when mouse hovers over the button. Only valid if Theme property is False.
  • Added Control property (Anchor) which allows you to specify layout resize/movement at design time (uses the WinFBX CLayout class behind the scenes).
  • Added Anchor property for Forms.
  • Added ChildFormParent property for Forms.
  • Added check to prevent duplicate code output into the resource file for images with the same path and filename as this would cause a compile error.
  • Added code to ensure that when saving Form data it is output to the JSON design file prior to any Controls on the form, otherwise a GPF may occur when loading.
  • Added code that will update or add to existing SELECT CASE event structures in generated code for MENUS, STATUSBARS, and TOOLBARS.
  • Added TextBox and RichEdit control property (MaxLength).
  • Fixed display of Frame control text background color in both the visual designer and code generation.
  • Added Button control property (MultiLine).
  • Replaced existing fbJSON parser with the cJSON "C" based parser (32 and 64 bit DLL's).

New in WinFBE 3.0.2 Beta 5 (Nov 6, 2022)

  • Editor:
  • Fixed bug where WinFBE 64-bit only would GPF if currently loaded file is edited by an external editor causing WinFBE to reload the file.
  • Fixed bug where focus would be lost from the Find textbox as the user typed a search word and a corresponding match was found.
  • Fixed bug where an invalid startup position for the editor would be saved if WinFBE closed while it is minimized to the Windows Taskbar.
  • Added new internal code parser that creates codetips and autocomplete popups.
  • Fixed GPF for WinFBE 64-bit that was caused by some leftover array code from cache system that was removed from earlier BETA.
  • In-memory parser database not cleared when the same Project loaded multiple times resulting in duplicate entries in the Functions list.
  • Visual Designer:
  • MAJOR FILE FORMAT CHANGE: Form data separated from code file and is now saved to external file with *.design file extension.
  • Existing visual designer files are saved with a "*.backup-before-upgrade" file extension prior to the new file format upgrade in case something goes wrong and the user needs revert to the older file.
  • When selecting a control from the toolbox and then just clicking on a form (not "drawing" it), it creates a control with a height and width of 0. There are now default sizes for all controls that may be created too small.
  • When double-clicking an event in the toolbox, automatically enable that event, create the placeholder (if needed) and switch to that event in the code view.
  • When double-clicking a control in design view, automatically switch to the code view for the default event handler for that control (e.g.: the _Click handler if it's a button).
  • Listview was not clearing columns/rows when a form is reused (e.g. via popup form).
  • Added Listview property (HeaderThemed) to enable/disable theme drawing for the header portion of the Listview.
  • The ability to set the default control font name and size for all new controls created for a project, rather than always defaulting to Segoe UI 9pt.
  • Added Button control property (AllowFocusRect) to enable/disable drawing the rectangle around the button when it has focus. Only valid if Theme property is False.
  • Added Button control property (TextForeColorHot) to set text color when mouse hovers over the button. Only valid if Theme property is False.
  • Added Control property (Anchor) which allows you to specify layout resize/movement at design time (uses the WinFBX CLayout class behind the scenes).
  • Added Anchor property for Forms.
  • Added ChildFormParent property for Forms.
  • Added check to prevent duplicate code output into the resource file for images with the same path and filename as this would cause a compile error.
  • Added code to ensure that when saving Form data it is output to the JSON design file prior to any Controls on the form, otherwise a GPF may occur when loading.
  • Added code that will update or add to existing SELECT CASE event structures in generated code for MENUS, STATUSBARS, and TOOLBARS.
  • Added TextBox and RichEdit control property (MaxLength).
  • Fixed display of Frame control text background color in both the visual designer and code generation.
  • Added Button control property (MultiLine).
  • Replaced existing fbJSON parser with the cJSON "C" based parser (32 and 64 bit DLL's).

New in WinFBE 3.0.2 Beta 3 (Oct 23, 2022)

  • Editor:
  • Fixed bug where WinFBE 64-bit only would GPF if currently loaded file is edited by an external editor causing WinFBE to reload the file.
  • Fixed bug where focus would be lost from the Find textbox as the user typed a search word and a corresponding match was found.
  • Fixed bug where an invalid startup position for the editor would be saved if WinFBE closed while it is minimized to the Windows Taskbar.
  • Added new internal code parser that creates codetips and autocomplete popups.
  • Visual Designer:
  • MAJOR FILE FORMAT CHANGE: Form data separated from code file and is now saved to external file with *.design file extension.
  • Existing visual designer files are saved with a "*.backup-before-upgrade" file extension prior to the new file format upgrade in case something goes wrong and the user needs revert to the older file.
  • When selecting a control from the toolbox and then just clicking on a form (not "drawing" it), it creates a control with a height and width of 0. There are now default sizes for all controls that may be created too small.
  • When double-clicking an event in the toolbox, automatically enable that event, create the placeholder (if needed) and switch to that event in the code view.
  • When double-clicking a control in design view, automatically switch to the code view for the default event handler for that control (e.g.: the _Click handler if it's a button).
  • Listview was not clearing columns/rows when a form is reused (e.g. via popup form).
  • Added Listview property (HeaderThemed) to enable/disable theme drawing for the header portion of the Listview.
  • The ability to set the default control font name and size for all new controls created for a project, rather than always defaulting to Segoe UI 9pt.
  • Added Button control property (AllowFocusRect) to enable/disable drawing the rectangle around the button when it has focus. Only valid if Theme property is False.
  • Added Button control property (TextForeColorHot) to set text color when mouse hovers over the button. Only valid if Theme property is False.
  • Added Control property (Anchor) which allows you to specify layout resize/movement at design time (uses the WinFBX CLayout class behind the scenes).
  • Added Anchor property for Forms.
  • Added ChildFormParent property for Forms.
  • Added check to prevent duplicate code output into the resource file for images with the same path and filename as this would cause a compile error.
  • Added code to ensure that when saving Form data it is output to the JSON design file prior to any Controls on the form, otherwise a GPF may occur when loading.
  • Added code that will update or add to existing SELECT CASE event structures in generated code for MENUS, STATUSBARS, and TOOLBARS.
  • Added TextBox and RichEdit control property (MaxLength).
  • Fixed display of Frame control text background color in both the visual designer and code generation.

New in WinFBE 3.0.2 Beta 2 (Oct 17, 2022)

  • Editor:
  • Fixed bug where WinFBE 64-bit only would GPF if currently loaded file is edited by an external editor causing WinFBE to reload the file.
  • Fixed bug where focus would be lost from the Find textbox as the user typed a search word and a corresponding match was found.
  • Fixed bug where an invalid startup position for the editor would be saved if WinFBE closed while it is minimized to the Windows Taskbar.
  • Visual Designer:
  • MAJOR FILE FORMAT CHANGE: Form data separated from code file and is now saved to external file with *.design file extension.
  • When selecting a control from the toolbox and then just clicking on a form (not "drawing" it), it creates a control with a height and width of 0. There are now default sizes for all controls that may be created too small.
  • When double-clicking an event in the toolbox, automatically enable that event, create the placeholder (if needed) and switch to that event in the code view.
  • When double-clicking a control in design view, automatically switch to the code view for the default event handler for that control (e.g.: the _Click handler if it's a button).
  • Listview was not clearing columns/rows when a form is reused (e.g. via popup form).
  • Added Listview property (HeaderThemed) to enable/disable theme drawing for the header portion of the Listview.
  • The ability to set the default control font name and size for all new controls created for a project, rather than always defaulting to Segoe UI 9pt.
  • Added Button control property (AllowFocusRect) to enable/disable drawing the rectangle around the button when it has focus. Only valid if Theme property is False.
  • Added Button control property (TextForeColorHot) to set text color when mouse hovers over the button. Only valid if Theme property is False.
  • Added Control property (Anchor) which allows you to specify layout resize/movement at design time (uses the WinFBX CLayout class behind the scenes).
  • Added Anchor property for Forms.
  • Added ChildFormParent property for Forms.
  • Added new (mostly complete) internal code parser that creates codetips and autocomplete popups.

New in WinFBE 3.0.2 Beta 1 (Oct 11, 2022)

  • Editor:
  • Fixed bug where WinFBE 64-bit only would GPF if currently loaded file is edited by an external editor causing WinFBE to reload the file.
  • Fixed bug where focus would be lost from the Find textbox as the user typed a search word and a corresponding match was found.
  • Visual Designer:
  • MAJOR FILE FORMAT CHANGE: Form data separated from code file and is now saved to external file with *.design file extension.
  • When selecting a control from the toolbox and then just clicking on a form (not "drawing" it), it creates a control with a height and width of 0. There are now default sizes for all controls that may be created too small.
  • When double-clicking an event in the toolbox, automatically enable that event, create the placeholder (if needed) and switch to that event in the code view.
  • When double-clicking a control in design view, automatically switch to the code view for the default event handler for that control (e.g.: the _Click handler if it's a button).
  • Listview was not clearing columns/rows when a form is reused (e.g. via popup form).
  • Added Listview property (HeaderThemed) to enable/disable theme drawing for the header portion of the Listview.
  • The ability to set the default control font name and size for all new controls created for a project, rather than always defaulting to Segoe UI 9pt.
  • Added Button control property (AllowFocusRect) to enable/disable drawing the rectangle around the button when it has focus. Only valid if Theme property is False.
  • Added Button control property (TextForeColorHot) to set text color when mouse hovers over the button. Only valid if Theme property is False.
  • Added Control property (Anchor) which allows you to specify layout resize/movement at design time (uses the WinFBX CLayout class behind the scenes).

New in WinFBE 3.0.1 (Jun 6, 2022)

  • Editor:
  • "Save All" was not correctly adding the saved file to the Explorer list.
  • When closing all files sometimes not positioning editor to a dirty file that needed to be saved.
  • Enable/Disable "Highlight current line" editor option would not honor the theme color.
  • Toggling a Bookmark by clicking in the Bookmark margin would not visually update the Bookmarks list in the Explorer window.
  • Changed the statusbar positions for Line/Col and Build Configuration.
  • When a visual design Form is active, pressing TAB character would insert the TAB character into the underlying code editor.
  • Corrected "Append loop variable to For/Next statement" in cases where the variable did not immediately have a space character after it.
  • Visual Designer:
  • Several items in the Designer top menu were not being enabled/disabled correctly.
  • Possible that Form files would not have their dirty flag correctly maintained if AutoSave was active.
  • Adding an image to a TabControl tab header could cause a GPF resulting in WinFBE to crash.

New in WinFBE 3.0.0 (May 24, 2022)

  • Editor:
  • Complete re-write of main editor UI to have a look and feel more in line with modern code editors.
  • Updated to Scintilla Version 5.1.5 (Dec 7, 2021). Also, switched to use Lexilla.dll with custom lexer called lexWinFBE that handles the FreeBasic lexing.
  • All new Theme system. All colors (RGB) can be edited in external .theme files found in the themes folder.
  • Added Windows API keywords and syntax highlighting.
  • New Bookmarks list that shows all bookmarks from all open (and closed) files. Easily navigate or clear bookmarks throughout all files.
  • New option to save/restore "session". Allow reloading and showing of files active during most previous editor use. Will reload a project should a project had been active. Editor state (open windows, editing position, selected compiler, etc) is saved and restored.
  • Added Environment option to automatically load the last used Session file when the editor starts. If the last Session saved was a Project, then the project will be loaded.
  • New keyboard binding mapping allowing the user to choose their own keyboard shortcuts for various editor functions.
  • New Auto Save functionality. When enabled, unsaved files will be periodically saved to temporary files. In the event of crash, these files will be ask to be used when the editor next attempts to load the crashed file.
  • New Font option (Environment Options / Colors and Fonts) to allow for extra spacing between editor lines on screen.
  • Re-worked portions of Code Folding to make it visually more appealing.
  • Changed some default Code Folding keyboard shortcuts because "Alt" based shortcut would sometimes invoke Windows system functionality.
  • Changed logic of "Toggle Current and All Below" folding to now work on fold levels inside a function that of greater depth than the fold level being toggle. Previously, this function only worked on base level fold points (basically, the sub/function line and all other sub/functions below it in the source code). This new logic makes it easier to fold/unfold code blocks from deep with a particular function making it somewhat more usable in practice than the old logic.
  • Greatly increased the Font selector combobox (Environment Options / Colors and Fonts) so it should be easier now to pick fonts that have long descriptive names.
  • Multiple code editor text selections is now enabled. Hold CTRL and highlight multiple areas of text.
  • Editor will try to gracefully fallback amongst various monospaced fonts should the previously selected font in the config file no longer exist. This can occur, for example, if you switch to different computers without the same fonts installed, or you switch between Windows and Linux (Wine).
  • Replace All actions are now batched allowing Ctrl+Z Undo to undo all of the changes made, not just the last one.
  • Changed Replace keyboard short from Ctrl+R to Ctrl+H to be in line with the vast number of other editors that use the Ctrl+H shortcut.
  • Added the forward slash ('/') key shortcut for commenting lines (in addition to the current 'B' key option).
  • Removed the ancient Win32 api help file and the menu option to invoke it.
  • Removed main editor Toolbar to be consistent with most other modern editors that have foregone the use of a dedicated toolbar.
  • When files added to a Project, newly added *.BAS files are now treated as NORMAL rather than MODULE files.
  • Tweaked "Check for Updates" to provide more reliable reporting in the event of failure to retrieve information from the server.
  • Tweaked the F3 and Shift+F3 accelerator that will Find Next/Prev the last highlighted search text. It is now more consistent by not being reset to a different search term under some situations.
  • Re-worked the Find/Replace popup dialog to be visually more appealing and to work better with keyboard. Added keyboard shortcuts for some find/replace actions (for example, Ctrl+Alt+Enter to Replace All).
  • Added keyboard shortcut "CTRL+~" (ctrl+tilde) to allow you to move keyboard focus back to the active editing window. This is useful, for example, for jumping between the editing window and the Find/Replace dialog.
  • Added keyboard shortcuts to move to next and move to previous compiler errors. This is a quick way to jump to and fix errors without having to use your mouse to double click the compiler error message in the Output window.
  • Added "Explorer Categories" that allow user defined custom nodes to display in the Explorer window (only when used with an active Project).
  • The Explorer window now allows for multiple nodes to be selected (via Ctrl or Shift) and to popup right-click menu to perform actions on the group of selected nodes (for example, to re-designate files to different FileTypes, etc).
  • Code Fold points are now saved between Project and/or Sessions in the same manner as Bookmarks are treated.
  • Disabled the functionality whereby if Find/Replace dialog is open and user switches to a different tab in the editor, then search highlights would automatically reposition the caret to the first found find text in the newly selected tab.
  • Bookmark searches for Previous/Next Bookmark will now display in center of screen if Environment option "Position searches to middle of screen" is enabled.
  • Find In Files corrected to properly process . files. In situations of . searches known binary formats are bypassed (eg. EXE, DLL, BMP, etc).
  • Corrected issues whereby Replace All could fail to replace matching entries near the end of the edit buffer.
  • Implemented Preserve Case option for Find/Replace. Currently, only supports preserve Full Upper Case or Full Lower Case preserve case replace.
  • Added (-gen gas64) option for Build Configurations.
  • Fixed bug whereby FindReplace window would not close when all other underlying code windows have been closed.
  • Added ability to disable the default keyboard shortcut for each keyboard shortcut.
  • Fixed issue whereby edit window would lose focus if pasting text while the Find/Replace dialog is active.
  • Fixed SetCompilerPathsII user tool being generated for new default winfbe configuration files.
  • Fixed "Convert to Mixed Case" keyboad shortcut from Ctrl+Alt+M to Ctrl+Alt+X.
  • Added right click popup menus for cut/copy/paste for textboxes that were changed to RichEdit (Find/Replace/CompilerLog/Notes).
  • Added popup tooltip for Function list that displays the function prototype. Easier now to differentiate between overloaded functions.
  • Fixed selecting function with multiple overloads would incorrectly always position the editor to the first instance of that function.
  • Added some bcrypt* Win32 api keywords to the default winapi_keywords.txt file.
  • Fixed issue whereby deleting a User Tool would result in a ghost entry in the User Tool top menu until the program was restarted.
  • Updated the SetCompilerSwitchesII user tool to the latest version.
  • Visual Designer:
  • New control property hWindowToolTip which will retrieve the windows handle for any tooltip created for a control.

New in WinFBE 2.2.0 (Apr 18, 2022)

  • Previous upload for version 2.1.9 did not include GCC toolchain for 32-bit FBC. It is now included so you can use the -gen gcc compiler flag to create 32-bit programs.