
                                 RELEASE NOTES
                             Darwin Streaming Server 

These release notes are for the current development version of Darwin
Streaming Server.

------------------------------------------------------------------------
Date: 8/7/2001
Version: 3.0.1+development [v349]
cvs tag: qtssServer-349

*   Updated build platforms: Solaris 8, Redhat Linux 7.1, FreeBSD 4.3, 
    Mac OS X 10.1
*   Retransmit/overbuffering (Skip Protection) algorithms tuned
    substantially
*   "reliable_udp" attribute defaults to "enabled" 
*   Various WebAdmin fixes for Windows platform

------------------------------------------------------------------------
Date: 8/9/2001
Version: 3.0.1+development [v350]
cvs tag: qtssServer-350

*   Minor bug fixes.

------------------------------------------------------------------------
Date: 8/14/2001
Version: 3.0.1+development [v351]
cvs tag: qtssServer-351

*   QTSSFileModule - enabled caching based on preferences (shared and
    private).
*   Add buffer delay to on demand movies.
*   QTFile - code cleanup.
*   Changed some paths for the installer.
*   Added support for MP3Broadcaster on Windows.

------------------------------------------------------------------------
Date: 8/16/2001
Version: 3.0.1+development [v352]
cvs tag: qtssServer-352

*   Added MP3StreamingModule to all builds.
*   Fixed gdb script to execute QTSS from build dir on MacOSX.

------------------------------------------------------------------------
Date: 8/19/2001
Version: 3.0.1+development [v353]
cvs tag: qtssServer-353

*   Added:
        add_seconds_to_client_buffer_delay -- Increases client buffer
                                delay before playing movie.
        record_movie_file_sdp -- Records a .sdp file for a .mov file.
                                Appears as moviename.mov.sdp
        enable_movie_file_sdp -- Plays a .mov.sdp file for a .mov movie.
*   Fixed server to play .mov.sdp files.
*   QTSSFileModule enables both private and shared movie cache buffers.

------------------------------------------------------------------------
Date: 8/23/2001
Version: 3.0.1+development [v354]
cvs tag: qtssServer-354

*   Added prefs for MP3StreamingModule.
*   Default Reliable UDP dir is / on UNIX and \ on NT
*   Use Enable Reliable UDP pref to disable Reliable UDP
*   Included new Web Admin
*   Changed relay preferences to XML format.
        Old relay config files will not work.

------------------------------------------------------------------------
Date: 08/28/2001
Version: 3.0.1+development [v355]
cvs tag: qtssServer-355

*	Added preference:
	 RTSP_error_message to enable debugging error strings returned in 
	 the content body of RTSP error responses.
	
*	Changed RTSP code to:
	1) require a Cseq field for OPTIONS requests
	2) allow missing Range headers in a PLAY request (defaults to entire movie)
	3) add content length header to Error responses containing error messages
	4) add SDP o= and t= fields to on-demand movie Describe responses

*      Changed Relay to relay incoming ANNOUNCEd broadcasts
       1) All ANNOUNCEd broadcasts, or
       2) All broadcasts from an IP address
       3) A broadcast URL from an IP address

       (a) Can still configure the relay to relay UDP streams
       (b) Can pull an SDP or movie from source and relay it

*      Changed Relay to ANNOUNCE the SDPs to its destinations
       1) for ANNOUNCED sources
       2) for sources that are pulled from the source server

*      Changed Relay config file to be in XML format
       1) relayconfig.xml-Sample will be installed instead of old streamingrelay.conf

*	Added General Settings and Change Password to UI
	1) Require existing password to change to new
	2) Require the user to enter the same password twice
	3) Change the auth cookie so the user won't have to re-authenticate

-------------------------------------------------------------------------------------------------
Date: 8/31/2001
Version: 3.0.1+development [v356]
cvs tag: qtssServer-356

*	 Admin Module change
	 1) Added an admin module pref called "AdministratorGroup" with
	 a default value of "admin"
	 2) Changed Admin Module to allow all users that belong to the
	 AdministratorGroup, instead of allowing only one user called
	 "streamingadmin".
	 3) A default qtgroups gets installed from now. The default qtusers
	 file has user 'streamingadmin' with password 'default'. The default
	 qtgroups file has the group 'admin' with the user 'streamingadmin'.
	 4) The login name for the web admin can be changed by adding the user
	 to the qtusers file and adding the user to the 'admin' group in the
	 qtgroups file.

*	Added "RTSP_debug_printfs" server pref to show the incoming and outgoing RTSP.
	Fixed Session header response to remove ";timeout=" field if the value is not defined.
	Fixed .mov.sdp Describe response to include the Last-Modified and Cache-Control headers.
	Fixed RTSP Session header parser to also stop on a ';'
	Changes shared file buffer size to default to maximum size if the bit-rate is 0 and no fixed 
	buffer size is defined.

-------------------------------------------------------------------------------------------------
Date: 9/04/2001
Version: 3.0.1+development [v357]
cvs tag: qtssServer-357

*	more implementation code for Web admin added.
*	New XML parser for reading prefs.
*	full implementation of MP3 streaming module is included.

-------------------------------------------------------------------------------------------------
Date: 9/06/2001
Version: 3.0.1+development [v359]
cvs tag: qtssServer-359

*	Relay that pulls source from the same server can be setup now
	[rtsp_source SOURCE with own IP address as the source_addr]
   
-------------------------------------------------------------------------------------------------
Date: 9/10/2001
Version: 3.0.1+development [v361]
cvs tag: qtssServer-361

*	UI: play and stop buttons in playlist screen now start/stop playlists immediately
*	UI: Start/Stop Playlists button removed
*	UI: Login screen now focuses on username field on load
*	Bug fixed when starting or stopping playlists other than the top one in the list

-------------------------------------------------------------------------------------------------
Date: 9/10/2001
Version: 3.0.1+development [v362]
cvs tag: qtssServer-362

*	Same as v361 above.

-------------------------------------------------------------------------------------------------
Date: 9/12/2001
Version: 3.0.1+development [v363]
cvs tag: qtssServer-363

*	Better buffer management in mp3 reflector
*	Fixed memory leak in mp3 reflector
*	UI: changed confirmation to message on-screen instead of dialog
*	Icons in playlist builder show up correctly
*	MP3 Broadcast password added to general settings
* 	Secure Admin added to settings


-------------------------------------------------------------------------------------------------
Date: 9/17/2001
Version: 3.0.1+development [v364]
cvs tag: qtssServer-364

*	Announced source relays can be set up even if the announced
	SDP is read-protected ( the relay module asks the server
	to automatically authenticate the request it makes since it 
	is in the same process)

*	The admin server streamingadminserver.pl now listens on a different
	port for ssl requests. The default non-ssl port is 1220 (as before)
	and the default ssl port is 1240 (for now). The ssl port
	can be configured by adding the line sslport=xxxx in the 
	streamingadminserver.conf config file

*	The admin server redirects the requests dynamically based on the
	value of the 'ssl' config parameter. If 'ssl=0', it will redirect
	all requests coming in on the ssl port to the non-ssl port and if 'ssl=1'
	it will redirect all requests coming in on the non-ssl port to the
	ssl port.
	For ex: if ssl is ON and the request made is
		http://localhost:1220/mypage.html
	the server will redirect this request to
		https://localhost:1240/mypage.html
	Similarly, if ssl is OFF, it will redirect the latter request to the former.

*	The admin server writes its pid to a file (for MacOSX and POSIX platforms only)
	pointed to by the config parameter 'pidfile'. There is no default value for
	this parameter as of now, so no pid file will be written until this is set.

*	The admin server has a new config parameter 'crtfile' to specify the ssl
	certificate file, apart from the parameter 'keyfile' which specifies the ssl
	private key file. The default values for both are the same filename, so that
	the key and cert could be in the same file (just as before).
	
*	The admin server supports password protected RSA key for ssl. A new config parameter
	'keypasswordfile' can be set to the file that contains the password. If it
	is blank or the parameter isn't set, it is assumed that the key is not encrypted.
	The default for 'keypasswordfile' is not set so that the usual case of unencrypted
	RSA key works.

*	qtpasswd reports an error if the realm line is missing in the users file. The realm 
	line should not be hand-edited ever!

-------------------------------------------------------------------------------------------------
Date: 9/18/2001
Version: 3.0.1+development [v365]
cvs tag: qtssServer-365

*	Better handling of client-side flow control issues in the MP3 streaming module.

*   StreamingLoadTool updated.  When the destination IP address is bad or the 
    "streamingloadtool.mov" file can't be found, the tool will continue to work against the 
    URLs that are valid.

-------------------------------------------------------------------------------------------------
Date: 9/20/2001
Version: 3.0.1+development [v367]
cvs tag: qtssServer-367

*	Added support for Shoutcast-style broadcasters that use the "ICY" protocol.

*	Playlist listings now shows all visible items in webadmin.

*	Fixed access log in web admin.

*	Placeholders for webadmin help added.

-------------------------------------------------------------------------------------------------
Date: 9/24/2001
Version: 4.0 Preview [v369]
cvs tag: qtssServer-369

*	Fixed rebuffering problem in MPStreamingModule
*	Admin server changes for Win32
*	Admin UI fixes

-------------------------------------------------------------------------------------------------
Date: 9/26/2001
Version: 4.0 Preview [v371]
cvs tag: qtssServer-371

*   The windows install script (install.bat) installs DSS as a service, stops the old DSS service
    if it were running, and then starts the new DSS service. [difference from earlier version:
    the install was not stopping the old service nor was it starting the new one]

-------------------------------------------------------------------------------------------------
Date: 9/27/2001
Version: 4.0 Preview [v372]
cvs tag: qtssServer-372

*   Help button fixed or added on all pages.

*	Fixed scrolling by dragging the scroll thumb in playlist detail.

*	Fixed Secure Administration setting in General Settings.

*	Fixed various Windows playlist bugs.

-------------------------------------------------------------------------------------------------
Date: 9/28/2001
Version: 4.0 Preview [v373]
cvs tag: qtssServer-373

*	Relay can be set up on DSS Win32 now.

-------------------------------------------------------------------------------------------------
Date: 10/1/2001
Version: 4.0 Preview [v374]
cvs tag: qtssServer-374

*	Play/stop status should now be more accurate

*	Logging option added to playlists

-------------------------------------------------------------------------------------------------
Date: 10/2/2001
Version: 4.0 Preview [v375]
cvs tag: qtssServer-375

*	Alignment and playlist fixes for IE6.

*	Fixed starting/stopping of playlists on Windows server.

-------------------------------------------------------------------------------------------------
Date: 10/3/2001
Version: 4.0 Preview [v376]
cvs tag: qtssServer-376

*	Fixed movie playlist relay data

*	Can now start QTSS from UI if it's not running.

*	streamingadminserver.pl doesn't listen on the ssl port (default: 1240)
	if the Net::SSLeay module isn't running. This is because ssl cannot
	work if the module isn't present. Checking/Un-checking ssl checkbox 
	will not do anything in this case. This doesn't affect ssl on MacOSX because
	the perl ssl module (and openssl) are already installed on X.
	
-------------------------------------------------------------------------------------------------
Date: 10/4/2001
Version: 4.0 Preview [v378]
cvs tag: qtssServer-378

*	Fixed bug where user can't restart server once it's died.

*	Fixed problem with default password.

*	Improved throughput on MP3 Reflector.

-------------------------------------------------------------------------------------------------
Date: 10/4/2001
Version: 4.0 Preview [v379]
cvs tag: qtssServer-379

*	Another fix for qtusers file.

-------------------------------------------------------------------------------------------------
Date: 10/8/2001
Version: 4.0 Preview [v380]
cvs tag: qtssServer-380

*	Posted form data on some screens such as General Settings will now return a redirect page.
	This fixes some problems with refreshing and frames.

*	Changed the format of the default relay.

*	PID files are now deleted regardless of whether the PlaylistBroadcaster cleans them up.

*	Fixed some confirmation message problems in Netscape.

-------------------------------------------------------------------------------------------------
Date: 10/10/2001
Version: 4.0 Preview [v381]
cvs tag: qtssServer-381

*	The server can bind to multiple ip addresses now. So the pref "bind_ip_addr" can be made
	a list pref that has multiple values
	<LIST-PREF NAMe="bind_ip_addr" >
		   <VALUE>10.9.8.0</VALUE>
		   <VALUE>10.9.8.1</VALUE>
	</LIST-PREF>
	This is not configurable through the Admin UI.

*	RTSP access logging is now on by default in streamserver.xml

*	MP3 access logging is now implemented.

*	qtpasswd usage has changed. Please run it with no options to get the new usage
	before using it

-------------------------------------------------------------------------------------------------
Date: 10/15/2001
Version: 4.0 Preview [v382]
cvs tag: qtssServer-382

*	qtpasswd compiles on windows

-------------------------------------------------------------------------------------------------
Date: 10/18/2001
Version: 4.0 Preview [v383]
cvs tag: qtssServer-383

*	When the user hovers their mouse pointer over an item in a playlist, it will show a tooltip
	with the full path.

*	Fixed bug where the user was logged out upon changing password.

*	Added error logging message to relay module.

*	Fixed problem where string overflow occured in some command line params of MP3Broadcaster.

-------------------------------------------------------------------------------------------------
Date: 10/23/2001
Version: 4.0 Preview [v384]
cvs tag: qtssServer-384

*	The Windows Install script adds "C:\Program Files\Darwin Streaming Server"
	to the system path so that at the command prompt, one can directly start PLB as follows
	C:\>PlaylistBroadcaster.exe -v
	qtpasswd.exe and MP3Broadcaster.exe can also be launched this way.

	Caveat: The changes don't get reflected at the command prompt immediately. 
	A restart of the machine fixed it but there may be a way to get the changes right away.

*	Fixed problems with cookies/setup asisstant on some installations of Windows.

*	Redesigned relay settings page (includes new std. listbox UI)

*	Relay detail now forces user to enter a source IP address.

-------------------------------------------------------------------------------------------------
Date: 10/25/2001
Version: 4.0 Preview [v385]
cvs tag: qtssServer-385

*	Added code to the MP3 reflector to limit the number of MP3 connections to the server's 
	maximum as indicated in the server's preferences.

*	Added Type column to Connected Users page, which will display movie or music note icon to
	describe the type of stream.
	
*	MP3 sessions are now included in the Connected Users page... one caveat being that at this
	point you will only see them if there is more than one. A bug has already been filed against
	the admin module regarding this.

-------------------------------------------------------------------------------------------------
Date: 10/31/01 
Version: 4.0 Preview [v386]
cvs tag: qtssServer-386

*	Added 'i' parameter to admin protocol to force indexed access to value.

*	Added double-click support to listboxes.

*	User can now click in grey area of scrollbars in playlists to page up/down.

*	User can hold their mouse down on the scroll arrows to progressively scroll down.

*	Support for Netscape 6.2 added.

*	MP3Broadcaster and PlaylistBroadcaster require separate execution for preflight
	and broadcast.

-------------------------------------------------------------------------------------------------
Date: 11/02/01
Version: 4.0 Preview [v387]
cvs tag: qtssServer-387

*	Added new code to the access logging module to indicate that times are in GMT or local time.

*	Added new code to the mp3 access log to indicate GMT or local time.

*	Made numerous changes to access logging to clean up code.

*	Fixed MP3 streaming module to only send meta-data when requested.

*      qtpasswd's buffer overflow and long username/realm problems are fixed.

-------------------------------------------------------------------------------------------------
Date: 11/05/01
Version: 4.0 [v388]
cvs tag: qtssServer-388

*      qtaccess has a new keyword "AuthScheme" that can be used to override the
       default auth scheme (which comes from the streaming server config file).
       The two values that are allowed are "basic" and "digest".
 
       "AuthScheme basic" will set the auth scheme to basic for the movies protected
       by the particular qtaccess file, whereas "AuthScheme digest" will set the
       scheme to digest.

       Further documentation on its usage can be found in the sample qtaccess file
       
*     Fix launching PlaylistBroadcaster from UI.
-------------------------------------------------------------------------------------------------
Date: 11/09/01
Version: 4.0 [v389]
cvs tag: qtssServer-389

*	added code to update number of client sessions and byte throughput for MP3 sessions.

*	added new server attributes to contain MP3 session stats.

-------------------------------------------------------------------------------------------------
Date: 11/12/01
Version: 4.0 [v390]
cvs tag: qtssServer-390

*	Playlist mountpoint cannot be longer than 255 chars - admin UI fix
*	Added Relay name attribute to the relay session object attributes
*	Fix - PLB sends a teardown when SigInt/ctrl-c
*	Windows compile fix - no SIGPIPE on windows
*	Other bug fixes

-------------------------------------------------------------------------------------------------
Date: 11/14/01
Version: 4.0 [v391]
cvs tag: qtssServer-391

*	 Playlist bug on windows - wrong path to the movie/mp3 files was being 
	 written to the playlist file. 
*	 Admin launches PLB/MP3B and shows it as started only if the pid is created
	 (It waits for a maximum of 10 seconds for the pid to be created before it
	 assumes that the broadcaster couldn't launch)
*	 PLB returns an error on preflight if all the movies in the list are bad
	 - didn't use to happen before
*	 sample.mp3 gets installed now

-------------------------------------------------------------------------------------------------
Date: 11/16/01
Version: 4.0 [v392]
cvs tag: qtssServer-392

*	Filtering out invalid files in PLB UI.
*	New relay stats page.

-------------------------------------------------------------------------------------------------
Date: 11/25/01
Version: 4.0 [v393]
cvs tag: qtssServer-393

*	 qtpasswd: Added -h option to display usage
		   Added -P option; takes in a filename to read the password from
         New usage:
		     qtpasswd 4.0 [v392] built on: Nov 19 2001, 10:20:52
		     Usage: qtpasswd [-F] [-f filename] [-c] [-r realm] [-p password] [-d] username
		     -F   Don't ask for confirmation when deleting users or overwriting existing files.
		     -f   Password file to manipulate (Default is "/Library/QuickTimeStreaming/Config/qtusers").
		     -c   Create new file.
		     -r   The realm name to use when creating a new file via "-c" (Default is "Streaming Server").
		     -p   Allows entry of password at command line rather than prompting for it.
		     -P   File to read the password from rather than prompting for it.
		     -d   Delete the specified user.
		     -h   Displays usage.
		     Note:
		     Usernames cannot be more than 255 characters long and must not include a colon [:].
		     Passwords cannot be more than 80 characters long.
		     If the username/password contains whitespace or characters that may be
		     interpreted by the shell please enclose it in single quotes,
		     to prevent it from being interpolated.

*	Can have $, @ etc. in admin username and/or password

*	Added WinNT code to calculate CPU load for admin display.

*	Added c-duration, c-user-agent fields to the mp3 access log.

*	Added server start and stop comments to mp3 access log.

-------------------------------------------------------------------------------------------------
Date: 11/29/01
Version: 4.0 [v395]
cvs tag: qtssServer-395

*	Added localizable strings for Japanese date suffixes.

*	Folders in playlist UI are now named, not numbered. The name is determined by the first title
	the playlist is given, and it never changes afterward.

-------------------------------------------------------------------------------------------------
Date: 11/29/01
Version: 4.0 [v396]
cvs tag: qtssServer-396


-------------------------------------------------------------------------------------------------
Date: 12/03/01
Version: 4.0 [v397]
cvs tag: qtssServer-397


-------------------------------------------------------------------------------------------------
Date: 12/05/01
Version: 4.0 [v398]
cvs tag: qtssServer-398

*	5 second timeout added for MP3 retries when stream is flow controlled.

-------------------------------------------------------------------------------------------------
Date: 12/05/01
Version: 4.0 [v399]
cvs tag: qtssServer-399

*	Admin username can no longer include spaces.

-------------------------------------------------------------------------------------------------
Date: 12/07/01
Version: 4.0 [v400]
cvs tag: qtssServer-400

*	Bug fixes

-------------------------------------------------------------------------------------------------
Date: 12/10/01
Version: 4.0 [v401]
cvs tag: qtssServer-401

*	Windows bug (unable to launch PLB/MP3B from Admin) fix - Not clearing out
	the environment variable hash in the admin server for each request on Windows;
	Otherwise, the launched programs (PLB/MP3B) were unable to locate DLLs, etc.
	as the environment variables were not properly set.

-------------------------------------------------------------------------------------------------
Date: 12/12/01
Version: 4.0 [v402]
cvs tag: qtssServer-402

*	Setup assistant bug fix -- can now set the MP3 password correctly from the Setup assistant.

-------------------------------------------------------------------------------------------------
Date: 12/13/01
Version: 4.0 [v403]
cvs tag: qtssServer-403

*	Localization fix - strings with single quotes are now supported. Dialogs also converted to
	Unicode automatically.

-------------------------------------------------------------------------------------------------
Date: 12/14/01
Version: 4.0 [v404]
cvs tag: qtssServer-404

*	Fixed localization pop menu issues.

*	Fixed Perl playlist-lib bug.

-------------------------------------------------------------------------------------------------
Date: 12/14/01
Version: 4.0 [v405]
cvs tag: qtssServer-405

*	Fixed PLB segmentation fault bug (if sdp reference movie is not given in config)

-------------------------------------------------------------------------------------------------
Date: 2/27/01
Version: 4.0 [v412]
cvs tag: qtssServer-412

*   General bug fixes.

-------------------------------------------------------------------------------------------------
Date: 3/21/2002
Version: 4.0+ [v415]
cvs tag: qtssServer-415

* First submission to new build train

-------------------------------------------------------------------------------------------------
Date: 4/24/2002
Version: 4.0+ [v419]
cvs tag: qtssServer-419

* QTSSHomeDirectoryModule installed in /Library/QuickTimeStreaming/Modules, and enabled.
  Supports serving movies from users' home directories

-------------------------------------------------------------------------------------------------
Date: 3/12/2003

