NetSurf
From NetSurf Development Wiki
Jump to: navigation, search

Development Plan

This is a planning document covering NetSurf development and release goals.

Contents

General

Historical NetSurf 2 and before

These editions are now completely obsolete and upgrading is recommended.

The SVN revision control system and RISC OS only autobuilder were used to provide rudimentary CI.

Releases were principally manual in nature and were oriented around stability and incremental improvements.

Development concentrated on expanding functionality in a progression towards important core functionality.

Major completed milestones in the 2.x series were:

  • The Hubbub parse library and integrating into NetSurf
  • The LibCSS CSS library and integation into NetSurf

NetSurf 3

This is the current release series where development is concentrated.

We use git for our control system and have a full multi platform Integration system.

Improvements in 3.0

The first release in the 3 series had several important technical improvements the main ones were:

  • LibDOM Document Object Model library completed and integrated with NetSurf
  • Libraries using the core buildsystem
  • Script support including Spidermonkey javascript interpreter and basic DOM bindings
  • Integrated frame support
  • Integrated core treeview allowing for all frontends to benefit from global history, bookmarks, cookie management

The 3 series development overview

The focus of this series will be on:

  • improving speed and memory efficiency
  • improvement of user interaction, e.g. with form widgets
  • treeview improvements.
  • Improve url database handling
  • Improve coockie handling
  • Improving DOM integration
  • No major improvements are planned for the layout engine until NetSurf 4.0.
  • APNGs are already used in the wild (unlike MNG). While we can display the first frame, thanks to PNG backwards compatibility, it would be good to support the animation extension.
  • We have always put XHTML though an HTML parser, which works well enough currently, but it will be good to handle XHTML properly.

Active 3 release

We maintain a page for the forthcoming release listing specific issues for that release.

Next release will be NetSurf_3.1

Netsurf 4

The focus of this release will be a new layout engine. The new layout engine will enable dynamic changes to pages such as :hover, reflowing for scrollbar insertion.

It will also add support for features missing from the old layout engine such as z-index and vertical-align.

Javascript DOM integration should be completed and use the dynamic layout capabilities.

Core features

Personal tools