Skip to content

v1.4.0 - Configure v2 & Script Package

Compare
Choose a tag to compare
@TheQwertiest TheQwertiest released this 11 Feb 18:13
· 149 commits to master since this release

Changelog

See docs for the detailed description of API changes.

Added

  • Added a brand new Configure dialog!
  • Added more ways to consume scripts:
    • Quick access to built-in script samples.
    • Load scripts by path.
    • Use script packages (see below for more info).
  • Implemented script package support:
    • Can contain multiple scripts and assets.
    • Can be easily exported and imported as a single file.
    • Has a package manager to view and manage all installed packages.
  • Panel name can be changed now via Configure dialog.
  • Default script editor can be changed now via drop-down menu of Edit button in Configure dialog.
  • Added a link to component docs to foobar2000 Help main menu.
  • API changes:
    • Added iterator protocol support to FbMetadbHandleList.
    • Added type argument to FbUiSelectionHolder.SetSelection().
    • Added fb.Version property.
    • Added utils.DetectCharset() method.
    • Added utils.EditTextFile() method.
    • Added utils.FileExists() method.
    • Added utils.GetFileSize() method.
    • Added utils.GetPackagePath() method.
    • Added utils.IsDirectory() method.
    • Added utils.IsFile() method.
    • Added utils.SplitFilePath() method.
    • Added window.DefineScript() method.
    • Added window.EditScript() method.
    • Added window.ShowConfigureV2() method.
    • Added window.JsMemoryStats property.
    • Added window.ScriptInfo property.

Changed

  • Moved Properties dialog to a separate tab of Configure dialog.
  • Grab focus is now a script property and is defined via window.DefineScript().
  • Extracted Edge style and Pseudo-transparency options to a separate tab of Configure dialog.
  • API changes:
    • utils.FileTest() is marked as [Deprecated]. Use new corresponding methods instead.
    • window.ID is now optional and unused in all methods that required it.
    • window.DefinePanel() is marked as [Deprecated]. Use window.DefineScript() instead.
    • window.MemoryLimit, window.PanelMemoryUsage and window.TotalMemoryUsage are marked as [Deprecated]. Use window.JsMemoryStats instead.
    • window.Name now returns panel name instead of script name. Use window.ScriptInfo.Name to retrieve script name.
    • window.ShowConfigure() is marked as [Deprecated]. Use window.ShowConfigureV2() to configure panel and window.EditScript to edit script.

Fixed

  • Fixed component crash when passing objects to console.log().
  • Fixed component crash when there is a stack overflow in JS.
  • Fixed the weird image offset when using fb.DoDragDrop() with custom image and theming disabled.
  • Fixed utils.ShowHtmlDialog() not applying IE mode, when HTML code is passed directly to the method.
  • Various ActiveXObject fixes:
    • Errors in callbacks passed to ActiveXObject objects and methods are now properly propagated to the script.
    • Fixed inability to use subscripts with some ActiveXObject objects.
    • Added iterator protocol support to enumerable ActiveXObject objects.
  • Fixed various errors in complete samples (by marc2003).