v0.6.6 - August 15, 2019

  - pip or setuptools will request pyglet >=1.2 and <=1.4
  - pyglet version checked when importing cocos, terminate if out of range
  - py 3.3 and py 2.6 support dropped 
  - collision manager honors promises to accept non-known objects, #300
  
v0.6.5 - August 24, 2017

  - First cocos release compatible with pyglet 1.3 (tested against 1.3.0rc1)
  - Fix cocos.draw compatibility with pyglet master, #288  
  - Fix Cannot pass keyword args to pyglet.Sprite, #274
  - Fix issue HMTLLabel does not show img, #276
  - fix bad texture clamping in tiles, crashing sometimes, #272 thanks FluffyInkie 

v0.6.4 - June 12, 2016

  - moved SequenceScene from cocos.utils to cocos.scenes.sequences
  - clean-up automatic event registration #268, #269
  - new interface for easy customize fps stats, #255
  - particle systems can have a per-instance custom texture, #264
  - fix traceback in test_tmx_hexmap.py with py35, #263
  - autocompletion friendly, #261
  - fix changes in pyglet.sprite.Sprite properties break cocos Sprites #260
  - fix Particle size_var isn't used, #259
  - fix RichLabel keyword halign to align, #258
  - fix active scene not always the top node in the scenegraph, #254
  - fixed ScrollingManager scale makes the image jitter, #253
  - * RectMapCollider.collide_map and .do_collision now take dx, dy instead of dy, dx
  - fixed RectMapCollider stuck sometimes, #238
  - * Rect.intersects behavior change: now points on border do not count, only interior ones
  - support the variants 'csv', 'xml', 'base64(uncompressed)' for .tmx tiles layer data, #243
  - fix position for TmxObject when type is 'tile', #245, thanks ottopotto for bug report
  - fix JumpTiles3D, typo introduced in pep8 refactor bf6dce6d, thanks dossjh
  - fix tmx tileset num rows - columns with nonzero separation, ( adc7054c7 )

v0.6.3 - April 26, 2015

  - support for 'spacing' in .tmx's tilesets
  - support to load (some) .tmx maps with hexagonal tiles
  - support collisions between CircleShape and AARectShape in collision_model, 
    #220, thanks Daniel Gillet
  - support to read .tmx (Tiled Editor) object layers and objects, #215
  - deprecated do_not_scale and do_not_scale_window, use autoscale, #214

  - fixed debug view of tmx object layers
  - fixed access cell properties for HexMap, #237, thanks Ezequiel Pozzo
  - workaround to some cases of 'unable to share contexts' on Intel gpu, #235
  - fixed tmx color problem in py2, thanks Daniel Gillet
  - fixed InterpreterLayer crash in py3, thanks Gereon Kaiping 
  - PEP8 over the library, thanks Humberto Rocha
  - PEP8 on some support files, thanks Igor Hatarist
  - fixed z-order in BatchNode, #213, thanks Nitneroc and MCopperhead
  - fixed passing a matrix in a uniform to shaders ( 4a7bfb5ca8 )
  - fixed Rect.clippedBy ( 0ffd5a37 ) 
  - fixed RandomDelay * n ( 56a5229 )
  - fixed <instant action> * n ( 9b1d950 )

v0.6.0 - March 24, 2014
  - removed tiles.ScrollingManager / tiles.ScrollableLayer, they were deprecated
    compatibility shims of same classes in cocos.layer
  - added support for gzip compression in .tmx maps, thanks fred@reichbier.de
    for initial patch, #185
  - fix Sprite.get_rect() forgetting about .scale_x and .scale_y 
  - from r1282 cocos needs python 2.6 or 2.7, and the 'six' package
  ===========================================================================
  - r1281 is the last revision completely compatible with python 2.4 and 2.5
  - EntryMenuItem, callback called before updating the view
  - documentation subsystem changed to sphinx, #206, ended r1278
  - fix particles scaling, #204, thanks hello3171@gmail.com for bugreport
  - module shaders slightly upgraded, added test_shader_examples.py
  - fix mouse hit in HexMap, #203
  - fix some parts of a HexMap not rendering - #201 , #202
  - tilemaps, added persistence of cell color / opacity from / to .xml files - #200
  - fix cells in tilemap forgot color / opacity when out of view - #199
  - fixes cracks in the render of .tmx maps (thanks 2slow2handle@gmail.com for analysis and patch) - #198
  - allow ImageMenuItem to receive a pyglet image as first parameter - #195
  - CocosNode, added scale_x , scale_y properties to uneven resize a node - #165
        total scale along x axis is _scale_x * _scale
		total scale along y axis is _scale_y * _scale
	Don't change scale_x , scale_y from the default 1.0 in ScrollingManager or ScrollableLayer because scrolling and coordinate changes will fail.
	(thanks Gerardo Marset for discussion and patch)
  - MapLayer, added tile properties to cell debug view
  - fix RectMap.get_in_region returns too many cells (thanks Gerardo Marset for 
    bug report, analysis and patch) - #191
  - fix Mac crash due to non matching SDL dlls when not using SDL audio (patch by  Juan J. Martínez, thanks) #190

v0.5.5 - August 12, 2012
  - fix issue 168, now particle textures are propper (this can change visual size for particlers in old code)
  - fix issue 184, BatchNode now honors the visible flag, patch by corentinglon@gmail.com
  - particles work even if gl point sprites not available, issue 178
  - fix issue 162, grid transitions ending with wrong projection / modelview matrices
  - fix issue 164, ZoomTransition misbehaves with some hardware
  - add TMX format tile map loading (generated by the Tiled map editor)
  - action Blink now leaves the node with the same visible state than on start
  - removed crashing debug print in action Spawn, issue 173 reported by pascal.lemerrer@gmail.com
  - fixed issue 76 distorted view for interpreter layer and fps display when using grid transformations
  - fixed memory leak with ScrollingManager and ScrollableLayer, issue 169 reported by  davexunit@gmail.com
  - TransitionScene now preserves modelview matrix, fixes issue 172 reported by AcidTonic@gmail.com
  - action operator AccelDeccel calls .update(1.0), fixes issue 171 reported by AcidTonic@gmail.com

v0.5.0 - October 26, 2011
  - better docs
  - small upgrade in tiles, see r1156
  - collision_manager_model Cshape changed method .touchs_point() -> .touches_point()
  - emit message in console warning about incompatible change coming in next cocos version
    ParticleSystem is the target code, see issue 168
  - fix trivial compatibility with pyglet repo related to FBOs, issue 170

v0.5rc0 - August 14, 2011
  - basic pure python collision support added, see cocos/collision_model.py
  - fixed __init__ for hexmaps 
  - fixed unpause not working in SDL audio
  - added test_transitions_with_pop_recipe.py
  - fixed small bug in TransitionScene when a transition begins amidst another
    transition
  - changed implementation detail in code related to scene changes. User code
    shouldn't notice except if using len(director.scene_stack)
  - fixed cocos sprites too slow compared to pyglet sprites
  - issue 159 fixed scene transitions changing some outgoing scene members    
  - issue 160 fixed ZoomTransition traceback when called repeatedly  
  - issue 158 fixed ctrl + x (toggle show_FPS) not hiding the fps display  

v0.4.0 - September 8, 2010
  - fixed compatibility python 2.4

v0.4rc0 - July 7, 2010
  - actions subsystem upgraded: now Actions with duration not know in advance are possible,
    like the ones that terminates on a collision detection condition.
    Also new Move/BoundedMove/WrappedMove actions for kinematic animation controls
  - ScrollableLayer and ScrollingManager moved to cocos.layer from cocos.tiles and
    usable in non-tiled games
  - cocos.tiles.RectMapCollider provides a skeleton for handling collisions
    between sprites and rectangular tile maps
  - recorder: video record your app as a series of .png files, at a desired framerate
  - axis aligned bounding box (AABB) for sprites
  - skeleton animation support, also an editor for the animations
  - optional experimental SDL audio support
  - more minisamples in the test directories
  - we begun to do unit tests for some parts ( actions and tilemap basically)
  - Many bugfixes

v0.3.0 - September 5th, 2008
  - Added particle systems: Sun, Fire, Fireworks, Meteor, Galaxy, Flower, Exposion, Spiral
  - Added lerp actions
  - Applied patch by naveen.michaudagrawal
  - Applied patch by Kao Cardoso Félix
  - Applied patch by JeanpierreDA
  - Fixed Camera "once" locate bug
  - Many bugfixes
  - Primitive vector based line drawing.
  - Tile-map editor

v0.3.0rc0 -  June 27th, 2008
  - Transitions: Added ZoomTransition by Hugo Ruscitti
  - Fixed Tile Map
  - Compatible with pyglet 1.1beta2

v0.3.0beta1 - June 2nd, 2008
  - Actions: added FadeOutBLTiles, FadeOutUpTiles, FadeOutDownTiles effects
  - Actions: added SplitCols, SplitRows effects
  - Actions: renamed FadeOutTiles to FadeOutTRTiles
  - Actions: added Ripple3D effect
  - Actions: Waves. parameter horizontal_sin and vertical_sin renamed to hsin and vsin
  - Actions: renamed ReverseTime to _ReverseTime to prevent massive usage
  - Actions: camera can be played from current position
  - CocosNode: on_draw() replaced with draw(). It was conflicting with
	  pyglet's event
  - CocosNode: renamed push_handlers() / remove_handlers() to push_all_handlers()
      remove_all_handlers() so that they don't confligt with
	  pyglet.event.Event
  - CocosNode: added the Camera attribute (removed from Grid object)
    It is no longer necessary to have an active grid to perform camera actions
  - Director: default projection is 3D (not glOrtho)
  - Layer: ColorLayer supports position, height and width
  - Menu: MultipleMenuItem new API. Toggle and Entry items receives as 2nd
      argument the callback func (to maintain API coherence)
  - Sprites: renamed ActionSprite class to Sprite
  - Transitions: Changed API. There is no need to pass the src scene as a
	  parameter. If omitted, the src scene will be current scene.
	  init( dst, duration=2, src=current_scene)
  - Transitions: renamed ShrinkAndGrowTransition -> ShrinkGrowTransition
  - Transitions: renamed ShuffleTilesTransition -> ShuffleTransition
  - Transitions: renamed CurtainTransition to FadeTRTransition
  - Transitions: added FadeBLTransition, FadeUpTransition, FadeDownTransition
  - Transition: added SplitColsTransition, SplitRowsTransition
  - Transitions: added test for transitions
  - Samples: added Tetrico, a sample game. Added 'presentation', a sample
	  presentation

v0.3.0beta0 - May 5th, 2008
  - Actions: actions are defined in the actions/ folder
  - Actions: Goto renamed to MoveTo and Move renamed to MoveBy
     Scale renamed to ScaleBy. Added ScaleTo
     Rotate renamed to RotateBy. Added RotateTo
  - Actions: Jump renamed to JumpBy. Added JumpTo.
    Changed the JumpBy/To API. JumpBy( (x,y), height, number_of_jumps, duration)
  - Actions: Added IntervalAction decorators:
     Accelerate, AccelDeccel, Speed, ReverseTime
  - Actions: time can be modified in a whole sequence. eg: Accelerate( sequence )
  - Actions: Added a new base class: InstantAction
  - Actions: every cocosnode support actions. eg: sprites, layers, scenes, etc.
  - Actions: Added grid (mesh distortion) effects:
     Liquid, Waves, Shaky3D, ShakyTiles3D, ShuffleTiles, QuadMoveBy,
     MoveCornerUp, MoveCornerDown, SkewVertical, SkewHorizontal,
     FlipX, FlipY, Flip, CornerSwap, ShatteredTiles3D,
     FadeOutTiles, Waves3D, FlipX3D, FlipY3D, Lens3D,
     JumpTiles3D, WavesTiles3D, Twirl
  - Actions: Added Waves decorators: AccelAmplitude, DeccelAmplitude,
       AccelDeccelAmplitude.
  - Actions: Added camera effects: CameraOrbit
  - Cocos: Renamed project to cocos2d
  - Director: Added DefaultHandler:
     ESCAPE: director.pop
     MOD_ACCEL + f: Toggles Fullscreen
     MOD_ACCEL + p: Toggles Pause
     MOD_ACCEL + w: Toggles wireframe mode
     MOD_ACCEL + s: Takes a screenshot of the current window
     MOD_ACCEL + x: Toggles FPS
     MOD_ACCEL + i: Toggles the python interpreter
  - Director: alpha blending enabled by default.
    use director.set_alpha_bleding(True|False) to change.
  - Documentation: using pyglet's documentation tools
  - Documentation: started the programming guide in restructured text format
    (not finished yet)
  - Documentation: added lots of docstrings to generate API reference guide
    (not finished yet)
  - Transitions: Added CurtainTransition, FlipX3DTransition, FlipY3DTransition,
     FlipAngular3DTransition, TurnOffTilesTransition, RotoZoomTransition, JumpZoomTransition
     EnvelopeTransition
  - Layer: (Tiles support): added ScrollableLayer, MapLayer, RectMapLayer,
    HexMapLayer and more
  - Layer: splitted in 3 files inside the cocos/layer directory
  - Layer: added the PythonInterpreterLayer()
  - Layer: ColorLayer supports changing the opacity & color property in runtime
  - License: using BSD license now
  - Install: Added setup.py and setup.cfg contributed by David Eyk
  - Menu: Added MultipleMenuItem, an item that supports multiple possible
    values. Contributed by Alejandro Weil (tenuki)
  - Menu: Added EntryMenuItem, based on patch by David Eyk
  - Menu: changed API. instead of 'add() and build_items()' use 'create_menu()'
  - Menu: Added support for actions when an item is selected and/or activated
  - Samples: added new samples that shows some features of cocos:
      demo_grid_effects, demo_transitions, demo_sprites, demo_flag3d.
  - Samples: added hello_world_effects sample
  - Scenes: Added the cocos/scenes directory. Pause and transitions are there
  - Sprites: ActionSprite and SpriteGroup added in sprite.py
  - Tests: added lots of 'unit tests' tests

v0.2.0 - March, 21th 2008
  - Director: uses the new pyglet 1.1 loop
  - Director: doesn't have the step() method. Uses on_draw() instead.
  - Director: enable_alpha_blending() is not called automatically
  - Scene: does not have the step() method. Uses on_draw() instead.
  - Layer: step() is called only when it is enabled with Layer.enable_step()
  - Layer: Removed AnimationLayer. No longer necessary.
  - Layer: uses Batch.draw() to draw objects. Propagates the message draw() to the objects it contains.
  - ActionSprite: is a subclass of pyglet.sprite.Sprite
  - ActionSprite: Move() and Goto() uses (x,y) instead of (x,y,0)
  - ActionSprite: removed Animate / Animation (part of pyglet.sprite.Sprite )
  - ActionSprite: uses pyglet.clock.schedule() to generate a ticker.
  - ActionSprite: renamed RepeatMode to RestartMode
  - ActionSprite: Spawn(a,b) + c works as expected
  - Effect: uses draw() and not step() to draw the layer
  - Transition: added enable/disable_step(). Uses draw() to draw subscenes and not step()
  - test/* and samples/* uses the resource.Text and not font.Text
  - test/* added multiline=True in fonts


v0.1.2 - March, 18th 2008
  - ActionSprite: Fixed FadeIn
  - ActionSprite: Spawn(a,b) + c works as expected


v0.1.1 - March, 10th 2008
  - Moved cocos/path_draw.py and cocos/primitives.py to tools/ (created tools dir)
  - Added README in tools/
  - Added this CHANGELOG file
  - [fix] added "max(0,..." to IntervalAction since a negative value could occur under certain circumstances
  - Improved samples/
  - Improved Programming Guide
  - Improved API Reference Guide
  - Added warning if pyglet version is not v1.0


v0.1.0 - February, 29th 2008
  - First public release
