================================================================================ NetSurf Change Log ================================================================================ NetSurf 3.9 =========== Core / All platforms -------------------- * Buildsystem improvements. * Improved URL query string handling. * Improved form submission code. * Improved error handling in HTML box construction. * Much improved testing, with automated test frontend. * Improved treeview rendering. * Improved HTML content handling of viewport dimensions. * Improved debug logging of JavaScript handling. * Added support for Webp image format. * Fixed SVG stroke width plotting. * Lots of new JavaScript bindings. * Support for script insertion after beginning conversion. * Added support for CSS media queries. * Various JavaScript related fixes. * Window is now supported as a JavaScript event target. * Support for nodeList indexing in JavaScript handler. * Allowed front ends to execute JavaScript scripts. * Optimised data URL handling. * Improved support for logging to JavaScript console. * Squashed several leaks. * CSS pixel support: Better rendering on high DPI screens. * Made curl fetcher use the standard NetSurf logging API. * Fixed incremental redraw, while fetching HTML images. * Improved HTTP header Cache-Control parsing. * Cleaned up handling of aborted fetches and loading content. * Improvements to generated JavaScript bindings. * Hubbub library 0.3.6 (HTML parser): + Fix for script insertion during parse. * LibCSS library 0.9.0 (CSS parser and selection engine): + Added support for parsing CSS Media Queries Level 4. + API for adding sheets to a selection context now takes a Media string. + The selection API now allows the client to describe the media that is being selected for. + Selection now honours width/height feature queries. + Removed the uncommon property extension blocks in computed style data. This simplfies the code and fixes a subtle bug in the cascade/composition handling. + Fixed leak where rules had over 256 selectors. * LibDOM library 0.3.4 (Document Object Model): + Fixed a few places where public API didn't ref the objects it returned. + Fixes to the test generator. + Initial support for SCRIPT element flags. + Added dom_node_contains() call. + Fixed leaks in DOM node set text context. * LibDOM library 0.4.0 (Document Object Model): + Removed dom_string implementation details from public header. * LibNSPSL library 0.1.3 (Public suffix list): + Updated public suffix list. GTK-specific ------------ * Fixed HTTP authentication dialogue NULL dereference. AmigaOS-specific ---------------- * Improved logging. * Better handling of local charset. * Improved the sheduler. * Removed RISC OS ,type extensions from resource files. * Support building against AmiSSL instead of OpenSSL. * Squashed many build warnings. * Tidied up gui_window handling. * Fixed SimpleRefresh mode and made it default. Windows-specific ---------------- * Added clipboard support. * Fixed keyboard input. Haiku-specific -------------- * Fixed package version. Atari-specific -------------- * Buildsystem: Fixed binary stripping. Framebuffer-specific -------------------- * Improved buildsystem. * Support for internationalized UI resources. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.8 =========== Core / All platforms -------------------- * Updated to be compatible with latest LibCSS. * Updated Duktape to version 2.3.0. * Added support for new CSS units. * Fixed resource cleanup in the backing store. * Added support for CMYK/YCCK JPEGs. * Replaced tables are now treated as blocks. * Improved percentage max-width handling. * Improved browser history handling to be more robust. * Buildsystem dependency improvements. * Improved handling of messages and bundled resources. * Added support for HTTP Strict Transport Security. * Enabled TLS session tickets. * Restricted the HTTPS ciphersuites allowed. * Reorganised source code for HTML and text handling. * Improved plotter API consistency and completeness. * Enabled front ends to get current URL with fragment IDs. * Fixed rendering glitch in treeviews. * Fixed dragging to current selection in treeviews. * Allowed building with address sanitiser. * Suppressed fetch poll logging. * Suppressed logging of data: URLs. * Refactored HTTP header processing in llcache. * Revised front end API for HTTP authentication. * Display application/json as text, instead of download. * Fixed JavaScript related CSS crash. * Hubbub library 0.3.5 (HTML parser): + Squashed leaks in tests. * LibCSS library 0.8.0 (CSS parser and selection engine): + Added support for CSS flexbox properties. + Added support for new CSS units. + Auto-generated source code for computed style handling. + Squashed some undefined behaviour issues. + Unified some duplicated media handling code. * LibDOM library 0.3.3 (Document Object Model): + Fixed some resource leaks. + Fixed some flawed error handling. + Fixed some tests. * LibNSGIF library 0.2.1 (GIF support): + Tiny optimisation to LZW decoding. + Cleaned up test suite. * LibNSBMP library 0.1.5 (BMP support): + Fixed a few issues caught by address sanitiser and undefined behaviour sanitiser. * LibSVGTiny library 0.1.7 (SVG support): + Fixed a few issues caught by address sanitiser and undefined behaviour sanitiser. * LibNSPSL library 0.1.3 (Public suffix list): + Updated public suffix list to current edition. * LibNSLog library 0.1.2 (Filterable logging): + Tweaks to suppress warnings on openbsd. RISC OS-specific ---------------- * Improved iconsprite selection based on alpha support. * Translate resource paths. * Drag saving the URL bar now includes fragment IDs. GTK-specific ------------ * Fixed bugs in toolbar configuration. * Improved accelerator (keyboard shortcut) handling. AmigaOS-specific ---------------- * Removed Iconify gadget for OS3. * Fixed radio button labels on OS3. * Fixed switch from public screen to own screen. * Minor optimisations. * Fixed HTTP authentication login window resource ownership. * Improved Unicode handling in HTTP authentication login window. * Close HTTP authentication login window on quit. Windows-specific ---------------- * Fixed image scaling crash. * Added support for HTTP authentication. Framebuffer-specific -------------------- * Added support for HOME and END keys. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.7 =========== Core / All platforms -------------------- * CSS computed styles shared globaly between elements. * Fixed OpenSSL 1.1.0 X509 certificate handling. * Updated for compatibility with upstream libutf8proc. * Updated JS engine to Duktape 2.1.0. * Improved treeview robustness. * Local history uses system colours. * Made local history use corewindow interface. * Simplified local history code. * Added EventListener support to Duktape binding. * Added EventTarget JavaScript binding. * Improved plotter API. * Simplified HTML border plotting. * Make disabled form elements read-only. * Improved URLdb. * Improved tests. * Fixed bug in content state machine for HTML contents. * Fixed issue in parsing of file urls. * Split out ASCII locale-safe handling used in parsers. * Made libcurl build-time optional. * Hotlist saved on change, rather than at exit. * Improved handling of display:table applied to :after. * Added support for CSS3 box-sizing to HTML layout. * Improved handling of margins where constrained by {min|max}-width. * Cleaned up content message broadcasts. * Logging now run-time filterable using LibNSLog. * Added search feature to treeviews. * Browser history now remembers page scroll offsets. * Hubbub library 0.3.4 (HTML parser): + Support falling back to space-separated charset. * LibCSS library 0.7.0 (CSS parser and selection engine): + Computed styles can now be shared between elements. - Computed styles interned, so only unique computed styles reside in memory. This means multiple pages/tabs/windows can share computed style data. - Where possible, we now bypass CSS selection, and simply take a reference to another element in the DOM's style, if we're sure it will be the same. + Added support for the CSS3 box-sizing property. + Fixed invalid read when removing sheet from selection context. + Fixed example / demo app build. * LibDOM library 0.3.2 (Document Object Model): + Add support for checking if an event is in dispatch. + Add is_initialised flag to events. + Add getter/setter for event_target is_trusted. + Simplified API for removing all instances of a listener. * LibNSGIF library 0.2.0 (GIF support): + Complete rewrite of LZW decompression is more optimal and robust. + Stability fixes. * LibSVGTiny library 0.1.6 (SVG support): + Buildsystem improvements. + Fixed bug in parsing of multiple lineto commands. * LibNSPSL library 0.1.2 (Public suffix list): + Updated public suffix list. * LibNSLog library 0.1.0 (Filterable logging): + First release. RISC OS-specific ---------------- * Improved quit/exit behaviour. * Moved treeviews to use the corewindow interface. * Moved local history to use the core window interface. * Updated to new plotter API. GTK-specific ------------ * Moved treeviews to use the corewindow interface. * Moved local history to use the core window interface. * Fixed Hotlist finalisation on exit. * Updated to new plotter API. * Improved text display and DPI handling. * Optimised tiled bitmap rendering. AmigaOS-specific ---------------- * Improved memory handling. * Reduced frequency of diskfont open/close. * Improved splash screen robustness. * Improved quit/exit behaviour. * Moved treeviews to use the corewindow interface. * Moved local history to use the core window interface. * Improved redrawing. * Improved menus. * Updated to new plotter API. * Reduced use of globals. * Improved use of notifications. * Improved AmigaOS3 compatibility. Haiku-specific -------------- * View source in user's preferred editor. * Reworked menu accelerator handling. * Fixed popup menu. * Updated to new plotter API. Atari-specific -------------- * Updated to new plotter API. * Don't package the ca-bundle twice. Framebuffer-specific -------------------- * Fixed font handling return types. * Moved local history to use the core window interface. * Updated to new plotter API. Windows-specific ---------------- * Fixed font handling return types. * Fixed Windows installer generation. * Updated to new plotter API. * Moved local history to use the core window interface. * Fixed text handling. * Fixed redraw bug on resize. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.6 =========== Core / All platforms -------------------- * Build system improvements. * Internal code reorganisation. * Improved time handling. * Removed use of warn_user. * Updated Duktape JavaScript engine to version 1.5.1. * Removed old spidermonkey build options. * Fixed certificate chain handling. * Improved URL (un)escape code. * Added unit tests. * Allowed build without libcurl and openssl (lacks http(s) support). * Added parser for HTTP date time strings. * Simplified treeview initialisation and finalisation. * Added treeview font size user option. * Improved locale handling, by using with ascii-only parsing routines. * Fixed blocking of supercookies, and updated public suffix list. * Improved User Agent default CSS. * LibWapcaplet library 0.4.0 (String internment): + Added function to get caseless hash value. * LibSVGTiny library 0.1.5 (SVG support): + Added tests. + Improved handling of bad SVGs. + Improved linear gradient handling. * LibNSGIF library 0.1.4 (GIF support): + Improved tests. * LibNSBMP library 0.1.4 (BMP support): + Improved tests. + Improved documentation. + Fixed RLE decoding. + Improved handling of bad BMPs. + Improved BMP alpha channel handling. + Fixed row padding handling. * LibDOM library 0.3.1 (Document Object Model): + Fixed DOM tree walking routine. + Fixed Expat parser binding. * LibCSS library 0.6.1 (CSS parser and selection engine): + Minor fixes. + Updated to use libwapcaplet caseless hash value API. * LibNSPSL library 0.1.0 (Public suffix list): + First release. GTK-specific ------------ * Fixed TLS certificate viewer, with multiple queries. * Switched to corewindow API for treeviews for improved robustness. * Fixed About dialogue licence and credits buttons. * Fixed MIME types of local BMP files. AmigaOS-specific ---------------- * Make use of guigfx library for improved image display. * Fixed websearch crash. * Code cleanup. * Improve character encoding conversion. * Improved search engine list. * Improvements to aid compiler optimisation. * Improved scheduler. * Improved tab handling, when launching URLs with existing NeSurf instance. * Improved AmigaOS3 support. Framebuffer-specific -------------------- * LibNSFB library 0.1.5 (NetSurf Framebuffer): + Minor buildsystem changes. Haiku-specific -------------- * Support http(s) schemes URI schemes in the .desktop. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.5 =========== Core / All platforms -------------------- * Fixed URL parsing to avoid locale-specific character handling. * Improved documentation of font APIs. RISC OS-specific ---------------- * Improved !Boot and !System distributions. * Updated distributed SharedUnixLibrary. * Improved relocatable module checks. GTK-specific ------------ * Fixed resource handling. * Removed theme handling code. * Cleaned up 401 login window. AmigaOS-specific ---------------- * Fixed bug that caused NetSurf to fail to exit. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.4 =========== Core / All platforms -------------------- * Simplified web page thumbnailing interface between core and front ends. * Buildsystem improvements. * Added prefix to key codes to avoid namespace conflict with ncurses. * Fixed URL hash not to contain the URL fragment. * Removed outdated RISC OS cross-compilation instructions. * Improved disc cache indexing and element layout. * Improved disc cache performance for small files. * Moved bitmap operations to use new operation table pattern. * Improved bitmap rendering. * Removed support for webp image format. * Fixed freeing of form controls. * Minor code cleanup in handling of relative positioning. * Added scaled content redraw interface. * Updated default user agent CSS to support HTML5 block level elements. * Fixed PNG handling in low memory situations. * Automatically disable the disc cache if the disc is too slow. * Improved LOG macro. * Improved build-time generation of internationalised messages. * Allowed verbose logging to be redirected to a file. * Reduced overhead of logging. * Moved message loading from core out to front ends. * Improved error reporting. * Fixed a URL parsing bug. * Improved URL parsing tests. * Added code coverage reporting for tests. * Improved test coverage. * Updated IDL specs. * Optional UTF-8 rendering of URLs. * Migrated to Duktape JavaScript engine. Using Duktape 1.4.0. * Fixed ALIGN attribute on TABLE elements. * Fixed percentage calculation to avoid arithmetic overflow. * Fixed JavaScript instanceof. * Fixed asynchronous JavaScript scripts. * Much improved JavaScript engine bindings. * Fixed leak of frame scrollbar data. * Fixed leak of frameset DOM documents. * Added initial support for JavaScript events. * Fixed overflow-{x|y} property handling. * Improved option handling. * Fixed mouse handling to consider the root element's box. * Added support for auto-retrying timed-out cURL fetches. * Fixed mime sniffing when fetcher completes with no data. * Don't try to look up mailto URLs in database, as they aren't stored. * Optimised HTML layout of floats. * Fixed HTML layout bug relating to position of floats. * Fixed bug when user toggled javascript_enabled setting during page load. * Slight optimisation of DOM node inserted handling. * Introduced 10s script execution timeout. * Used new LibCSS API to optimise handling of HTML presentational hints. * Removed logging during browser window resize. * Improved cache logging. * Fixed to avoid generating pseudo elements for HTML replaced elements. * Simplified status bar updating while fetching HTML contents. * Fixed bug in accounting of objects being used by HTML contents. * Stopped GIF animations for when GIF has no users. * Hubbub library 0.3.3 (HTML parser): + Fixed paths for Haiku. + Minor buildsystem changes. + Updated name of JSON library used for tests. + Added doxygen code documentation generation support. + Fixed doxygen warnings. * LibCSS library 0.6.0 (CSS parser and selection engine): + Fixed paths for Haiku. + Minor buildsystem changes. + Added doxygen code documentation generation support. + Minor improvements to tests. + Added "96" to useful fixed point values in fpmath header. + Slight simplification of initial computed style setup. + Changed how presentational hints are handled to be more optimal. * LibDOM library 0.3.0 (Document Object Model): + Fixed paths for Haiku. + Minor buildsystem changes. + Added doxygen code documentation generation support. + Improved tests. + Fixed event listener removal. + Removed unused document argument from event layer API. + Improved HTML Element specialisation APIs to better match IDL. + Added a _FINISHED event action callback. + Handle cleanup during event target gathering. + Ensured HTML element attributes are lower cased. + Added asynchronous property to script element. + Fix event handling not to capture and bubble on event target. + Added support for Event.eventPhase. + Fixed event target listener destruction. + Fixed HTMLDocument's vtable, so .textContent will work. + Fixed handling of document base URI. + Improved and optimised handling of HTMLElement specialisations. + Fixed copy constructors for HTMLElement and its specialisations. + Optimised DOM string upper/lower-case conversion. + Optimised event dispatch. + Provided public API for efficient identification of HTML elements. * LibNSBMP library 0.1.3 (NetSurf BMP decoder): + Fixed paths for Haiku. + Minor buildsystem changes. + Added BMP decode test suite. + Added ICO decode test suite. + Fixed calculation in RLE decoding. (CVE-2015-7508) + Improved input data range check for RLE4 absolute mode. + Added range check to colour table accesses. (CVE-2015-7507) * LibNSGIF library 0.1.3 (NetSurf GIF decoder): + Fixed paths for Haiku. + Minor buildsystem changes. + Added basic decode test. + Improved checks for buffer exhaustion. + Ensured LZW decode stack does not overflow. (CVE-2015-7505) + Ensured LZW code is valid before use. (CVE-2015-7506) * LibParserUtils library 0.2.3 (parser building utility functions): + Fixed paths for Haiku. + Minor buildsystem changes. * LibSVGTiny library 0.1.4 (SVG support): + Fixed paths for Haiku. + Minor buildsystem changes. + Fixed path buffer length allocation issue. + Added test files. * LibWapcaplet library 0.3.0 (String internment): + Fixed paths for Haiku. + Minor buildsystem changes. + Added assertions to interface macros. + Updated tests. + Added doxygen code documentation generation support. + Fixed doxygen warnings. + Added function to return lower-cased strings. RISC OS-specific ---------------- * Improved full-save output to retain their creation date on copy. * Fixed closure of menu when asked for clipboard data. * Updated bundled Shared Unix Library support module to 1.12. * Fixed object info crash that occurred with NULL URLs. * Doxygen generated code documentation fixes and improvements. * Many minor cleanups. * Converted to bitmap operations table. * Set the default disc cache size to zero (off). * Squashed a memory leak in path handling. * Improved menu keyboard-shortcuts. * Prevent sprite export when image can't be converted. * Fixed rendering in 4k and 64k colour modes. * Increased size of download window. * Fixed page-search ignoring case sensitivity. * Fixed lingering pointer shape on window close bug. GTK-specific ------------ * Extended GTK 2/3 compatibility layer for changes in recent GTK 3 releases. * Fixed warnings in about dialogue construction. * Many minor UI changes and improvements. * Cleaned up header usage. * Converted to bitmap operations table. * Improved view source behaviour. * Memory leak fixes. * Use of GResource to improve building of image resources. * Made path to resources more robust. * Removed GTK-specific default CSS file. * Allow resources to be built into the binary, rather than loaded from disc. * Improve URL bar completion to navigate on selection. * Show default favicon on window creation. * Add option to show IDN decoded URLs. * Improved the man page. * Tidied up themes code. * Fixed memory leaking of Pango layouts when rendering text. AmigaOS-specific ---------------- * Fixed screen depth check for friend bitmaps. * Made use of friend bitmaps optional. * Removed asynchronous backing store code. * Allowed URL completion to pick up non-visited URLs. * Converted to bitmap operations table. * Improved rendering. * Improved plotted robustness. * Improved menus. * Improved file extension handling when saving. * Cache pre-scaled versions of favicons. * Added support for UTF-16 surrogates. Enables emoji rendering. * Improved AmigaOS 3 support. * Improved font handling. * Show IDN decoded URLs, subject to local charset restrictions. * Added new keyboard shortcuts. * Improved hotlist toolbar look. * Optimised font lookups. * Allowed specifying of user directory locations on command line. * Further improvements to AmigaOS 3 support. * Improved font engine selection. * Fixed build warnings. Mac OS X-specific ----------------- * Updated for building with SDK 10.10. * Various clean-ups. Haiku-specific -------------- * Converted to bitmap operations table. * Fixed 64-bit builds. * Improved build instructions. * Use core menu widget for SELECT form entry. * Disabled replicant dragger. * Improved about dialogue box. * Improved menus. * Embedded language resources in executable. * Added cookie management support. * Added web search bar. Atari-specific -------------- * Converted to bitmap operations table. * Cleaned up inconsistency of source code line endings. * Enabled JavaScript-capable builds. Framebuffer-specific -------------------- * Reduced amount of verbose logging. * Converted to bitmap operations table. * Added glyphs to built-in bitmap font. * LibNSFB library 0.1.4 (NetSurf Framebuffer): + Minor buildsystem changes. + Added checks to ensure non-zero size framebuffer. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.3 =========== Core / All platforms -------------------- * Rewrote html mouse pointer handling to reduce stack usage. * Improved portability of the curl binding. * Fixed relative URLs in inline CSS to resolve with respect to base URL. * Improved debug box tree dump. * Fixed textarea rendering glitches. * Fixed textarea scrollbar behaviour. * Removed support for all SSL versions due to vulnerabilities. * Protect against inappropriate encryption protocol downgrades. * Many changes to sanitise interface between core and front ends. * Front ends can use their own main loop instead of polling core. * Fixed bad background image URLs causing page load to abort. * Improved buildsystem handling of warning flags. * Improved HTML form handling. * Improved the disc cache. * Improved the hotlist/bookmarks loading and saving. * Improved error handling. * Added copy-to-clipboard of selected hotlist & history entries. * All die calls removed; errors now passed to front ends. * Rationalised URL handling functionality. * Added API for front ends to set DPI. * Added simple map access a about:maps. * Improved documentation for cross-compiling. * Many minor improvements and fixes. * Hubbub library 0.3.1 (HTML parser): + Updated buildsystem. + Minor code tidying. * LibCSS library 0.5.0 (CSS parser and selection engine): + Added selection support for CSS3 column-count property. + Added selection support for CSS3 column-fill property. + Added selection support for CSS3 column-gap property. + Added selection support for CSS3 column-rule-color property. + Added selection support for CSS3 column-rule-style property. + Added selection support for CSS3 column-rule-width property. + Added selection support for CSS3 column-span property. + Added selection support for CSS3 column-width property. + Added selection support for CSS3 break-after property. + Added selection support for CSS3 break-before property. + Added selection support for CSS3 break-inside property. + Improved and fixed absolute value conversion of computed styles. + Minor optimisations. + Updated buildsystem. + Improved selection tests. + Code tidying. + Many minor improvements and fixes. * LibDOM library 0.1.2 (Document Object Model): + Updated buildsystem. + Minor fixes and improvements. * LibNSBMP library 0.1.2 (NetSurf BMP decoder): + Minor code tidying. + Updated buildsystem. * LibNSGIF library 0.1.2 (NetSurf GIF decoder): + Updated buildsystem. * LibParserUtils library 0.2.1 (parser building utility functions): + Updated buildsystem. * LibSVGTiny library 0.1.3 (SVG support): + Fix for relative move commands after path close. + Fix parsing of whitespace in transform operators. + Fix for path generation overrunning allocated storage. + Updated buildsystem. * LibWapcaplet library 0.2.2 (String internment): + Updated buildsystem. RISC OS-specific ---------------- * Updated to use new core interface. * Cleaned up the bundled !Cache distribution. * Divorced from core-internal browser window data structure. * Fixed user-launched fetches to be verifiable. * Minor code tidying. GTK-specific ------------ * Updated to use new core interface. * Updated to use own main loop. * Fixed thumbnailing issue. * Added man page and XDG file.. * Divorced from core-internal browser window data structure. * Various minor fixes and improvements. AmigaOS-specific ---------------- * Updated to use new core interface. * Improved filenames in save requesters. * Improved kiosk window handling. * Improved browser window scrollbar behaviour. * Improved library handling. * Divorced from core-internal browser window data structure. * Many minor fixes and improvements. * Simplified handing of core browser windows and tab management. * Improved initialisation, and main loop. * Rewritten scheduler. * Improved Style Guide compliance. * Added YouTube video helper script. * Removed obsolete GetVideo support. * Write to the disc cache asynchronously. * Added preliminary support for AmigaOS 3. * Code tidying. BeOS/Haiku-specific ------------------- * Updated to use new core interface. * Divorced from core-internal browser window data structure. * Fixed resource fetcher. Atari-specific -------------- * Updated to use new core interface. * Divorced from core-internal browser window data structure. * Fixed handling of local paths. * Added support for disc cache. * Code tidying. * Many minor fixes and improvements. Framebuffer-specific -------------------- * Updated to use new core interface. * Divorced from core-internal browser window data structure. * Renamed internal font to "ns-sans". * Added man page. * Updated to use own main loop. * Improved command line option handling. * LibNSFB 0.1.2 library (NetSurf Framebuffer): + Fixed build of wayland surface. + Updated buildsystem. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.2 =========== Core / All platforms -------------------- * Improved building on OpenBSD. * Improved interface between front ends and core. * Improved internal URL handling. * Cleaned up many internal interfaces. * Added support for disc caching. * Fixed treeview selection issue. * Fixed line breaking of plain text with multi-byte sequences. * Improved out-of-memory handling. * Added support for overflow-x and overflow-y CSS3 properties. * Improved web search feature. * Improved internal task scheduling. * Improved support for Unicode URLs. * Fixed issue relating to CSS imports. * Improved debug dumping of box trees. * Fixed SSL certificate viewer lifetimes bug. * Fixed HTML ordered list numbering issue. * Fixed DOM tree debug dump. * Fixed handling of malformed URLs. * Fixed text selection. * LibCSS library 0.4.0 (CSS parser and selection engine): + Added support for CSS3 overflow-x and overflow-y properties. + Fix to !important handling with play-during property. + Improved test coverage. * LibDOM library 0.1.1 (Document Object Model): + Implemented many missing specialisations of HTMLElement. RISC OS-specific ---------------- * Fix for toolbar width calculation. * Code clean-ups. * Added option to use disc cache. GTK-specific ------------ * Improved configuration handling. * Improved command line usage. * Enabled disc caching. * Improved context menu. * Fixed gdkpixbuf usage issue. * Improved view source, and debug features. * Improved main menu. * Improved developer options. * Added options to open view source, etc, in new window, tab, or editor. * Many code clean-ups. * Internationalisation fixes. AmigaOS-specific ---------------- * Removed Cairo. * Improved installer script. * Enabled disc caching. * Improved line splitting behaviour for text wrap. * Improved web search. * Improved hotlist menu. * Improved task scheduler. * Wait for network activity, rather than polling for it. * Improved throbber operation. * Fixed tab bar update failure issue. * Improved favicon handling. BeOS/Haiku-specific ------------------- * Various fixes. Atari-specific -------------- * Made several little bug fixes. Framebuffer-specific -------------------- * Added Unicode support to internal font. * Added codepoint rendering to internal font, for missing glyphs. * Added scaled glyph rendering to internal font. * Added support for window resizing, were underlying surface supports it. * LibNSFB library 0.1.2 (NetSurf Framebuffer): + Made SDL surface resizeable. + Fixed rendering for 1bpp glyphs with greater than 1 byte width. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.1 =========== Core / All platforms -------------------- * Optimised UTF-8 conversion. * Optimised URL database lookups. * Added support for visited link rendering. * Made better use of DOM events to optimise load times. * Improved handling of user options. * Improved about:config page. * Faster application startup time. * Fixed rendering of animated background images. * Rewritten treeview implementation with improved look and behaviour. * Rewritten hotlist (bookmarks, favourites) with new treeview. * Rewritten global history with new treeview. * Rewritten cookie manager with new treeview. * Added multi-level undo and redo support to textareas. * Hotlist has special directory for new 'unsorted' entries. * Improved file:// directory listings. * Faster CSS selection achieved by updating to new LibCSS version. * Improved support for min-height and max-height CSS properties. * Removed support for MNG and JNG images. * Launch image fetches during HTML parsing. * Improved support for file upload form element. * Enabled TLS 1.2 support again. * Fixed various issues with HTML forms by using the DOM properly. * Make better use of string interning. * Simplified favicon handling. * Fixed fetch handle caching with modern libcurl versions. * Simplified local history programmer interface. * Improved handling of invalid HTML. * Improved handling of browser tabs. * Various fixes and improvements to URL handling. * Fixed textarea selection redraw. * Improved separation of core and platform-specific code. * Improved content caching. * Improved build documentation. * Improved display of single-line form text inputs. * Various fixes to table layout and rendering. * Hubbub library 0.3.0 (HTML parser): + Updated to use latest LibParserUtils. + Removed client allocation function. + Added support for multilib. * LibCSS library 0.3.0 (CSS parser and selection engine): + Added support for the writing-mode property. + Significantly optimised selection performance. + Made many fixes and internal clean-ups. + Added support for multilib. * LibDOM library 0.1.0 (Document Object Model): + Fixed node comparison. + Made many fixes and internal clean-ups. + Updated Hubbub binding for latest Hubbub. + Added support for multilib. + Added HR specialisation of HTMLElement. * LibNSBMP library 0.1.1 (NetSurf BMP decoder): + Added support for multilib. * LibNSGIF library 0.1.1 (NetSurf GIF decoder): + Added support for multilib. * LibParserUtils library 0.2.0 (parser building utility functions): + Removed client allocation function. + Added support for multilib. + Minor fixes and clean-ups. * LibROSprite library 0.1.1 (RISC OS Sprite support for non-RO platforms): + Added support for multilib. * LibSVGTiny library 0.1.1 (SVG support): + Several minor fixes. + Added support for multilib. * LibWapcaplet library 0.2.1 (String internment): + Added support for multilib. RISC OS-specific ---------------- * Improved mouse handling. * Added F8 and F9 key shortcuts for textarea undo and redo. * Optimised rendering of treeview windows. * Added hotlist indicator to URL bar. * Improved handling of long URLs in URL bar. * Improved menu handling. * Reduced dependency on core's implementation details. GTK-specific ------------ * Fixed scroll wheel step size. * Improved GTK-3 compatibility. * Fixed red/blue swapping with animated gifs. * Added new tab button to tab bar. * Improved window/tab closing. * Added key shortcuts for textarea undo and redo. * Improved save source. * Added support for file upload form element. * Reduced dependency on core's implementation details. * Fixed alpha channel handling * Fixed endian issues in bitmap handling. * Improved support for keyboard input of non-latin letters. * Improvement of text caret rendering. AmigaOS-specific ---------------- * Added key shortcuts for textarea undo and redo. * Use OS mouse pointers. * Improved hotlist menu. * Added favourites/hotlist indicator to URL bar. * Reduced dependency on core's implementation details. * Added support for AmigaGuide help system. * Improved behaviour on quit. * Improved download handling. * Improved URL handling. BeOS/Haiku-specific ------------------- * Improved embedding of resource files. * Improved About dialogue box. * Fixed CSS system colour setting. * Updated to account for change in atomic_add() in Haiku. * Reduced dependency on core's implementation details. Windows-specific ---------------- * Reduced dependency on core's implementation details. Atari-specific -------------- * Added SSL certificate inspection window. * Added About dialogue box. * Added support for scaling web pages. * Improved rendering. * Reduced dependency on core's implementation details. Framebuffer-specific -------------------- * Added key shortcuts for textarea undo and redo. * Use libnsfb for tiled bitmap rendering. * Reduced dependency on core's implementation details. * LibNSFB library 0.1.1 (NetSurf Framebuffer): + Fixed various memory leaks. + Added tiled bitmap rendering support. + Improved dithering. + Added support for multilib. + Allowed building for Win32. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 3.0 =========== Core / All platforms -------------------- * Internal restructuring to separate different components. * Improved drag handling. * Added support for User CSS file. * Fixed compressed Messages loading. * Updated translations. * Improved internal options handling. * Improved build documentation. * Moved to using LibDOM for our document object model. * Removed LibXML dependency. * Merged messages files into single resource. * Improved about:imagecache debug feature. * Use system colours for treeview. * Use system colours for scrollbar widget. * Improved content cache. * Added support for DoNotTrack header. * Added early and primitive JavaScript support. (Disabled by default.) * Textarea widget now supports double/triple click selections. * Moved welcome page to local about: URL scheme. * Improved text selection handling. * Simplified interface for dealing with clipboard cut/copy/paste. * Optimised file: fetcher where mmap is available. * Allowed contents to request scrolls. * Improved frames resizing. * Internal restructuring of content communication with window. * New system for obtaining debug dump from core browser window. * Build system uses ccache where available. * Improved handling of CSS white-space property. * Avoid conversion of spaces to hard spaces. * Reduced usage of talloc to box tree. * Improved URL utility functions. * Brought internal URL database into line with other URl handling. * Improved title bar display for standalone image viewing. * Try to downgrade TLS version support if server can't cope. * Fix for layout issue involving floats with negative margins. * Reduced overhead of debug logging. * Don't abort HTML redraw when bad image fails to convert. * Added support for CSS clip property. * Improved error reporting. * Added support for httponly cookies. * Overhauled core textarea widget. * Use textarea widget for HTML form text, password and textarea input. * Improved caret and focus handling. * Removed CPU architecture from user agent string. * Changed text selection highlight colouring. * Remove limitation of HTML line breaking handling that required space. * Allowed CSS to be fetched/parsed in parallel with HTML document. * Added support for readonly attribute on textareas and text inputs. * Fixed text clipping issue. * Hubbub library 0.2.0 (HTML parser): + Added script support. + Fixed handling of encoding change. + Updated to use new core buildsystem. * LibCSS library 0.2.0 (CSS parser and selection engine): + Updated example code. + Added support for CSS widows and orphans properties. + Minor selection optimisations. + Several minor fixes. + Updated to use new core buildsystem. * LibDOM library 0.0.1 (Document Object Model): + First release. * LibNSBMP library 0.1.0 (NetSurf BMP decoder): + Removed suspend/invalidate stuff from API. + Updated to use new core buildsystem. * LibNSGIF library 0.1.0 (NetSurf GIF decoder): + Updated to use new core buildsystem. * LibParserUtils library 0.1.2 (parser building utility functions): + Fixed input insertion. + Updated to use new core buildsystem. * LibROSprite library 0.1.0 (RISC OS Sprite support for non-RO platforms): + Minor improvement. + Updated to use new core buildsystem. * LibSVGTiny library 0.1.0 (SVG support): + Ported from LibXML to LibDOM. + Minor fixes. + Updated to use new core buildsystem. * LibWapcaplet library 0.2.0 (String internment): + Optimised to reduce function call overheads. + Updated to use new core buildsystem. RISC OS-specific ---------------- * Documentation menu options now launch online documentation. * Added option to enable/disable JavaScript. * Added distribution Zip file build target. * Updated buildsystem to squeeze !RunImage. * Now require v0.13 or higher of the CryptRand module. * Added logging switch to !NetSurf.!Run. * Consult internal mimemap table before consulting MimeMap module. * Improve line wrap handling. * Made clipboard use UTF-8 internally. * Now require v0.12 or higher of the Iconv module. * Pass double and triple clicks to the core. * Fixed ctrl+{left|right|up|down} keys. GTK-specific ------------ * Added URL launcher for NetSurf. * Added support for building with GTK3. * Fixed rendering of tiled background images. * Fixed scrollwheel support. * Fixed OpenBSD compatibility. * Rewritten preferences handling. * Added clipboard keyboard shortcuts for cut/copy/paste. * Enabled support for line breaking on non-space characters. * Improved localisation. AmigaOS-specific ---------------- * Disabled print support. * Tiled redraw improvement. * Fixed fast scrolling. * Updated default favicon. * Improved status bar. * Made DataTypes picture handler use the core image cache. * Improved font width measuring. * Improved position in rendered string handling. * Improved line splitting handling. * Allow another font to be used if current font lacks required glyph. * Fixed download window's handling of aborted/stalled downloads. * Added option to enable/disable JavaScript. * Support for less than 16bpp screen modes. * Optimisation for opaque bitmap plotting. * Removed p96 dependency. * Install target now produces an archive for distribution. * Added hotlist toolbar. * Improved tabbed browsing. * Added basic context sensitive help. * Made various redraw optimisations. BeOS/Haiku-specific ------------------- * Made multiple toolbars share single icon instance. * Optimised text rendering slightly. * Added download window. * Fixed off-by-one in caret placement and text selection. Windows-specific ---------------- * Install target creates an installer. Atari-specific -------------- * Improved download window behaviour. * Improved plotters. * Optimised redraw areas. * Simplified keyboard shortcut handling. * Added native bitmap buffer for faster rendering. * Improved toolbar. * Improved URL bar. * Enabled paste into URL bar. * Faster rendering of opaque bitmaps. * Faster freetype text rendering. * Improved context menu. * Added global history window. * Improved text selection and caret placement. * Improved font handling. * Removed windom dependency. Framebuffer-specific -------------------- * Removed unnecessary redraw when not scrolling. * Optimised scrolling. * Reduced lag in handling mouse actions and movements. * Improved scrollbar behaviour. * Added text caret for URL bar and HTML forms. * Improved URL bar editing. * Optimised text widget redraw. * Improved text selection and caret placement. * Enable mouse pointers with offset 'hot-spots'. * Improved key handling. * Added support for drags. * Added simple internal clipboard (cut/copy/paste) support. * Added on-screen-keyboard (OSK) icon. * Turned on Quit button by default. * Improved system colours. * Improved window width/height option handling. * LibNSFB library 0.1.0 (NetSurf Framebuffer): + Fixed X surface build. + Fixed 1bpp bitmap rendering. (Fixes internal font clipping.) + Improved 8bpp palette. + Optimised paletted rendering. + Added error diffusion support to bitmap plotter. + Added support for surfaces with BGR component ordering. + Added Wayland surface handler. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.9 =========== Core / All platforms -------------------- * Improved internal management of simultaneously occurring operations. * Rewritten and streamlined URL handling. * Improved handling of frames and iframes. * Improved handling of min/max-width on replaced elements. * Simplified layout object dimension calculations. * Reduced memory usage in the fetch layer. * Disabled extraneous fetch debug code when built without debugging. * Optimised fetchers. * Updated MIME sniff handling in accordance with evolution of spec. * Optimised cache layer. * Enabled yield and resumption of box tree construction. * Improved resource handling. * Added new support for favicons. * Increased default memory cache size. * Added about:imagecache status page. * Optimised URL fragment handling. * Made meta refresh handling more robust. * Various minor table layout fixes. * Cleaned up fetch callback API. * New hotlist entries can be inserted into defined or selected folder. * Enabled resizing of textarea widget. * Fixed cookie expiration. * Improved handling of CSS overflow scrollbars. * Fixed caret position after deleting selection in textarea widget. * Enabled mouse wheel scrolling of frames and other scrollable content. * Improved handling of file drops, e.g. for HTML form file submission. * Added the beginnings of a gstreamer binding. * Fixed some content cache layer issues. * Improved handling of deletion of nodes from treeviews. * Added options to disable fetching of images. * Simplified redraw API rendering options. * Improved support for drag operations. * Hubbub library 0.1.2 (HTML parser): + Fixed xmlns attribute handling. * LibCSS library 0.1.2 (CSS parser and selection engine): + Avoid interning standard strings for every stylesheet, style tag and style attribute. + Made significant optimisations to style selection. + Fixed case where font-family is unspecified in input CSS. + Added some support for @font-face. + Fixed !important on opacity property. + Added support for parsing CSS3 Multi-column layout properties. RISC OS-specific ---------------- * Removed unused and broken plugin handler. * Removed normalisation of user input URLs. * Added support for external hotlist utilities. * Improved signal handling. * Improved keyboard input handling. * Various fixes. * Fixed Drawfile export not to show interactive features. * Improved scroll event handling. GTK-specific ------------ * Improved resource handling. * Cleaned up handling of tabs. * Made tab bar position configurable. * Updated plotters to use Cairo surfaces throughout. * Enabled search-as-you-type of page content. * Fixed ~/.netsurf directory permissions. AmigaOS-specific ---------------- * Improved mouse handling. * Improved multi-tasking behaviour. * Increased keyboard scroll speed. * Better MIME type handling. * Improved contextual menu handling. * Enabled context menu for frames. * Enabled context menu for plain text contents. * Improved aspect ratio handling. * Consolidated user file operations. * Fixed scrolling issues. * Improved resource handling. * Improved tab bar handling. * Improved drag handling. * Improved font handling. * Improved clipboard support. Mac OS X-specific ----------------- * Fixed build. Atari-specific -------------- * Added context menu. * View source support. * Use favicon when iconified. * Removed unneeded frames handling code. * Fixed rectangle plotter. * Simplified status bar. * Improved download window. * Improved URL bar. * Fixed conversion from local encoding to UTF-8. * Improved scheduler. * Added save page support. * Added settings dialogue. * Enabled view source feature. * Added support for 8-bit displays. Framebuffer-specific -------------------- * Reduced excessive logging. * Implemented RAM surfaces, instead of direct blitting. * Fixed VNC surface. * Enabled thumbnailing in local history view. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.8 =========== Core / All platforms -------------------- * Added rudimentary support for CSS :before pseudo element. * Improved vertical layout of boxes and margin handling. * Optimised layout engine not to calculate word widths it doesn't need. * Optimised layout and redraw of pages as their images fetch. * Simplified internal character in string location. * Improved internal content management. * Fixes to build system. * Cleaned up image content handlers. * Simplified internal content redraw interface. * Simplified status bar text. * Improved content handler initialisation. * Improved scrollbar widget. * Fixed direct dragging of scrollable boxes in HTML. * Improved fetch option handling. * Optimised treeview layout. * Improved default cookie manager view. * Added support for iframes. * Added support for frames. * Improved drag handling. * Fixed text selection, search, and widget rendering in HTML redraw. * Made page text search support more robust. * Improved HTTP authentication header parsing. * Removed plotter table global. * Removed current browser global for redraw. * Updated PNG handler for recent libPNGs. * Refactored HTTP handling utilities. * Improved handling of mouse input for text selection. * Fixed stopping of active HTML content fetches. * Fixed GCC 4.6 build warnings. * Disallowed self-importing of CSS contents. * Made download handling more robust. * Simplified bitmap management. * Improved handling of HTML font tag's size attribute. * Added support for content type sniffing. * Added an image cache, for managing decoded image reuse. * Fixed handling of zero-length documents. * Improved handling of memory cache sizes. * Hubbub library 0.1.1 (HTML parser): + Fixed build with GCC 4.6. * LibCSS library 0.1.1 (CSS parser and selection engine): + Improved build tree cleaning. + Fixed build with GCC 4.6. + Added support for selection of page-break properties. + Optimised style selection. * LibParserUtils library 0.1.1 (parser building utility functions): + Changed build to require iconv by default. + Support Byte Order Marks in UTF16 and UTF32 streams. RISC OS-specific ---------------- * Improved Adjust double-click handling in treeviews. * Consolidated content handlers for ArtWorks, Draw, and Sprite. * Removed redundant code specific to old RISC OS frame implementation. * Removed redundant code specific to old RISC OS iframe implementation. * Updated for new frame and iframe support in core. * Updated to handle new interface to core redraw functionality. GTK-specific ------------ * Made new window open showing homepage, rather than current page. * Fixed compatibility with latest GTK API. * Updated to handle new interface to core redraw functionality. * Updated for new frame and iframe support in core. AmigaOS-specific ---------------- * Improved font handling. * Improved text charset handling. * Added support for user defined DPI setting. * Improved image handlers. * Improved MIME type handling. * Primitive plugin content support. * Added support for additional mouse buttons. * Updated to handle new interface to core redraw functionality. * Improved handling of tabs. * Improved toolbar button availability. * Improved download window. * Improved context menus. * Updated for new frame and iframe support in core. * Added a splash screen. * Improved support for entering exotic characters. Mac OS X-specific ----------------- * Removed dependency on Xcode installation for MIME mappings. * Accept URLs as arguments to binary. * Fixed build. * Fixed local directory listing display. * Improved Apple image handler. * Added view source functionality. * Fixed crash due to broken certificate bundle path. * Added quarantine attributes to downloaded files. * Added NetSurf to 'Open with' menu for HTML files. * Updated to handle new interface to core redraw functionality. * Updated for new frame and iframe support in core. BeOS/Haiku-specific ------------------- * Reduced debug output. * Updated resources. * Updated to handle new interface to core redraw functionality. * Updated for new frame and iframe support in core. Atari-specific -------------- * Improved rendering. * Implemented treeview support. * Added Hotlist (bookmarks) feature. * Simplified scheduler. * Improved support for local files. * Updated to handle new interface to core redraw functionality. * Improved window resize accuracy. * Ensured window title is converted to local encoding. * Updated for new frame and iframe support in core. Framebuffer-specific -------------------- * Improved portability. * Updated to handle new interface to core redraw functionality. * Fixed to handle no configured Cookies file location. * Updated for new frame and iframe support in core. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.7 =========== Core / All platforms -------------------- * 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 0.1.0 (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 0.1.0 (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 0.0.3 (NetSurf BMP decoder): + Added missing include. + Made more robust when handling broken ICO files. + Added clang build support. * LibNSGIF library 0.0.3 (NetSurf GIF decoder): + Added missing include. + Added clang build support. * LibParserUtils library 0.1.0 (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 0.1.1 (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. NetSurf 2.6 =========== Core / All platforms -------------------- * Improvements to float positioning. * Fix absolute positioned inlines. * Improve handling of percentage margins and paddings on floats. * Fix several memory leaks. * Rationalised memory allocation functions. * Updated SSL root certificates. * Fix handling of PNGs with zero data. * Moved input handling into content handlers. * Simplified browser window module. * Fix table borders specified in em/ex units. * Improved CSS content handling. * Don't try to draw zero size images. * Simplified and fixed save complete feature. * Reduce frequency of cache clean attempts. * Improve and optimise rendering of borders in HTML. * Fix URL comparison issue. * Improve object handling in HTML. * Fix absolute positioned root element. * Rewritten file: fetch handler for local URLs. * Much improved directory listings for local file: paths. * Improve handling of binary data in plain text renderer. * Fixed cache expiry problems. * LibCSS library 0.0.2 (CSS parser and selection engine): + Allow stylesheets to be used in multiple contexts simultaneously. + Fix possible stylesheet reuse crash. RISC OS-specific ---------------- * Increased maximum allowed value for memory cache size option. * Update 'about' page to include licences for linked components. * Fix layout to paper width when printing. * Fix screen redraw after printing. * Enable sideways print option. GTK-specific ------------ * Avoid potential use of NULL pointer. * Fix for old versions of GTK. * Improve internationalisation support. * Improve handling of bitmap opacity. * Fix redraw issues with non-HTML content. * Cleaned up menu generation and handling. BeOS/Haiku-specific ------------------- * Fix build. * Fix mimetype acquisition for local files. * Improve handling of bitmap opacity. * Enable knockout rendering optimisation. * Improved polygon plotter accuracy. * Fix colours on copy to clipboard. AmigaOS-specific ---------------- * Fixed menus when switching tabs. * Improved font handling. * Text kerning. * Update for OS4.1 Update 2. * Simplify building of Cairo and non-Cairo versions. * Fixed scrollbar handling. * Better NetSurf icon. * Improve installer. * Better support for ARexx commands. * Context sensitive cut/copy/paste. * Fix clipping for non-HTML contents. * Option to show icon under drag saves. * Bitmap plot optimisations. * Now uses core fetcher for file: URLs. Framebuffer-specific -------------------- * Framebuffer toolkit rationalised. * Improved scrollbar support. * Added X surface handler. * Improved scheduling. * Fixed redraw issues. * Improved keypress handling. * On screen keyboard. * History window. * Configurable window furniture size. * Support for scaled bitmap plotting. * Factored out common plot code for rendering at different bpp. * Load and save cookies file on start and quit. * Improve handling of bitmap opacity. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.5 =========== Core / All platforms -------------------- * Fetch improvements. * Fix fetching from https sites with http authentication. * Handle http authentication with no realm. * Cookie handling improvements. * Improved support for {min|max}-{width|height} CSS properties. * HTML redraw optimisations. * Improved mouse tracking over browser windows. * Browser window status bar update rationalisation. * Better handling of memory exhaustion. * Made text export more robust. * Fix relative positioning of floats. * Align baselines of text on a line. * HTML layout optimisations. * Fixed HTML based box alignment behaviour. * Sorted out default table borders. * Updated Italian translation. * Updated German translation. * Allow any name for frame targets. * Allow sending of referer when moving from http hosts to https. * Improved stability. * Simplified plotter API. * Fixed memory leak in imagemap handler. * Optimised debug rendering of box model outlines. * Activity is indicated by 'progress' pointer. * Ensure debug rendering outlines are plotted on top of other content. * Now using LibCSS for CSS parsing and selection. * Many CSS related bugs fixed. * Rewritten cache and internal content handling. * Fixes for file: URL handling. * Don't try to access file: URLs through the configured proxy. * Core widget for handling SELECT element menus. * Core scrollbar widget used for CSS overflow and SELECT menu widget. * Very basic quirks mode support. * Cleaned up how the initial rendering of a content occurs. * Command line argument handling and initialisation cleanup. * Clearer build configuration messages. * Favicon retrieval. * Full page saves, including CSS and image files. * PDF export disabled. * Search-as-you-type page search support. * Hubbub library 0.0.2 (HTML parser): + Fixed locale problem. + Various improvements. * LibCSS library 0.0.1 (CSS parser and selection engine): + First release. * LibNSBMP library 0.0.2 (NetSurf BMP decoder): + Fix ICO decoding on big-endian platforms. + Improve inverse height calculation. * LibNSGIF library 0.0.2 (NetSurf GIF decoder): + Improve Palette entry handling. * LibParserUtils library 0.0.2 (parser building utility functions): + Fixed charset problem. + Various improvements. * LibSVGTiny library (SVG support): + Colour component ordering fix. + Support arcs in paths. + Improve circle element handling. + Add ellipse element support. + Improve stroke width rounding. * LibWapcaplet library 0.0.2 (String internment): + First release. RISC OS-specific ---------------- * Theme code cleanup. * Fix possible HTTP autentication crash. * Fix potential problem with URL completion. * Better handling of WIMP errors. * Fixed memory leak in path plotting. (Used for SVG display.) * Improve launching of URIs NetSurf doesn't handle. * New guide to building NetSurf on RISC OS. * Simplified native build process for NetSurf and libraries. * Multitasking behaviour changed to be kinder to other apps. * Fixed problem loading content served locally from WebJames. * Improved stability. * Save complete now implemented in the core. * Find text moved to core and crash bug fixed. * RUfl library (RISC OS Unicode support): + Fixed font scan crash. + Faster font scanning with FontManager 3.64 or later. GTK-specific ------------ * Give drawing area input focus on click. * Added local history toolbar button. * Improve dot and dash line patterns. * Made throbber loading more robust. * Improved tab handling. * Improved status bar control. * Faster plotting of clipped and scaled images for smooth scrolling. * Favicon display. * Added view source code feature. * Added search box on toolbar. * Theme handling. * Toolbar customisation. * Context sensitive menu updated. * Improved menu structure. * Updated for compatibility with latest GTK versions. BeOS/Haiku-specific ------------------- * Complete save support. AmigaOS-specific ---------------- * Faster and more robust page plotting. * Better clipping of plot actions. * Smoother scrolling. * Improved handling of tabs. * Added UI for SSL certificate inspection. * Improved stability. * Better font handling. * Added a preferences GUI. * Better pointer handling. * Better handling of bitmap alpha channels. * Improved status bar. * Added scale support. * Improved mouse click handling. * Keyboard shortcuts added. * Added search bar. * Added HelpHints. * Theme and icon improvements. * Handle more exotic formats dropped on text boxes, using DataTypes. * Favicon display. * Added search box on toolbar. Framebuffer-specific -------------------- * Framebuffer handling abstracted into libnsfb library. * Fixed throbber to show inactivity correctly. * Improved handling of text entry into URL bar. * Fixed redraw issues while scrolled from top and while scrolling. * Fixed redraw issues with animated GIFs and text areas. * Improved mouse handling. * Fixed zero size iframe crash. * Added full range of pointer sprites. * Better keyboard input handling. * Fix continual reload on pages with meta refresh. * Improve look and placement of toolbar, icons and scrollbars. * Internal font changed. Includes more glyphs and bold/italic. * Improved stability. * LibNSFB library (NetSurf Framebuffer): + New library. Windows-specific ---------------- * New front end, considered pre-alpha. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.1 =========== Core / All platforms -------------------- * Fix detection of active link areas (avoids entire page being treated as a link in certain cases). * Support height on TR. * Fix numbering of floated list items. * Make borders/margins/padding on form elements match other browsers. * Updated Italian translation. * German welcome page. * Fix handling of percentage height on HTML and BODY. * Partially handle percentage heights on TABLE RISC OS-specific ---------------- * Set bit 4 of extended window flags byte. GTK-specific ------------ * Fix buffer overflows in options code. BeOS/Haiku-specific ------------------- * Implement path plotter for SVG rendering. AmigaOS-specific ---------------- * Improved packaging and installation rules. * Speed up scrollwheel scrolling. * Cache scaled bitmaps in memory by default. * Support exporting of images as IFF. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 2.0 =========== Core / All platforms -------------------- * Completely new HTML parser (Hubbub). * SVG support. (Can be used as normal images and background images.) * PDF export support. * Many improvements to page layout and rendering. * More CSS properties supported. * Improved text selection behaviour. * Charset fixes. * Portability improvements. * Configurable multi-platform build system. * Tabbed browsing awareness. * Corrected behaviour of backgrounds on root element. * Many fixes related to floated content. * More lenient meta refresh delay handling. * Improvements to cut, copy and paste behaviour. * Better cookie handling. * Improved form functionality. * Improved form control display. * Stability fixes for handling nonsense data. * Better handling of HTML attributes. * Fix broken layout on systems which don't use '.' as the decimal separator. * Fix inline height not affecting line height. * Handle whitespace in URL bar. * New throbber animation. * Fixed occasional white flicker of page area during layout. * New default homepage. * Hubbub library 0.0.1 (HTML parser): + First release. * LibParserUtils library 0.0.1 (parser building utility functions): + First release. RISC OS-specific ---------------- * Restructured menu with access to more functionality. * Remembers save / download paths. * Improved style-guide compliance. * Wimpslot size adjusted at build time. * Alt+click on close icon closes all NetSurf windows. * Escape aborts drag save. * New object > link submenu. * SVG to Drawfile conversion. * Zoom/scale with shift+scrollwheel. * Improved drawfile export. GTK-specific ------------ * Tabbed browsing. * Global history. * Download manager. * Enhanced interface. * Text selection. * Print support. * Improved context menu. * Handle desktop DPI setting. * Can support RISC OS Sprite bitmap format via librosprite. * View source. * Content language selection option. BeOS/Haiku-specific ------------------- * First release. AmigaOS-specific ---------------- * First release. Framebuffer-specific -------------------- * First release. Also included are many smaller bug fixes, improvements and documentation enhancements. NetSurf 1.2 =========== Core / All platforms -------------------- * Overhaul documentation in line with new website. * Many improvements to cookie handling. * Minimum font size option is now obeyed by form elements. * Add support for periodic reflow during fetching. * Fixes for positioning of floated elements -- NetSurf now passes Acid1. * Bring support for
and align= in line with specification. * Updated SSL root certificate bundle. * Various fixes for form element default styling and interaction with CSS. * Rewritten, more tolerant, HTTP redirect handling. * Fix crash when tabbing into hidden form fields. * Fix background handling on and . * Permit