pygame / WHATSNEW

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
# 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
#
#

Feb 14, 2008
    Updated constants GL_SWAP_CONTROL,GL_ACCELERATED_VISUAL,BUTTON_X1,BUTTON_X2

    Added pygame.key.get_repeat to see how holding keys down repeats.  This is
      the sister function of pygame.ket.set_repeat.

    MacOSX, and Windows binaries now use latest SDL 1.2.13

Feb 11, 2008
    An example of using pygame with no windowing system.  Useful for webserver
      scripts, or for little utilities.

    Updated mac_scrap to pass some tests, and raise NotImplementedError 
      otherwise.

    Further Windows build updates:
      For MinGW/MSYS the build process now finds the MSYS and MinGW
      directories automatically. gcc links to msvcr71.dll without
      requiring changes to the gcc specs file. This makes the build
      process GCC Version 4 ready. By default all DLLs are Win32 GUI,
      but can be console. The build progams will run from either the
      Windows or MSYS terminal.

      Fixed a bug where DLLs were not installed in the package directory.
      For Windows, everything now goes into the package directory.

      build_deps.py renamed to msys_build_deps.py to avoid confusion.

Jan 26, 2008
    pygame.sndarray noew can change between Numeric and numpy using the
      new methods pygame.sndarray.use_arraytype () and
      pygame.sndarray.get_arraytypes ().

Jan 24, 2008
    Updated the configuration and build process under Windows. In
       config_msys.py and config.py os.popen is replaced with the newer
       subprocess.Popen so the MSYS will run. Calls to raw_input now
       show the prompt on an MSYS console. In an MSYS build paths
       written to Setup are now Windows paths for distutils. The hard
       coded DLL file paths have been removed from setup.py.  It now
       gets the paths from Setup. Consequently, setup.py is now VC/MinGW
       agnostic.

    Added build_deps.py, an all-in-one dependency builder for
       Windows. Requires MinGW and MSYS.

Jan 8, 2008
    pygame.surfarray now can change between Numeric and numpy using the
       new methods pygame.surfarray.use_arraytype () and
       pygame.surfarray.get_arraytypes ().

Jan 4, 2008
    Removed Numeric compile time dependency.
    Added numpy surface array support.

Dec 31, 2007
    New method pygame.get_sdl_byteorder () to get the SDL byte order.

Dec 15, 2007
    Mask can now get bounding rects of set bits.
    pygame.transform can find edges in an image, get the average surface
      of many surfaces and also threshold an image by color.

Sep 1, 2007
    Added get_buffer() methods to Surface, and Sound - which return a new
     BufferProxy - which is a buffer interface only class.  Thanks Marcus!

Aug 23, 2007
    pygame.image.tostring changes from Brian Fisher. 
      RGBA_PREMULT & ARGB_PREMULT type to image.tostring (a very 
      nice thing for getting images into OpenGL)

Aug 22, 2007
    PixelArray from Marcus.  It's going to be a replacement for surfarray.
    [BUG] Fixed some bugs in Surface with SRCALPHA and input validation.
        Thanks Lenard Lindstrom and Brian Fisher.

Aug 15, 2007
    The sprite module has had some big changes from DR0ID.  It now has a 
     LayeredUpdates, and LayeredDirty groups.  For using layers when
     rendering the sprites.  LayeredDirty is an alternative to 
     RenderUpdates that automatically finds the best display method
     (either full screen updates, or dirty rect updates).  It's faster
     if you have sprites that don't move.  Thanks DR0ID!
    Added pygame.mask.from_surface which can make a Mask object from
     a surface.  It's 128x faster than the python version!
    pygame.movie bug fix. Thanks Lenard Lindstrom!

Jun 25, 2007
    Removed QNX support from scrap module. Thanks Marcus!
    Added smoothscale(with MMX!) function from Richard Goedeken

Jun 27, 2007
    Fixes from Marcus for ref counting bugs.
    Also using METH_NOARGS for functions with no arguments.
     Which should make some functions slightly faster.
    Thanks Marcus, and thanks Campbell Barton for spotting them.

May 30, 2007
    Fixed some documentation.  mask, scrap, font modules.
    Fixed the mask.set_at get_at functions to raise a nice exception.
      Thanks piman!
    surface.fill() now takes the same BLEND_ADD BLEND_SUB etc flags that
      surface.blit() takes.  Which makes fade to white, and fade to black
      type operates simple and fast.  Thanks Marcus!!  
    Added the GL_SWAP_CONTROL constant from SDL.  Thanks Eyal Lotem!
    Added the new blitters from Marcus.  These speed up the blend functions
      and the alpha blit function.
    Added a -warnings flag to setup.py for extra warnings with gcc.
    A fix from Marcus for the scrap module in X11.

May 9, 2007
    Windows image copy/paste is working for scrap.
    Adding bitmask code from Ulf Ekstr�m - for pixelperfect collision.
      Still need to get unittest, documentation and some more methods added.
      There's a unittest with some problems checked in.

May 2, 2007
    [BUG] fromstring,tostring work for alpha. Thanks Brian Fisher.
    [BUG] Surf.set_clip(None) works correctly. Thanks Diego Essaya.
    Scrap changes from Marcus so windows/osx compile.
    Added scancode attribute to keyboard events. Thanks Quentin Smith.
    [BUG] movie_set_display hangs on movie file-like object.  Thanks Martin.

Apr 26, 2007
    Some code cleanups from Marcus von Appen.  min->MIN, indentation, other.
    A rewritten scrap module.  Hasn't been tested on osx/windows.

Dec 15, 2006
    Some config changes to make scrap compile correctly on freebsd and debian.

Nov 27, 2006
    Fixes scrap, image, overlay, compiling on windows. Thanks John Popplewell!
    Allowed threads within the transform module. Releasing GIL around C stuff.

Nov 5, 2006
    Fix for SysFont infinite loop bug.  Thanks Regis Desgroppes!
    Compilation fix on MacOSX.  Thanks Emmanuel Hainry!

Nov 4, 2006
    Documentation fixes.

Jun 16, 2006
    Allowed passing in the destination surface to the transform.scale and
     transform.scale2x.  This is faster if reusing the surface.

Jun 15, 2006
    [BUG] Font fix for empty string causing segfault.  Added unittest.

Jun 10, 2006
    64bit compile fixes for Fedora from Christopher Stone

Jun 8, 2006
    Documentation changes.
    Move to subversion instead of cvs.

May 28, 2006
    Added saving surfaces as a .jpg or .jpeg file.  Works if imageext is there.

May 27, 2006
    Added saving surfaces as a .png file.  Works if imageext is there.
    Saves as 24 bit RGB or as 32bit RGBA pngs depending on the surface.

May 20, 2006
    Documentation updates merged in from some doc comments on website.
    [BUG] pygame.transform.* functions now retain SRCALPHA info after scaling.
    Some new unittests for pygame.display.update, pygame.transform.scale.

May 18, 2006
    Patch from Peter Nicolai to add the channel to the sound queued event.

April 25, 2006
    Added some new blend modes to blit. Add,sub,mult,max,min.
    [BUG] Fixed SRCALPHA blending.  Thanks Lenard Lindstrom!

April 9, 2006
    Added mac_scrap module for macintosh clipboard support.

April 8, 2006
    Added scrap module for accessing the clipboard. As well as an example.
    Added access to the XEvent structure on unix/X11 installs.

March 11, 2006
    Fix for config_unix for x86_64 and SDL lib path. Thanks Matthew L Daniel.
    [BUG]Fix for parent init in sprite.GroupSingle. Thanks Alexander Sashnov.

March 1, 2006
    A cursors.py example from Kamilche.  Thanks!

February 11, 2006
    Changed the behaviour of Clock.tick to use SDL_Delay instead of a busy 
      loop.  Added a tick_busy_loop which uses the old behaviour.  This 
      is more consistent with what people think Clock.tick() will do.
      That is, not use 100% cpu to get more accurate timing.
    testsprite.py example, which is based off the testsprite.c in SDL
      shows the performance of sprites, and is a good test.
    Added gp2x package which contains some constants for the gp2x buttons.
      This will be where gp2x specific functionality will live.

January 12, 2006
    Endian patch for set_at() from Ivo Danihelka.

December 19, 2005
    Updates for Overlay. Detect hardware accel and allow "redisplay".

November 7, 2005
    Fix for sprite.AbstractGroup.has inf recursion bug. thanks Randy Kaelber.
    Began work on a sprite unittest.

October 28, 2005
    fix for do_set_icon when display not initialised. Thanks John Popplewell!
    Added missing read_unix_fonts_cache function. Thanks again John Popplewell.

October 24, 2005
    Add support for 64bit data types in surfarray.blit_array()

October 2, 2005
    switch to the new reference documentation system

September 8, 2005
    surface.array_colorkey now unlocks the surface after use[BUG].

September 1, 2005
    music.queue() now raises exception if load fails.

release_1_7_1release
August 15, 2005
    Fix to make Chinese fonts work better on windows.  
      From retsyo  AT  eyou  Dot  com.
    Fix for Channel.set_volume() to not use panning if seting overall volume.
    Made setup put in missing files into the source distribution.
    Fix for fastevents example on linux.

August 10, 2005
    Fix for overlay.c to compile in windows.  
    Fixed some warnings for font, and rotozoom with gcc4.
    Added an example for fastevents.
    Fix for config_unix.py with wrong paths for /usr/local

July 28, 2005
    Fix for sprite module[BUG].  fastevent module for faster sdl event processing.
    Updated examples.

March 7, 2005
    sysfont patch, which checks two places for fonts on weird windows machines from Atul Varma.
    pygame.get_sdl_version(), improved Mac OS X support from Bob Ippolito.
    new sound_array.py example from Rene Dudfield based on ShreadWheats example.

August 8, 2004
    cleanup aaline drawing, from Michael Urman

July 17, 2004
    image.frombuffer() for lightning fast fromstring()'s
    SysFont extra styles being applied incorrect
    psuedo "configure" and "Makefile" for foolproof installs
    draw.aaline now works with pixel alphas

July 16, 2004
    mixer.set_num_channels() no longer crashes [BUG]
    mixer.music.get_pos() properly tracks when paused
    pygame.display.get_wm_info() added, gets a dictionary
    Overlay object, from Dmitry Borisov

July 6, 2004
    Sound object newstyle types
    added Sound.get_length()

July 5, 2004
    Add Bo Jangeborg's cursor compile with added 'xor'
    Add Bo Jangeborg's system cursors as compileable strings

July 3, 2004
    Newstyle fonts crashing with bad filenames [BUG]

June 28, 2004
    Surface.set_clip(None) crashed [BUG]
    Remove pygame's (now) redundant lock counting

June 27, 2004
    Fix several negative or zero size problems [BUG]
    draw.arc outside image crashed [BUG]
    draw.arc artifacts cleaned

June 26, 2004
    Rect.fit() added
    Surface.get_rect() accepts keyword args for assignment
    transform.chop() added, from Matthias Spiller

June 25, 2004
    Font becomes new style type, inheritable, weakrefable

June 22, 2004
    Rect type updated, weakrefable
    (warning, Rect attributes broken for now)

June 21, 2004
    Surfaces now weakref'able
    display surface protected from pygame.quit()
    display and Surfaces protected from resolution <=0

June 19, 2004
    Chad Lester's excellent work on sndarray
    ffmpeg movie backend renamed to movieext, experimental
    v1.6 movie module restored

May 1, 2004
    updated sprite module, Joe Wresching

March 29, 2004
    checkin movie current rewrite, still rough, libavcodec

February 24, 2004
    no longer parachute SIGPIPE, like SDL 1.2.7

February 15, 2004
    small cleanups to internal Sprite and Group

February 9, 2004
    help protect int overflow

December 25, 2003
    sprite groups are now iterators
    SysFont better unix parsing

November 18, 2003
    Remove legacy python code. Ver 2.2 is minimum

pygame-16
October 23, 2003
    final updates for 1.6

October 15, 2003
    Rects now stored with ints (not shorts)

October 2, 2003
    Add ARGB support to fromstring and tostring

September 29, 2003
    Replaced Objective C with PyObjC code for MacOS X
    Fixed 1 pixel horizontal/vertical line draw

September 27, 2003
	Fix reading from file file-like objects (thx Timothy Stranex)

September 21, 2003
	Fix sysfont registry bug on winNT arch

September 18, 2003
	Fix color problem when saving opengl screenshot

September 10, 2003
	SysFont now accepts None like regular Font

August 10, 2003
	fix JOYHAT_RIGHT input (thanks Latimerius)
	system font names have punctuation removed

July 26, 2003
	add GL_STEREO

July 22, 2003
	add GL_MULTISAMPLEBUFFERS and GL_MULTISAMPLESAMPLES

June 11, 2003
	Surface.set_at() respects clip area
	cleaned fill circle draw

June 8, 2003
	add system font; SysFont,get_system_fonts,match_system_font

June 7, 2003
	Font() no longer segfaults on bad filename [BUG]
	add color module for simple color manipulations

June 6, 2003
	set_palette_at() index 0 fix
	draw.arc() (thanks Lalo Martins)
	Rects are pickleable

May 12, 2003
	Brett Calcott's quick fix for 'trunc' on visualc

May 10, 2003
	fix Derek Simkowiak's find of problem alphas

March 10, 2003
	add OPENGL support to image.tostring()

March 9, 2003
	Bug in Clock.tick() was delaying double
	load Font objects from any python file-like object

February 26, 2003
	Sprite and Group now new-style classes

Februrary 12, 2003
	fix immediate returns for first time.delay and time.wait

February 11, 2003
	more OSX SDLmain.m patches from Andrew Straw

February 5, 2003
	antialiased lines, from Jorge Gonzalez
	allow Font.render() with empty string

February 2, 2003
	refcount bug in Font.size [BUG]

December 5, 2002
	tilerow stuff removed

December 2, 2002
	experimental pygame.draw.tilerow()

November 14, 2002
	fix unicode bugs in Font (thanks, hcyun)

November 12, 2002
	AdvanceMAME Scale2X scaling now in transform.scale2x()

October 22, 2002
	mixer can queue sounds and music
	channels can send finished event for sounds

October 19, 2002
	can free software surfaces without video initialized
	added "x", "y", "w", and "h" attribs to Rect (like SDL)
	RenderUpdates.draw() doesn't union nonoverlapping

October 16, 2002
	fix crash with subsubsurface blits [BUG]
	added Surface.get_offset() and get_abs_offset()
	added Surface.get_parent() and get_abs_parent()

October 6, 2002
	added event.clear() to efficiently clear the queue

October 1, 2002
	sprite.RenderGroups wasn't clearing killed sprites after draw()

September 3, 2002
	passing None as the end time to CD.play() plays to cd end
	added pygame.vernum, a tuple of python version values

September 2, 2002
	add Movie.render_frame, thanks James Mazer
	cursors.load_xbm skips comments, thanks Herve

August 20, 2002
	fix rectstyle arguments

August 15, 2002
	Herv� Cauwelier's fix for xbm cursors without spaces

Auguest 14, 2002
	switched to FSF's FreeSansBold default font
	new font.get_default_font()
	cleanup harmless void** typing

July 24, 2002
	Ole Martin Bjoerndalen's CD.play fix

July 17, 2002
	Michael Hudson's unicode cleanups

June 15, 2002
	added get_time() and get_rawtime() to Clock

pygame-15
May 30, 2002
	final updates for 1.5

May 28, 2002
	changed default font to helmet bold

May 27, 2002
	added smart class to handle missing modules

May 17, 2002
	added display.set_gamma_ramp(). thx andrew

May 16, 2002
	custom blitters to handle destination pixel alphas
	fix recursive subsurfaces and subsurface blit returns

May 13, 2002
	fixed CD.play()

May 8, 2002
	music.play() start time works
	image.save() can save TGA images
	cannot subsurface a subsurface [BREAK]
	blits to subsurfaces are passed through

May 7, 2002
	added the sndarray module
	added surfarray.make_surface()

April 25, 2002
	added gl_set_attribute(), gl_get_attribute()

April 16, 2002
	mixer keeps a reference to playing Sound objects
	channel.set_volume() can take 2 volumes for panning
	music.play() can take a starting position for the song

April 14, 2002
	bug when re-initializing pygame.display [BUG]

April 8, 2002
	rectstyle now includes any object with a "rect" attrib
	rects now have collidedict() and collidedictall()

March 27, 2002
	fixes for windows music.get_pos() and windows config

March 23, 2002
	big config.py update
	music.get_pos()  (thx Michael Urman)

March 20, 2002
	sprite.spritecollideany() now works as described

March 4, 2002
	sprite.RenderClear can accept a function as bgd

February 19, 2002
	event.peek() returns next event [BREAK?]
	Event objects have 'truth' operator

February 13, 2002
	all draw primitives have a default width

February 11, 2002
	Rect unionall() and unionall_ip() fixed

February 10, 2002
	pygame.init() not required for proper cleanup [BUG]
	CD.play() fixed for tracks above 0

February 8, 2002
	Rect and Surface subclassable types

February 1, 2002
	locking problem with 90 degree rotate [BUG]
	set_icon overrides default icon

January 31, 2002
	removed emberrasing debug printing
	draw.rect does inside edge for bottomright

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()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.