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. Best regards, The NetSurf Team _______________________________________________ netsurf-users mailing list -- netsurf-users@netsurf-browser.org To unsubscribe send an email to netsurf-users-le...@netsurf-browser.org