The NetSurf developers are happy to announce the immediate availability of NetSurf 2.7. This release contains many bug fixes and improvements.
It is available to download from http://www.netsurf-browser.org/ Here is a change log detailing the important changes in this release: Core / All ---------- * Added WebP image support as build-time option. * Made logging include timing information. * Added treeview support. * Added global history manager. * Added hotlist manager. * Added cookie manager. * Added SSL certificate chain inspection display. * Improved stability. * Optimised plain text handling. * Cleaned up build infrastructure. * Fixed HTTP authentication issues. * Improved cache cleanup. * Improved detection of IP addresses in URLs. * Fixed handling of IPv6 addresses. * Updated rendering of local history. * Made the cache more robust. * Fixed building on OpenBSD. * Optimised count of current fetches for given host. * Added options for treeview rendering colours. * Added partial support for CSS :after pseudo element. * Fixed 'auto' top/bottom margins for tables. * Improved font API documentation. * Fixed float clearing bug. * Fixed browser_window destruction issue. * Added support for CSS system colours. * Fixed colour treatment in rsvg binding. * Improved portability. * Fixed copying from plain text to clipboard. * Improved core/front end interface for rendering into browser windows. * Improved core/front end interface for rendering thumbnails. * Optimised thumbnail rendering. * Made rendering calls pass clipping rectangle around as pointer. * Reduced floating point maths in the layout engine. * Added support for about: URL scheme. * Made cache more robust to strange server responses. * Added about:config and about:Choices displays. * Added about:licence and about:credits pages. * Made knockout rendering optimisation independent of content types. * Fixed clipping issue for HTML contents. * Fixed overflow:auto and overflow:scroll behaviour. * Set download filename according to Content-Disposition header. * Added resource: URL scheme. * Fixed poll loops for file: and data: URL scheme fetchers. * Fixed cache control invalidation. * Fixed text-indent layout issue. * Fixed layout issue where clear wrongly interacted with margins. * Improved cache performance. * Fixed handling of objects which fail to load. * Fixed various form submission issues. * Parallelised fetch and conversion of imported stylesheets. * Made content states more robust. * Optimised layout code to reduce calls to measure strings. * Improved layout code not to duplicate strings for text wrapping. * Improved box structure for HTML contents. * Optimised content message redraw requests. * Made various cache enhancements. * Text plot scaling handled in core. * Handle API diversity of iconv() implementations. * Optimise handling of child objects of an HTML content. * Avoided stalling during early stages of fetch caused by cURL. * Improved example of build configuration. * Added generation of build testament for about:testament. * Sanitised task scheduling. * Improved debugging infrastructure. * Fixed text/plain renderer to cope with scroll offsets. * Added generated list of about: content at about:about. * Allowed config. options to be set from the command line. * Hubbub library (HTML parser): + Added scoping for use from C++ programs. + Fixed example program. + Removed need for library initialisation and finalisation. + Generate entities tree at build time, rather than run time. + Added clang build support. * LibCSS library (CSS parser and selection engine): + Fixed destruction of bytecode for clip property. + Added scoping for use from C++ programs. + Removed need for library initialisation and finalisation. + Added support for CSS2 system colours. + Added support for CSS2 system fonts. + Altered external representation of colours to aarrggbb. + Added support for CSS3 rgba() colour specifier. + Added support for CSS3 'transparent' colour keyword. + Added support for CSS3 hsl() and hsla() colour specifiers. + Added support for CSS3 'currentColor' colour keyword. + Added support for CSS3 'opacity' property. + Added support for CSS3 selectors. + Added support for CSS3 namespaces. + Enabled clients to fetch imported stylesheets in parallel. + Made internal bytecode 64-bit safe. + Fixed leaking of strings. + Rewritten property parsers. + Certain property parsers auto-generated at build time. + Added clang build support. + Various portability enhancements. + Fixed selection for pseudo elements. + Added simultaneous selection for base and pseudo elements. + Namespaced all global symbols. + Updated test suite. + Future-proofed ABI. + Ensured fixed point maths saturates instead of overflowing. + Fixed clip property handling. + Fixed selection and cascade of "uncommon" CSS properties. + Added structure versioning for client input. * LibNSBMP library (NetSurf BMP decoder): + Added missing include. + Made more robust when handling broken ICO files. + Added clang build support. * LibNSGIF library (NetSurf GIF decoder): + Added missing include. + Added clang build support. * LibParserUtils library (parser building utility functions): + Fixed input stream encoding issue. + Added scoping for use from C++ programs. + Removed need for library initialisation and finalisation. + Removed need for run time provision of external Aliases file. + Added clang build support. + Namespaced all global symbols. + Handle API diversity of iconv() implementations. * LibROSprite library (RISC OS Sprite support for non-RO platforms): + C89 compatibility. * LibSVGTiny library (SVG support): + Improved parsing of stroke-width. + Added clang build support. + Various portability enhancements. * LibWapcaplet library (String internment): + Added scoping for use from C++ programs. + Removed need for library initialisation and finalisation. + Added clang build support. RISC OS-specific ---------------- * Replaced hotlist with core hotlist. * Replaced global history with core global history. * Replaced cookie manager with core cookie manager. * Replaced SSL cert. inspection with core SSL cert. inspection. * Apply weighted averaging to download rate display. * Examine extension when fetching local file of type 'Data'. * Iconv module version 0.11 required. * Rewritten toolbar code. * Created simplified, self-contained gui widgets. * Obtain download filename from the core. * Set CSS system colours from desktop palette. * Added menu entries to load about:licence and about:credits pages. GTK-specific ------------ * Replaced global history with core global history. * Added bookmarks support, using core hotlist. * Added cookie manager. * Added SSL certificate inspection window. * Support GTK >= 2.21.6. * Improved full save implementation. * Made drags less jerky. * Made new tabs open to show homepage. * Improved text wrap handling. * Improved menu bar. * Improved context sensitive popup menu. * Made various thumbnailing fixes. * Obtain download filename from the core. * Updated to use resource: scheme for resources. * Fixed makefie's installation target. * Enabled tabbing between form inputs. * Updated About NetSurf dialogue. * Reduced overhead due to Pango when measuring text. AmigaOS-specific ---------------- * Improved bitmap caching. * Fixed menus in kiosk mode. * Improved filetype handling. * Fixed menu shortcuts. * Replaced hotlist with core hotlist. * Replaced global history with core global history. * Replaced cookie manager with core cookie manager. * Replaced SSL cert. inspection with core SSL cert. inspection. * Improved Cairo and non-Cairo plotters. * Added auto-scroll on selection drags beyond window boundaries. * Improved clipboard handling. * Improved icon usage. * Improved stability. * Some incomplete work towards AmigaOS 3 support. * Disabled iframes by default. * Set CSS system colours from the pens in the screen DrawInfo table. * Fixed kiosk mode to always fill screen. * Improved scheduler. * Made new tabs open to show homepage. * Obtain download filename from the core. * Added history content menus to back and forward buttons. * Bitmap rendering optimisations. * Improved download handling. * Runtime selection of graphics plot implementations. * Updated About requester. * Enabled fast scrolling for all content types. Mac OS X-specific ----------------- * New front end. BeOS/Haiku-specific ------------------- * Fixed Replicant instantiation. * Set CSS system colours according to current desktop settings. Windows-specific ---------------- * Improved sub-window creation. * Fixed redraw bugs. * Fixed bitmap plotting. * Fixed thumbnailing. * Fixed local history. * Fixed URL bar. * Cleaned up toolbar creation. * Improved native build. * Fixed CPU thrashing when idle. * Use NetSurf icon on window decoration. * Improved options dialogue. * Made various 'look and feel' enhancements. Atari-specific -------------- * New front end. Framebuffer-specific -------------------- * Improved toolbar. * Improved font selection. * Added glyph cache size configuration option. * Made click action happen on mouse button release. * Give browser widget input focus on startup. * Fixed cursor leaving root widget. * Dynamic detection of surface libraries. * Updated to use resource: scheme for resources. * Improved DPI handling. * Fixed font size in text widgets. * Added support for scaled rendering. Also included are many smaller bug fixes, improvements and documentation enhancements.