Road To 1.0

From Lazarus wiki
Revision as of 11:08, 8 April 2006 by Msmat (talk | contribs)

This document helps the Lazarus team to focus on a 1.0 release in the near future.

The work to be done is divided into 3 targets:

  • things to be done before 0.9.16
  • things to be done before the 1.0 release
  • things to be done after the 1.0 release


Setting the target of a bugfix

When new bugs are entered, we try to give them a target in which version the bug will be fixed. If a bug is set to post 1.0, that means the developers think this bug is not important enough to block a 1.0 release. In order to have a 1.0 sooner rather than later, developers will leave those bugs for later. Of course you can make sure these post 1.0 issues are fixed in the 1.0 release by providing patches for these issues.

Some criteria are:

  • Only gtk1 and win32 widget sets are stable in 1.0. So bugs for other widget set (gtk2, carbon) are set to post 1.0.
  • Until the 1.0 there will be a feature freeze. New features and components generally get a post 1.0 target. Bugs affecting stability have a higher priority than bugs fixing the implementation of a property.
  • Some components are not stable enough and should be disabled for 1.0. If they are disabled, then fixing them before 1.0 will not be necessary.

Project roadmap

Work to be done

Target Responsible Comment
0.9.16 Vincent Find out, if Lazarus configuation files can be stored in the profile directory under windows
0.9.16 Vincent Find out, what needs to be done to make it possible to install Lazarus in c:\Program Files\Lazarus
0.9.16 Vincent Use fpmkcfg to create a default configuration file
0.9.16 - Webbugs to be fixed before the next release: target 0.9.16 bugs
0.9.16 Mattias Copying from KDE applications under gtk (copy text from xterm/kde app) See Difficult bugs
0.9.16 Mattias Find out, why sometimes designer controls are invisible (the gtk seems to not draw them, it happens on windows too, see issue 1622) (Reproduce by: Copy+Paste) Difficult bugs
0.9.16 Mattias Create a SuSE package
1.0.0 - Debugger options
1.0.0 - DOC Editor
1.0.0 - Multi replace dialog
1.0.0 - Export LFM as xml
1.0.0 - Icon editor
1.0.0 - Webbugs to be fixed before the 1.0 release: target 1.0 bugs
1.0.0 - check and warn when open form for uninstalled packages with registration
1.0.0 - more LCL Documentation (see LCL Documentation Roadmap)
1.0.0 - fix debugging in windows and linux
1.0.0 - start protocol: IDE should remember if there is a problem opening a form or project and should not open it on a second start
1.0.0 - improve make install target
1.0.0 Vincent add framework for easily using resourcestrings and translations in applications
post 1.0 - Webbugs to be fixed after the 1.0 release: target post 1.0 bugs
post 1.0 - Improve TDataModule, so that its components can be used in other forms/datamodules at design time
post 1.0 - Improve Windows CE interface
post 1.0 - Improve Carbon interface
post 1.0 - Improve Qt interface
post 1.0 - Improve Gtk2 interface

Various parts of Lazarus

Unit Item State Target Skills Responsible Comments
LCL Docking (= the combination of forms) in progress - - - -
LCL Graphics in progress - - - -
LCL TControl.Font in progress - - - -
LCL TTabControl in progress - - - -
LCL Constrain maximization to specific area not implemented - - - -
LCL Frames (= forms as childs) not implemented - - - -
LCL MDI - Multiple Documents Interfaces Putting fo ... not implemented - - - -
LCL Palette support not implemented - - - -
LCL TControlBar not implemented - - - -
LCL TDirectoryTreeView not implemented - - - -
LCL TFindDialog not implemented - - - -
LCL TReplaceDialog not implemented - - - -
Components CUPS package and example - - - - -
Components TIcon in progress - - - -
GTK BringToFront, SendToBack in progress - - - -
GTK Doublebuffering in progress - - - -
GTK Minimizing windows not implemented - - - -
GTK2 General interface in progress - - - -
Gnome Applets not implemented - - - -
Qt The QT interface in progress post 1.0 Qt and LCL Sekelsenmat Depends on qt bindings

Widgetset dependent components

Working - Stable, most or all properties implemented.

Partially Implemented - Works, but has few properties implemented

In progress - Someone is working in the implementation of this

Not Implemented - Needs someone to implement it


Component win32 gtk gtk2 carbon qt wince
TCustomControl descendents Working Working Partially Implemented Not Implemented Not Implemented Not Implemented
TApplication Working Working Working Working Working Partially Implemented
TArrow Working Working Working Not Implemented Not Implemented Not Implemented
TBevel Working Working Working Not Implemented Not Implemented Not Implemented
TBitBtn Working Working Working Not Implemented Partially Implemented Not Implemented
TBitmap Working Working Working Not Implemented In Progress Not Implemented
TBrush Working Working Working Not Implemented Not Implemented Not Implemented
TButton Working Working Working Working Working In progress
Calendar Working Working Working Not Implemented Not Implemented Not Implemented
TCheckBox Working Working Working Not Implemented Partially Implemented Not Implemented
TCheckGroup Working Working Working Not Implemented Partially Implemented Not Implemented
TCheckListBox Working Working Working Not Implemented Partially Implemented Not Implemented
TColorDialog Working Working Working Not Implemented Not Implemented Not Implemented
TComboBox Working Working Working Not Implemented Partially Implemented Not Implemented
TDrawGrid Working Working Working Not Implemented Not Implemented Not Implemented
TEdit Working Working Working Not Implemented Partially Implemented Partially Implemented
TFont Working Working Working Not Implemented Not Implemented Not Implemented
TFontDialog Working Working Working Not Implemented Not Implemented Not Implemented
TForm Working Working Working Not Implemented Partially Implemented Partially Implemented
TGraphic Working Working Working Not Implemented In progress Not Implemented
TGroupBox Working Working Working Not Implemented Partially Implemented Not Implemented
TIdleTimer Working Working Working Not Implemented Not Implemented Not Implemented
TImage Working Working Working Not Implemented Not Implemented Not Implemented
TImageList Working Working Working Not Implemented Not Implemented Not Implemented
TLabel Working Working Working Not Implemented In progress Not Implemented
TListBox Working Working Working Not Implemented Not Implemented Not Implemented
TListView Working Working Working Not Implemented Not Implemented Not Implemented
TMainMenu Working Working Working Not Implemented Not Implemented Not Implemented
TMaskEdit Working Working Working Not Implemented Not Implemented Not Implemented
TMemo Working Working Working Not Implemented Partially Implemented Not Implemented
TMenuItem Working Working Working Not Implemented Not Implemented Not Implemented
TNoteBook Working Working Working Not Implemented Partially Implemented Not Implemented
TOpenDialog Working Working Working Not Implemented Not Implemented Not Implemented
TPage Working Working Working Not Implemented Partially Implemented Not Implemented
TPageControl Working Working Working Not Implemented Partially Implemented Not Implemented
TPaintBox Working Working Working Not Implemented Partially Implemented Not Implemented
TPairSplitter Not Implemented Working Working Not Implemented Partially Implemented Not Implemented
TPanel Working Working Working Not Implemented Partially Implemented Not Implemented
TPen Working Working Working Not Implemented Not Implemented Not Implemented
TPixmap Working Working Working Not Implemented Not Implemented Not Implemented
TPopupMenu Working Working Working Not Implemented Not Implemented Not Implemented
TPrinterSetupDialog Working Working Working Not Implemented Not Implemented Not Implemented
TProgressBar Working Working Working Not Implemented Not Implemented Not Implemented
TRadioButton Working Working Working Not Implemented Partially Implemented Not Implemented
TRadioGroup Working Working Working Not Implemented Partially Implemented Not Implemented
TSaveDialog Working Working Working Not Implemented Not Implemented Not Implemented
TScrollBar Working Working Working Not Implemented Not Implemented Not Implemented
TScrollBox Working Working Working Not Implemented Not Implemented Not Implemented
TShape Working Working Working Not Implemented Not Implemented Not Implemented
TSpeedButton Working Working Working Not Implemented Partially Implemented Not Implemented
TSpinEdit Working Working Working Not Implemented Partially Implemented Not Implemented
TStaticText Working Working Working Not Implemented Working Not Implemented
TStatusBar Working Working Working Not Implemented Not Implemented Not Implemented
TStringGrid Working Working Working Not Implemented Not Implemented Not Implemented
TTabSheet Working Working Working Not Implemented Partially Implemented Not Implemented
TTimer Working Working Working Not Implemented Working Not Implemented
TToggleBox Working Working Working Not Implemented Not Implemented Not Implemented
TToolBar Working Working Working Not Implemented Not Implemented Not Implemented
TToolbutton Working Working Working Not Implemented Not Implemented Not Implemented
TTrackbar Working Working Working Not Implemented Not Implemented Not Implemented
TTreeView Working Working Working Not Implemented Not Implemented Not Implemented
TUpDown Working Working Working Not Implemented Not Implemented Not Implemented
TIcon Partially Implemented Working Working Not Implemented Not Implemented Not Implemented