Yunqa • The Delphi Inspiration

Delphi Components and Applications

User Tools

Site Tools


products:netsurf:history

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

products:netsurf:history [2020/06/08 16:42]
products:netsurf:history [2021/03/20 12:17] (current)
Line 1: Line 1:
 +====== YuNetSurf: Version History ======
 +{{page>header}}
 +=====YuNetsurf 4.1.0 – 5 Jun 2020=====
 +
 +  * Support Delphi 10.4 Sydney Win32 and Win64.
 +
 +=====YuNetsurf 4.0.1 – 2 Apr 2020=====
 +
 +  * Fix the CSS parser to cope with situations where a block ends with a selector which has no ruleset.
 +  * Improve error checks for the CSS ''flex-flow'', ''list-style'', and ''outline'' property shorthands.
 +  * Fix handling invalid types when calculating CSS border width.
 +
 +=====YuNetsurf 4.0.0 – 7 Nov 2019=====
 +
 +**Support for CSS media queries**. This is an incompatibility change.
 +
 +  * **TYuCss:**
 +    * ''DefaultMedia'' property is a ''RawByteString''.
 +    * ''Media'' is a ''css_media'' record.
 +    * ''OnImportNotification'' and ''DoImportNotification'': The ''Media'' parameter is removed.
 +  * **TYuCssBaseSheet:**
 +    * ''NextPendingImport'': The ''Media'' parameter is removed.
 +  * **Native API:**
 +    * ''css_stylesheet_next_pending_import'' and ''css_import_notification_fn'': The ''Media'' parameter is removed.
 +    * ''css_select_ctx_append_sheet'' and ''css_select_ctx_insert_sheet'': The ''Media'' parameter is a #0 terminated string.
 +    * ''css_select_style'' and ''css_select_font_faces'': The ''Media'' parameter is ''css_media_ptr'', a pointer to a ''css_media'' record.
 +    * ''css_rule'' has the following new fields. They replace the old bit fields. The respective bit field getter and setter functions are removed.
 +      * ''index''
 +      * ''items''
 +      * ''type_''
 +      * ''ptype''
 +    * New unit types:
 +      * ''UNIT_TURN''
 +      * ''UNIT_RESOLUTION''
 +      * ''UNIT_DPI''
 +      * ''UNIT_DPCM''
 +      * ''UNIT_DPPX''
 +
 +=====YuNetsurf 3.4.0 – 16 Apr 2019=====
 +
 +  * HTML parsing: Add detection of space only separated charsets to ''TYuHtmlParser'' descendents. Declarations like ''%%<%%meta content="text/html charset=utf-8">'' are generated by some programs like Apple Mail and recognized by Chrome.
 +  * ''TYuCss'' improvements:
 +    * Add ''box-sizing'' property support.
 +    * Add support for flexbox properties:
 +      * ''align-content''
 +      * ''align-items''
 +      * ''align-self''
 +      * ''flex''
 +      * ''flex-basis''
 +      * ''flex-direction''
 +      * ''flex-flow''
 +      * ''flex-grow''
 +      * ''flex-shrink''
 +      * ''flex-wrap''
 +      * ''justify-content''
 +      * ''order''
 +    * Add support for new length units: ''cap'', ''ch'', ''ic'', ''rem'', ''lh'', ''rlh'', ''vh'', ''vw'', ''vi'', ''vb'', ''vmin'', ''vmax'', ''q''.
 +    * Computed styles can now be shared between elements, so only unique computed styles reside in memory.
 +    * Where possible, bypass CSS selection and simply take a reference to another element in the DOM's style, if certain that it will be the same.
 +    * Fix reading beyond allocated memory when removing a sheet from selection context.
 +  * Improve performance of case insensitive string comparisons.
 +
 +=====YuNetsurf 3.3.0 – 24 Dec 2018=====
 +
 +  * Support Delphi 10.3 Rio Win32 and Win64.
 +
 +=====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 named color "rebeccapurple". http:%%/%%/dev.w3.org/csswg/css-color/#valdef-color-rebeccapurple
 +  * 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.
 +