This was a big release! We have a ton of new features and a lot of bugfixes that came out of the community!
Added Features!
- feat: [#2460] add support for wasButtonPressed and wasButtonReleased by @mattjennings in #2461
- feat: [#2468] add clone() method to ex.SpriteSheet by @mattjennings in #2469
- feat: [#2401] Implement arbitrary raycasting by @eonarheim in #2410
- Support wrapping ex.Text graphics by @RyanGrieb in #2472
- feat: Animation improvements fromSpriteSheetCoordinates + EventEmitter by @eonarheim in #2666
- feat: [#2416] Add Postprocessor hooks and default some uniforms by @eonarheim in #2667
- feat: Custom Material/Shader per Actor Support by @eonarheim in #2670
- feat: [#2688] Add actor level graphics flipping as a QOL improvement by @eonarheim in #2694
- feat: QOL Update import site for ex.Input by @eonarheim in #2697
- refactor: [#1145] Strong types EventEmitter refactor by @eonarheim in #2702
- refact(engine/EventEmitter): minor refact by @tonivj5 in #2707
- feat: Implement InputMapper by @eonarheim in #2705
Plugin Updates!
- Tiled Plugin - Object layers are included by default, bug fixes, Tile properties, and Tile by point/coord
- Aseprite Plugin - Native .aseprite file support!
New Samples
Fixes
- fix: [#2409] engine 'visible' event not firing by @mattjennings in #2412
- fix: [#2411] Prevent font corruption with separate state container by @eonarheim in #2413
- fix: [#2418] falsey event values being converted to GameEvent by @mattjennings in #2422
- fix: [#2419] child entities inherit parent's scene by @eonarheim in #2430
- fix: [#2424] crash when using many ex.Text instances by @eonarheim in #2429
- fix: [#2425] incorrect event type in
ex.Actor.on('postupdate')
by @eonarheim in #2431 - fix: [#2421] Match Screenshot AA with Screen by @eonarheim in #2428
- fix: Update entity not in scene warning by @eonarheim in #2432
- fix: [#2450] Sound looping regression by @eonarheim in #2451
- fix: [#2440] Multiply current gfx ctx opacity by @eonarheim in #2449
- fix: [#2437] Respect particle emitter parenting by @eonarheim in #2438
- fix: [#2435] Graphics are consistently drawn around the
contentArea
regardless of resolution by @eonarheim in #2439 - fix: [#2455][#2456] Entity removing children bugs by @eonarheim in #2454
- Fix x-axis bug in
actions.scaleTo
by @reissbaker in #2471 - fix: [#2473] ignore 0 sized precollisions by @eonarheim in #2474
- fix: [#2407] Repair
ex.Actor.clone()
by @eonarheim in #2414 - [#2575] fix actor clone by @eonarheim in #2576
- fix: [#2579] Add tests confirming parent/child scene fix by @eonarheim in #2580
- fix: [#2599] Update Sound canPlayFile to handle querystrings by @eonarheim in #2600
- fix: [#2597] Add defense to ScreenElement ctor for zero width/height by @eonarheim in #2602
- fix: [#2622] Add multi engine support by @eonarheim in #2635
- fix: [#2636] Screen element collider & graphics anchor by @eonarheim in #2637
- fix: [#2619] Camera rotation around the focus by @eonarheim in #2620
- fix: [#1512] Grab window focus by default for x-origin iframes by @eonarheim in #2660
- fix: [#2608] macos meta key issue by @eonarheim in #2661
- fix: [#2490] Circle lineWidth now factored by @eonarheim in #2662
- fix: [#2535] Update to default false on cache busting by @eonarheim in #2663
- fix: [#2668] ScreenElement pointer capture configured properly by @eonarheim in #2669
- fix: Overriding existing components by @eonarheim in #2686
- fix: [#2687] Add scene transfer method by @eonarheim in #2691
- fix: [#2699] Respect scale transform in TileMaps by @eonarheim in #2700
- fix: [#2726] Entity manager memory leak by @eonarheim in #2727
- fix: [#2732] TileMap collider consolidation by @eonarheim in #2733
New Contributors
- @reissbaker made their first contribution in #2471
- @RyanGrieb made their first contribution in #2472
- @tonivj5 made their first contribution in #2707
Contributors (Sorry if I missed you! Send me a note and I'll fix it)
We cannot stress how pleased and grateful we are for all the assistance in the issues, PRs, discussion, samples, templates, plugins, and everything else! Y'all are the nicest bunch on the internet!
- @mattjennings
- @chrisk-7777
- @drewconley
- @tenpaMk2
- @reissbaker
- @RyanGrieb
- @JumpLink
- @ryaino
- @tonivj5
- @facondiaGames
- @djcsdy
- @jalyna
- @cemalgnlts
- @davobutt
- @Lzrs111
- @chrispytoes
- @justinfernald
- @benixmaxedis
- @cirossmonteiro
- @tfkfan
- @kgish
- @bpikaar
- @sparkok
- @KrzyZyb
- @AWaselnuk
- @EduardoHidalgo
- @nemo-omen
- @DaVince
- @kennyfully88
- @ewal
- @robly18
- @ivanjermakov
- @the-man-with-a-golden-mind
- @ikiselev1989
- @CTLaChance
- @sl45sms
- @sparkok
- @BinarySpike
- @Ziphil
- @max-vogler
- @depsypher
- @thefakeplace
- @ufukbakan
- @JumpLink
- @VakaiserGH
- @TouwaStar
- @KokoDoko
- @TouwaStar
Dependencies
Dependency updates
- chore(deps): bump terser from 4.8.0 to 4.8.1 by @dependabot in #2426
- chore: Update dependency @babel/core to v7.18.9 by @renovate in #2441
- chore: Update dependency eslint-plugin-jsdoc to v39.3.4 by @renovate in #2442
- chore: Update dependency serve to v13.0.4 by @renovate in #2443
- chore: Update dependency @babel/core to v7.18.10 by @renovate in #2447
- chore: Update Node.js to v16.16.0 by @renovate in #2444
- chore: Update dependency eslint to v8.21.0 by @renovate in #2446
- chore: Update dependency core-js to v3.24.1 by @renovate in #2445
- chore: Update dependency puppeteer to v15.5.0 by @renovate in #2448
- chore: Update actions/stale action to v8 by @renovate in #2652
- chore: Update dependency @babel/core to v7.22.9 by @renovate in #2709
- chore: Update dependency eslint-plugin-jsdoc to v46.4.5 by @renovate in #2711
- chore: Update dependency semver to v7.5.4 by @renovate in #2712
- chore: Update dependency babel-loader to v9.1.3 by @renovate in #2710
- chore: Update dependency core-js to v3.32.0 by @renovate in #2713
- chore: Update dependency eslint-config-prettier to v8.9.0 by @renovate in #2717
- chore: Update dependency eslint to v8.46.0 by @renovate in #2714
- chore: Update dependency jasmine-core to v5.1.0 by @renovate in #2718
- chore: Update dependency webpack to v5.88.2 by @renovate in #2720
- chore: Update dependency node to v18.17.0 by @renovate in #2719
- chore: Update typescript-eslint monorepo to v5.62.0 by @renovate in #2721
- chore(deps): bump socket.io-parser and socket.io by @dependabot in #2704
- chore: Update coverallsapp/github-action action to v2 by @renovate in #2653
- chore: Update dependency jasmine-core to v5 by @renovate in #2656
- chore: Update dependency jasmine to v5 by @renovate in #2655
- chore: Update dependency eslint-plugin-jsdoc to v46 by @renovate in #2654
- chore: Update dependency @babel/core to v7.22.5 by @renovate in #2676
- chore: Update Node.js to v18.16.1 by @renovate in #2675
- chore: Update dependency @octokit/rest to v19.0.13 by @renovate in #2677
- chore: Update dependency @types/jasmine to v4.3.5 by @renovate in #2678
- chore: Update dependency karma-coverage to v2.2.1 by @renovate in #2679
- chore: Update dependency semver to v7.5.3 by @renovate in #2680
- chore: Update dependency ts-loader to v9.4.4 by @renovate in #2681
- chore: Update dependency core-js to v3.31.0 by @renovate in #2682
- chore: Update dependency eslint to v8.44.0 by @renovate in #2683
- chore: Update Node.js to v18 by @renovate in #2556
- chore(deps): bump ua-parser-js from 0.7.31 to 0.7.35 by @dependabot in #2638
- chore: Update dependency @octokit/rest to v19.0.11 by @renovate in #2640
- chore: Update dependency @types/jasmine to v4.3.2 by @renovate in #2641
- chore: Update dependency @types/webpack-env to v1.18.1 by @renovate in #2642
- chore: Update dependency core-js to v3.30.2 by @renovate in #2643
- chore: Update dependency semver to v7.5.1 by @renovate in #2644
- chore: Update dependency terser-webpack-plugin to v5.3.9 by @renovate in #2645
- chore: Update dependency ts-loader to v9.4.3 by @renovate in #2646
- chore: Update dependency @babel/core to v7.22.1 by @renovate in #2647
- chore: Update dependency css-loader to v6.8.1 by @renovate in #2648
- chore: Update dependency eslint to v8.41.0 by @renovate in #2649
- chore: Update dependency webpack to v5.85.0 by @renovate in #2650
- chore: Update typescript-eslint monorepo to v5.59.8 by @renovate in #2651
- chore: Update dependency webpack to 5.76.0 [SECURITY] by @renovate in #2605
- chore: Update dependency @babel/core to v7.21.4 by @renovate in #2609
- chore: Update dependency terser-webpack-plugin to v5.3.7 by @renovate in #2611
- chore: Update dependency core-js to v3.29.1 by @renovate in #2610
- chore: Update Node.js to v16.20.0 by @renovate in #2613
- chore: Update dependency @fortawesome/fontawesome-free to v6.4.0 by @renovate in #2614
- chore: Update dependency eslint to v8.37.0 by @renovate in #2615
- chore: Update dependency eslint-config-prettier to v8.8.0 by @renovate in #2616
- chore: Update coverallsapp/github-action action to v1.2.5 by @renovate in #2623
- chore: Update dependency @babel/core to v7.21.5 by @renovate in #2624
- chore: Update dependency karma to v6.4.2 by @renovate in #2626
- chore: Update dependency @types/node to v16.18.25 by @renovate in #2625
- chore: Update dependency core-js to v3.30.1 by @renovate in #2627
- chore: Update dependency eslint to v8.39.0 by @renovate in #2628
- chore: Update dependency jasmine to v4.6.0 by @renovate in #2629
- chore: Update dependency karma-chrome-launcher to v3.2.0 by @renovate in #2631
- chore: Update dependency jasmine-core to v4.6.0 by @renovate in #2630
- chore: Update dependency semver to v7.5.0 by @renovate in #2632
- chore: Update dependency webpack to v5.81.0 by @renovate in #2633
- chore: Update Node.js to v16.19.1 by @renovate in #2582
- chore: Update dependency @babel/core to v7.21.0 by @renovate in #2584
- chore: Update dependency eslint-plugin-jsdoc to v39.9.1 by @renovate in #2588
- chore: Update coverallsapp/github-action action to v1.2.4 by @renovate in #2583
- chore: Update dependency @fortawesome/fontawesome-free to v6.3.0 by @renovate in #2585
- chore: Update dependency core-js to v3.29.0 by @renovate in #2586
- chore: Update typescript-eslint monorepo to v5.54.0 by @renovate in #2589
- chore: Update dependency eslint to v8.35.0 by @renovate in #2587
- chore: Update dependency babel-loader to v9 by @renovate in #2559
- chore: Update actions/stale action to v7 by @renovate in #2558
- chore: Update TimonVS/pr-labeler-action action to v4 by @renovate in #2557
- chore(deps): bump express from 4.17.1 to 4.18.2 by @dependabot in #2540
- chore(deps): bump qs from 6.5.2 to 6.5.3 by @dependabot in #2537
- chore(deps): bump socket.io-parser from 4.0.4 to 4.0.5 by @dependabot in #2517
- chore(deps): bump engine.io from 6.2.0 to 6.2.1 by @dependabot in #2521
- chore(deps): bump json5 from 1.0.1 to 1.0.2 by @dependabot in #2560
- chore: Update dependency @fortawesome/fontawesome-free to v6 by @renovate in #2505
- chore: Update dependency @babel/core to v7.20.12 by @renovate in #2564
- chore: Update dependency @octokit/rest to v19.0.7 by @renovate in #2565
- chore: Update dependency typescript to v4.9.5 by @renovate in #2567
- chore: Update dependency core-js to v3.27.2 by @renovate in #2566
- chore: Update storybook monorepo to v6.5.16 by @renovate in #2568
- chore: Update dependency eslint to v8.33.0 by @renovate in #2569
- chore: Update dependency eslint-config-prettier to v8.6.0 by @renovate in #2570
- chore: Update dependency eslint-plugin-jsdoc to v39.7.5 by @renovate in #2571
- chore: Update dependency serve to v14.2.0 by @renovate in #2572
- chore: Update typescript-eslint monorepo to v5.50.0 by @renovate in #2573
- chore: Update Node.js to v16.17.1 by @renovate in #2493
- chore: Update dependency karma to v6.4.1 by @renovate in #2495
- chore: Update storybook monorepo to v6.5.12 by @renovate in #2496
- chore: Update dependency core-js to v3.25.3 by @renovate in #2494
- chore: Update dependency @babel/core to v7.19.3 by @renovate in #2497
- chore: Update dependency eslint to v8.24.0 by @renovate in #2498
- chore: Update dependency ts-loader to v9.4.1 by @renovate in #2499
- chore: Update jasmine monorepo to v4.4.0 by @renovate in #2500
- chore: Update typescript-eslint monorepo to v5.38.1 by @renovate in #2501
- chore: Update dependency @babel/core to v7.19.6 by @renovate in #2511
- chore: Update dependency semver to v7.3.8 by @renovate in #2512
- chore: Update Node.js to v16.18.0 by @renovate in #2514
- chore: update typedoc to 0.23 by @kamranayub in #2516
- chore: Update storybook monorepo to v6.5.13 by @renovate in #2513
- chore: Update dependency typescript to v4.8.4 by @renovate in #2485
- chore: Update dependency minimatch to 3.0.5 [SECURITY] by @renovate in #2518
- chore: Update dependency core-js to v3.26.0 by @renovate in #2515
- chore: Update dependency css-loader to v6.7.2 by @renovate in #2526
- chore: Update Node.js to v16.18.1 by @renovate in #2524
- chore: Update dependency core-js to v3.26.1 by @renovate in #2525
- chore: Update dependency serve to v14.1.2 by @renovate in #2527
- chore: Update dependency ts-loader to v9.4.2 by @renovate in #2528
- chore: Update dependency @babel/core to v7.20.5 by @renovate in #2530
- chore: Update dependency babel-loader to v8.3.0 by @renovate in #2531
- chore: Update dependency eslint to v8.29.0 by @renovate in #2532
- chore: Update actions/checkout action to v3 by @renovate in #2502
- chore: Update actions/setup-node action to v3 by @renovate in #2503
- chore: Update dependency eslint-plugin-jsdoc to v39.6.4 by @renovate in #2534
- chore: Update dependency copy-webpack-plugin to v11 by @renovate in #2507
- chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #2533
- chore(deps): bump loader-utils from 1.1.0 to 1.4.2 by @dependabot in #2519
- chore: Update dependency @octokit/rest to v19 by @renovate in #2506
- chore: Update dependency @babel/core to v7.20.7 by @renovate in #2545
- chore: Update dependency css-loader to v6.7.3 by @renovate in #2546
- chore: Update storybook monorepo to v6.5.15 by @renovate in #2547
- chore: Update Node.js to v16.19.0 by @renovate in #2548
- chore: Update dependency core-js to v3.27.1 by @renovate in #2549
- chore: Update dependency eslint to v8.31.0 by @renovate in #2550
- chore: Update dependency jasmine to v4.5.0 by @renovate in #2551
- chore: Update dependency typescript to v4.9.4 by @renovate in #2553
- chore: Update dependency jasmine-core to v4.5.0 by @renovate in #2552
- chore: Update dependency webpack to v5.75.0 by @renovate in #2554
- chore: Update typescript-eslint monorepo to v5.47.1 by @renovate in #2555
- chore: Update dependency @babel/core to v7.18.13 by @renovate in #2475
- chore: Update dependency terser-webpack-plugin to v5.3.6 by @renovate in #2477
- chore: Update dependency eslint-plugin-jsdoc to v39.3.6 by @renovate in #2476
- chore: Update storybook monorepo to v6.5.10 by @renovate in #2478
- chore: Update Node.js to v16.17.0 by @renovate in #2479
- chore: Update dependency @types/jasmine to v4.3.0 by @renovate in #2480
- chore: Update dependency @types/webpack-env to v1.18.0 by @renovate in #2481
- chore: Update dependency core-js to v3.25.0 by @renovate in #2482
- chore: Update dependency eslint to v8.23.0 by @renovate in #2483
- chore: Update dependency webpack to v5.74.0 by @renovate in #2486
- chore: Update jasmine monorepo to v4.3.0 by @renovate in #2487
- chore: Update dependency karma-jasmine to v5 by @renovate in #2591
Full Changelog: v0.27.0...v0.28.0