Skip to content

Releases: gngrOrg/gngr

gngr 0.3.16

07 Aug 13:31
@hrj hrj
66d855e
Compare
Choose a tag to compare

This is a bug fix release, containing a collection of fixes from 2019 till today. Highlights:

  • Handle case of SecurityManager being disabled in Java 17+ (See #277 )
  • Upgrade to Rhino v1.7.10 and correctly manage security domains for JS (See #117)
  • Handle case of request manager blocking a network request when fetching CSS stylesheet
  • unescape XML entities inside script elements
  • Fix a bug in escaping XML entities
  • define a stub for window.requestAnimationFrame()
  • Fix a memory leak in draw dotted border

Aside, we have enabled options for contributing financially via both GitHub sponsors, as well as through OpenCollective and have already raised some contributions 🙏🏽

gngr v 0.3.15

06 Feb 18:35
@hrj hrj
acfb4ce
Compare
Choose a tag to compare
  • Update okhttp library to latest 0.3.x
  • Ensure compatibility with Java 11

gngr v 0.3.14

20 Jan 07:10
@hrj hrj
9a8c887
Compare
Choose a tag to compare
  • Fixed #248
  • Update to a more recent version of CSS parser (jStyleParser)

gngr v0.3.13

30 Jun 11:14
@hrj hrj
Compare
Choose a tag to compare

Changes

This release has three major improvements:

  • Sub Resource Integrity is now checked as per the latest recommendation. #234 (Note there are some pending tasks still to be done #237).
  • Strict HTTPs is now enforced by default. When a document is loaded from https URL, requests to http resources are filtered through the RequestManager. #232
  • A long pending bug in the Request Manager was fixed #149. The counts in the JS column are now accurate.

Also:

  • Improvements to Event Dispatch
    • Support for events that don't bubble
    • Trigger load and error events for scripts and link elements
  • added support for currentColor in CSS
  • Updated h2 db to latest release
  • Updated rhino to latest release
  • Updated jstyleparser to latest (2.2 SNAPSHOT) release

Checksum gngr-0.3.13.jar

SHA-256: 46f6a6545c59da77dfa4217158d1c0881603cc3de218c4ecf72f3c1fad98b5b3

gngr version 0.3.12

07 Nov 19:18
@hrj hrj
Compare
Choose a tag to compare

Layout improvements

There have been about 680 progressions in the CSS2.1 test-suite since the last release. More details are here.

Fixes

  • Menu won't close after clicking the address bar #224
  • File -> Open menu item should be disabled until it works #132 thanks to @chetankothari

Changes to build process

As a departure from past releases, this release is cut directly from the master branch. This is to simplify the release process. If you notice any regressions from past releases please raise an issue.

gngr version 0.3.11

24 May 11:39
@hrj hrj
Compare
Choose a tag to compare

New contributors

Many thanks to our newest contributors: @atiqsayyed @bogas04 @apicellaj

Improvements

  • Automated building from command line #6
  • Meta improvements: We now have a layout testing harness, powered by the W3C's CSS 2.1 test suite! We also have these tests running in Travi-CI. This has led to rapid progress in the layouting system.
  • gngr's Accept header now matches Firefox's. This required implementation of the deflate protocol. Benefit: more privacy. See #174 and #173
  • Usability
    • Closing Request Manager without changes doesn't cause a page refresh anymore #13
    • Open a quick search page when URL is ambiguous #165
    • Support for Mac Os keyboard commands #156
    • Ctrl-L now selects the content of the address bar #159
    • Ctrl-K keyboard shortcut for starting a search works now #158
  • Layouting
    • Support for Margin collapse (partial)
    • Don't set body text color: Fixes several CSS2.1 tests and ACID1 test now passes. #162
    • border style hidden should hide the border #190
    • position:fixed elements now stay fixed #133
    • Support for CSS properties instead of older attributes: vertical-align and width/height for table elements.
    • Implement position:relative for inline elements
    • compute x-height of font
    • Support for transparent keyword
    • infer background color when not specified
    • default value for border-*-width #14
    • added proper support for CSS length specified in inches
    • Many fixes related to high-resolution displays, pixel computations, etc.
    • image scaling is now anti-aliased #77

Fixes

  • width="100px" doesn't work for img elements #167

Miscellaneous

  • Update dependencies to newer versions (okhttp, h2)

More release notes are being prepared.

See Issues closed in this miletsone.

gngr v0.3.10

13 Sep 07:32
@hrj hrj
Compare
Choose a tag to compare

The focus of this release was on layout improvements. Layouting is now 5x faster, and the algorithm is now much more correct. This release also underwent a lot of testing against many websites, and so is more stable.

Installation instructions are here.

Layout improvements

  • Layouting is now deferred until all resources have loaded. Earlier, gngr would start layouting as soon as the HTML was parsed. This layout would then get invalidated after CSS and images were loaded. We now wait till all resources have loaded and only then begin the layouting. This saves computation and also avoids a jerky user-experience.
  • The common part of the CSS Analysis phase is now computed once for the document and then reused for each element. This gives a big speed improvement (about 5x). The benchmark page is modelled on a reddit comment thread. The time to load such a page went down from 35 seconds to about 7 seconds!
  • position:fixed elements are used to "stick" content on the screen even when scrolled. This now works correctly.
  • position:relative elements are used widely in CSS. In this release, we have attempted to properly implement relative positioning. There are still some corner cases to be addressed, but overall, the new algorithm is a huge improvement.

Regression fixes

There were two major regressions introduced in the previous release (v0.3.9), which have been fixed in this release.

  • HTML Documents with framesets were not parsed correctly in QUIRKS_MODE. Examples of such documents are javadocs.
  • HTML Documents with CDATA sections were not parsed correctly.

Enhancements

  • Holding Control key while clicking now opens a link or image in a new window. The same happens with a middle-click as well. #59
  • Dependencies were updated
    • H2 was updated to 1.4.188. #130
    • OkHTTP was updated to 2.5.0 #146

Other changes

  • Fix for #72 : Opening a URL in new window doesn't open a new window the second time.
  • Fix for #15 : image encoded in data-uri from ACID2 fails.
  • Added LWN to the directory.

gngr v0.3.9

05 Aug 05:51
@hrj hrj
Compare
Choose a tag to compare
  • Big optimisations in rendering and layouting. Earlier, the entire web page would get laid-out and re-rendered whenever mouse was moved / hovered. The browser is now smart enough to:

    • detect when to re-render and re-layout
    • render only those elements which change on hover

    This was done in co-ordination with changes to the jstyleParser library. There is a lot of scope for further improvement in this area.

  • Many patches were reviewed, rewritten and merged into master branch. This has increased stability of the code and the pace of development.

  • Support for Bitmap images

  • Better parsing of non-standard HTML. We were forced to parse such HTML files because many of the web-platform-tests are written this way. The good news is that these changes are behind a flag called QUIRKS_MODE so they will be easy to remove later.

  • Many DOM API additions and bug fixes.

    • Now reddit.com works without any JS exceptions being thrown.
    • Too many to list here. We are working on a status page that gives an indication of how many APIs are implemented.
  • Another optimisation: Cleanup of threads. When a window is closed, the associated event loop is now stopped.

gngr v0.3.8

05 Jul 10:19
@hrj hrj
Compare
Choose a tag to compare
  • Started Support for HTML5 Canvas object. Many APIs have been implemented, but more work needs to be done.
  • Support for more border styles; double, groove, ridge, inset, outset. #94
  • The timeout for update-nagging is now 120 days. (Since release frequency has slowed down further)
  • Upgraded dependencies:
    • rhino 1.7.7. This fixes an exception on reddit.com.
    • ok-http 2.4.0
    • h2 1.4.187

gngr 0.3.7

28 Feb 11:41
@hrj hrj
Compare
Choose a tag to compare
  • Major performance improvements. See analysis
  • Improvements to rendering of border and backgrounds.
    • Dotted borders are now supported
    • Backgrounds are now drawn correctly (underneath the border)
  • The timeout for update-nagging is now 60 days. (Since release frequency has slowed down)
SHA1SUM: dd51dac6d7824e841f7dcfb4fa0f021e7e2c6bf7