## Version 3.1b4

- Mac OS X
  - The DMG image automatically opens up when mounted. Easier to find.
- Windows
  - The SLIMP3 software is now distributed with a Windows-friendly installer thanks to help from Chris Eastwood.
  - Fixed some bugs in the SLIMP3 Server application when it connects to a windows service. It now won't try to shut down the service when it quits.
  - The Moodlogic support doesn't work with the server when it's run as a Windows service. Moodlogic disabled at service startup. This will be addressed, but in the mean time, use the SLIMP3 Server application to start the server.
- Player Interface:
  - Press and hold the PAUSE button to put the player in stop mode.
  - Show the file type on the song info area for a song.
  - Fixed some problems with strange text displayed in double-height mode.
  - Pressing LEFT while editing a search string shouldn't repeat unexpectedly.
  - Fixed a problem that would cause flickering if the display brightness was previously set to zero.
- Web Interface
  - Show the file type in the song info page.
- File Formats
  - If LAME is installed, then you can transcode and stream uncompressed AIFF and WAV files now.
  - There is a Server Settings->Behavior setting for enabling and disabling AIFF, WAV and Ogg Vorbis transcoding. You'll need to enable this to support transcoding. If disabled, AIFF, WAV and Ogg Vorbis files are ignored.
- Linux/Solaris/Unix:
  - RPM installs pipe the error log to /tmp/slimp3.log to aid in debugging.
- Player Firmware
  - The player only displays ping information for ICMP ping messages (and no other ICMP messages.) It also filters out ping messages that aren't sent to the player's specific IP address.
  - Firmware is now version 2.1a2.

## Version 3.1b3

- General
  - Fixed some issues related to virtual and absolute paths. This fixes some issues where some files wouldn't play correctly on Windows.
- Mac OS X
  - Added a settings field for Rendezvous name. Requires restart of server.
  - Fixed a cosmetic problem with the Slim Devices logo in the System Preferences pane.
  - Daniel Klein submitted a fix to speed up iTunes import performance and to wait three minutes between rescans.
- Internationalization and Localization
  - Improved Swedish localization from Andreas.
  - Removed unused Russian translation, as it never did work. We'll resurrect this when we add Unicode support.
  - French localization from Serge Froment and Fred Thomas.
  - Searching and sorting ignore diacritics and case in text.
  - Updated Swedish localization from Andreas and Johan.
- Security
  - There is now a security section of the Additional Server Settings area. We now support IP address range blocking for HTTP and CLI connections, as well as HTTP basic authentication.
- Windows
  - Moodlogic added support for their product. Download and install Moodlogic version 2.5 or later and start the SLIMP3 server software. Make sure that Moodlogic is chosen from the Server Settings page and you should be able to browse through your MoodLogic music library, create instant playlists and use the MoodLogic "mood" features. Neat!
- Player Interface:
  - The current playlist is preserved across server restarts.
  - Fixed a bug where if you pressed the Search button on the remote when in double height mode, it wouldn't update.
  - The text on the display didn't show the playlist length when paused, like it does when playing or stopped.
  - Reworked the custom character code and the VFD output code. Now you can mix and match custom characters in a given string, setting up their bitmaps only once ever.
  - Added support for a new VFD module that has slightly different brightness controls. We'll detect the type of display based on the MAC address.
  - Cleaning up the discovery protocol and client creation. There were some cases where players would get stalled and the time would never increase above zero.
  - Bump right animation now works in double-height mode.
  - Now ignoring duplicate IR packets.
- Web Interface
  - The SLIMP3 web interface has a new look, designed by Igor Gasowski, coded by Nick Balestra and Dean Blackketter. The old interface is still available as "SLIMP3 Light" from the Additional Server Settings area.
  - Added basic support for serving an XML skin.
  - Fixed a problem with the Olson skin where it wasn't showing the list of lettters correctly.
  - Added synchronize to player setup.
  - Skin authors now have all of the ID3 information that we retain on a per-song basis available from the status.html page.
  - Added option to automatically reshuffle when restarting a repeating playlist.
  - Skin authors now have [GT] and [LT] template directives to determine greater-than and less-than.
  - Fixed a bug where secondary settings pages would have the wrong player sometimes.
  - index.html and home.html both include the same param information so that we can build frameless skins.
  - We now don't send "expires: 0" headers with images.
  - Upped the maximum number of tcp connections and connections to scan each time through the main loop. Needed to support the new skin, which is substantially more complicated.
  - Reload the right side of the screen when the preferences have changed.
- Documentation and Online Help
  - Tweaked the upgrade instructions all around to warn not to attempt an upgrade over wireless.
- File Formats
  - Fixed a bug where we weren't handling songs of zero length or zero duration properly.
  - Added WAV transcoding patch submitted by Felix Mueller. Requires LAME to be installed and currently works only on a Unix or OS X system. You can use LAME 3.92 with OSX with this patch. LAME 3.93 is broken.
- Automation
  - Added support for command-line command: "listen 1" which allows CLI clients to watch the SLIMP3 server events. This includes "raw" infrared codes in this feedback.
  - Added support for XML files in the web interface and a future XML skin. You can add .xml files to the html directory and they will be processed using the template mechanism. If you want to create XML for use in the dynamically created pages, replace the .html files with XML equivalents (but retain the .html suffix in the files). Then refer to the files from the HTTP interface with .xml suffixes to ensure that they come back with the right content type.
  - Added playerpref commandline/http command to set player preferences.
- Linux/Solaris/Unix:
  - Non-mac users can save their "iTunes Music Library.xml" file in their home directory on Unix machines or in the server directory on windows. Make sure the file paths are right, though.
  - Patch to add command line option to set user and group if launching as root.
  - You can now specify a logfile for error and debugging logging. Mac OS X has this go to /tmp/slimp3.log by default.
- Player Firmware
  - The player firmware is now version 2.1a1 which fixes a bug in the (h) packet. Upgrade is not required.
- Streaming
  - Now sending Icecast track meta-information with outgoing HTTP streams.

## Version 3.1b2, Released 2003-02-14

- General
  - The Games menu has been replaced by the Plugins menu where we can install other extra features in the Plugins folder. Enable the Plugins menu from the "Additional Server Settings" Interface section and configure it from the Plugins section.
  - Moved the datasheets to the Slim Devices website, saving the user 700k of storage space and download time.
- Mac OS X:
  - Fixed a problem on Mac OS 10.1 where the preference pane wouldn't install or stop the server properly.
  - Added a workaround for a problem with Safari where it would take two clicks to load a page or an error panel would be displayed.
- Player Interface:
  - Don't restart the current song when appending a single song while browsing the file system.
  - Added a center mark for Treble and Bass controls.
  - Added a plugin localized string mechanism. Just add a strings() functionto your plugin. It should return localized strings in the same format as the strings.txt file
  - Added Rescan plugin.
- Web Interface
  - Add two new skins: Olson (courtesy Eric Olson) and NBMU (courtesy Nick Balestra)
  - Fixed a number of skins that had customized status.html templates.
  - Robert Moser signficantly updated his skin.
  - Fixed auto-refresh on the status page.
  - Added preference for when you press PLAY on a selected song if it plays just that song or all the songs in that context, starting with that song.
  - Updated songinfo HTML page to include a link to server the song via http.
  - Fixed a problem where navigating in some windows systems would cause an error.
  - Updated plugin framework to enable/disable the UI, not the loading. This makes it possible to enable/disable without restarting.
- Documentation and Online Help
  - Updated some of the docs for the new remote.
  - Updated the faq to include DAB/Psion/DABBAR information.
- File Formats
  - Fixed a warning generated with some malformed cue files.
- Linux/Solaris/Unix:
  - Mike Arnold gave me some RPM and Solaris fixes.
  - Added Kevin's patch to include $Bin in the path, which is useful for running the server from a different cwd.
- Player Firmware
  - The player firmware is now version 2.0 final.

## Version 3.1b1, Released 2003-02-05

- General
  - SliMP3 is no longer spelled SliMP3. With our new identity, it will be SLIMP3.
- Mac OS X:
  - The server is now installed as Preference Pane, thanks to Dave Nanian, instead of an Application and now has support for automatically starting up at boot or login time.
  - Fixed a bug that didn't display the correct title for URLs and iTunes playlists on the top line when browsing saved playlists and the music library.
  - New installations will default to having the CLI turned on. Useful for things like the OSX Remote.
  - A German customer found that some of the content in the iTunes Music Library.xml file is localized. We were using the 'Kind' field to determine what kind of data it was. Not good. So now we look at the Mac file type long and the URL and hazard a guess.
  - Added a new SLIMP3 Remote application for controlling the playback of the SLIMP3 from a Mac OS X desktop. Thanks to Dave Camp for this contribution.
- Player Interface:
  - Added a screen dimming feature. If the player is on, but not playing and not animating, dim the screen until the next IR input. Even though we've never seen any burn-in, this should make some folks more comfortable.
  - Optimize playing the Nth song in a playlist from the remote. It was really slow.
  - Fixed a a bug where the server could crash when two players are synced and a new song starts.
  - Add All Albums and All Songs browsing so you can see a list of all the albums associated with a given Genre or all of the songs listed for a given artist. Particularly useful for compilation albums.
  - Default to having a second level Search menu. You can also disable this from the prefs and put the individual search menus back on the top level.
  - When displaying the file length, put in commas/periods to make large numbers readable.
  - Corrected separators in short date formats.
  - When the user browses with the remote and chooses a song in the context of an album, we start playing the whole album starting at that song. To be consistent, we now also play all of the songs in a given directory if you browse in that directory, choose a song and press PLAY. (Note: we don't recurse in this situation, we only look at songs at the current level. If you want to recurse, choose the directory and press PLAY.)
  - Added support for pressing PLAY or REC when in the search screens. It will now automatically play or add the search results to the playlist.
  - Richard Purdie's cool fix for the streaming CPU hogging bug.
  - Added basic support for fast forward and rewind by pressing and holding the FWD and REW keys.
  - Included the submitted patch from Gregory Smith that ignores leading articles (The Le Les La Las Los...) for sorting only. You can change which articles to ignore in the advanced settings area.
  - Added a volume area to settings. Now you can almost completely control the IR interface with six buttons: UP, DOWN, LEFT, RIGHT, PLAY, REC
  - Added support for multiple IR code sets, including the codeset for our new remote.
  - Added BASS and TREBLE controls to the Settings menu, based on a patch from Richard Purdie.
  - When browsing an album or a directory via the remote and you press play on a song, it plays the whole album, starting at that point.
  - Reworked the IR settings file. There's one file per remote IR code set, so we can handle multiple remotes by adding new .ir files. These files contain IR code to button mappings. New remotes that respond to new codes should have corresponding .ir files created for them.
  - There's a new file, Default.map, in the IR directory that contains the button to function mappings. Intrepid users who want to remap the buttons on their remote can modify this file to their liking.
- Web Interface
  - Add All Albums and All Songs browsing so you can see a list of all the albums associated with a given Genre or all of the songs listed for a given artist. Particularly useful for compilation albums.
  - Added a facility to serve the raw music files via HTTP: Like this: http://myserver:9000/music/virtual/path/to/song.mp3 Only works with songs.
  - Fixed many cases where you'd get the funny nested frame problem due to bugs in Opera and Safari.
  - Added an HTML template directive: [INCLUDE html/path/here.html] will include the parsed contents of the file in html/path/here.html in the output. Subroutines!
  - Hide directory entries that start with __ including our __current.m3u file
  - Fixed a couple of it's that should have been its.
  - When displaying the file length, put in commas/periods to make large numbers readable.
  - Added support for mDNS/Zeroconf/Rendezvous advertising of the SLIMP3 services. Initially supports OS X and one flavor of Linux.
  - Changing playlist request through stream.mp3 to match regular syntax. Now use: http://slimserver:9000/stream.mp3?p0=playlist&=load&=playlistpath.m3u& The final & is so that WinAmp doesn't choke on it and is ignored by us. Playlistpath can be an URL escaped full path, an iTunes playlist URL (URL escaped), or a naked playlist name from the Saved Playlist directory.
  - Added x-p0 through x-p4 to the HTTP headers in responses to that you can query and get information using the executecommand() syntax, also used by the CLI.
  - Added a "Previous" button on the status page.
  - Sorting of artists albums and song titles ignores articles like "The" and "La". You can change which articles to ignore in the advanced settings area.
  - Added ability to move items in the playlist around in the Moser skin.
  - Added new advanced settings page for setting debug variables
  - When looking at song information from the web interface, return a valid URL for songs, even if they are file URLs.
  - Return the values of p0 through p4 as headers in HTTP responses. Useful for using HTTP for interactive control. Also return the selected player name and id
  - When you start to play music from the web interface, power up if it's powered off.
  - You can download music files from the server using a path like: http://server/Music/path/to/song.mp3
  - Added support for multiple skins simultaneously. http://server:9000/Moser/ will show the Moser skin automatically.
- Documentation and Online Help
  - Updated FAQ and documentation
  - Updated the HTTP documentation for new and previously undocumented commands.
  - The technical documentation had references to a command called appendalbum, but it's really called addalbum.
  - First pass at merging the FAQ on the website with the FAQ in the documentation. This will also appear on the web site. Needs a new index and more organization.
  - Added a FAQ entry identifying the ports that are used so that folks can configure their firewalls more easily.
  - Updated the FAQ with a bunch of, you guessed it, frequently asked questions.
- File Formats
  - No longer recursing into playlists during scans. We may need a power-user option for this, but the new behavior will help more people than it hurts.
  - Improved Ogg Vorbis transcoding support. You need to have the Ogg tools and LAME installed for this to work. Only tested on Unix.
  - Adding support for the ID3 tags that describe the album number and number of albums in a multi-disc set, in the same manner that we do for iTunes importing.
  - The IR code format was messed up in the previous release, it's fixed, but if you've created custom IR files, you'll have to update them.
- Internationalization and Localization
  - Swedish and Danish localizations from Andreas Olsson and Morten Fischer-Madsen
  - Andreas found some strings that weren't localizable.
  - Improved Dutch Localization courtesy Carel Blast
- Linux/Solaris/Unix:
  - Fixed an occasional warning from the Animation module.
  - Added FreeBSD notes to the Installation.txt docs.
  - Patch from datavortex: changed account to a system account and shell to nologin. - don't add user with default name if the admin changed it.
  - When running the server in daemon mode, rename the process "slimp3d"
- Command-line interface:
  - Added and documented the "exit" command to the CLI. Closes the connection.
  - Added new command line argument, --stdio, which enables CLI interface on standard in/out. Now you can safely put the server into the background from a shell.
- Player Firmware
  - Added command line options to update_firmware to specify IP and MAC in interactive mode.
  - Calling the latest firmware 2.0b2.
  - SliMP3's MAC is now in bytes 12..17 of our UDP header
  - Added support for multiple IR code sets, including the codeset for our new remote.
  - Pressing and holding the POWER button for a long time (15 seconds) will reboot the player now, so you don't have to unplug the unit to reconfigure.
  - Improved the user interface for network settings on the player. You can use the number buttons to enter digits in IP values, use UP/DOWN/LEFT/RIGHT consistently throught the interface, use FWD and REW to skip forward and back a screen at a time.

## Version 3.0 final, Released 2002-11-12

- Mac OS X:
  - Fixed a problem where URLs in iTunes playlists were being ignored.
  - Fixed a problem where we were showing internal "iTunesPlaylist:" URLs where we shouldn't.
- Player Interface:
  - The sleep button wasn't working properly in double-height mode. The text was on the top line, so you wouldn't see it.
  - When displaying a file name, correctly separate file and extension.
- Web Interface
  - Added a FAQ to the online documentation.
  - Improved the Moser skin. Now the arrow links look like buttons. Note that the button appearance looks a ton better in Mozilla 1.1 and IE 5.5 than it does in IE 5.01.
  - Added an additional server setting to allow sorting and browsing by file name instead of ID3 tag information. (This was added in b7, but the release notes weren't updated.)
  - Fixed some problems in HTML with the documentation.
  - Fixed some problems in HTML with the "page bar" listings.
  - Fixed a capitalization issue with "Player Settings"
  - Minor editing to some of the other help documents.
  - Redid the Getting Started help document based on the new getting started flyer.
  - Added a {webroot} parameter to the templates for easier absolute references. This is set to "/SLIMP3" if a request comes in with /SLIMP3 as the start of the path. This eliminates the need to use updirs ".." in the on-line documentation. It also corrects some invalid (to people using the /SLIMP3 prefix) absolute references which were pre-existing.
  - Fixed all color references in CSS files.
- File Formats
  - Fixed a problem where only "http://" URLs were working in PLS files.
  - Fixed a problem where songs referenced in a playlist often didn't have all their metadata loaded. We now check and load it if it isn't there. If there's a title in the playlist, that overrides any other found.
- Internet Radio/Streaming
  - Fixed a problem where redirected URLs for streams were losing their title.
  - Fixed a problem where URLs redirected through PLS files were losing their title.
  - Fixed a problem where if a shoutcast station sent an empty title, we'd throw away a perfectly good title.
- Linux/Solaris/Unix:
  - Updated the Unix installation.txt file.
- Command-line interface:
  - Added --nosetup startup parameter. This disables setup from the web pages, as well as anything that uses Playlist::executecommand with a p0 of pref. When --nosetup is used on the command line, the settings pages are not linked from home, and if they are explicitly requested a 403 Forbidden is returned.
- Player Firmware
  - Firmware 1.3 final version. This version is the same as 1.3b4, just updated the version number.

## Version 3.0b8, Released 2002-10-28

- Mac OS X:
  - Fixed importing of iTunes playlists.
  - Improved the handling and display of multi-disc disc numbers.
- Player interface:
  - The shuffling algorithm has been improved to be more random.
  - MP2 files weren't being recognized correctly.
- Web Interface
  - Arrows added to the Moser skin.
  - Added an additional server setting to allow sorting and browsing by file name instead of ID3 tag information. (This was added in b7, but the release notes weren't updated.)
- File formats
  - Some valid "file:" URLs were being ignored, but no longer.
  - Fixed a bug where M3U files with title information in them weren't appearing properly.
- Internet Radio/Streaming
  - Fixed a problem where HTTP streaming from the SLIMP3 server would often disconnect unexpectedly or have other errors.
- Linux/Solaris/Unix:
  - Updated the Unix installation.txt file.

## Version 3.0b7, Released 2002-10-23

- Windows:
  - Fixed a problem with international characters in ID3 tags.
  - We weren't handling file URLs with C: in them properly...
- Mac OS X:
  - New users are given more reasonable defaults for their playlist and library folders.
  - Fixed a problem with firmware updates on OS X 10.1.5.
  - Fixed a problem where no playlists would show up if an iTunes user didn't have a playlist directory defined.
  - If a song in an iTunes playlist doesn't have a "location" just ignore it. This previously would cause a crash.
  - iTunes users need their imported international characters translated from Unicode to LATIN1.
  - Added support for multi-disc sets in iTunes.
- Player interface:
  - Substantially improved directory loading times when browsing the music library by inlining some routines, removing some unnecessary checks, and special-case shortcutting sorting of non-music items (directories, playlists, shortcuts, etc...)
  - Stop playing if we haven't heard back from a player in 30 seconds or more.
  - Reset the screensaver timer when we come out of Block'ed mode.
- Web Interface
  - If a user doesn't have a playlist directory specified, don't let them try to save.
  - When browsing the music library, don't try to show a sorted navigation bar in large directories, as the sorting can be quite confused.
  - Added a user warning when renaming a playlist fails.
  - Fixed a bug where deleting tracks from shuffled playlists wasn't cool.
  - Improved sorting when browsing music library.
  - Added an additional server setting to allow sorting and browsing by file name instead of ID3 tag information.
- File formats
  - Trim white space from the beginnings and ends of entries in playlist files as appropriate.
  - Fixed several problems handling CUE files.
- Networking
  - Fixed two problems that caused pausing synchronized players to get out of sync.
  - Unsync when we power off.
- Internet Radio/Streaming
  - Fixed a bug in shoutcast streams that caused the title obtained from the metadata to be cleared out occasionally. It stays put until updated explicitly again.
  - Fixed a bug where the scrolling animation was killed everytime new metadata came in even if it hasn't changed.
  - Fixed problem where using the http streaming from the server could hog the CPU.
- Linux/Solaris/Unix:
  - Mike Arnold found a problem where upgrading the RPM could cause problems because we deleted the slimp3 user. We don't do this anymore.
- Command Line Options & Debugging Tools
  - Firmware updates run in interactive mode will wait for the user to press return at the end. Good for GUI invocation of CLI application.
  - Only die if we are debugging, otherwise fail but don't crash.
- HTTP and Command Line Interface Automation
  - Clarify the documentation and fix bugs with "pause" and "mode pause" commands in CLI.
- Firmware
  - Updated to 1.3b3 firmware, which uses an appropriate source port for UDP packets from the player.
- Miscellaneous
  - Even if the players are starved for data, run background tasks at least once a second.

## Version 3.0b6, Released 2002-10-15

- Windows:
  - The SLIMP3 Server executable couldn't kill the server process on Win98 because 98 puts the process name in all upper case. It can now.
- Mac OS X:
  - Enable support for Composer field (as an additional artist) for iTunes users.
  - When we are scanning the iTunes library, don't tell the user they can browse the music library, because they can't.
  - Fixed a problem with the ID3 library where iTunes has some ID3 tags that have spaces in the tag name. We now allow a space.
  - Fixed a problem in iTunes where multi-line comments would cause the parser to get confused.
  - New users get a reasonable default for the path to their Music Library and their Playlist folder. (Namely: /Users/name/Music/ for both).
- Player interface:
  - Fixed a problem where pressing STOP didn't always stop the playback immediately.
  - Some work on the garbage display bug. We now correctly force the display back into 8 bit mode with every display update. If the bug happens in a particular frame, it will be repaired in the next frame.
  - When a new song starts, stop any scrolling and animation for all synced players so that the correct song information is displayed.
  - Fixed a cosmetic bug that happend with double-sized characters when the first character was an S.
  - Improved the display code to reduce the amount of processing, and number of bytes sent (especially when there's a cursor). There's still a bug somewhere (maybe in the VFD display itself) where the cursor flashes randomly on the screen occasionally.
  - Fixed the Welcome To SLIMP3 screen to work again when the server or the player restarts.
  - Fixed a problem where changing the brightness when in double-sized broke.
  - Fixing the double-height right arrow, K and N characters.
  - Fixed (I think) a problem where we were sometimes dropping stop and pause commands.
  - Clean up the custom character code to handle all possible bitmaps, improve performance (a bit), and never send bogus data to the player.
- Web Interface
  - If the songs in a specified album have duplicate track numbers, then sort by artist first. This makes "Greatest Hits" work out better. If there are not duplicate track numbers, then sort by track number first, which makes compilation albums sort properly.
  - If there are two albums with the same title, sort the songs by artist first.
  - Removed Games setting in Advanced Server settings, as it isn't needed. Use the new Home menu editing facility.
  - Don't show duplicate songs in albums.
  - Fixed a broken link to the CLI documentation.
  - Fix a typo that made searching for songs via the web interface crash the server.
  - Fixed a missing space in the playlist template for songs.
- File formats
  - Included the patch to support YEAR GENRE and COMMENT in CUE files.
  - Clean up of caching of track data to make CUE files work a little better.
  - CUE file entries weren't going into the genre cache. Now they are.
  - There are a couple of situations where we mean to merge in new meta information not replace it altogether. So now we do that.
- Internet Radio/Streaming
  - Fixed shoutcast metadata display.
  - Fixed HTTP streaming (from the SLIMP3 server) to work reliably.
- Linux/Solaris/Unix:
  - Included submitted solaris build information by Mike Arnold.
  - Included submitted patch for relocatable RPM support by Mike Arnold.
- Command Line Options & Debugging Tools
  - Added better backtrace output.
- HTTP and Command Line Interface Automation
  - Return a content type for status.txt of text/plain
- Firmware
  - Updated firmware to version 1.3b2 to fix possible problems with corrupted display data
  - Removed display init on sleep wakeup
  - Removed LCD_CLEAR when displaying ICMP unreachable
  - Changed LCD packet parsing to check for ==0x02 or ==0x03, instead of just checking the two last bits. Removed support for the wait command.
- Miscellaneous
  - The ends of songs were being cut off when we had mulitple players synced. We should allow for quite a few chunks of silence to be pre-queued when resyncing at the end of song.
  - Fixed the display of all LATIN1 characters. We don't have a full character set in the player, so we map as closely as possible.
  - Disabling UTF8 support for now. It wasn't making things much better.
  - Calculate the content type from the path name unless we've already got one. This fixes some problems with saving playlists.
  - A variety of performance optimizations to reduce overall CPU usage.

## Version 3.0b5, Released 2002-10-01

- Windows:
  - Fixed a problem where Windows .lnk files wouldn't work properly.
  - The Windows shell application now can quit and leave the server running. There's a new preference for this as well as a menu choice to set it. This choice is confirmed if you have confirm turned on.
  - Use the "Bagpuss" look as the default on Windows.
- Mac OS X:
  - The OS X application now shows the status of the server (on or off) by changing the icon on the dock and on the SLIMP3 Server main window.
  - Fixed a problem where if a user was using the iTunes importing feature,they couldn't browse their saved playlists unless they turned off iTunes support and then turned it on again.
  - The OS X application menus were cleaned up. There's now a menu choice and keyboard equivalent to start and stop the server.
  - The OS X application automatically starts the server when it launches.
  - iTunes users now get their iTunes playlists along with the other saved playlists. These are read-only, due to the one-way importing of the iTunes library information.
  - Somehow the firmware updater menu got disabled in the OS X application. Re-enabled it.
  - The OS X application displays the server status more reliably.
  - iTunes gets unhappy (and starts ripping songs as "Uknown" if you keep its library file open when it tries to write to it. So we open it and read the whole darned thing in at once and then parse it from memory. Which is faster anyways.
  - Warn the user that scanning is still happening for iTunes too.
- Player interface:
  - Bingo! Killed the garbage character bug that was plaguing 1.3b4 firmware. The problem wasn't in the firmware, rather the server was sending a control code t that was causing some problems on the client. Removed that code and as a bonus, cleaned up how we send brightness commands.
  - Jeff Bain submitted some tweaks to the double-size characters and layout. Lookin' good!
  - Fixing bugs in synchronization: Unsyncing the master was broken, unsyncing sometimes didn't stop the audio right away.
  - Rework the 1.3 streaming code to stall out less often. We also stop scanning (and other background tasks) if the client's buffer runs below half full.
  - Disable repeated buttons, including Volume when the player is "off".
  - Fixed a problem where pressing pause in quick succession would cause things to lock up badly.
  - Saved Playlists should come right after Music Library from the remote.
  - Fade out when we sleep...
  - Disable the syncing of HTTP clients, as it doesn't really work.
  - Add song information about which ID3 tags we are using.
  - Improved animation behavior under load. We now skip frames when appropriate and check the timers before and after handling client streaming.
  - Turn the timeout used by the streaming protocol for the 1.3 firmware way down so the queue doesn't stall for so long when we drop a packet.
- Web Interface
  - Fixed a problem added in 3.0b5 that would sometimes show a "please set up your playlists" screen when trying to save the current playlist.
  - Updated the sorting used when browsing the music library so it sorts by artist, album, track number and title, in that order.
  - We no longer throttle the scan, so we shouldn't tell the user that we do in the advanced server settings.
  - Fixed a word in the text displayed when the server doesn't know about any player.
  - You can now customize the Home menu int the "Additional Server Settings" area, courtesy RMoser.
- Internet Radio/Streaming
  - On occasion, streaming radio connections were left open for a long time. Consolidated the closing of open files and streams to fix this.
- Linux/Unix:
  - RPM: make sure the new slimp3 user doesn't have a home directory
  - SLIMP3 lives in /usr/local not /usr/local/bin for the RPMs
  - Try and load a system Time::HiRes before the local version.
  - We keep around the server scripts when building a release for zipping and tarring.
- Command Line Options & Debugging Tools
  - Added --streamaddr and --playeraddr command line options to allow the caller to specify which interface to listen on for remote streaming and player UDP.
  - Fixed a bug where we weren't keeping track of the last time we went through the idle loop properly.
  - Added a bunch of additional debugging output to make monitoring of timing and performance easier.
  - Include the d_stream debug flag for debugging the new streaming protocol.
  - --d_sync Added a synch debugging flag.
  - Added the ability to turn on/off debugging flags from the command line interface. This isn't useful from the remote interface but is very useful from stdio.
  - Expose --d_stream_v for verbose stream debugging info. --d_usage shows a 0-9 digit in the rightmost part of the display on 1.3 and a 2 byte hex code on the left on 1.2. We also spit out a percentage to stderr on 1.3
- HTTP and Command Line Interface Automation
  - Updated the CLI documentation to explain the "rescan" (old) and "path" (new) commands. Added the path command to the CLI.
  - Fixed a bug that was causing us to ignore parameters after the pause command which we hardly ever used.
  - If you put up some text on the screen with the HTTP or CLI interface for longer than a few seconds, the screen would blank and possibly get corrupted. Not anymore.
- Miscellaneous
  - Firmware files now include version number.
  - Updated the pronto CCF file.
  - Fixed harmless warning about empty responses when we were sending empty reponses.
  - Basic unicode support is enabled.
  - Sometimes we were giving some warnings with bad ID3 tags when we tried to get the utf8 version of strings.
  - We weren't caching unknown file types, so we would keep trying to figure it out over and over even though we tried once already. This could slow us down a lot.
  - Richard Purdie submitted a patch to use a file called ~/.slimp3-strings.txt (on unix) or slimp3-strings.txt (on windows, in the same directory as your prefs file) to override some or all of the standard strings in the strings.txt file. Uses the same format.
  - Spanish localization courtesy Sr. Andy Spiers.

## Version 3.0b4, Released 2002-09-11

- Windows:
  - A Windows Service is now available for use. See the Getting Started.txt file for details.
  - Fixed a bug where the server was hogging lots of CPU time.
  - Removed a harmless warning about mas3507d.
  - No longer display the .lnk suffix for Windows shortcuts.
  - The server process is now launched with high priority from the shell application.
- Mac OS X:
  - Fixed a bug in the built-in firmware updater that could cause the application to hang if the user didn't type in an IP address.
  - iTunes shows up defaulted on in the server settings the first time properly.
  - Removed warnings about no valid mp3 directory in settings even if the user was using iTunes
- Player interface:
  - Returning to "Now Playing" from viewing song details often would return to the wrong song.
- Web Interface
  - The playlist renaming button is now more clearly lableled as "Rename" or "Save".
  - If the user names their player, then show that name prominently.
  - Fixed bug: 605484, where bad entries in playlists made playback of individual songs from that playlist often wrong.
  - Cleaned up the layout of the song information page.
  - Fixed major performance problems when streaming HTTP audio from the SLIMP3 server at: http://server:9000/stream.mp3
- Internet Radio/Streaming
  - Added support for password protected (basic authentication) HTTP streams.
- Linux/Unix:
  - Updated the RPM to be relocatable, and defaults back to installing the server in /usr/local/bin/slimp3
  - Include the firmware updater with Linux/Unix releases.
  - Set the execute bit for the slimp3.pl and update_firmware.pl executables.
  - Fixed bad version information for several architectures, including i586-linux
- Command Line Options & Debugging Tools
  - Made the scanning debugging flag available from the command line.
  - Use the existing file: URL parser in Scan.pm whenever possible.
  - Made a warning about bad URLs a debugging string.
  - Made the backtrace dumper go back even farther.
  - Fixed the warnings that appeared when starting the server for the first time without a preferences file.
  - The --volume option is obsolete and was removed from the usage information.
- HTTP and Command Line Interface Automation
  - Fixed a bug where if you didn't give a value for a pref, it would complain.
- Miscellaneous
  - Fixed a problem where bad ID3 tags could cause the server to use insane amounts of memory.
  - Updated the CPAN MP3::Info module to the latest release.

## Version 3.0b3, Released 2002-09-06

- Windows:
  - Updated version information correctly.
- Mac OS X:
  - Added a firmware upgrader to the SLIMP3 Server application. Choose "Update firmware..." from the "File" menu to update your player's firmware.
- Player interface:
  - Fixed a major problem where searching for individual songs and then trying to play them didn't work.

## Version 3.0b2 Release 2002-09-04

- Windows:
  - Fixed a problem where the SLIMP3 Server application wouldn't launch under NT.
  - Windows 98 prefers 16 color icons, so we provide one now.
- MacOS X:
  - 10.2 Server compatibility bugs have been fixed in the OS X standalone application.
  - The server now automatically detects when the iTunes library has changed and reloads it.
- Linux:
  - Updated RPM to fix dependency issues.
  - Updated RPM to make slimp3 user have appropriate home directory.
  - Moved installed code to /opt instead of /usr/local/
  - Also building a source RPM.
  - Fixed a problem with the Time::HiRes module on i586 not having the right version number.
- Command line:
  - Several additional debugging command line items were omitted from the --help information.
  - The server.pl executable is now called slimp3.pl
- Internet Streaming:
  - Funny characters like ' now work in the metadata that's included with icecast streams.
  - Fixed a problem where HTTP streaming from the server was consuming too much CPU power.
- Player interface:
  - Show some feedback on the display when we fail to open a stream or file.
- Web Interface:
  - There is now an advanced server setting for adjusting the maximum UDP data payload size.

## Version 3.0b1 Release 2002-08-29

- Windows:
  - There is a standalone application for upgrading the SLIMP3 player firmware.
  - Windows users now have a standalone application. They no longer need to install ActiveState Perl.
- MacOS X:
  - 10.2 compatability bugs have been fixed in the OS X standalone application.
  - MacOS X: The SLIMP3 server software will automatically sync with the iTunes 3.0 music library.
- Linux:
  - Added a RedHat RPM.
- Bugs:
  - Fixed a problem where zero length MP3 files would crash the server.
  - Fixed several bugs related to the use of URLs in playlists.
  - Fixed several problems where the server would hog processor time.
- Command line:
  - Debugging flags have been changed to be clearer. ./slimp3 --help for more information.
  - Several important command line items were omitted from the --help information.
  - Commands can be sent to the server from the command line after the server has started.
- Internet Streaming:
  - Streaming Internet radio station playback is much more robust.
  - The SLIMP3 server can now stream to HTTP-streaming capable programs. Use: http://server:9000/stream.mp3 as the URL. You can control the stream from the web interface. Note: The latency can be quite high, depending on the size of the buffers on th e receiving applcation.
- Localization:
  - Added Finnish strings.
- Other:
  - Multiple player synchronization is more robust now.
  - Infrared codes are configured within the IR directory.
  - Sparc Linux support added
  - The server supports a command-line style interface, useful for home automation installations, including Crestron. See the online technical documentation for details.
- Player Interface:
  - Moved the items in the "Browse Music" menu to the top "Home" level.
  - The Music Library is now called the Music Folder.
  - There is now "Settings" area available from the player interface.
  - You can adjust the time or cancel sleep with the Sleep button on the remote.
  - You can navigate right into the Artist, Album or Genre from within a song.
- Web Interface:
  - There is a rescan button on the server settings page. Pressing this button will rescan your music library folder.
  - Fixed a problem with relative URLs that confused Opera.
  - The documentation is now available via the web interface.
- Firmware V1.3a4 (new since V1.2):
  - The server now has robust support for the new player firmware (version 1.3).
  - Fixed a bug which was causing problems with Linksys DHCP servers
  - Fixed sporadic resets when the player loses contact with the server
  - New streaming protocol - provides the server with greater control over buffering
  - New kiosk mode lets the player start up instantaneously, skipping the splash screen and setup menus
  - Added timeout on the setup screen. If nothing is pressed for 15 seconds, the player continues with startup.
  - Player now ignores Slim Protocol packets coming from anyone except its designated server.
  - Changed the text on the splash screen