Skip to content

Conversation

@eyebrowsoffire
Copy link
Contributor

Harry had investigated that on the CanvasKit side, that this was a bit a faster than the createImageBitmap approach when dealing with multiple DOM canvases. Also, it appears that Safari is significantly faster at transferToImageBitmap compared to createImageBitmap, so this might make porting skwasm to Safari a bit more feasible. Either way, we should validate the performance and make sure this doesn't actually make anything slower.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions bot added engine flutter/engine related. See also e: labels. platform-web Web applications specifically labels Feb 13, 2025
@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #163251 at sha 52ab410

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label Feb 13, 2025
@eyebrowsoffire
Copy link
Contributor Author

Comparing the benchmark metrics, the run looks reasonable, perhaps even slightly faster with the new transfer strategy. This needs no additional tests as there is no functional change, should just be perf ramifications if anything.

Copy link
Contributor

@yjbanov yjbanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@eyebrowsoffire eyebrowsoffire added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 13, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Feb 14, 2025
Merged via the queue into flutter:master with commit 7d22606 Feb 14, 2025
176 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 17, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 18, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 19, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 19, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 19, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 20, 2025
Roll Flutter from e8f34a9 to 39b4951 (95 revisions)

flutter/flutter@e8f34a9...39b4951

2025-02-18 [email protected] Marks Windows_arm64 plugin_test_windows to be flaky (flutter/flutter#163123)
2025-02-18 [email protected] [android] use macro definition to shrink repetitive JNI code size. (flutter/flutter#163395)
2025-02-18 [email protected] Roll pub packages (flutter/flutter#163474)
2025-02-18 [email protected] [web] Cleanup everything HTML from the engine (outside html/ folder) (flutter/flutter#162840)
2025-02-18 [email protected] [Impeller] add support for rational bezier conics to Path (flutter/flutter#163282)
2025-02-18 [email protected] Change `cardTheme`, `dialogTheme`, and `tabBarTheme` type to `xxxThemeData` (flutter/flutter#157292)
2025-02-18 [email protected] Update integration test and benchmark Android .gitignore files to match the current app template (flutter/flutter#163276)
2025-02-18 [email protected] [Impeller] Don't create a redundant typography context. (flutter/flutter#163513)
2025-02-18 [email protected] Roll Dart SDK from fcef25f18e4d to 023ac80cef14 (1 revision) (flutter/flutter#163110)
2025-02-18 [email protected] update module_host_with_custom_build_v2_embedding to target android 35 and to use the latest gradle and agp versions (flutter/flutter#163542)
2025-02-18 [email protected] [Impeller] when binding to READ_FRAMEBUFFER, treat multisampled textures as single sampled. (flutter/flutter#163345)
2025-02-18 [email protected] Add missing properties to _ArcPaintPredicate. (flutter/flutter#162572)
2025-02-18 [email protected] Roll Packages from 8542af3 to cb4fb13 (4 revisions) (flutter/flutter#163544)
2025-02-18 [email protected] Remove bringup for android_display_cutout (flutter/flutter#163312)
2025-02-18 [email protected] Create VersionUtils class and unit tests and extract logic out of flutter.groovy (flutter/flutter#163166)
2025-02-18 [email protected] Invalidate `pod install` output if `.flutter-plugins-dependencies` content changes. (flutter/flutter#163275)
2025-02-18 [email protected] Replace hard coded numbers with mouse button defines (flutter/flutter#163503)
2025-02-18 [email protected] Roll Skia from 9147a9654043 to 6da10829d017 (1 revision) (flutter/flutter#163531)
2025-02-18 [email protected] Roll Skia from 92aaa4e20ea7 to 9147a9654043 (2 revisions) (flutter/flutter#163512)
2025-02-17 [email protected] Roll Skia from 71a160edc9d9 to 92aaa4e20ea7 (1 revision) (flutter/flutter#163488)
2025-02-17 [email protected] Roll Packages from 625023a to 8542af3 (21 revisions) (flutter/flutter#163484)
2025-02-17 [email protected] Roll Skia from 7e3129d5db11 to 71a160edc9d9 (1 revision) (flutter/flutter#163459)
2025-02-17 [email protected] Roll Skia from 40ce5ef20d22 to 7e3129d5db11 (1 revision) (flutter/flutter#163451)
2025-02-16 [email protected] Roll Skia from bb166c85957b to 40ce5ef20d22 (1 revision) (flutter/flutter#163403)
2025-02-15 [email protected] Roll Skia from ff94581f1f8a to bb166c85957b (1 revision) (flutter/flutter#163381)
2025-02-15 [email protected] Move DWDS initialization into the onLoadEndCallback for the DDC library bundle format (flutter/flutter#163338)
2025-02-14 [email protected] [canvaskit] Handle MakeGrContext returning null (flutter/flutter#163332)
2025-02-14 [email protected] Roll Skia from 13a3b6f34ee8 to ff94581f1f8a (1 revision) (flutter/flutter#163347)
2025-02-14 [email protected] Fix failing chrome_dev_mode tests (flutter/flutter#163346)
2025-02-14 [email protected] Adds all semantics roles (flutter/flutter#163075)
2025-02-14 [email protected] Roll Skia from 20924303cc25 to 13a3b6f34ee8 (1 revision) (flutter/flutter#163336)
2025-02-14 [email protected] [ Widget Preview ] Add experimental support for web-based widget preview environment (flutter/flutter#163154)
2025-02-14 [email protected] [Impeller] don't use glFramebufferBlit for onscreen restore. (flutter/flutter#163327)
2025-02-14 [email protected] Align web terminal messages with the VM (flutter/flutter#163268)
2025-02-14 [email protected] Manually roll customer_testing to enable rfw tests (flutter/flutter#163030)
2025-02-14 [email protected] Refactor SliverMainAxisGroup for reverse mode. (flutter/flutter#161849)
2025-02-14 [email protected] Tweaked TextContents math to avoid floating point errors (flutter/flutter#162480)
2025-02-14 [email protected] [release] Update cherry-pick CHANGELOG requirements (flutter/flutter#163318)
2025-02-14 [email protected] Roll Skia from 85722a1db585 to 20924303cc25 (2 revisions) (flutter/flutter#163293)
2025-02-14 [email protected] Roll Skia from 5a38d23ee247 to 85722a1db585 (1 revision) (flutter/flutter#163286)
2025-02-14 [email protected] Add `.flutter-plugins-dependencies` to `FlutterBuildSystem`; update logic, add tests. (flutter/flutter#163278)
2025-02-14 [email protected] Add table related semantics role (flutter/flutter#162339)
2025-02-14 [email protected] [Impeller] Call glDebugMessageControlKHR only if the KHR_debug extension is available (flutter/flutter#163273)
2025-02-14 [email protected] Roll Skia from 748415976ad1 to 5a38d23ee247 (3 revisions) (flutter/flutter#163271)
2025-02-14 [email protected] [canvaskit] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163175)
2025-02-14 [email protected] [skwasm] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163251)
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
Roll Flutter from e8f34a9 to 39b4951 (95 revisions)

flutter/flutter@e8f34a9...39b4951

2025-02-18 [email protected] Marks Windows_arm64 plugin_test_windows to be flaky (flutter/flutter#163123)
2025-02-18 [email protected] [android] use macro definition to shrink repetitive JNI code size. (flutter/flutter#163395)
2025-02-18 [email protected] Roll pub packages (flutter/flutter#163474)
2025-02-18 [email protected] [web] Cleanup everything HTML from the engine (outside html/ folder) (flutter/flutter#162840)
2025-02-18 [email protected] [Impeller] add support for rational bezier conics to Path (flutter/flutter#163282)
2025-02-18 [email protected] Change `cardTheme`, `dialogTheme`, and `tabBarTheme` type to `xxxThemeData` (flutter/flutter#157292)
2025-02-18 [email protected] Update integration test and benchmark Android .gitignore files to match the current app template (flutter/flutter#163276)
2025-02-18 [email protected] [Impeller] Don't create a redundant typography context. (flutter/flutter#163513)
2025-02-18 [email protected] Roll Dart SDK from fcef25f18e4d to 023ac80cef14 (1 revision) (flutter/flutter#163110)
2025-02-18 [email protected] update module_host_with_custom_build_v2_embedding to target android 35 and to use the latest gradle and agp versions (flutter/flutter#163542)
2025-02-18 [email protected] [Impeller] when binding to READ_FRAMEBUFFER, treat multisampled textures as single sampled. (flutter/flutter#163345)
2025-02-18 [email protected] Add missing properties to _ArcPaintPredicate. (flutter/flutter#162572)
2025-02-18 [email protected] Roll Packages from 8542af3 to cb4fb13 (4 revisions) (flutter/flutter#163544)
2025-02-18 [email protected] Remove bringup for android_display_cutout (flutter/flutter#163312)
2025-02-18 [email protected] Create VersionUtils class and unit tests and extract logic out of flutter.groovy (flutter/flutter#163166)
2025-02-18 [email protected] Invalidate `pod install` output if `.flutter-plugins-dependencies` content changes. (flutter/flutter#163275)
2025-02-18 [email protected] Replace hard coded numbers with mouse button defines (flutter/flutter#163503)
2025-02-18 [email protected] Roll Skia from 9147a9654043 to 6da10829d017 (1 revision) (flutter/flutter#163531)
2025-02-18 [email protected] Roll Skia from 92aaa4e20ea7 to 9147a9654043 (2 revisions) (flutter/flutter#163512)
2025-02-17 [email protected] Roll Skia from 71a160edc9d9 to 92aaa4e20ea7 (1 revision) (flutter/flutter#163488)
2025-02-17 [email protected] Roll Packages from 625023a to 8542af3 (21 revisions) (flutter/flutter#163484)
2025-02-17 [email protected] Roll Skia from 7e3129d5db11 to 71a160edc9d9 (1 revision) (flutter/flutter#163459)
2025-02-17 [email protected] Roll Skia from 40ce5ef20d22 to 7e3129d5db11 (1 revision) (flutter/flutter#163451)
2025-02-16 [email protected] Roll Skia from bb166c85957b to 40ce5ef20d22 (1 revision) (flutter/flutter#163403)
2025-02-15 [email protected] Roll Skia from ff94581f1f8a to bb166c85957b (1 revision) (flutter/flutter#163381)
2025-02-15 [email protected] Move DWDS initialization into the onLoadEndCallback for the DDC library bundle format (flutter/flutter#163338)
2025-02-14 [email protected] [canvaskit] Handle MakeGrContext returning null (flutter/flutter#163332)
2025-02-14 [email protected] Roll Skia from 13a3b6f34ee8 to ff94581f1f8a (1 revision) (flutter/flutter#163347)
2025-02-14 [email protected] Fix failing chrome_dev_mode tests (flutter/flutter#163346)
2025-02-14 [email protected] Adds all semantics roles (flutter/flutter#163075)
2025-02-14 [email protected] Roll Skia from 20924303cc25 to 13a3b6f34ee8 (1 revision) (flutter/flutter#163336)
2025-02-14 [email protected] [ Widget Preview ] Add experimental support for web-based widget preview environment (flutter/flutter#163154)
2025-02-14 [email protected] [Impeller] don't use glFramebufferBlit for onscreen restore. (flutter/flutter#163327)
2025-02-14 [email protected] Align web terminal messages with the VM (flutter/flutter#163268)
2025-02-14 [email protected] Manually roll customer_testing to enable rfw tests (flutter/flutter#163030)
2025-02-14 [email protected] Refactor SliverMainAxisGroup for reverse mode. (flutter/flutter#161849)
2025-02-14 [email protected] Tweaked TextContents math to avoid floating point errors (flutter/flutter#162480)
2025-02-14 [email protected] [release] Update cherry-pick CHANGELOG requirements (flutter/flutter#163318)
2025-02-14 [email protected] Roll Skia from 85722a1db585 to 20924303cc25 (2 revisions) (flutter/flutter#163293)
2025-02-14 [email protected] Roll Skia from 5a38d23ee247 to 85722a1db585 (1 revision) (flutter/flutter#163286)
2025-02-14 [email protected] Add `.flutter-plugins-dependencies` to `FlutterBuildSystem`; update logic, add tests. (flutter/flutter#163278)
2025-02-14 [email protected] Add table related semantics role (flutter/flutter#162339)
2025-02-14 [email protected] [Impeller] Call glDebugMessageControlKHR only if the KHR_debug extension is available (flutter/flutter#163273)
2025-02-14 [email protected] Roll Skia from 748415976ad1 to 5a38d23ee247 (3 revisions) (flutter/flutter#163271)
2025-02-14 [email protected] [canvaskit] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163175)
2025-02-14 [email protected] [skwasm] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163251)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
Roll Flutter from e8f34a9 to 39b4951 (95 revisions)

flutter/flutter@e8f34a9...39b4951

2025-02-18 [email protected] Marks Windows_arm64 plugin_test_windows to be flaky (flutter/flutter#163123)
2025-02-18 [email protected] [android] use macro definition to shrink repetitive JNI code size. (flutter/flutter#163395)
2025-02-18 [email protected] Roll pub packages (flutter/flutter#163474)
2025-02-18 [email protected] [web] Cleanup everything HTML from the engine (outside html/ folder) (flutter/flutter#162840)
2025-02-18 [email protected] [Impeller] add support for rational bezier conics to Path (flutter/flutter#163282)
2025-02-18 [email protected] Change `cardTheme`, `dialogTheme`, and `tabBarTheme` type to `xxxThemeData` (flutter/flutter#157292)
2025-02-18 [email protected] Update integration test and benchmark Android .gitignore files to match the current app template (flutter/flutter#163276)
2025-02-18 [email protected] [Impeller] Don't create a redundant typography context. (flutter/flutter#163513)
2025-02-18 [email protected] Roll Dart SDK from fcef25f18e4d to 023ac80cef14 (1 revision) (flutter/flutter#163110)
2025-02-18 [email protected] update module_host_with_custom_build_v2_embedding to target android 35 and to use the latest gradle and agp versions (flutter/flutter#163542)
2025-02-18 [email protected] [Impeller] when binding to READ_FRAMEBUFFER, treat multisampled textures as single sampled. (flutter/flutter#163345)
2025-02-18 [email protected] Add missing properties to _ArcPaintPredicate. (flutter/flutter#162572)
2025-02-18 [email protected] Roll Packages from 8542af3 to cb4fb13 (4 revisions) (flutter/flutter#163544)
2025-02-18 [email protected] Remove bringup for android_display_cutout (flutter/flutter#163312)
2025-02-18 [email protected] Create VersionUtils class and unit tests and extract logic out of flutter.groovy (flutter/flutter#163166)
2025-02-18 [email protected] Invalidate `pod install` output if `.flutter-plugins-dependencies` content changes. (flutter/flutter#163275)
2025-02-18 [email protected] Replace hard coded numbers with mouse button defines (flutter/flutter#163503)
2025-02-18 [email protected] Roll Skia from 9147a9654043 to 6da10829d017 (1 revision) (flutter/flutter#163531)
2025-02-18 [email protected] Roll Skia from 92aaa4e20ea7 to 9147a9654043 (2 revisions) (flutter/flutter#163512)
2025-02-17 [email protected] Roll Skia from 71a160edc9d9 to 92aaa4e20ea7 (1 revision) (flutter/flutter#163488)
2025-02-17 [email protected] Roll Packages from 625023a to 8542af3 (21 revisions) (flutter/flutter#163484)
2025-02-17 [email protected] Roll Skia from 7e3129d5db11 to 71a160edc9d9 (1 revision) (flutter/flutter#163459)
2025-02-17 [email protected] Roll Skia from 40ce5ef20d22 to 7e3129d5db11 (1 revision) (flutter/flutter#163451)
2025-02-16 [email protected] Roll Skia from bb166c85957b to 40ce5ef20d22 (1 revision) (flutter/flutter#163403)
2025-02-15 [email protected] Roll Skia from ff94581f1f8a to bb166c85957b (1 revision) (flutter/flutter#163381)
2025-02-15 [email protected] Move DWDS initialization into the onLoadEndCallback for the DDC library bundle format (flutter/flutter#163338)
2025-02-14 [email protected] [canvaskit] Handle MakeGrContext returning null (flutter/flutter#163332)
2025-02-14 [email protected] Roll Skia from 13a3b6f34ee8 to ff94581f1f8a (1 revision) (flutter/flutter#163347)
2025-02-14 [email protected] Fix failing chrome_dev_mode tests (flutter/flutter#163346)
2025-02-14 [email protected] Adds all semantics roles (flutter/flutter#163075)
2025-02-14 [email protected] Roll Skia from 20924303cc25 to 13a3b6f34ee8 (1 revision) (flutter/flutter#163336)
2025-02-14 [email protected] [ Widget Preview ] Add experimental support for web-based widget preview environment (flutter/flutter#163154)
2025-02-14 [email protected] [Impeller] don't use glFramebufferBlit for onscreen restore. (flutter/flutter#163327)
2025-02-14 [email protected] Align web terminal messages with the VM (flutter/flutter#163268)
2025-02-14 [email protected] Manually roll customer_testing to enable rfw tests (flutter/flutter#163030)
2025-02-14 [email protected] Refactor SliverMainAxisGroup for reverse mode. (flutter/flutter#161849)
2025-02-14 [email protected] Tweaked TextContents math to avoid floating point errors (flutter/flutter#162480)
2025-02-14 [email protected] [release] Update cherry-pick CHANGELOG requirements (flutter/flutter#163318)
2025-02-14 [email protected] Roll Skia from 85722a1db585 to 20924303cc25 (2 revisions) (flutter/flutter#163293)
2025-02-14 [email protected] Roll Skia from 5a38d23ee247 to 85722a1db585 (1 revision) (flutter/flutter#163286)
2025-02-14 [email protected] Add `.flutter-plugins-dependencies` to `FlutterBuildSystem`; update logic, add tests. (flutter/flutter#163278)
2025-02-14 [email protected] Add table related semantics role (flutter/flutter#162339)
2025-02-14 [email protected] [Impeller] Call glDebugMessageControlKHR only if the KHR_debug extension is available (flutter/flutter#163273)
2025-02-14 [email protected] Roll Skia from 748415976ad1 to 5a38d23ee247 (3 revisions) (flutter/flutter#163271)
2025-02-14 [email protected] [canvaskit] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163175)
2025-02-14 [email protected] [skwasm] Use `transferToImageBitmap` instead of `createImageBitmap` (flutter/flutter#163251)
...
eyebrowsoffire added a commit to eyebrowsoffire/flutter that referenced this pull request Jun 26, 2025
…itmap` (flutter#163251)"

This reverts commit 7d22606.

It turns out that in many scenarios, resizing the OffscreenCanvas multiple
times per frame is prohibitively expensive. It also turns out that neither
API works well enough on non-Chrome browsers to make it viable anyway, so
we should switch back to `createImageBitmap`.
github-merge-queue bot pushed a commit that referenced this pull request Jun 27, 2025
…itmap` (#163251)" (#171238)

This reverts commit 7d22606.

It turns out that in many scenarios, resizing the OffscreenCanvas
multiple times per frame is prohibitively expensive. It also turns out
that neither API works well enough on non-Chrome browsers to make it
viable anyway, so we should switch back to `createImageBitmap`.
mboetger pushed a commit to mboetger/flutter that referenced this pull request Jul 21, 2025
…itmap` (flutter#163251)" (flutter#171238)

This reverts commit 7d22606.

It turns out that in many scenarios, resizing the OffscreenCanvas
multiple times per frame is prohibitively expensive. It also turns out
that neither API works well enough on non-Chrome browsers to make it
viable anyway, so we should switch back to `createImageBitmap`.
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
…itmap` (flutter#163251)" (flutter#171238)

This reverts commit 7d22606.

It turns out that in many scenarios, resizing the OffscreenCanvas
multiple times per frame is prohibitively expensive. It also turns out
that neither API works well enough on non-Chrome browsers to make it
viable anyway, so we should switch back to `createImageBitmap`.
@eyebrowsoffire eyebrowsoffire deleted the skwasm_transfer branch December 12, 2025 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-web Web applications specifically will affect goldens Changes to golden files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants