This was a big release! We have a ton of new features and a lot of bugfixes that came out of the community!
See migration guide for v0.26.x -> v0.27.0
Added Features!
- feat: [#1548] pass data to scene activation from goToScene by @mattjennings in #2381
- feat: [#2324] Add FullScreen Target Element Id by @eonarheim in #2325
- feat: [#242] Implement Parallel Actions by @eonarheim in #2322
- feat: [#2335] Add current playback time & playback rate by @eonarheim in #2336
- feat: Implement Sprite Tint by @eonarheim in #2326
- feat: Add missing Sound features
.seek()
,.duration
, &getTotalPlaybackDuration()
by @eonarheim in #2340 - feat: [#396] Add random Timer intervals by @malitherl in #2317
- feat: Implement Fixed timestep for physics simulation stability by @eonarheim in #2339
- feat: Render from bottom of TileMap tile by default by @eonarheim in #2364
New Samples
- New Grid based movement sample https://github.com/excaliburjs/sample-grid
Template/Plugin Updates
- feat: Tiled Plugin update to support tilesets that are a collection of images excaliburjs/excalibur-tiled#383
- fix: Tiled Plugin update to support Tiled 1.9 breaking change excaliburjs/excalibur-tiled#385
- fix: Tiled Plugin TiledMapResource#getSpriteForGid with multiple external tilesets excaliburjs/excalibur-tiled#380
- fix: Tiled Plugin custom properties parsing fix excaliburjs/excalibur-tiled#378
- Updated Electron template to latest versions https://github.com/excaliburjs/template-electron
Performance Improvements
- perf: Adjust TileMap to avoid perf hit on big maps
- perf: Refactor Transform & AffineMatrix + related perf improvements by @eonarheim in #2346
- perf: Improve collision system performance by @eonarheim in #2351
Fixes
- fix: [#2368] elastic collisions & degree of freedom by @eonarheim in #2369
- fix: [#2403] Allow ex.Canvas and ex.Raster to have NPOT dimensions by @eonarheim in #2404
- fix: Oscillation issue with pixel snapping + pixelToSnap default false #2348
- fix: Tweak performance fallback options to be optional #2396
- fix: Add warning if ImageSource not loaded #2371
- fix: [#2379] Deferred goto preserves wrong scene by @eonarheim #2380
- fix: [#2344] [#2343] Arcade Solver sorts contacts by distance and ignores diverging contacts by @eonarheim in #2345
- fix: [#2347] EventDispatcher concurrent update issue and removal bug by @eonarheim in #2350
- fix: [#2353] EdgeColliders in Composite calculate offsets by @eonarheim in #2354
- fix: [#2359] work around image decode limits in chromium by @eonarheim in #2361
- fix: Fixed update interpolation incorrect with child actors by @eonarheim in #2397
- chore: [#2376] update eslint config in vscode settings by @mattjennings in #2377
Dependency updates
- chore: [#2376] update eslint config in vscode settings by @mattjennins in #2377
- chore: Update TypeScript 4.7.4 by @eonarheim in #2355
- chore: Update Node.js to v16.15.1 by @renovate in #2331
- chore: Update dependency karma-summary-reporter to v3.1.1 by @renovate in #2334
- chore: Update dependency core-js to v3.23.1 by @renovate in #2328
- chore: Update dependency replace-in-file to v6.3.5 by @renovate in #2329
- chore: Update dependency eslint to v8.18.0 by @renovate in #2332
- chore: Update dependency karma to v6.4.0 by @renovate in #2387
- chore: Update dependency puppeteer to v15.3.0 by @renovate in #2395
- chore: Update dependency ts-loader to v9.3.1 by @renovate in #2389
- chore: Update dependency webpack to v5.73.0 by @renovate in #2391
- chore: Update dependency webpack-cli to v4.10.0 by @renovate in #2392
- chore: Update jasmine monorepo by @renovate in #2394
- chore: Update dependency @types/node to v16.11.42 by @renovate in #2383
- chore: Update dependency core-js to v3.23.3 by @renovate in #2385
- chore: Update dependency terser-webpack-plugin to v5.3.3 by @renovate in #2386
- chore: Update dependency @babel/core to v7.18.6 by @renovate in #2382
Contributors
- @malitherl - Congratulations on their first code contribution in #2317
- @mattjennings - Congratulations on their first contribution in #2377
- @ewal - Thank you for posting about basic patterns in discussions and really digging into the mysterious tsserver issue!
- @salsa2k - Thank you for actor moving, pathfinding, and image loading discussions
- @SimponGoril - Thank you for sharing the Crab based puzzle game! #2360
- @pdrhlik - Thank you for helping with a tile collider issue with edges in the discussions
- @Joshua-Beatty - Thank you for creating a new Capacitorjs plugin for safe area awareness on mobile! #2349
- @KokoDoko - Thank you for the issue for physics bounciness/degrees of freedom & the discussion around esm and type information
- @mattjennings - So many contributions!
- Thank you for creating a new meta-framework called Merlin that works with Vite and Excalibur to remove resource loading friction! #2342
- Thank you for the cool scene transition samples
- Thank you for the opening the Arcade physics issues #2344 #2343
- Thank you for ray casting discussion!
- Thank you for the vscode eslint fix
- Thank you for spotting the docs linking issue
- Thanks for the contributions to Scene activation
- @HxShard - Many thanks!
- Thank you for opening the Image.decode() issue that affected chrome!
- Thank you for the fix for Tiled custom properties
- Thank you for the fix for Tiled TiledMapResource#getSpriteForGid inconsitency
- @ilnicki - Thank you for opening the issue around the event dispatcher!
- @EzraMoore65 - Thank you for the issue around sound playback!
- @chrisk-7777 - Many valuable updates to the docs, dev-tool dynamic scene issue, and a great parallel actions discussion!
- @lecoqjacob - Grid based movement discussion
- @ttay24 - Great discussion about fullscreen, html based UI, and Tiled plugin contribution
- @kgish - Great discussion about Excalibur's future and tragectory
- @ivanjermakov - Thank you for the CollisionType issue around the docs being incorrect and spotting another issue when physics is disabled
- @YunlongYang - Thank you for debugging the webpack template with us
- @tenpaMk2 - Thank you for more examples!
- Cool dino game! https://tenpamk2-blog.netlify.app/apps/excalibur-dino-runner/
- Love the snake game example! https://github.com/tenpaMk2/excalibur-examples/tree/main/examples/snake
- Thank you for the tiled + parcel2 template https://github.com/tenpaMk2/excalibur-tiled-parcel2-template
- @divinitas-art - Thank you for the cool shadows post, ex.Canvas discussion, and bug find!
- If I missed your name for anything let me know and I'll ammend the release notes!
Full Changelog: v0.26.0...v0.27.0