Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Notification - 91.1.x #3574

Closed
11 tasks done
amaitland opened this issue May 19, 2021 · 10 comments
Closed
11 tasks done

Release Notification - 91.1.x #3574

amaitland opened this issue May 19, 2021 · 10 comments
Assignees
Milestone

Comments

@amaitland
Copy link
Member

amaitland commented May 19, 2021

Release 91.1.x-pre

  • Update to latest CEF build
  • Create release notes
  • Create cefsharp/91 release branch
  • Release -pre packages to nuget.org

Release 91.1.x

  • Resolve remaining issues attached to 91 Milestone
  • Update DevTools client API
  • Create release notes
  • Update General Usage API doc links
  • Update Issue Template CEF Sample application links
  • Generate new API Doc and upload to http://cefsharp.github.io/api/
  • Release 91.1.x packages to nuget.org

Chromium Site Isolation is enabled by default (see #2967), to support sending messages between the different render processes and the browser process there's been a change to how frames are handled. Frame objects (IFrame instances) (including for the main frame) will now always change after cross-origin navigation, and the old frame object will be invalidated.

There's been a change to how frames are handled. Frame objects (IFrame instances) (including for the main frame) will now always change after cross-origin navigation, and the old frame object will be invalidated. Due to failing test cases Chromium Site Isolation will still be disabled by default.

CEF has updated to MOJO messaging which should bring performance improvements to some features.

Where appropriate, we now utilize the default UTF string encoding format and shared memory to reduce copies and conversions for the cross-process transfer of arbitrary-length strings. For example, CefFrame::GetSource/GetText now involves zero UTF conversions and zero copies in the browser process for the CefString delivered to CefStringVisitor::Visit().

See https://bitbucket.org/chromiumembedded/cef/issues/3123/convert-legacy-ipc-messages-to-mojo for additional details. There shouldn't be an client site changes required.

@amaitland amaitland added this to the 91.1.x milestone May 19, 2021
@amaitland amaitland self-assigned this May 19, 2021
@amaitland amaitland pinned this issue Jun 2, 2021
@amaitland
Copy link
Member Author

Having upgraded to 91.1.6+g8a752eb+chromium-91.0.4472.77 I'm seeing render process crashes with the following error:

[0604/192138.534:ERROR:bad_message.cc(28)] Terminating renderer for bad IPC message, reason 213

I suspect that it's related to https://bitbucket.org/chromiumembedded/cef/issues/3123/convert-legacy-ipc-messages-to-mojo

Will post an update when I know more.

@amaitland
Copy link
Member Author

amaitland commented Jun 5, 2021

Chromium Site Isolation is enabled by default (see #2967), to support sending messages between the different render processes and the browser process there's been a change to how frames are handled. Frame objects (IFrame instances) (including for the main frame) will now always change after cross-origin navigation, and the old frame object will be invalidated.

It appears that Chromium Site Isolation is at least part of the piece of the puzzle for the bad IPC messages. Reverting change for now. The frame objects will still be swapped after cross-origin navigation as this is a fundamental change in CEF.

I'll attempt to isolate a test case to report upstream.

@amaitland
Copy link
Member Author

Test pass again with disable-site-isolation-trials, so will look at releasing a -pre version shortly and follow up with the CEF maintainer.

@amaitland
Copy link
Member Author

I accidentally tagged the release as v91.1.60, instead of v91.1.60-pre. As the pacakges hadn't made it to Nuget.org I've deleted the tag and created a new release.

@amaitland
Copy link
Member Author

The 91.1.60-pre release packages are now on Nuget.org. (They were released a few days ago, unfortunately I came down with a cold so a minor delay posting this notification).

For the .Net 4.5.2 and above

These packages required Visual C++ 2015 or greater

For .Net Core 3.1/.Net 5.0

These packages required Visual C++ 2019

NOTE A minimum of .Net Core 3.1 is required (for .Net 3.0 which is no longer supported by Microsoft you'll need to use the older packages).


Known Issues

  • Older Non-SdkStyle projects (packages.config) when using VS2017 still have issues when opening a fresh checkout workaround I had attempted didn't work (details in Nuget Package Restructure #3319 (comment)). For now closing/opening the project will resolve the issue. A message is displayed to the build output log when the files weren't copied as expected.

Ijwhost.dll
To support C++/CLI libraries in .NET Core, ijwhost was created as a shim for finding and loading the runtime. All C++/CLI libraries are linked to this shim, such that ijwhost.dll is found/loaded when the C++/CLI library is loaded.

@amaitland
Copy link
Member Author

Google is aware that an exploit for CVE-2021-30551 exists in the wild.

Upgrading to Chromium 91.0.4472.101 brings a fix for CVE-2021-30551

https://chromereleases.googleblog.com/2021/06/stable-channel-update-for-desktop.html

CEF 91.1.16+gc95b2a1+chromium-91.0.4472.101 is the newest build that includes the updated Chromium version and includes builds for x86/x64/arm64,

@amaitland
Copy link
Member Author

The 91.1.160 release packages are now on Nuget.org.

For the .Net 4.5.2 and above

These packages required Visual C++ 2015 or greater

For .Net Core 3.1/.Net 5.0

These packages required Visual C++ 2019

NOTE A minimum of .Net Core 3.1 is required (for .Net 3.0 which is no longer supported by Microsoft you'll need to use the older packages).


Known Issues

  • Older Non-SdkStyle projects (packages.config) when using VS2017 still have issues when opening a fresh checkout workaround I had attempted didn't work (details in Nuget Package Restructure #3319 (comment)). For now closing/opening the project will resolve the issue. A message is displayed to the build output log when the files weren't copied as expected.

Ijwhost.dll
To support C++/CLI libraries in .NET Core, ijwhost was created as a shim for finding and loading the runtime. All C++/CLI libraries are linked to this shim, such that ijwhost.dll is found/loaded when the C++/CLI library is loaded.

@amaitland
Copy link
Member Author

CEF has updated to Chromium 91.0.4472.114 which includes a fix for CVE-2021-30554 which Google reports seeing in the wild.

I'll release an updated version in the next few days.

@amaitland
Copy link
Member Author

The 91.1.210 release packages are now on Nuget.org.

For the .Net 4.5.2 and above

These packages required Visual C++ 2015 or greater

For .Net Core 3.1/.Net 5.0

These packages required Visual C++ 2019

NOTE A minimum of .Net Core 3.1 is required (for .Net 3.0 which is no longer supported by Microsoft you'll need to use the older packages).


Known Issues

  • Older Non-SdkStyle projects (packages.config) when using VS2017 still have issues when opening a fresh checkout workaround I had attempted didn't work (details in Nuget Package Restructure #3319 (comment)). For now closing/opening the project will resolve the issue. A message is displayed to the build output log when the files weren't copied as expected.

Ijwhost.dll
To support C++/CLI libraries in .NET Core, ijwhost was created as a shim for finding and loading the runtime. All C++/CLI libraries are linked to this shim, such that ijwhost.dll is found/loaded when the C++/CLI library is loaded.

@amaitland
Copy link
Member Author

The 91.1.211 release packages are now on Nuget.org.

For the .Net 4.5.2 and above

These packages required Visual C++ 2015 or greater

For .Net Core 3.1/.Net 5.0

These packages required Visual C++ 2019

NOTE A minimum of .Net Core 3.1 is required (for .Net 3.0 which is no longer supported by Microsoft you'll need to use the older packages).


Known Issues

  • Older Non-SdkStyle projects (packages.config) when using VS2017 still have issues when opening a fresh checkout workaround I had attempted didn't work (details in Nuget Package Restructure #3319 (comment)). For now closing/opening the project will resolve the issue. A message is displayed to the build output log when the files weren't copied as expected.

Ijwhost.dll
To support C++/CLI libraries in .NET Core, ijwhost was created as a shim for finding and loading the runtime. All C++/CLI libraries are linked to this shim, such that ijwhost.dll is found/loaded when the C++/CLI library is loaded.

@amaitland amaitland unpinned this issue Aug 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant