Releases: pythonarcade/arcade
Releases · pythonarcade/arcade
3.3.3
- 33e5960 Update version (#2783)
- e55fa7b Update changelog (#2781)
- 937c572 Add Python 3.14 to pyproject classifiers (#2780)
- 3308bd9 Check if Controller device is open before opening (#2779)
- 34b50de Enable Python 3.14 by updating to pillow 11.3.X and adding 3.14 to CI (#2777)
- e55f2b7 typo in about/for_academia.rst (#2776)
- a6c30b2 Fix typos in Sound API documentation #2769 (#2772)
- e00e5e7 Pin click version to fix typer breaking (#2774)
- c110a4d Update examples to use SpriteCircle's new center_* keyword arguments (#2767)
- cdf329b Temp fix texture atlas issues from mypy 1.18.1 (#2768)
- 6cbd908 Added center_x and center_y to SpriteCircle's constructor (#2766)
- 7f4ae49 Add method 0 for auto-select to check_for_collision_with_lists (#2762)
- d1d3824 Add GL backends to pyinstaller hidden imports (#2764)
- 539dd7e UIBoxLayout ignores widgets with
visible=None(#2761) - 3ce025a Add .rect to Text (#2759)
- 61248f2 Gui/controller focus improvements (#2757)
- b084ae3 gui: use incremental layout in UITextArea (#2756)
- f5b6228 fixing the positioning algorithm in
Camera2D.match_targetfor #2558 (#2646) - 9c90129 Gui/fix caret misplaced (#2750)
3.3.2
3.3.1
- Fixed an issue causing NinePatch to not render correctly
- TextureAtlas now as a
versionattribute that is incremented when the
atlas is resized or rebuilt. This way it's easy to track when texture coordinates
has changed. - Added
Text.visible(bool) property to control the visibility of text objects. - Fixed an issue causing points and lines to draw random primitives when
passing in an empty list. - GUI
- Fix caret did not deactivate because of consumed mouse events. 2725
- Property listener can now receive:
- no args
- instance
- instance, value
- instance, value, old value
Listener accepting
*argsreceiveinstance, valuelike in previous versions.
3.3.0
- Fixed an issue causing a crash when closing the window
- Added
Window.closed(bool) attribute indicating if the window is closed - Fixed an issue where
on_drawcould be dispatched after the window was closed - Added
PymunkPhysicsEngine.update_spritefor manually updating a sprite's shape
to synchronize sprite hit boxes with the physics engine - Fixed an issue causing
on_mouse_leaveto be called from disabledSections - Various documentation fixes and improvements
- Scene
Scene.add_spritenow returns the added spriteScene.add_sprite_listnow returns the added sprite listScene.add_sprite_beforenow returns the added sprite listScene.move_sprite_list_beforenow returns the moved sprite listScene.remove_sprite_list_by_indexnow returns the removed sprite listScene.remove_sprite_list_by_namenow returns the removed sprite list
- GUI
- Fix
UILabelwith enabled multiline sometimes cut off text - Improved
UIWidgetusability for resizing and positioning:- Added property setters for
width,height, andsizethat ensure positive values - Added property setters for
center_xandcenter_y - Added property setters for
left,right,top, andbottom - Users can now set widget position and size more intuitively without needing to access the
rectproperty
- Added property setters for
- Fix
- Rendering:
- The
arcade.glpackage was restructured to be more modular in preparation for
other backends such as WebGL and WebGPU - Rewrote many shader programs to not use geometry shaders, which are not supported in WebGL
and some other rendering backends - Fixed a few instances og exceptions not being raised properly in edge cases
- BREAKING CHANGE:
SpriteListnow has multiple rendering systems supporting both WebGL and Desktop GL.
If you have customized spritelist rendering you now need to modify theSpriteListDatainstance
on the spritelist accessed throughSpriteList.data. This instance holds all the GPU-related
resources for the spritelist such as buffers, textures, geometry and shader program.
- The
3.2.0
- GUI
- Fix
UIScrollArea.addalways returning None - Support
layerinUIView.add_widget() - Fix a bug which caused
UIScrollAreato refresh on every frame - Add stepping to
UISlider(thanks csd4ni3l) - Experimental controller support (incl. documentation)
- Fix
- Text objects are now lazy and can be created before the window
- Introduce
arcade.SpriteSequence[T]as a covariant supertype ofarcade.SpriteList[T]
(this is similar to Python'sSequence[T], which is a supertype oflist[T])
and various improvements to the typing of the API that leverage it - Fixed a nasty memory leak in texture atlases. This only affects projects managing their own atlases
- Fixed a bug causing some events to not trigger on the window's keyboard and mouse state handlers
- New minimum pyglet version is now 2.1.5
- Some shader programs were rewritten to not use geometry shaders in preparation for webgl support
3.1.0
- Drop Python 3.9 support
- Disable shadow window on all platforms to provide a consistent experience
- Performance
- Improved performance of
arcade.SpriteList.remove()~300% - Improved
arcade.SpriteList.pop()performance making itO(1)instead ofO(N) - Improved performance of
arcade.hitbox.Hitbox.get_adjusted_points()~35% - Improved performance of
arcade.SpriteList.draw_hit_boxes()~20x
- Improved performance of
- GUI
arcade.gui.widgets.text.UIInputText- now supports styles for
normal,disabled,hovered,pressedandinvalidstates - provides a
invalidproperty to indicate if the input is invalid
- now supports styles for
- Added experimental
arcade.gui.experimental.UIRestrictedInput
a subclass ofUIInputTextthat restricts the input to a specific set of characters arcade.gui.NinePatchTextureis now lazy and can be created before a window exists allowing creation during imports.- Improve
arcade.gui.experimental.scroll_area.ScrollBarbehavior to match HTML scrollbars
- Support drawing hitboxes using RBG or RGBA
- Fixed a bug causing some events to not trigger on the window's keyboard and mouse state handlers
- Many documenation fixes and improvements
- Various example fixes
3.0.2
- 46ce22d Update version (#2607)
- 55a0d34 Merge pull request #2606 from pythonarcade/macos/patch_pyglet_eventloop
- ec33677 fix typing
- c2c34c8 patch pyglet event loop until it is fixed for macOS
- 78061b9 Updating how arcade dispatched 'on_draw' and 'on_update' events (#2587)
- ba02f24 Gui/performance (#2603)
- fcd6a1d Gui/3.x fixes (#2600)
- be83d1d Fix broken pyglet windowing links (#2599)
- b3db2db Corrected the typo in Update Interpolation section in the Event Loop page (#2598)
- 89ec2ab Corrected the typo in report bugs tip in the MIT license section (#2597)
- 8be3699 Bandaid fix for link to pyglet module not working in Install section of docs (#2594)
- 69b7523 added explicit tag around shield images. (#2593)
- 753663a Allow SpriteList.draw_hit_boxes to accept RGB colors (#2591)
- add7fb0 Fixed broken link in README (#2589)
- a246aec Fix typo in Install section of docs (#2590)
- 8a41838 Switch to bumping the version file manually (#2581)
- 2501fcf Fix UIMessageBox title (#2582)
- 21fe980 Fix the type signature of collision check methods. (#2578)
- 79defbf Switch from black to ruff format (#2550)
- 5743504 Delete old formatting kludges (#2575)
- 33c4e2d Fix typo in schedule_once (#2574)
- 4d09ac6 Make on_key_release args consistent with on_key_press (#2570)
- f3ad4a6 Fix name of platformer engine classes in docs (#2571)
- fb309c9 Fix GUI cam on_resize examples (#2572)
3.0.1
- ea6e01f Bump version (#2573)
- dd2b417 Fix arcade.version.VERSION conversion from GitHub CI format (#2569)
- 9c986e2 Fix version display in title bar (#2568)
- 297bce3 Fix Kenney.nl links in permissive licensing page (#2567)
- a8ced82 Fix typos and change phrasing for academia (#2565)
- 4d66523 add changelog for 3.0.1 (#2563)
- ef5afc5 Change version to 3.0.0 (#2564)
- 2e66730 Fix broken links and formatting on the sample games page (#2562)
- 4b17966 gui:iterate on dropdown style options (#2559)
- 5aa322d Small UI docs and example cleanup (#2561)
- f4f4521 Clarify error message when the atlas is full (#2555)
- 11d1eba fix UIWIdgets pass events to children in wrong order (#2553)
- cf2ea62 gui: Fix UIManager not clearing the surface when label triggered a full render during a render cycle (#2552)
- 23df106 Update section init type hints (#2527)
- 3c17eca Small docs and example cleanup (#2546)
- 1ee0d89 dual_stick_shooter: ESC should only close the window (#2548)
- 39501b8 Fix pytest.skip for MacOS in test_tutorials.py (#2547)
- 6a69c80 fix hide method of dropdown when no parent exists (#2539)
- 7717e3f Merge branch 'cdeil-fix-docstrings' into development
- 8b846c5 Fix docstrings in video_player.py
- 2b41d36 Merge branch 'fix-docstrings' of https://github.com/cdeil/arcade into cdeil-fix-docstrings
- 64546b7 Examples: Fix incorrect usage of close() in some examples (#2545)
- 6449ce5 Fix minimap example window resize (#2544)
- 56e4c96 Load liberation fonts in conftest.py (#2543)
- 33b9651 Skip compute shader tutorial on darwin (#2542)
- 6a52632 Input fixes (#2541)
- e3e02b6 Remove deprecated function read_tmx (#2528)
- b28844e Remove outdated comments in pyproject.toml (#2529)
- e356008 Remove unused speedometer-icon.svg (#2537)
- 7264ac3 Fix docstring args
- 333ce6e Remove outdated type: ignore (#2530)
- cdd6f66 Fix GitHub stars on the home page, our pyglet intersphinx config, and small issues on resources (#2524)
- 255d0b1 Another (#2523)
- cda4761 Revert copying files due to RTD issues (#2522)
- a8d65f9 RTD remap trick since sphinx hides the config (#2521)
- d672539 Fix CSS breakage for instructions and embeds ahead of 3.0 (#2520)
- b07f43f update changelog with release date (#2519)
- 458c20f Update color.py (#2512)
- 4cb0211 (#2502) Fix logo centering (#2518)
3.0.0
- 35e6af1 Merge branch 'development' into maintenance
- 255d0b1 Another (#2523)
- dfa12ce Merge branch 'development' into maintenance
- cda4761 Revert copying files due to RTD issues (#2522)
- a8d65f9 RTD remap trick since sphinx hides the config (#2521)
- 1a4bebd Change version to 3.0.0
- 979b93f Merge development back into maintenance
- d672539 Fix CSS breakage for instructions and embeds ahead of 3.0 (#2520)
- b07f43f update changelog with release date (#2519)
- 458c20f Update color.py (#2512)
- 4cb0211 (#2502) Fix logo centering (#2518)
- 806daeb Fix app crashes when touching bomb by passing correct type to
camera.shake()(#1928) - d872405 #1479 Fix for error during camera shake example. (#1485)
- 1556d5b Build is platform dependent, not independent. (#1467)
- 6c4221c Bump dependent library versions (#1447)
- 5266d6d Update maint for Python 3.11 (#1381)
- 6921d22 Update version number to rc, and update release checklist (#2513)
- 3de6b5c sneak in experimental pixelated support for UIManager (#2508)
- 2a7a177 remove workaround for tab usage (#2509)
- dbb1100 improve UIDraggableMixin and update doc strings (#2510)
- 8cf704b Update pytiled-parser to 2.2.9 (#2507)
- 7436e3c Update (#2506)
- 8152cd7 update build prod workflows to fetch tags to fix incorrect version numbering (#2504)
- 434ed57 Hotfix threaded loading examples and sections issue #2499 (#2503)
- 9aa8e1a Doc: additional doc build sync fixes (#2498)
- 049ec48 Temp fix decade-long Sphinx bug breaking our CSS during partial rebuilds (#2496)
- 7be16ce HOTFIX: Handling Vec2's being False when x=0 y=0 (#2497)
- 9b3e42f Add liberation font family to Arcade (#2477)
- 0685cc4 Add cross-refs and pyglet Weight info to UILabel (#2492)
- f1fd709 doc: lazy load images on resources listing page (#2493)
- d71ea18 gui: fix scrolling for small content (#2491)
- 5d0ca3a Upgrade to pyglet==2.1.0 (#2487)
- 5e800f7 Rectify spritesheet (#2481)
- 0d0ee61 Bring Box closer to Rect standards (#2485)
- 26af9ff Bug fix for Rect and Box init helpers (#2486)
- 54b2cee Create a threading example (#2480)
- 8e0e1e7 Int rect properties (#2482)
- 91769e2 Bugfix: Expose capacity in
Spritelist.clear(#2479) - 729e1b2 fix opengl errors on raspberry (#2478)
- 8106891 Add font preview, fix giant snake, and start adding missing 3.0 content (#2432)
- 9d356b3 Rename load_system_fonts to load_kenney_fonts (#2476)
- c01c2ce Fix math point types (#2430)
- 4d65b60 Gui/blend text (#2459)
- 7aa25be gui(experimental): make scrollbars draggable (#2474)
- d4e124d updated (#2469) (#2470)
- 1b2b45c Merge branch 'development' of https://github.com/pythonarcade/arcade into development
- b031c96 Center shields.io elements in the README.md file and grammar fixes for multiple documents. (#2471)
- e202cfc Improved some Camera2D methods, and filled in temporary docs (#2467)
- 33c368d Add View Argument to Window.run() (#2468)
- 4232548 Uniform: Support float, int, int and double with buffer protocol (#2466)
- e243e7c Take visible flag into account when adding sprite to spritelist (#2465)
- 7cde3bc Uniforms: Support buffer protocol (#2463)
- c8b6687 Add missing matrix attributes (#2462)
- 4cbe420 Add support for controllers with button triggers rather than axis triggers (#2461)
- 84e8789 Small cleanup (#2460)
- 9d13188 remove trailing whitespace (#2456)
- 3663d70 add comment about vec2 operations in point_in_view (#2455)
- 575d662 Update Camera Shake 2D with feature requested in #2429 (#2448)
- d12f5d9 TextureArray Support (#2447)
- f8755e2 Basic support for sampler objects (#2445)
- a01e60c fix pyinstaller hook imports arcade (#2444)
- ed5612c Update libs (#2443)
- be48ee9 Replace negative scale in background_parallax.py (#2440)
- fa960c1 Add Arcade theme colors to arcade.color (#2438)
- adc46c4 Documentation - Fix a bunch of typos, and improve certain parts of the documentation (#2437)
- e554b02 Promote sprite depth examples from experimental to main (#2434)
- ce177ba docs: Fix outdated headless example (#2436)
- 1c5a182 Sprite: Clamp alpha to 0-255 in setter (#2435)
- 4edcf7e More generic math methods. (#2431)
- 38644c0 Include arcade.util changes and Ralexi1 in the changelog (#2427)
- fe474fd Fix #2425: make rand_in_circle ensure uniform distribution of points (#2426)
- 4b843e1 fix get_tilemap_layer not returning LayerGroup (#2424)
- 75429c0 feat(gui): allow reset of surface limit (#2423)
- 47d40a0 small doc fix (#2422)
- 41917ae Update the Arcade 3.0 changelog (#2406)
- 8f5068d Add fixed clock deltatime so we can close #1543 (#2421)
- e442b96 fix(gui): windows ui tests (#2420)
- 553bba4 Add arcade.uicolors to doc, then fix alpha and position in resource + color listings (#2419)
- 8a247c6 Fix #2403 (#2418)
- 8331e50 Fix video embeds, columns, and resource link breakage (#2410)
- b8e803b Bump pillow to 11.0.0 (#2417)
- aef3d66 fix(gui): use loaded fonts in gui tests, to be consistent across OS (#2416)
- 959d796 Finishing work for preemptively closed issue #2399 (#2415)
- 0444db5 Sprite scale: Preserve performance (#2389)
- ffd9cfd Python 3.13 support (#2414)
- 6e86607 Enable HiDPI scaling in windows and linux (#2361)
- 95fa66f View these Examples (#2407)
- 150af62 Missing layout in the bindless_texture example. (#2413)
- 488ab2b Bump pyglet to 2.1.dev7 (#2412)
- b7933f6 Fix on API ref breadcrumbs (#2411)
- 85de8eb Credit DarkLight1337 for camera type annotation help (#2409)
- 64569ea uppercase Arcade everywhere (#2408)
- bec1d64 feat(gui): improve rotation support in UIImage (#2401)
- 4f4028b Fix primitive drawing docstrings (#2405)
- 9834472 DefaultTextureAtlas: Crash when supplying initial textures (#2398)
- cdbf285 sidebar styling (#2396)
- f34ec68 Tutorial fixes (#2394)
- f997d21 Update and improve
Camera2Dincluding more unit tests (#2390) - 9a993dd Bump pyglet to 2.1.dev6 (#2385)
- 43190db Add test name to window caption when running tests (#2386)
- 85eb020 fix typing in arcade.math.clamp (#2377)
- 68dbe27 Add enums for specific controller layouts (#2384)
- d4086f2 load_texture: extra arguments for wrap and filter (#2383)
- 553894e Bump pymunk to 6.8.1 (#2382)
- d87dba7 relative point in rect helper (#2378)
- f273639 Bump pillow to 10.4.0 and mode check PyMunkHitBoxAlgorithm (#2375)
- d0eda54 feat(gui):support angle in UIImage (#2381)
- 79a7cc4 Expose OpenGL extensions (#2379)
- fb28eea fix sprite init (#2376)
- 308509c Unroll & reduce dot access in rectangle drawing helpers (#2198)
- 4dbaacf Gui/more docs (#2373)
- 494f50c Fix point in polygon (#2347)
- a55c68d Fix texture coordinate offsets (#2355)
- 0eb7643 Gui/3.0 cleanup 2 (#2372)
- c650082 GUI: 3.0 cleanup (#2371)
- 0ed4661 Gui/further improvements for 3.0 (#2360)
- 8e9c1df remove outdated vsync.rst (#2368)
- 8150623 Event loop docs (#2350)
- 0e8403a fixed small issue with sprite size property
- 851821b add .tracking and px -> em conversion (#2365)
- 4ff2f0f add all to InputManger (#2366)
- 5c4bc93 Fix uilabel tests on windows (#2362)
- 798ae21 fix slider calculates wrong x value when min_value > 0 (#2359)
- d4947c9 feat(section): untie sections and arcade (#2345)
- a362ee1 Changes for arcade 3.0 RC2 (dev34) (#2357)
- 19b53a1 Gui/colorpicker (#2354)
- 10143b9 GUI push for 3.0 (#2351)
- 3808448 Update resource_handlers.rst (#2348)
- 072101f updated ViewportProjector to use Rect, and created unit tests (#2343)
- 83cb72d typing(gui):remove type ignores from gui (#2346)
- f44233c Merge pull request #2344 from pythonarcade/sub-clock
- 2c4161f ✨ linting and ⬛ ✨
- be85a02 Create SubClock Class
- b441fb9 👢strapping!
- 734e333 no more doc string typing
- 8c17aed Clean up changelog structure (#2341)
- 97ebbdd Update contributors (#2340)
- 56fa376 Changelog pass (#2339)
- 4dbe357 Fix broken sound resources (#2338)
- 4d89e32 Restructure GL docs (#2337)
- e20b70a Various doc improvements (#2335)
- 9da2cbf Remove outdated linter markup (#2334)
- 0f58ed5 Temporarily add CHANGELOG_HISTORY.rst (#2333)
- 5d8efa2 Add CHANGELOG.md (#2332)
- 41fa0b8 feat(gui): add arcade splash screen (#2207)
- 5751f52 feat(window): add kwargs to open_window (#2329)
- e800fd9 fix(gui): fix UIInputText triggers rendering when text not changed (#2330)
- fa6e938 Atlas: Add more info when atlas is full (#2322)
- 5d502a8 Gui/small improvements (#2321)
- 7d9a26d Switch arcade.math.lerp to use a Protocol bound to a TypeVar (#2310)
- 5832ddc docs(gui): fix last old style docs (#2319)
- d9d596a Add UITextEvent to all (#2318)
- 605f56f docs(gui): convert to google doc and little cleanup (#2305)
- 47b343e Sound and performance doc rework (#2316)
- eb85958 Unify text input events onto a base class and rename UITextEvent (#2312)
- 05b476f Clean up gitignore (#2311)
- df415dd Fix doc build broken by #2304 (#2309)
- 0a84125 Fix small GUI example and doc issues (#2307)
- 9bd6747 Add experimental UITypedTextInput class (#2308)
- ef870ea Add missing docstrings (#2306)
- 7623d30 Build docs in build/ (#2304)
- de83534 Sprite docstrings (#2302)
- cf0a5d6 Tilemap docstrings (#2301)
- 91345d9 GL module docs and docstrings (#2300)
- c91f53b Texture related docstring improvements (#2299)
- f113b2e Docstrings v4 (#2298)
- 620c704 gui_scrollable_text: Clarify ninepatch (#2296)
- 0c5410d Text docstrings (#2294)
- 4d17288 Convert Sound to Google docstrings + add cross-refs and missing annotations (#2293)
- f06a1b0 Separate exceptions/warnings from utils (#2292)
- 3b8e52f Use development branch for pyglet intersphinx (#2291)
- 794f25a Add script to convert to Google Docstring style (#2290)
- e...