# This is a list of changes in pygame's history.
#
# CVS tag names are placed before the date
# BREAK = change breaks existing code
# BUG	= fixed a bug that was (or could have been) crashing

pygame-14
January 29, 2002
	everything bumped for the 1.4 release

January 28, 2002
	update SDL_rotozoom to 2.0.3

January 26, 2002
	special cases for 90 degree transform.rotate()
	OSX cleanups for commandline (thanks Bob)
	added sprite.spritecollideany()

January 23, 2002
	transform.rotate() does alpha if image has alphaplane
	transform.rotate() no longer "off by one" in the x axis
	added CD.get_all() to get information for all tracks
	CD.play() can now take an option start and end time

January 17, 2002
        smarter importing code
        default pygame icon for window

January 16, 2002
	started implementing basic unit tests
	several bug cleanups with Rects (thx unit tests)

January 14, 2002
	display.update() boundaries fixed

January 11, 2002
	Surface.set_clip() can take None to clear the clipping

January 7, 2002
	fixed sprite.Group.has

January 6, 2002
	Merge with bob's inital MacOSX changes

January 5, 2002
        new and upgraded importing [BREAK?]
        fixed numberhandling in set_alpha and set_colorkey

January 2, 2002
	Group add/remove methods work

December 31, 2001
        pygame parachute does tracebacks with python2.2

December 20, 2001
	Surface.set_alpha() and set_colorkey() accept None
	event.set_allowed() and set_blocked() accept None

pygame-13
December 17, 2001
	small preps for the full 1.3 release

December 15, 2001
	small changes to sprite before release

December 2, 2001
	small protection for display Surfaces after display.quit()

December 1, 2001
	made time.delay() more accurate [BREAK]
	created time.wait() to work like old delay()
	added time.Clock objects for framerate tracking

November 26, 2001
        Surface.convert() doesn't segfault before pygame.init()

November 20, 2001
	added pygame.sprite.Group.update()
	Surface.blit() protection for alpha->8bit relaxed

November 19, 2001
        fixed image.fromstring() for "RGBA" mode

November 18, 2001
	can stream python file-like objects to SDL threads

November 15, 2001
	cleanups for transform.rotate

November 13, 2001
	added sprite module

November 12, 2001
	image.tostring() "RGBA" works with colorkey

November 3, 2001
        filled shape drawing now clips properly [BUG]
        Rect object correctly compare (==,<,>)

November 2, 2001
	pygame.time.get_ticks() returns 0 before pygame.init()

October 22, 2001
	small fix for filled ellipses/circles

September 27, 2001
	drawing filled circles returns bounding rect
	ellipses and circles drawn inside given area
	mixer init can take chunksize
	fix in clipped horizontal line drawing [BUG]

September 26, 2001
	key.set_repeat() raises exception on error, smarter args

September 22, 2001
	added Rect.clamp_ip, for inplace clamping
	display.update(None) will update full screen

September 21, 2001
	Surface.convert() respects the SRCALPHA flag when passing depth


pygame-12
September 1, 2001
	fixed typo in pygame.cursor

Aug 30, 2001
	added VIDEOEXPOSE event

Aug 29, 2001
	changed initializations, to allow easier embedding

Aug 28, 2001
	added circle and rect convenciences to pygame.draw
	removed debug printing from draw.polygon

Aug 25, 2001
	added looping, scaling, and audio to for Movies

Aug 15, 2001
	added pygame.movie module with MPEG video playback

July 31, 2001
	fixed mixer.music refcount

July 26, 2001
	 custom events work with event.peek() and event.get()
	 added event.get_blocked() function to query blocked types

July 23, 2001
	music specifically halted when quitting (should not matter?)
	mixer.get_init() now returns the initialized playback format

July 21, 2001
	all events can be posted, not just USEREVENT
	subsurfaces inherit colorkey and alpha settings

Jul 20, 2001
	default font "finding" is smarter

Jul 17, 2001
	added polygon() and ellipse() to pygame.draw
	lines with width>2 are now correct (was one too small)

Jul 16, 2001
	can work with software surfaces before pygame.init()
	Surface.convert() now can take arguments like pygame.Surface()
	pygame.display.set_icon() sets the windowmanager icon

Jul 15, 2001
	fixed bad internal display reference counting [BUG]

Jul 14, 2001
	still makes clean-ish exit if segfault in exit handling

Jul 10, 2001
	image.tostring makes alpha from colorkey, if asking for RGBA

Jul 6, 2001
	added python 1.5.2 compatability

June 25, 2001
	horizontal transform.flip() was reading pixels off by one [BUG]

June 24, 2001
	calling set_mode will change all references to the display surface


pygame-11
Jun 23, 2001
	removed smooth underline font render protection

Jun 19, 2001
	fixed botched image.save() function

Jun 15, 2001
	new inplace Rect calls: move_ip, union_ip, etc

Jun 11, 2001
	smarter locking with subsurfaces
	added transform.rotozoom(), which uses builtin SDL_rotozoom

May 31, 2001
	correctly handle unicode filenames

May 29, 2001
	set display physical palette with display.set_palette()
	added transform module (with rotate and scale)

May 26, 2001
	code compiles with macos now

May 23, 2001
	fixed line drawing of width 1
	draw.lines() was broken with sections outside clip

May 22, 2001
	added midleft, midright, midtop, and midbottom to Rect
	added Rect.unionall() function to union a list of Rects
	fixed problem in 16bit surfarrays
	new image.tostring() and image.fromstring()

May 20, 2001
	applied dave wallace's patch to fix memory freeing

May 17, 2001
	a few small compile time warning cleanups

May 16, 2001
	line drawing functions now use an optional width

May 15, 2001
	image module is now builtin, but formats are optional
	enhanced save function in image (handles opengl)
	Surface.save is now depracated

May 14, 2001
	smarter internal module handling
	fixed blit() (broken on May 9th change)

May 10, 2001
	USEREVENT events now pass through the queue
	Event() may be called with keyword args and/or a dict
	Font.render() won't render underlines while smoothing [BUG]

May 9, 2001
	8bit subsurfaces inherit their parents colormap
	blit keeps SDL from crashing with alpha onto 8bit

Apr 30, 2001
	loading Sounds from python objects now works [BUG]
	loading from python objects now thread safe [BUG]

Apr 19, 2001
	applied Niki Spahiev's memory leak patch in event.c
	removed minor memleak from each module's init

Apr 18, 2001
	added opengl support (with example)
	fixed display.get_init()
	current music is free'd when mixer is quit
	better thread sharing in various video calls
	fixed GCC compiler error in constants.c

Apr 10, 2001
	mixer now uses the requested sample format/size

Apr 08, 2001
	properly free SDL objects on malloc errors
	fixed rectangle cropping in pygame.display.update()


pygame-10
Apr 05, 2001
	Everything set for the 1.0 release

Apr 04, 2001
	cursors.load_xbm work on images without hotspots

Apr 03, 2001
	swapped endian-ness for pixels_alpha()

Mar 29, 2001
	fixed key.set_mods() (thanks rubysdl)
	rework setup scripts for 1.0 release
	relaxed sdl version checking

Mar 21, 2001
	initial support for compiling on mac
	fixed odd case with locking subsurfaces

Mar 20, 2001
	font and mixer now properly auto quit()

Mar 19, 2001
	Surfaces won't crash after display module is quit [BUG]

Mar 18, 2001
	friendlier type casting in surfarray (for some compilers)
	removed non-ANSI C code

Mar 17, 2001
	pygame.Surface is smarter with SRCALPHA flag
	fixed several small bugs in surfarray [BUG]
	new surfarray example and tutorial

Mar 16, 2001
	Fixed memory leak in Rect constructor
	Fixed improper exception in display.update(with_4_args)

Feb 15, 2001
	calling Sound.play() will make sure the channel
		that gets selected has volume set to full

Feb 14, 2001
	fixed Surface.set_colorkey() with no args [BUG]

Feb 13, 2001
	fixed return rect from line drawing routines
	small fix when drawing horizontal lines


pygame-09
Feb 12, 2001
	added NOFRAME to pygame.constants

Feb 11, 2001
	workaround python parsing error for pygame.time.delay(-1)

Feb 9, 2001
	setting rectangle width/height/size changes the
		right/bottom edges (instead of top/right) [BREAK]

Feb 6, 2001
	fixed the music unpause() function

Jan 31, 2001
	functions taking RGBA colors can also accept mapped ints

Jan 30, 2001
	added draw.lines()

Jan 29, 2001
	extremely revamped surface locking mechnisms
	new Surface.subsurface for shared surfaces

Jan 25, 2001
	added the draw module, with clipped line function
	added alpha routines in surfarray module
	more locking checks for surfarray
	make extra sure all of SDL is shutdown properly

Jan 24, 2001
	funcs that need locked surfaces will temporarily lock them
	   (Surface.set_at, Surface.get_at, surfarray.arrayXd)

Jan 23, 2001
	display.update() no longer effects input Rects [BREAK]
	Surface.fill() no longer effects input Rect [BREAK]
	small memory leak in display.update() fixed

Jan 18, 2001
	cursor.read_xbm() renamed to cursor.load_xbm() [BREAK]

Jan 17, 2001
	documentation updated to include python modules too

Jan 16, 2001
	cursors module beefed up

Jan 15, 2001
	fix Surface.get_at() for 24bit surfaces
	endian cleanups for surfarray

Jan 8, 2001
	more warning cleanups
	music-finished callback fixed
	replaces SDL's parachute with smarter python version

Jan 6, 2001
	added pygame.version module


pygame-05
Jan 6, 2001
	Final cleanups for the new release

Jan 4, 2001
	Surface.blit() allows for rects as dest position
	surfarray cleanups and improvements

Dec 22, 2000
	timer threads properly shutdown

Dec 14, 2000
	display.set_mode pretending shorts are ints [BUG]


pygame-04
Dec 14, 2000
	music module had incorrect names for volume functions
	chimp example and full tutorial added

Dec 13, 2000
	display.update() is entirely better in many ways [BUG]

Dec 3, 2000
	fixed timing issues. negative time.delay() will become 0

Nov 30, 2000
	UserRect module added
	all objects now have a matching type; SurfaceType, etc

Nov 29, 2000
	joystick module rewrite finished [BREAK]
	cdrom module rewrite finished [BREAK]
	all constructors using capitalized function names [BREAK]
		(Rect, pygame.Surface, pygame.font.Font, etc)

Nov 28, 2000
	Surface.convert() better handles surface flags
	All color arguments (and returns) are RGBA format [BREAK]
	Removed Surface.map_rgba and unmap_rgba [BREAK]
	Added a default font, used by passing None as font file


pygame-03
Nov 20, 2000
	Added Surface.save() to create BMPs.

Nov 16, 2000
	Surface.set_clip() fixed when passing no args [BUG]

Nov 15, 2000
	time.set_timer() now handles multiple timers
	rect(), surface(), event() renamed to \
		new_rect, new_surface(), new_event() [BREAK]
	all new_XX() functions were added to pygame.locals
	Moved pygame.music to a member of pygame.mixer [BREAK]
	Surface.blit takes a source rectangle instead of pos, size [BREAK]
	pygame.display.set_clip() correctly accepts rectstyle arg [BUG]
	Added Surface.get_flags() and Surface.get_pitch()
	Added set_cursor and get_cursor to pygame.mouse
	New module, pygame.cursors, contains sample cursors

Nov 14, 2000
	Release the Python Global Interpreter Lock on delays and IO
	Added timer events to pygame.time (check vgrade example)
	New music playback finished events
	surfarray.blit_array() supports all bit depths

Nov 11, 2000
	pygame.display.set_mode() uses int, not short, for size [BUG]

Nov 10, 2000
	Committed to CVS
	Added pygame.display.get_driver()



