Lazarus 0.9.30 release plan

From Free Pascal wiki

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/version.inc
    • lazarus/lcl/lclversion.pas
    • lazarus/lcl/lclbase.lpk
    • lazarus/packager/globallinks/lclbase*.lpl
    • lazarus/debian/changelog
    • lazarus/lazarus.app/Contents/Info.plist
    • 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 http://bugs.freepascal.org/view.php?id=18328
  • 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 http://bugs.freepascal.org/view.php?id=18348
  • 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 http://bugs.freepascal.org/view.php?id=18399
  • r28872 - Converter: Fix function call replacement when parameter has typecast...
  • r28873 - Removal of convert_po_file_to_utf-8.sh
  • r28874 - Fixed GetAppConfigDir in the Lazarus IDE bug 18396
  • r28877 - fixes http://bugs.freepascal.org/view.php?id=18416
  • 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.
  • r29535 - TAChart: Fix AV when drawing pie series of near-zero radius (In case the revision will not merge cleanly due to previous changes: The idea is to replace "while" loop with "repeat" in TCustomPieSeries.Measure)
  • r29543,r29544,r29545,r29547 - Qt: added global actions handling (mnemonics), now mainform menu is called via Alt+Key (if any), also fixed problem when modal bsToolWindow is calling mainform actions. issues #18709 and #18748
  • r29548 - Gtk2: fixed crash when range checks is on and GtkKeySnooper is called when WinKey + some key pressed. issue #18743.

Postponed merge requests

  • r29551 - Examples, listview: fixed to use TPageControl. While at it, also got rid of .lrs resource.
    • Is this example broken in 0.9.29? Running the example seems to work. TNotebook wasn't removed in 0.9.29, but only in 0.9.31. Vincent 21:27, 15 February 2011 (CET)
      • You are right, it is not broken in 0.9.29, so feel free not to merge it if you decide so. The changes are pretty simple and straightforward, though. Maxim 21:44, 15 February 2011 (CET)
  • r29569 - Qt: TToggleBox fixed messages delivery to LCL. issue #18757. @Vincent - if it's too late just remove this revision (but would be nice to have in 0.9.30 :) )
  • r29573 fix http://bugs.freepascal.org/view.php?id=18759
  • r29735 Qt: Prevent assigning a negative value to a Word, cought by range-check. issue #18876.
  • r29737,29738 Qt: proper paint of TQtCustomControl viewport, fixed wheel events passing for qt < 4.7. issue #18880.
  • r29836 Qt: fixed bug in TQtCalendar, where mouse move,enter and leave weren't propagated to LCL.
  • r29917 fix cell clicking on unexpected mouseup after closing opendialog (windows) as requested by Maxim, --jesusrmx 20:49, 19 March 2011 (CET)
  • r30068,r30072 Qt: fixed wrong positioning of controls inside TScrollBox when scrollbox is scrolled. issue #18993

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/version.inc
    • lazarus/lcl/lclversion.pas
    • lazarus/debian/changelog
    • lazarus/lazarus.app/Contents/Info.plist
    • 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 0.9.30.1 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)

Announcements

  • Wiki: downloading, installation, getting source hints (Mattias)
  • List of changes: Lazarus 0.9.30 release notes (Mattias)
  • Mailing lists (Mattias)
  • News item on www.lazarus.freepascal.org (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)

Further

  • Relax (all)
  • Plan next release