Delphi Inspiration

Components and Applications

User Tools

Site Tools


products:netsurf:history

YuNetSurf: Version History

YuNetSurf HTML5 parser and tree builder with CSS3 tokeniser, parser, and selection engine.

YuNetsurf 3.2.0 – 3 Apr 2017

  • Support Delphi 10.2 Tokyo Win32 and Win64.

YuNetsurf 3.1.0 – 7 May 2016

  • Support Delphi 10.1 Berlin Win32 and Win64.

YuNetsurf 3.0.0 – 25 Mar 2016

Incompatibility Change:

Optimize the way to handle CSS presentational hints: Previously, the CSS selection engine iterated over all properties not either in a UA stylesheet or a user stylesheet with !important set. It asked the client if there were any presentational hints for that node, once for each property. This triggered up to N_PROPERTIES * N_NODES calls to the client.

The new API asks the client to supply a list of all the presentational hints that apply to node, which is 0 for most nodes. This triggers at most N_NODES calls to the client. css_hint has been changed to include the property which the hint applies to.

Wrapper classes have been adjusted as well:

  • TYuSimpleCss.OnNodePresentationalHint
  • TYuLibXml2Css.OnNodePresentationalHint

Because of this incompatible API change, the YuNetSurf major version incremented to 3.

New Functions:

  • Add lwc_string_tolower API.

YuNetsurf 2.0.2 – 15 Sep 2015

  • Support Delphi 10 Seattle Win32 and Win64.
  • Minor fixes.

YuNetsurf 2.0.1 – 25 Apr 2015

  • Add support for Delphi XE8 Win32 and Win64.

YuNetsurf 2.0.0 – 26 Feb 2015

  • Enhance the TYuCss and TYuCssSheet classes:
    • @import rules can be loaded recursively via AddImport.
    • TYuCss and descendands have all events of all their Sheets. Assign once, use everywhere.
    • TYuCss has sheet propertiy defaults. Sheets are initialized with these values and can be modified: DefaultCharSet, DefaultLanguageLevel, DefaultMedia, DefaultOrigin, DefaultQuirksAllowed.
    • TYuCss owns all Sheets, including imported sheets to other sheets.
    • New TYuCss.Sheets collection to organize sheets. The old TYuCss.AppendSheet() is no longer needed and removed.
  • New TYuCss.DoComputeFontSize virtual method as common CSS compute_font_size callback for all descendants. This fixes a bug where TYuCSS was not calculating the font size when composing computed styles.
  • Add absolutification for column-rule-width, column-width, and column-gap.
  • New native API functions: css_font_face_count_srcs, css_font_face_get_font_family, css_font_face_src_get_location, css_font_face_get_src.
  • Fix memory leak if DataDone / css_stylesheet_data_done is omitted.

Unfortunately, the above changes were possible only by breaking backwards compatibility. Adjustments to existing code might be necessary, hence the major version increase. The demo projects have been adjusted for reference.

YuNetsurf 1.3.0 – 18 Dec 2014

  • Add CSS3 column layout properties:
    • column-count
    • column-fill
    • column-gap
    • column-rule-color
    • column-rule-style
    • column-rule-width
    • column-span
    • column-width
  • Minor bug fixes.

YuNetsurf 1.2.0 – 3 Oct 2014

  • Support Delphi XE7 Win32 and Win64.

YuNetsurf 1.1.0 – 31 Jul 2014

  • New demo project YuNetSurf_Extract_Content.dpr.
  • New TYuSimpleTreeWalker class, with support for WhatToShow and Filter.
  • TYuSimpleNodeIterator supports WhatToShow, Filter, and PreviousNode.
  • New TYuSimpleNode.Contains function.
  • New TYuSimpleDocument.DocumentElement property and TYuSimpleDocument.GetElementById method.
  • New TYuCss.Options property:
    • coComposeStyles replaces the Compose argument of SelectStyle methods.
    • coInlineStyles controls weather to apply inline styles.
  • Add and improve documentation.
  • CSS parser: Fix advancing when play-during rule has !important set.
  • Correct some exotic type definitions and function names.

YuNetsurf 1.0.0 – 17 Jul 2014

  • Initial public release.
products/netsurf/history.txt · Last modified: 2017/04/03 18:46 (external edit)