Lazarus 0.9.30 release plan

From Lazarus wiki
Revision as of 12:51, 13 February 2011 by Vincent (talk | contribs) (Submitted by developer / committer)

Release preparation

  • Gather list of todos from developers
    • Martin: No blocking items.
    • Paul and Zeljan: clDefault, Carbon doesn't work correctly yet
    • Vincent: investigate what gdb version to distribute for win64
  • Add new LazTarget to the mantis for so we can postpone issue one release. Postponed issues can be set to 0.99, 1.0 or 1.2.

Bugs to be fixed

Things that need to be fixed before tagging:

Creating branch for release

  • Create fixes_0_9_30 branch (Vincent)
  • Set version number 0.9.31 in trunk (Vincent)
    • lazarus/ide/
    • lazarus/lcl/lclversion.pas
    • lazarus/lcl/lclbase.lpk
    • lazarus/packager/globallinks/lclbase*.lpl
    • lazarus/debian/changelog
    • lazarus/
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog; this will change ide/lazarus.res too.

Create snapshots for new branch

These snapshots can be considered release candidates.

  • source (Vincent)
  • win32 (Vincent)
  • win64 (Vincent)
  • linux i386 rpm (Vincent)
  • linux x86_64 rpm (Vincent)
  • linux i386 deb (Vincent)
  • linux x86_64 deb (Vincent)
  • Mac OS X powerpc (Vincent)
  • Mac OS X i386 (Vincent)
  • Add deb snaphots to Ubuntu testing repo (Vincent)

Ask for testing

  • Informally announce (IRC, mailing list) a pending release (+/- week before actual release), so that people can test for regressions. (Vincent)

Merge revisions from trunk

Submitted by developer / committer

The following revisions contain bug fixes and need to be merged from trunk to the fixes_0_9_30 branch.

  • r28812 - Contributors: remove BOM to fix markup parsing
  • r28813 - IDE: improve progress window localization
  • r28814 - Translations: improved Russian translation
  • r28816 - Translations: Portuguese translation updates by Marcelo B Paula, bug 18307
  • r28817 - IDE, Character map dialog: remove fixed col/row from stringgrid on Unicode tab and make dialog resizable (bsSizeToolWin), patch by Anton, bug 18305. While at this, also improved localization of the dialog.
  • r28818 - IDE, fix design time form behaviour when ShowInTaskbar=stNever, design time form should be visible in taskbar all the time.
  • r28823 - Gtk2, fixed crash when printf() formatting chars passed into message dlg text eg. %.Fixes bug 18313.
  • r28824 - carbon: fix font selection and enumeration bug on OSX 10.6 (#18273)
  • r28825,r28826 - win32: fix TStaticText bugs
  • r28828 - Translations: French, Lithuanian - removed a couple of incorrect string translations, bug 18186.
  • r28830 - Fixes bug 17174.
  • r28833 - IDE: improved project options Path tab layout. Fixes bug 18333.
  • r28840 - fixes
  • r28841 - MAKE DEB: Changed package names to be suffixed by version in order to allow multiple version installation.
  • r28842 - MAKE DEB: packaged chmhelp, sqlite, lazreport and todolist.
  • r28843 - Qt: fixed mouse grabbing locks with QAbstractItemView classes, bug 18351.
  • r28844 - Gtk2: fixed wrong implementation of SetGCRasterOperation, bug 18330.
  • r28847 - wince: port win32 changes from rev 27386
  • r28854 - fixes
  • r28866 - IDE: fixed typo in Build Lazarus dialog, Bug 18400
  • r28867 - IDE: regenerated translations
  • r28868 - Qt: fixed weird default font behaviour.Qt fonts expect family name, so we assign it from default QApplication font.
  • r28869 - fixes "loosing" (permanently invisible) of breakpoint marker in gutter, if line is moved while execution=mark at line<
  • r28871 - fix saving position of page-tabs in editor-opts-misc
  • r28872 - Converter: Fix function call replacement when parameter has typecast...
  • r28873 - Removal of
  • r28874 - Fixed GetAppConfigDir in the Lazarus IDE bug 18396
  • r28877 - fixes
  • r28905 - Bug 18395: JCF config file displayed with double forward-slash
  • r28910,r28911,r28912,r28925 - fix compilation of TAChart examples
  • r28923 - SynEdit: Fix a drawing bug. If a word with frame highlight (or the fold [...]) was partly invalidated by another window, then the right border would be drawn in the middle of the word
  • r28930 - TAChart: Correctly use Extent.YMax in TFuncSeries
  • r28946 - bug 18401:Clipped group boxes in 'Compile Project' dialog
  • r28963 - SynEdit: fix loading fold-state from session.
  • r28978 - DBG: Watches improved mem-dump for objects (did dump the pointer's value, now dumps the object's content); improved pointers (pascal style $addr)
  • r28982 - DBG: prevent 2 double-clicks on stack entry, from opening the same file twice
  • r29005 - win32: fix painting problems of TSpinEdit by Tomasz Wieckowski(issue #0018450)
  • r29021 - Bug 18291: Code completion dislikes WinCE
  • r29031,29035,29036 - several fixes for autosizing TScrollBox, issue 16982
  • r29054 - Fix a crash in disassembler view, when entering an address in the edit box, that is between 2 known (displayed) addresses (e.g. current disass at 0x0401020 goto 0x0401021)
  • r29055 - DBG: allow right/left keys in goto-addr edit
  • r29057 - IDE: ensure the completion window does not go below a minimum size
  • r29061 - Qt: fixed access violation if Sender object dissapeared during mouse events. issue #18419
  • r29062 - Qt: allow OnChange events triggering in case of Append,Insert,Add in TMemo. issue #18540
  • r29067 - SynEdit: LenghtOfLongestLine. Slightly improve r28830
  • r29104 - Qt: fixed TQtWidgetSet.GetScrollInfo() for max value of scrollbar ... issue #17554
  • r29140,r29141 - code not syntax highlighted. issue from ML
    • r29140 test-case exists, considered safe [Martin]
    • r29141 considered regression safe, but may be partial [Martin]
  • r29146 - LCL: TScrollBar.IsScrollBarVisible: always use handle state, issue 16982
  • r29157 - Gtk2: fixed crash with spin button under gtk2 < 2.12. issues #18554, #18555
  • r29159 - Gtk2: fixed messagedlg if message text contains < or/and >. issue #18584
  • r29174 - LCL: TFormPropertyStorage: restore after create, FirstShow is too late, issue 17770
  • r29181 - Fix incorrect color of TAChart points, issue #18594
  • r29182 - AnchorDocking examples: use TOpenDialog instead of TSaveDialog. issue #18595
  • r29176,r29185 - fixes error on closing project, issue #18958
  • r29194,r29197,29198 - IDE: avoid infinitive loop with macro-recursion, Issue #18461. Merge conflicts manually, conflicts are in comments or empty code-blocks. Merging the depending revisions will import recent build-dialog changes which are imho too risky. (Joost)
  • r28823,r29159 - Gtk2: Fixes problems with special-characters in messagebox, issue #18584
  • r29031,r29036,r29146 - LCL/Carbon: Fixes problem with infinitife autosize-loop, issue #16982
  • r29136,r29138 - RPM: Removes gtk1-dependencies and fixes building on older RPM-based systems, issue #18293
  • r29218 - codetools: fixed FindLineEndOrCodeInFrontOfPosition for nested directives, bug 18616
  • r29220 - codetools: fixed endless loop in FindLineEndOrCodeInFrontOfPosition
  • r29237 - TAChart: Reset clipping after legend drawing. Fixes issue #18628
  • r29258 - make deb: fixed
  • r29274 - MAKE DEB : fixed bug #0018568
  • r29282 - IDE: Increase build number after succesful build, issue #16878
  • r29297 - codetools: refactored
  • r29316 - TAChart: Update chart after modifying TBarSeries.BarWidthPercent
  • r29325 - TAChart: Update TColorMapSeries after ColorSource change
  • r29330 - Qt: fixed weird frameGeometry behaviour under X11. issue #18658
  • r29343 - Qt: bit changed patch for #18658 , depends on r29330.
  • r29350 - TAChart: Update chart after Series.SetColor call
  • r29373 - TAChart: Update chart in both design-time and run-time after the change of Title.Text
  • r29398 - Qt: fixed doubled events from header of TListView.issues #18693,#18696
  • r29399 - Qt: fixed wrong behaviour of selection when TListView in vsReport mode and rowSelect = False. issue #18697
  • r29403 - Qt: fixed crash (in some circumstances) of TListView introduced with r29399. issue #18701
  • r29404 - Converter: Support '\' PathDelim in project files on Linux. It used to work but some other change broke it.
  • r29422 - Qt: reworked selection handling of TQtTreeWidget (TListView with vsReport style).
  • r29439-r29446 - Fix spell errors
  • r29467 - Gtk: fixed text color of ToolButtons. issue #18520
  • r29468 - Gtk: fixed text color of Dialogs. issue #18641

*r29472 - fixed Makefile (issue 18736)

  • r29478 - Gtk2: implemented scrollbars property for TMemo. issue #18735
  • r29490,r29491 - Gtk2: fixed wrong text color on TCustomPanel, also TCustomPanel is now registered in gtk2wsfactory.Fixed bug with syscolor clBtnText.
  • r29492 - Gtk: fixed wrong clBtnText color.

User requested merges

  • r29164 - AggPas 64-bit + GTK2 issues. Bug report 18585 & 18627
  • r29202 - LCL, fix grid cursor disappearing on scrolling up/left when toprow/leftcol>=fixedRow/fixedcolcol, issue 18243
  • r29405 - LCL, fix grids scrollbar, from Tomasz Wieckowski, issue 18642
  • r29406 - LCL, fix grids loop in scrolltocell, from cobines, issue 18660

Tagging release

  • Set version to 0.9.30 in fixes_0_9_30 branch (Vincent)
    • lazarus/ide/
    • lazarus/lcl/lclversion.pas
    • lazarus/debian/changelog
    • lazarus/
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog
  • Tag fixes_0_9_30 branch to tags/release_0_9_30 (Vincent)
  • Set version to in fixes_0_9_30 branch (Vincent)

Building release

  • source (Vincent)
  • html docs (Vincent)
  • chm docs (Vincent)
  • win32 (Vincent)
  • win32 for arm-wince (Vincent)
  • win64 (Vincent)
  • linux source rpm (Joost)
  • linux i386 rpm (Joost)
    • crosswin32 rpm (Mattias)
  • linux x86_64 rpm (Joost)
  • linux i386 deb (Vincent)
    • crosswin32 deb (Mattias)
  • linux x86_64 deb (Vincent)
  • Mac OS X powerpc (Vincent)
  • Mac OS X i386 (Vincent)
  • Add debs to ubuntu repo (Vincent)


  • Wiki: downloading, installation, getting source hints (Mattias)
  • List of changes: Lazarus 0.9.30 release notes (Mattias)
  • Mailing lists (Mattias)
  • News item on (Vincent)
  • Sourceforge (Vincent)
  • Freshmeat (Vincent)
  • Change IRC topic (Marc)
  • New versions in Mantis (Vincent)

After release

  • Make sure snapshots are created correctly for the new version (Vincent)


  • Relax (all)
  • Plan next release