1
# This is a list of changes in pygame's history.
3
# CVS tag names are placed before the date
4
# BREAK = change breaks existing code
5
# BUG = fixed a bug that was (or could have been) crashing
9
everything bumped for the 1.4 release
12
update SDL_rotozoom to 2.0.3
15
special cases for 90 degree transform.rotate()
16
OSX cleanups for commandline (thanks Bob)
17
added sprite.spritecollideany()
20
transform.rotate() does alpha if image has alphaplane
21
transform.rotate() no longer "off by one" in the x axis
22
added CD.get_all() to get information for all tracks
23
CD.play() can now take an option start and end time
26
smarter importing code
27
default pygame icon for window
30
started implementing basic unit tests
31
several bug cleanups with Rects (thx unit tests)
34
display.update() boundaries fixed
37
Surface.set_clip() can take None to clear the clipping
40
fixed sprite.Group.has
43
Merge with bob's inital MacOSX changes
46
new and upgraded importing [BREAK?]
47
fixed numberhandling in set_alpha and set_colorkey
50
Group add/remove methods work
53
pygame parachute does tracebacks with python2.2
56
Surface.set_alpha() and set_colorkey() accept None
57
event.set_allowed() and set_blocked() accept None
61
small preps for the full 1.3 release
64
small changes to sprite before release
67
small protection for display Surfaces after display.quit()
70
made time.delay() more accurate [BREAK]
71
created time.wait() to work like old delay()
72
added time.Clock objects for framerate tracking
75
Surface.convert() doesn't segfault before pygame.init()
78
added pygame.sprite.Group.update()
79
Surface.blit() protection for alpha->8bit relaxed
82
fixed image.fromstring() for "RGBA" mode
85
can stream python file-like objects to SDL threads
88
cleanups for transform.rotate
94
image.tostring() "RGBA" works with colorkey
97
filled shape drawing now clips properly [BUG]
98
Rect object correctly compare (==,<,>)
101
pygame.time.get_ticks() returns 0 before pygame.init()
104
small fix for filled ellipses/circles
107
drawing filled circles returns bounding rect
108
ellipses and circles drawn inside given area
109
mixer init can take chunksize
110
fix in clipped horizontal line drawing [BUG]
113
key.set_repeat() raises exception on error, smarter args
116
added Rect.clamp_ip, for inplace clamping
117
display.update(None) will update full screen
120
Surface.convert() respects the SRCALPHA flag when passing depth
125
fixed typo in pygame.cursor
128
added VIDEOEXPOSE event
131
changed initializations, to allow easier embedding
134
added circle and rect convenciences to pygame.draw
135
removed debug printing from draw.polygon
138
added looping, scaling, and audio to for Movies
141
added pygame.movie module with MPEG video playback
144
fixed mixer.music refcount
147
custom events work with event.peek() and event.get()
148
added event.get_blocked() function to query blocked types
151
music specifically halted when quitting (should not matter?)
152
mixer.get_init() now returns the initialized playback format
155
all events can be posted, not just USEREVENT
156
subsurfaces inherit colorkey and alpha settings
159
default font "finding" is smarter
162
added polygon() and ellipse() to pygame.draw
163
lines with width>2 are now correct (was one too small)
166
can work with software surfaces before pygame.init()
167
Surface.convert() now can take arguments like pygame.Surface()
168
pygame.display.set_icon() sets the windowmanager icon
171
fixed bad internal display reference counting [BUG]
174
still makes clean-ish exit if segfault in exit handling
177
image.tostring makes alpha from colorkey, if asking for RGBA
180
added python 1.5.2 compatability
183
horizontal transform.flip() was reading pixels off by one [BUG]
186
calling set_mode will change all references to the display surface
191
removed smooth underline font render protection
194
fixed botched image.save() function
197
new inplace Rect calls: move_ip, union_ip, etc
200
smarter locking with subsurfaces
201
added transform.rotozoom(), which uses builtin SDL_rotozoom
204
correctly handle unicode filenames
207
set display physical palette with display.set_palette()
208
added transform module (with rotate and scale)
211
code compiles with macos now
214
fixed line drawing of width 1
215
draw.lines() was broken with sections outside clip
218
added midleft, midright, midtop, and midbottom to Rect
219
added Rect.unionall() function to union a list of Rects
220
fixed problem in 16bit surfarrays
221
new image.tostring() and image.fromstring()
224
applied dave wallace's patch to fix memory freeing
227
a few small compile time warning cleanups
230
line drawing functions now use an optional width
233
image module is now builtin, but formats are optional
234
enhanced save function in image (handles opengl)
235
Surface.save is now depracated
238
smarter internal module handling
239
fixed blit() (broken on May 9th change)
242
USEREVENT events now pass through the queue
243
Event() may be called with keyword args and/or a dict
244
Font.render() won't render underlines while smoothing [BUG]
247
8bit subsurfaces inherit their parents colormap
248
blit keeps SDL from crashing with alpha onto 8bit
251
loading Sounds from python objects now works [BUG]
252
loading from python objects now thread safe [BUG]
255
applied Niki Spahiev's memory leak patch in event.c
256
removed minor memleak from each module's init
259
added opengl support (with example)
260
fixed display.get_init()
261
current music is free'd when mixer is quit
262
better thread sharing in various video calls
263
fixed GCC compiler error in constants.c
266
mixer now uses the requested sample format/size
269
properly free SDL objects on malloc errors
270
fixed rectangle cropping in pygame.display.update()
275
Everything set for the 1.0 release
278
cursors.load_xbm work on images without hotspots
281
swapped endian-ness for pixels_alpha()
284
fixed key.set_mods() (thanks rubysdl)
285
rework setup scripts for 1.0 release
286
relaxed sdl version checking
289
initial support for compiling on mac
290
fixed odd case with locking subsurfaces
293
font and mixer now properly auto quit()
296
Surfaces won't crash after display module is quit [BUG]
299
friendlier type casting in surfarray (for some compilers)
300
removed non-ANSI C code
303
pygame.Surface is smarter with SRCALPHA flag
304
fixed several small bugs in surfarray [BUG]
305
new surfarray example and tutorial
308
Fixed memory leak in Rect constructor
309
Fixed improper exception in display.update(with_4_args)
312
calling Sound.play() will make sure the channel
313
that gets selected has volume set to full
316
fixed Surface.set_colorkey() with no args [BUG]
319
fixed return rect from line drawing routines
320
small fix when drawing horizontal lines
325
added NOFRAME to pygame.constants
328
workaround python parsing error for pygame.time.delay(-1)
331
setting rectangle width/height/size changes the
332
right/bottom edges (instead of top/right) [BREAK]
335
fixed the music unpause() function
338
functions taking RGBA colors can also accept mapped ints
344
extremely revamped surface locking mechnisms
345
new Surface.subsurface for shared surfaces
348
added the draw module, with clipped line function
349
added alpha routines in surfarray module
350
more locking checks for surfarray
351
make extra sure all of SDL is shutdown properly
354
funcs that need locked surfaces will temporarily lock them
355
(Surface.set_at, Surface.get_at, surfarray.arrayXd)
358
display.update() no longer effects input Rects [BREAK]
359
Surface.fill() no longer effects input Rect [BREAK]
360
small memory leak in display.update() fixed
363
cursor.read_xbm() renamed to cursor.load_xbm() [BREAK]
366
documentation updated to include python modules too
369
cursors module beefed up
372
fix Surface.get_at() for 24bit surfaces
373
endian cleanups for surfarray
376
more warning cleanups
377
music-finished callback fixed
378
replaces SDL's parachute with smarter python version
381
added pygame.version module
386
Final cleanups for the new release
389
Surface.blit() allows for rects as dest position
390
surfarray cleanups and improvements
393
timer threads properly shutdown
396
display.set_mode pretending shorts are ints [BUG]
401
music module had incorrect names for volume functions
402
chimp example and full tutorial added
405
display.update() is entirely better in many ways [BUG]
408
fixed timing issues. negative time.delay() will become 0
411
UserRect module added
412
all objects now have a matching type; SurfaceType, etc
415
joystick module rewrite finished [BREAK]
416
cdrom module rewrite finished [BREAK]
417
all constructors using capitalized function names [BREAK]
418
(Rect, pygame.Surface, pygame.font.Font, etc)
421
Surface.convert() better handles surface flags
422
All color arguments (and returns) are RGBA format [BREAK]
423
Removed Surface.map_rgba and unmap_rgba [BREAK]
424
Added a default font, used by passing None as font file
429
Added Surface.save() to create BMPs.
432
Surface.set_clip() fixed when passing no args [BUG]
435
time.set_timer() now handles multiple timers
436
rect(), surface(), event() renamed to \
437
new_rect, new_surface(), new_event() [BREAK]
438
all new_XX() functions were added to pygame.locals
439
Moved pygame.music to a member of pygame.mixer [BREAK]
440
Surface.blit takes a source rectangle instead of pos, size [BREAK]
441
pygame.display.set_clip() correctly accepts rectstyle arg [BUG]
442
Added Surface.get_flags() and Surface.get_pitch()
443
Added set_cursor and get_cursor to pygame.mouse
444
New module, pygame.cursors, contains sample cursors
447
Release the Python Global Interpreter Lock on delays and IO
448
Added timer events to pygame.time (check vgrade example)
449
New music playback finished events
450
surfarray.blit_array() supports all bit depths
453
pygame.display.set_mode() uses int, not short, for size [BUG]
457
Added pygame.display.get_driver()