Overview | News | Windows | macOS | Android | iOS | Audio Formats | Components | Encoder Pack | Screenshots | Help & Support | Developer | Old Versions
Releases of Spider Monkey Panel
1.6.1 current version, released on: 2022-01-13
Hotfix for 1.6.0.
Changed
Fixed
Changed
-
API changes:
- Reverted changes in `window.NotifyOthers()` behaviour. Now it's executed synchronously as before.
Fixed
- Fixed various bugs in the event handling system, which were causing unexpected behaviour and crashes.
- Fixed right-mouse-btn-down and middle-mouse-btn-down events not being processed.
1.6.0 released on: 2021-09-10
Added
Changed
Fixed
- Added WIC support in image and art loaders, which enables WebP support (see FAQ for more info).
-
API changes:
- Added `IsInternal` field to `action` argument (that is passed to `on_drag_*` callbacks).
-
Added ability to generate main menu items dynamically and handle it via the following API:
- `fb.RegisterMainMenuCommand()`.
- `fb.UnregisterMainMenuCommand()`.
- `on_main_menu_dynamic()` callback.
-
Expanded playlist *undo* API:
- `plman.Undo()`.
- `plman.Redo()`.
- `plman.IsUndoAvailable()`.
- `plman.IsRedoAvailable()`.
- Added `spectrogram seekbar.js` sample (by marc2003).
Changed
- Reimplemented event handling system.
-
API changes:
- `window.NotifyOthers()` is now executed asynchronously.
- `fb.DoDragDrop()` is now executed asynchronously.
- `on_main_menu()` callback is marked as [Deprecated]. Use dynamically generated main menu items instead.
Fixed
- Removed unneeded writes to script package `.json`.
- Fixed drag*n*drop sometimes not working.
- Fixed timers not stopping when they should (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/135>).
1.5.2 released on: 2021-08-10
Hotfix for 1.5.0.
Changed
Fixed
Changed
- Rollbacked the fix for timers from v1.5.0, since it was causing fb2k freezes (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/135>).
Fixed
- Fixed unicode handling in script paths.
1.5.1 released on: 2021-07-03
Hotfix for 1.5.0.
Added
Fixed
Added
-
API changes:
- Added `plman.GetPlaylistLockName()` method.
Fixed
- Fixed fb2k freeze that could happen when using ActiveXObject.
1.5.0 released on: 2021-06-29
Added
Changed
Fixed
-
API changes:
- Added fine-grained playlist lock control via `plman.GetPlaylistLockedActions()` and `plman.SetPlaylistLockedActions()` (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/144>).
- Added `utils.GetPackageInfo()` method.
- Added `fb.Restart()` method.
Changed
- `utils.InputBox()` now automatically resizes to fit the text (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/71>).
- Additional properties provided by component are no longer displayed when not set (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/141>).
-
API changes:
- Added `use_exact` argument to `GdiGraphics.CalcTextWidth()` to improve width calculation accuracy in certain cases (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/140>).
- `utils.GetPackagePath()` is marked as [Deprecated]. Use `utils.GetPackageInfo()` instead.
- `plman.IsPlaylistLocked()` is marked as [Deprecated]. Use `plman.GetPlaylistLockedActions()` instead.
Fixed
- Fixed various bugs and crashes in `Configure` dialog.
- Revamped package update process to avoid potential problems when that package is being in use (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/137>).
- Fixed inability to import package if there are no packages installed (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/134>).
- `Enable drag-n-drop` checkbox value in `Configure` dialog is no longer ignored.
- Slow script detection now works inside script-editing modals (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/143>).
- Fixed incorrect relative path calculation when `include` is called from methods defined in another file (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/142>).
- Fixed timers not stopping when they should (<https://github.com/TheQwertiest/foo_spider_monkey_panel/issues/135>).
-
Fixed various errors in `complete` samples (by marc2003):
- Fixed crash on invalid query in auto-playlist script.
- Thumbs script now downloads images only when the corresponding mode is set.
1.4.1 released on: 2021-02-13
Hotfix for 1.4.0.
Changed
Fixed
Changed
- Changed casing of `window.JsMemoryStats` fields for consistency with the rest of API.
- Added indicator when panel name is overriden by the script in `Configure` dialog.
- Improved package manager behaviour in various scenarios.
Fixed
- Fixed various bugs in `Package` tab of `Configure` dialog.
- Fixed sorting of package files.
- Fixed conflict with `foo_wave_seekbar`.
- Fixed `foo_acfu` integration.
- Fixed data not refreshing on `Apply` in `Configure` dialog.
1.4.0 released on: 2021-02-11
Added
Changed
Fixed
- 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).
1.3.1 released on: 2020-07-18
Hotfix for 1.3.0.
Fixed
Fixed
- Fixed `FbTooltip.SetFont()` not working.
- Fixed a memory leak when using `window.Tooltip`.
- Fixed task id collision in `gdi.LoadImageAsync()`.
1.3.0 released on: 2020-07-10
Added
Changed
Fixed
- Re-added ability to automatically download thumbnail images to `thumbs.js` sample (by @marc2k3).
- Added missing documentation for `fb.GetDSPPresets()` and `fb.SetDSPPreset()`.
-
API changes:
- Added `GdiBitmap.InvertColours()` method (by @kbuffington).
- Added `ActiveXObject.ActiveX_CreateArray()` method.
- Added `window.Tooltip` property.
- Added `FbTooltip.SetFont()` method.
- Deprecated `window.CreateTooltip()` method.
Changed
-
Updated SpiderMonkey JavaScript engine to 68.8.0 ESR:
- ECMAScript 2019 conformant JavaScript.
- Various performance improvements and bug fixes.
- Adjusted a "Function failed successfully" error message (e.g. when running out of GDI handles).
- Updated `Tooltip` sample.
Fixed
- Fixed incorrect sorting in `FbMetadbHandleList.OrderByRelativePath()`.
- Fixed `fb.GetDSPPresets()`: now it returns a proper value.
- Fixed `fb.IsMainMenuCommandChecked()` not working with hidden by default menu items.
- Fixed garbled error messages on systems with non-English locale.
- Fixed `Replace All` action and RegExp handling in `Find/Replace` dialog.
- Fixed crash in some of `.js` samples when deleting a file via context menu.
1.2.3 released on: 2020-02-04
Added
Changed
Fixed
-
Moved documentation from Wiki to a new homepage: <https://theqwertiest.github.io/foo_spider_monkey_panel>:
- Contains JS documentation for the latest release.
- Contains script showcase with basic information about sample scripts and user-made scripts.
-
Updated `FindReplace` dialog in `Configure`:
- Added wrap-around support.
- Dialog is transparent when unfocused.
- Made `Go to` dialog in `Configure` modeless.
Changed
-
Reimplemented `FbMetadbHandleList::OrderByRelativePath`:
- Uses MUCH less memory.
- Faster by 10% (on sorted list) to 500% (on unsorted list).
- Adjusted codepage detection with various file handling methods.
- Adjusted playlist lock check during drag-n-drop and `plman.AddLocations`: now only `playlist_lock::filter_add` flag is checked.
- Removed unneeded `on_size` call.
- Adjusted component initialization time reported in console to be more accurate.
-
Updated marc2003 scripts:
- Note: `ListenBrainz` sample was removed - use <https://github.com/marc2k3/foo_listenbrainz2> instead.
Fixed
- Fixed rare crash when using `utils.RunMainMenuCommand` and `utils.IsMainMenuCommandChecked`.
- Fixed crash when working with COM on systems with non English locale.
- Fixed `window.GetProperty` not working when name contained whistespace at the beggining.
- Fixed other various crashes.
- Fixed occasional double error report in console.
- Fixed crashes in `jsplaylist-mod` and other complete samples (by marc2003).