🎂 Happy 20th Birthday Winamp 🎂 You can find out more about this here
Added a replacement Download Manager Service (dlmgr.w5s) which can use libcurl instead of jnetlib for file downloads (e.g. podcasts and gen_ff based downloads)
Added 'Playlist Excluder' (gen_exclude.dll) which allows for blocking files from being played via the main playlist editor (menu or 'Alt+X' to add / remove files along with a natively skinned window to manange the list)
Added 'Refresh playlist(s)' option to the library playlists root view menus (library node and in-view) to allow a re-build of the cached playlist information (useful for externally managed playlists)
Added support for externally drag and dropping files onto the libary playlists root list to add the files to the playlist dropped on
Added initial archive loading support based on a heavily modified version of the in_zip plug-in (archives are treated as playlists to make then easier to use vs the original in_zip expanded loading and the issues it had)
Added 'Filter by phrase' support for tweeting to help restrict what will be tweeted (e.g. blocking anything with 'advert')
Added 'Rate Limits' preference options for tweeting support to control 'minimum number of play events', 'minimum song length' & 'maximum song length' limits to help restrict what will be tweeted (e.g. to block filler songs)
Added option to the local library preferences page to allow for disabling the artwork cache (to help reduce memory usage & database corruption at the expense of slower view loading & re-reading of file metadata)
Changed some of the replacement NDE database handling for future changes to follow
Changed the DYNAMICBASE flag on the winamp.original file to potentially allow windows to apply ASLR handling
Changed the LoadLibrary(..) hooking to leverage more secure loading modes where possible
Changed vis_milk2 to just rely upon IPC_GET_D3DX9 instead of it and a fallback mode
Changed the installer to not re-copy the default skins and associated files (including ClassicPro) if they already exist to avoid loosing custom changes as well as reducing time to update existing installs
Changed the installer to be built as a unicode installer instead of ansi as we do not require legacy ansi support and it will make eventual installer translation much simpler to maintain
Changed the the installer to have a 'Skins' group section which groups together all skinning related plug-ins (more work like this is to follow on the installer as part of the road to v1.0)
Changed the downloads library node to have a right-click menu and optimised the internal resources used
Fixed interlaced / progressive PNG images not being loaded correctly and breaking some older skins (e.g. The_Unauthorized_Matrix_Skin.wal)
Fixed loading of DSP plug-ins in combination with low-level hooking for the settings cache causing hangs after changing the active DSP
Fixed some of the albumart reading options not being updated correctly via the preferences page
Fixed the scheduler preferences page preventing changes from being applied until after a restart
Fixed podcast downloads provided as redirects failing to be downloaded (this uses the new Download Manager Service with curl mode)
Fixed podcast downloads failing / crashing when adding multiple times a download which is already in the download queue
Fixed podcast cancel / download failure not being reset to a not downloaded state which prevents retrying
Fixed the podcast info pane not always showing the feed branding image due to variations in how it is specified in the feed
Fixed another possible lock-up with the podcast downloads view when downloads are in-progress (some issues may persist)
Fixed some reported inconsistencies with the save handling of library playlists versus the library playlists root list
Fixed 'add file(s)' not working as expected when selecting a playlist file versus a non-playlist file
Fixed external drag and dropping onto an open library playlist view not live updating in all scenarios
Fixed send to library playlists not always working (side-effect of adding read-only playlist support)
Fixed the beta expiration check not working as expected when there is no internet connection and the expiration limit has been reached (it should have still allowed WACUP to load as this fix now allows)
Fixed the settings cache not handling ini section removals correctly (not commonly used but showed up with in_zip)
Fixed XSPF playlist handling not using the entry provided title (if present) on loading
Fixed XSPF playlist handling not using the globally provided title (if present) for entries without their own title on loading
Fixed 'Skinned Preferences' not correctly drawing the focus rectangle for multi-line button controls
Fixed the settings cache not correctly tracking read / write actions when done from within winamp.dll
Fixed a number of potential issues with low memory scenarios causing memory (re-)allocation failures
Fixed 'Streaming Url Processor' randomly failing when no proxy string was set in the preferences
Updated cacert.pem to latest (7 Jun 2017)
Updated installer to be built with NSIS 3.02.1 (31 Jul 2017)
Updated in_openmpt to 0.2.8461-beta26 (7 Jul 2017)
Updated libcurl (libcurl.dll) to 7.54.1 (14 Jun 2017)
Updated libexpat (xml.w5s) to 2.2.3 (2 Aug 2017)
Updated libjpeg-turbo (image.w5s) to 1.5.2 (7 Jul 2017)
Updated libnghttp2 (libcurl.dll) to 1.24.0 (Jul 2 2017)
Updated libpng (image.w5s) to 1.6.31 (27 Jul 2017)
Updated libsndfile (libsndfile.dll) to 1.0.28 (2 Apr 2017)