Releases: chromelyapps/Chromely
v5.1
- Upgrade to v5.1 - https://github.com/chromelyapps/Chromely/issues/225.
- Fixes for Fullscreen/Kiosk modes - https://github.com/chromelyapps/Chromely/commit/b383c3f6e165895f8a216e50ba551a6e26c0a65a
- Adding a configurable option - UseOnlyCefMessageLoop - https://github.com/chromelyapps/Chromely/commit/df44870ad1928fb95badae7b8c4be7c65f4d5b92
v5.0.0.6
v5.0.0
Chromely v5: A true cross-platform solution.
Chromely has been migrated to .NET Core 3 and now natively supports Windows, Linux and MacOS.
Please see our new and improved Wiki for additional information about Chromely.
Overview
Projects Structure
All projects are now .NET Standard 2.0
- Chromely.Core - no dependencies.
- Chromely.CefGlue - depends on Chromely.Core and embeds CefGlue source code and CefGlue default handlers.
- Chromely - primary - depends on Chromely.CefGlue and includes native gui implementation for Win, Linux and MacOS. All other non-CefGlue customization will be done here.
New Features
- MacOS support using native Cocoa API
- Full IOC - #106
- MVC- styled controller actions as discussed in #91
- LitJson was replaced by System.Text.Json.
- Optional configuration file - chromelyconfig.json
- Storable App/User settings - IChromelyAppSettings.
- Configuration has received a facelift, see migration guide below for more info.
Fixes
- Fixed WinAPIHost not respecting WindowTitle (Windows)
- ToolTips (html-title) working and positioned correctly. (Linux)
Deprecation & Discontinued
- Winapi was removed in favour of .NET Core 3. Win32 pinvoke functionalities will be sourced in pinvoke.net, shintadono's Win32 and other MIT licensed projects.
- CefSharp is no longer supported.
- Default Sup-process was removed for Windows. Sub-process is configurable and developers who need it can include sub-process fullpath in configuration.
- Real-time with Websocket server was removed.
Quick migration Guide
This guide provides an introduction to Chromely 5 and a set of guidelines to migrate from v4.x to v5.x.
Important upgrade information
- Chromely removed the support for CefSharp, existing CefSharp projects will need to be migrated to CefGlue.
- A Chromely project now requires either .NET Core 3.0 or .NET Framework 4.6.1 and above.
Please see our new and improved Wiki and Demo Projects for additional information on how to create a new project.
Setting up a Chromely application
Chromely v4 (before)
class Program
{
static int Main(string[] args)
{
var startUrl = "https://google.com";
var config = ChromelyConfiguration
.Create()
.WithHostMode(WindowState.Normal, true)
.WithHostTitle("chromely")
.WithHostIconFile("chromely.ico")
.WitAppArgs(args)
.WithHostSize(1000, 600)
.WithStartUrl(startUrl);
using (var window = ChromelyWindow.Create(config))
{
return window.Run(args);
}
}
}
Chromely v5 (now)
class Program
{
static int Main(string[] args)
{
AppBuilder
.Create()
.UseApp<DemoChromelyApp>()
.Build()
.Run(args);
}
}
Configuring a Chromely application
By default Chromely comes with its own default configuration. There are a few ways how you can configure Chromely. The example below overwrites the Default Configuration, this is the easiest way to configure Chromely.
Please see the wiki article about Configuration for other solutions on how to configure Chromely.
using Chromely.Core;
using Chromely.Core.Configuration;
namespace My_Chromely_App
{
class Program
{
static void Main(string[] args)
{
// create a configuration with OS-specific defaults
var config = DefaultConfiguration.CreateForRuntimePlatform();
// your configuration
config.StartUrl = "https://chromely.net/";
config.WindowOptions.Title = "My Awesome Chromely App!";
//..
// application builder
AppBuilder
.Create()
.UseApp<DemoChromelyApp>()
.UseConfiguration<IChromelyConfiguration>(config)
.Build()
.Run(args);
}
}
}
As you can see from the example above, some settings have been regrouped. This makes it easier to find specific settings. E.g. WindowsSettings or CefDownloadOptions.
v4.0.0
- Breaking changes! - ChromelyConfiguration.Create() browser window creation - https://github.com/chromelyapps/Chromely#creating-a-simple-app-using-cefglue-with-winapi-host.
- Added ChromelyConfiguration options - WithLoadingCefBinariesIfNotFound, WithFramelessHost.
- Added configurable Runtime CEF binaries downloader with WithLoadingCefBinariesIfNotFound.
- Added frameless window configurable with WithFramelessHost.
v0.9.2
Chromely.Core
- ChromelyConfiguration is now Singleton - only one instance per Chromely app.
Chromely.CefGlue
- Breaking changes! - More info - https://github.com/mattkol/Chromely/wiki/Upgrade-to-CefGlue-v68-and-CefSharp-v67
- ChromelyConfiguration is now Singleton - only one instance per Chromely app.
- Allows for event registration
- Added option for Maximize and Fullscreen/Kiosk mode Window states.
Chromely.CefSharp
- Breaking changes! - More info - https://github.com/mattkol/Chromely/wiki/Upgrade-to-CefGlue-v68-and-CefSharp-v67
- ChromelyConfiguration is now Singleton - only one instance per Chromely app.
- Allows for event registration
- Added option for Maximize and Fullscreen/Kiosk mode Window states..
Chromely.CefGlue.Gtk
- First nuget release.
- Added Maximize/Fullscreen functionalities.
v0.9.1
Chromely.Core
- Websocket handler interface added.
Chromely.CefGlue
- CefGlue is not included, Chromely.Unofficial.CefGlue.NetStd is no longer needed.
- Websocket implementation - implements Cef CefServer - https://bitbucket.org/chromiumembedded/cef/issues/2278/expose-internal-http-websockets-server
- Changed menu context handler - devtool now only available during debug.
- Changed menu context handler - creation of popup window removed.
- Added frame handling - needed to run JavaScript methods.
Chromely.CefGSharp
- Changed menu context handler - devtool now only available during debug.
- Changed menu context handler - creation of popup window removed.
- Added frame handling - needed to run JavaScript methods.
Chromely.CefGlue.Gtk
v0.9.0
v0.9.0-beta03
Chromely.Core
- Removed dependency on WinApi
- Added DependecyCheck flag to ChromelyConfiguration (CefPerformDependencyCheck)
Chromely.CefGlue
- Added support for Chromely.Unofficial.CefGlue.NetStd (CefGlue) >= 63.0.3239.132 version.
- Added DependecyCheck flag to ChromelyConfiguration in Chromely.Core (CefPerformDependencyCheck)
Chromely.CefGSharp
- Added support for CefSharp >= 63.0.0 version.
- Added DependecyCheck flag to ChromelyConfiguration in Chromely.Core (CefPerformDependencyCheck)
- This version still uses legacy .NET Javascript binding (LegacyJavascriptBindingEnabled = true)
v0.9.0-beta02
- Removed dependency checks on CefSharp - was failing in debugging
- Minor fixes
- Improved documentation