Skip to content
SteezCram edited this page Jan 21, 2019 · 13 revisions

There are two major versions of CefSharp at the moment - CefSharp 1 and CefSharp 3. Coincidentally, these are numbered after the corresponding versions of the CEF framework. CefSharp 1 (e.g. versions 1.xx.y) use CEF1, whereas CefSharp 3 (e.g. versions numbered 3.xx.y) use CEF3.

Some of the key advantages of CEF3 towards CEF1 (executive overview):

  • Supports both x86 and x64 (CEF1 is x86 only).
  • Supports a more recent version of Chromium (currently v71, CEF1 is only Chromium 25 and will never support a newer version).

CEF1 and CEF3 are very different on an architectural level. CEF1 is "single-process", but CEF3 is "multi-process" where each browser instance (for example, "tab" in a tabbed browser) lives in its own process, if we simplify the picture a bit. For more details, see this page on the CEF web site:

For the end user (of CefSharp, e.g. a person writing code using it - not the person actually running the application in this case), this does not matter so much. But what matters more is the fact that CEF1 is discontinued from the upstream. No new versions will be released, and it will not support any more recent version of Chromium. This is why there will be no newer CefSharp1 version than 1.25.x, where x is incremented every time we fix some bugs etc.

CefSharp3, on the other hand, is based on CEF3 which means that we have full access to the most recent versions coming from the CEF project. At the moment, we are on Chromium 71, but eventually we will move over to Chromium 73, 75 etc. as new versions are released.

For the end user, this means that we will be able to take advantage of new features, both in terms of better HTML rendering and improvements to the JavaScript engine (just to mention a few), and also in terms of new integration layers being introduced in CEF, to help support additional integration scenarios. This is the bottom line.