------------------------  RELEASE 1.0.0  ---------------------------------

	* We now have working exporters for Max5, Max6, Max7, Maya5, Maya6

	* The Max exporter is dramatically improved:

	  - it now includes support for character studio.
	  - the polygon winding bug has been fixed.

	* Panda no longer requires any registry keys or environment
	variables. This means it is now possible to:

	     - run panda directly from a compact disc
	     - install multiple copies of panda on a single machine
	     - install panda by copying the tree from another computer

        Note that the installer does add the panda 'bin' directory to
	your PATH, and it does store an uninstall key in the registry,
	but neither of these is needed for panda to function.

	* The 'makepanda' build system is now capable of building
	prepackaged games for Windows.  These prepackaged games are simply
	copies of panda with the game code included, some of the
	unnecessary stuff stripped out, and some changes to the start
	menu.  See "Airblade - Installer" on the panda downloads page
	for an example.

	* All of the sample programs have been tested.  The ones that didn't
	work have been removed, the ones that do work have been (lightly)
	documented.

	* This is the first release to include not just a binary installer
	for windows, but:

	    - a binary installer (RPM) for Fedora 2
	    - a binary installer (RPM) for Fedora 3
	    - a binary installer (RPM) for Redhat 9
	    - a binary installer for windows, as always
	    - a source tar-ball for linux
	    - a source zip-file for windows

------------------------  RELEASE 2004-12-13  ---------------------------------

	* Basic server-client networking support is back in Panda3D. There is a
	networking sample in the samples directory. This uses the Panda3d
	distributed object system.The README file will explain how to run this.
	Documentation of this if forthcoming.

	* Panda3d now reduces the number of environment variables such that only 2
	are needed now - PRC_PATH and PLAYER.

	* GraphicsChannel and GraphicsLayer class have been removed from the
	panda/src/display directory. Most Panda applications won't need to be
	changed, since most applications simply use ShowBase.py (which has been
	adjustedappropriately) to open a window and do the initial setup.  For
	those rare applications where you need to create your own DisplayRegions,
	the makeDisplayRegion() interface has been moved from GraphicsLayer to
	GraphicsWindow (actually, to GraphicsOutput, which is the base class of
	GraphicsWindow).  You can modify your application to call
	base.win.makeDisplayRegion() accordingly.  If you have something like
	displayRegion.getLayer(), replace it with displayRegion.getWindow()
	instead.

	* Effective with the current version of Panda, the way that HPR angles are
	calculated will be changing. The change will make a difference to existing
	code or databases that store a hard-coded rotation as a HPR, but only when
	R is involved, or both H and P are involved together.  That is to say more
	precisely, HPR angles with (R != 0 || (H != 0 && P != 0)) now represent a
	different rotation than they used to. If you find some legacy code that no
	longer works correctly (e.g. it introduces crazy rotations), try putting
	the following in your Config.prc file:

		  temp-hpr-fix 0

	To turn off the correct behavior and return to the old, broken behavior.
	Note that a longer-term solution will be to represent the HPR angles
	correctly in all legacy code.  The function oldToNewHpr() is provided to
	aid this transition.

	* PandaNode definition has been changed to support setting an
	into_collide_mask for any arbitrary node, in particular for any GeomNode.
	It used to be that only CollisionNodes had an into_collide_mask.  This
	change obviates the need for CollisionNode::set_collide_geom(), which is
	now a deprecated interface and will be removed at some point in the future.

	Details:
	There's now a NodePath::set_collide_mask() and
	NodePath::get_collide_mask(), which operate on all CollisionNodes and
	GeomNodes at and below the current node. By default, set_collide_mask()
	will replace the entire collide mask, but you may also specify (via a
	second parameter) the subset of bits that are to be changed; other bits
	will be left alone.  You can also specify a particular type of node to
	modify via a third parameter, e.g. you can adjust the masks for GeomNodes
	or CollisionNodes only.

	The NodePath set_collide_mask() interface changes the into_collide_mask.
	Those familiar with the collision system will recall that a CollisionNode
	(but only a CollisionNode) also has a from_collide_mask.  The
	from_collide_mask of the active mover is compared with the into_collide_mask
	of each object in the world; a collision is only possible if there are some
	bits in common.

	It used to be that only other CollisionNodes had an into_collide_mask.  A
	mover would only test for collisions with CollisionNodes that matched its
	collide_mask. If you wanted to make your mover detect collisions with
	visible geometry which had no into_collide_mask, you had to call
	set_collide_geom(1). This allowed the mover to detect collisions with *all*
	visible geometry; it was either an all-or-none thing.

	Now that GeomNodes also have an into_collide_mask, there's no longer a need
	for set_collide_geom().  A mover will detect collisions with any
	CollisionNodes or GeomNodes that match its collide_mask.  This means, for
	the purposes of collision detection, you can use CollisionNodes and
	GeomNodes pretty much interchangeably; simply set the appropriate bits on
	the objects you want to collide with, regardless of whether they are
	invisible collision solids or visible geometry.

	(This should not be taken as a license to avoid using CollisionNodes
	altogether. The intersection computation with visible geometry is still
	less efficient than the same computation with collision solids. And visible
	geometry tends to be many times more complex than is strictly necessary for
	collisions.)

	There's one more detail: every GeomNode, by default, has one bit set on in
	its collide_mask, unless it is explicitly turned off.  This bit is
	GeomNode::get_default_collide_mask().  This bit is provided for the
	convenience of programmers who still want the old behavior of
	set_collide_geom(): it allows you to easily create a CollisionNode that
	will collide with all visible geometry in the world.

	Along the same lines, there's also CollisionNode::get_default_collide_mask(),
	which is 0x000fffff.  This is the default mask that is created for a new
	CollisionNode (and it does not include the bit reserved for GeomNodes, 
	above). Previously, a new CollisionNode would have all bits on by default.



------------------------  RELEASE 2004-11-11  -----------------------------------

	* Multiple mice can now be used with Panda3D. showbase has a list called
	pointerWatcherNodes. The first mouse on this list is the system mouse. The
	getMouseX() and getMouseY() will return coordinates relative to the
	application window. The rest of the mice on the list will give raw mouse
	positions and will change when they are moved on the screen.

	In addition there are new events for mouse buttons. Each mouse will be have
	a corresponding event. mouse1 will send mousedev1-mouse1, mousedev1-mouse2
	and mousedev1-mouse3 events. mouse2 and any other mouse attached
	will send similar events mousedev2-mouse1 etc.

	The old mouse buttons work too. mouse1, mouse2, mouse3 events will be
	triggered if that button is pressed on any mouse

------------------------  RELEASE 2004-10-13  -----------------------------------

General

	* Release notes: Each release will now have an entry associated with
	it in this document. This will be updated in reverse-chronological order.

Panda3D
	* Distributed with this release is a working version of the SceneEditor
	created in Spring 2004 at the ETC. Documentation will be forthcoming on the
	website. This can be found in <InstallPath>/SceneEditor

	* The latest version of FMOD is distributed with this release. The latest
	version is 3.73.

	* AudioSound object now allows more types of sound. These include wma and 
	ogg vorbis formats. This is valid when using the fmod sound system. Midi, 
	Mod, s3m, it, xm and such sequencer type file formats are not supported. 
	Exception - Midi files can be played. This is not fully implemented.

	* A bug in SoundInterval is fixed. SoundInterval looping would incorrectly 
	add a minimum of 1.5 seconds to the sound. This has been fixed. Sound 
	looping problems in general should be fixed. Midi's still don't support 
	looping through the AudioSound object. They should loop through 
	SoundIntervals though.

	* Cg support has been added to Panda3D. Documentation for this is 
	forthcoming.


