There's a new incremental beta release available now-- this release extends support to additional OS and GPU platforms as well as provides improvements to the API. (Download it now here).
Linux 64-bit and Windows 32-bit Support
We are now officially on all three major desktop platforms! We now support Linux 64-bit (Debian 9.5.0+ / Ubuntu) as well as Windows 32-bit.
OpenGL Support
We now support OpenGL 3.2 and up (in addition to D3D11 and Metal2) and it's just as fast as our other drivers. This work was done as part of the new GLFW port, check out GPUDriverGL.h
and the GLSL shader code within the Framework directory.
New CMake / GLFW Projects
We've ported the Framework code over to GLFW (a lightweight, cross-platform OpenGL/Vulkan toolkit) and set up cross-platform CMake projects for the samples so you can generate projects for your favorite platform with a single click.
New C++ JavaScriptCore Bindings
We've created C++ bindings for JavaScriptCore that provide automatic memory management and helpful conversions between common types. This should save loads of time integrating your native code with JavaScript and is safer to boot. See JSHelpers.h
in the Framework code.
New Documentation
We've re-written the documentation to take advantage of all the new changes, read the docs here.
Bug Fixes / Major API Changes
- Fixed crash that occurs when destroying a View with active JavaScript.
- Fixed memory leak with decoded images.
- Renamed min and max functions so we don't require
NOMINMAX
on Windows.
- Removed <code>Vector</code> template, added
String8
and String32
and made String
use them for all UTF conversions.
- Made
String16::length()
return number of characters minus the trailing null (it previously included it).
Future Work
More changes are in progress. Some things at the top of the list for the next release:
- C Bindings
- C# Bindings
- Node.js Bindings
- Complex Text Support
- IME Support
- CSS Shadows
- CSS Masks / Filter Effects
- Child Views
- Performance Improvements
- Memory Usage Improvements
Enjoy!