NetSurf 3.11 is now available to download from
https://www.netsurf-browser.org/
The biggest change to the core is improved CSS support, including support for the “display: flex” property value, which improves the layout of some web pages. There is also a new option in the Choices to disable CSS.
A huge number of other changes have also been made including new features, significant performance optimisations, stability improvements, and other fixes.
Change Log ==========
NetSurf 3.11 ------------
### Core / All platforms
* HTML: Fixed failure to reflow SVGs if fetched and ready before layout. * HTML: Support for `display: flex` layout. * HTML: Improved minimum/maximum sizes in box layout. * HTML: Improved handling of percentages. * HTML: Minor cleaning up of layout code. * HTML: Use new LibCSS API for unit conversion. * HTML: Improved ordered list handling. * CSS: Updated selection callbacks to latest LibDOM API. * Options: Added core option to disable CSS. * Options: Added core option to prefer dark mode. * Options: Improved user choices file processing. * Bitmap: Opaque testing now implemented in core. * Bitmap: Added core support for premultiplied-alpha. * Bitmap: Format logged on startup. * Bitmap: Added support for pixel colour component order configuration. * Bitmap: Added colour component order conversion functions. * Bitmap: Generally more optimal on all platforms for all image formats. * Image: JPEGXL image handler. * Image: Compatibility with latest rSVG version. * Image: Improved handling for broken GIF images. * Image: Updated to new LibNSGIF API. * Image: Updated all image format handlers to use new core bitmap capabilities. * Fetch: Updated to new libcurl API. * Fetch: Disabled TLS1.0 and TLS1.1. * Fetch: Improved handling of bad SSL connections. * Fetch: Change to libcurl to optimise HTTPS connections (upstreamed). * Local history: More robust rendering. * Resources: Updated certificate bundle. * JavaScript: Minor updates to DOM bindings. * JavaScript: Updated to Duktape 2.7.0 release. * JavaScript: Console: Don't log through closed window. * Utility: Cleaned up UTF8 handling. * Utility: Improved recursive directory removal. * Utility: Add support for xx_YY format language codes. * CI: Various improvements to build automation and testing. * General: Various warning fixes. * General: Aligned UserAgent with compatibility spec. * Documentation: Updated URLs to https. * Documentation: Added front-end development guide. * Text areas: Clear selection on word left/right. * Buildsystem: Fixed handling of removed header files. * Disc cache: Minor fixes. * Debug: Added generated charts to image cache stats page. * Debug: Added descendant bounding boxes to HTML box tree dumps. * Built in: Cleaned up generated `about:` pages.
* LibParserUtils library 0.2.5 (parser building utility functions): - Optimised consuming from buffer. - Optimised endian detection. - Added new API to append vector to buffer.
* Hubbub library 0.3.8 (HTML parser): - Massively optimised element type detection using perfect hash. - Optimised and updated performance tester. - Fixed bitrot in tests. - Improved example client code. - Buildsystem improvements.
* LibCSS library 0.9.2 (CSS parser and selection engine): - Added support for SVG `fill-opacity` property. - Added support for SVG `stroke-opacity` property. - Added support for CSS property wide `revert` value. - Added support for CSS property wide `unset` value. - Added support for CSS property wide `initial` value. - Added support for CSS `position` property `sticky` value. - Added support for CSS `display` property "grid" values. - Added support for `prefers-color-scheme` media query. - Added new public API for CSS unit conversion. - Added support for predefined counter styles. - Optimised media query handling. - Made selection code generator deterministic. - Various selection code generator improvements. - Squashed leak of system font names. - Improved internal handling of property units. - Improved internal string map. - Minor buildsystem improvements. - Improved example code. - Added new tests.
* LibDOM library 0.4.2 (Document Object Model): - Fixed XML parser error handling. - Fixed XML parser empty document handling. - Added DOMTokenList implementation. - Added DOM tree walking function. - Improved example code. - Fixed HTML Element int32 attribute getter to handle signed values. - Various stability improvements. - Buildsystem improvements.
* LibNSGIF library 1.0.0 (GIF support): - Complete rewrite. - New API that doesn't expose internal state. - Much better handling of bad or broken GIFs. - Support for decoding to client's choice of pixel colour component order. - Many fixes. - Faster decoding. - Updated documentation.
* LibSVGTiny library 0.1.8 (SVG support): - Fixed X11 example utility build. - Implemented path arc correctly. - Updated documentation.
### RISC OS-Specific
* Removed last vestiges of plugin support. * Added Choices option to disable CSS. * Updated licence information. * Updated links to use https in documentation. * Fixed broken links in documentation. * Support for building with `arm-riscos-gnueabi` toolchain. * Updated bundled resources. * Improved bitmap rendering. * Fixed EX0 EY0 "high DPI" rendering. * Text selection support in URL bar (RO5.28 onwards). * Dragging favicon saves whole URL. * Updated to new RUfl API. * Fixed font scanning on startup behaviour. * Unified redraw code for browser windows and other core-rendered windows. * Fixed auto-scroll crash when pointer leaves core window. * Allow drag and drop loading of WEBP image format.
* RUfl library 0.1.0 (RISC OS Unicode support): - Added astral character support. - RUfl_cache version now in filename. - Support for multiple versions of RUfl_cache coexisting. - Substitution table reworked for astral characters and heavily optimised. - Render 6-digit replacements for codepoints outside Basic Multilingual Plane. - Refactoring and many code improvements. - Support for UCS-aware Encoding files. - Various API changes. - Detect overlong and invalid UTF-8 sequences. - Improved compatibility with different Font Manager versions. - Fixed menu building to cope with system with no fonts. - Ignore UCS fonts if using a non-UCS Font Manager. - Remove assumption that pointers are 32-bit. - Added test infrastructure and many tests. - Buildsystem improvements.
### GTK-Specific
* Cleaned up initialisation. * Various build warning fixes. * Fixed crash when destroying scaffolding. * Don't create zero-sized bitmaps. * Configure core to use Cairo's bitmap format. * Added support for cursor word left/right key bindings. * Added support for delete word left/right key bindings. * Added back/forward mouse button processing. * Fixed path plotter. * Made UI resources more consistent.
### Amiga-Specific
* Added page theme option. * Improved bitmap handling. * Improved and optimised Unicode handling. * Stability improvements.
### Windows-Specific
* Buildsystem: Use pkg-config. * Support Ctrl+A in address bar.
### Framebuffer-Specific
* Minor internal font fixes. * Improved documentation.
Also included are many smaller bug fixes, improvements and documentation enhancements.
|