Skip to content



  • Fix bug when using window.Reload() from inside the on_mouse_rbtn_up callback.
  • Fix issue introduced in 3.4.20 where main menu items created as keyboard shortcuts only (never displayed) were not executed by fb.RunMainMenuCommand.
  • Fix Smooth Playlist Manager bug where it didn't auto scroll to the active playlist on startup.


  • The following plman methods used to return a boolean value to indicate success but they have now been updated to not return any value.
    Most already have playlistIndex checks in place to throw script errors if they are invalid. The correct thing to do in most instances is to check playlist lock status before attempting any action. There are functions in helpers.txt to assist with this.


  • Add fb.VersionString property. Provides the same string as %_foobar2000_version% but has [x86] or [x64] appended if using foobar2000 2.0 or later.
  • The Status Bar sample has been updated to display the above version string when playback is stopped. Existing users will need to re-import using the Samples button.
  • Update JS Playlist / Smooth Playlist so the focus item is indicated when nothing is selected.


  • Improve Smooth Browser multi-select with Shift key support.
  • Various other Smooth fixes.


  • Smooth Browser now supports multiple selections with the Ctrl key. It's only available in Library mode.
  • Fix stupid Smooth Browser filter bug introduced in 3.4.25.


  • Smooth Browser now has 2 display modes only. See the Gallery page for full details. This forum post contains the previous version if anyone wants it.
  • Various other Smooth fixes.




  • Smooth Browser has been updated with a playlist mode. See the Gallery page for full details.



  • Smooth Browser and Smooth Playlist have been updated with menu items for clearing the Album Art cache. Use this if it's displaying stale images after updating Album Art.
  • fb.RunMainMenuCommand, fb.RunContextCommand and IMetadbHandleList RunContextCommand have been fixed so they no longer return true on disabled menu items.


  • Smooth Browser has been updated so Albums are now sorted in alphabetical order and tracks without %album% tags are shunted to the end of the list. They are grouped by %directory%.


  • Add IMetadbHandleList AttachImage2. This method allows attaching images from memory rather than file path.
  • Update Smooth Browser group settings so the full %date% is displayed in Album mode.


  • Add new Menu + Playback Buttons + Custom Colours sample. This is mainly for Columns UI because you cannot hide the menu toolbar in Default UI.
  • Various Status Bar fixes and improvements. Existing users will need to re-import using the Samples button. Title formatting can now be configured via the right click menu and $rgb is supported.


  • Update Scintilla library used for code highlighting. The last release may have had a bug related to undo/redo.
  • JS Playlist and Smooth Playlist have been updated so you can right click in a blank area and Paste clipboard items. Previously, you had to select a valid playlist item and it was impossible to Paste in an empty playlist.
  • Update Smooth Playlist context menu so the settings are always shown no matter where you right click.
  • Various other playlist fixes.


  • Minor component bug fixes.
  • Fix bugs with Minimal Seekbar and Text Display + Album Art + Seekbar + Buttons samples where the seekbars were not centred and playback time was not displayed when listening to streams. Existing users will need to re-import using the Samples button.
  • Fix bugs with the basic\WriteTextStyles and basic\SimpleScroll + Styled Text samples. The corresponding documentation has also been fixed.



  • Add new Text Display + Album Art + Seekbar + Buttons sample.
  • Fix bug with original Text Display where the fonts/rgb internet link was broken.
  • Fix bug with Minimal Seekbar where the seekbar knob overlapped the length text at the end of a track. Existing users will need to re-import using the Samples button.


  • Add IMetadbHandleList Reverse.
  • Add Playback Order button to the following scripts. The original Playback Buttons has been left untouched.
    Playback Buttons + Playback Order
    Track Info + Seekbar + Buttons
    Track Info + Seekbar + Buttons + Volume
    Track Info + Spectrogram Seekbar + Buttons
    Existing users will need to re-import using the Samples button. If it's not immediately obvious which mode each icon represents, tooltips give the full name.


  • Fix bad change to helpers.txt in 3.4.8 which caused 3rd party scripts to break. Apologies for the inconvenience.


  • Various internal improvements.
  • JS Playlist / Smooth sample optimisations.


  • Update window.GetFontCUI to gracefully handle a font with zero size being defined in the Preferences.


- Internal font handling changes which may help debugging in future.


  • FontAwesome is no longer required. Segoe Fluent Icons is now used across all included samples. Windows 11 users will already have this installed. Everyone else can get it here.
  • For existing users of any included button scripts, the following will need re-importing from the Samples button:
    Playback Buttons
    Track Info + Seekbar + Buttons
    Track Info + Seekbar + Buttons + Volume
    Track Info + Spectrogram Seekbar + Buttons


  • Transparency is now reserved exclusively for genuine Columns UI toolbars. Adding as a Toolbar via the Columns UI Layout settings will have no effect and it will be a normal panel with a solid colour background. Reverted in 3.4.10.
  • Add new Minimal Seekbar. It's just a seekbar with playback time/length and no buttons. It's Dark Mode aware and will update itself when toggled.
  • Fix bug with Status Bar sample.


  • Add workaround for strange menu manager bug.


  • $jsp3_since has been updated with proper Today / Yesterday handling and never returns 0d any more.
  • Minor sample fixes.


  • fb.AcquireSelectionHolder and the ISelectionHolder interface have been removed due to bugs affecting other components. Their replacement is the 3 ISelectionHolder methods being moved to window. See how the included samples were updated here.
  • Add utils.Now.



  • Remove the want_stub argument from IMetadbHandle GetAlbumArtAsync. It was marked as deprecated in 3.3.10 and was meant to be removed in 3.4.0 but I forgot. See fb.GetAlbumArtStub.


  • This release drops support for Windows 7 and Windows 8. Windows 8.1 is the new minimum requirement.
  • Restore utils.RemoveFolderRecursive.
  • window.IsThemed, window.CreateThemeManager and the IThemeManager interface have all been removed.
  • IJSGraphics FillGradientRectangle and FillGradientRectangleAdvanced have been removed. The standard FillRectangle and all other Draw/Fill methods now support gradients.
  • The Edge Style option has been removed for Columns UI panels.
  • Existing Text Display users will need to re-import using the Samples button in the Configuration Window.
    • It now supports %jsp3_playlist_name% for displaying the playing/active playlist depending on selection settings. Note the playing track doesn't have to belong to a playlist so use of $if or [] is recommended.
    • When in text only mode, the margin can be configured from the right click menu. Also, the default value is reduced.
    • The Gallery page has been updated with more notes on exclusive title formatting features only available in this component.