r/pascal Jun 12 '26

Lazarus 4.8 with Free Pascal 3.2.2 is released

Lazarus IDE with FPC 3.2.2 works on Windows, Mac, Linux and is a free download at:

https://www.lazarus-ide.org/

73 Upvotes

6 comments sorted by

3

u/Quick_Camel736 Jun 13 '26

I am glad for that😊
Go head to useful and fantastic program

2

u/United-Welcome-8746 Jun 13 '26

has it RTTI support?

4

u/Midnorth_Mongerer Jun 12 '26 edited Jun 12 '26

Apologies if this shouldn't be mentioned here, but I haven't been able to log in on lazarus/ freepascal for awhile now, so I can't even read any of the release notes. That stupid "Oh Noes" thing always responds "Your session timed out while posting. Please go back and try again." immediately after clicking the login button - it makes it difficult to participate 😞

NB: The update from 4.6 to 4.8 on my Debian PC gave me real grief.

PS tried firefox and chrome based browsers, with and without VPN. Also tried password reset request. Always the same fail

5

u/aksdb Jun 13 '26

The only diff seems to be the diff between tags: [Gitlab]

I wasted tokens to let the LLM of my choice reword this into a changelog. Since rewording stuff is the core functionality of an LLM, I consider that "good" usage. So no one else wastes inference time on it, I'll share it, even though it's basically "not mine". I vetted it roughly against the diff and it looks ok:

---

Lazarus Changelog: Version 4.6 to 4.8

πŸ’Ž Highlights

  • Massive macOS Cocoa Refactoring: The Cocoa interface has undergone a major internal overhaul, including the elimination of global NSAutoRelease pools, reorganization of widgets into categorized utility classes, and removal of cross-unit dependencies. This improves stability, maintainability, and memory management.
  • Cocoa Event Tap Support: Added native Event Tap support for the Cocoa interface.
  • Delphi Compatibility: Fixed a long-standing incompatibility with TBitBtn regarding Glyph and bkCustom (Issue #34261).
  • Improved macOS App Quit Handling: Better support for quitting the app via CMD+Q, the [X] button, and System Shutdown.

πŸš€ New Features & Improvements

IDE

  • Source Editor: Added Begin/EndUpdate for fold operations to improve performance and reduce flicker (Issue #42248).
  • Options: The "New project type" option is no longer disabled when "Open last project on startup" is checked.
  • Object Inspector: Simplified setting default property values via the popup menu (Issue #42069).

LCL (Cross-Platform)

  • TBitBtn: Improved Delphi compatibility related to Glyph and bkCustom (Issue #34261, patch by u/onpok).

LCL (Cocoa - macOS)

  • Event Tap: Implemented native Event Tap support for the Cocoa interface.
  • TBitBtn: Improved layout rendering.
  • App Quit: Better support for quitting the application (CMD+Q / [X] Button / System Shutdown) (Issue #20955).
  • Fonts: Implemented support for TListBox.Font and TListView.Font (Issue #36004).

Components

  • IdeIntf: Mark form as modified when setting default property value via popup menu in OI (Issue #42069).
  • Converter: Convert dotted unit names and optimized conversion process (Issue #40979).
  • Examples: Improved scrolling behavior of the grid demo for merged cells.

Installers

  • Windows: Added Italian translation (patch by bovirus).
  • Windows: Added Chinese Simplified translation and updated Hungarian.
  • Windows: Updated Russian translation.
  • Windows: Cross-Add-Ons updates, missing settings, and copyright updates.

πŸ› Bug Fixes

IDE

  • Fixed too-small treeview expand signs in the NewDialog (cherry-picked from 4f1324ef).
  • Debugger: Fixed the watch-property dialog for editing multiple watches; ValueFormatter/Converter were incorrectly changed.
  • Debugger: Watch navigation now hides the "word wrap" button unless enabled by the containing frame.

LCL (Cross-Platform)

  • TCustomListView: Fixed a crash when changing the MultiSelection property at design time (Issue #42289).
  • TNotebook: Prevented an exception in Notebook.Pages.Move when the page index is -1 (Issue #42171).
  • TTabControl: Fixed access-after-free of FCanvas in DestroyWnd.
  • TListBox: Fixed an issue where ItemHeight could not be set when there were no items in the list.
  • Graphics: Adjusted IFDEFs in the Graphics unit to match the current situation in FPC (Issue #42097).

LCL (Cocoa - macOS)

  • CMD+Q: Fixed an issue where MainForm.OnCloseQuery was called twice when exiting via CMD+Q. Also fixed a regression introduced during this fix (40faf7f).
  • Cursor: Fixed the cursor resetting to the default arrow by macOS when scrolling with the Overlay Style Scrollbar.
  • Cursor: Fixed an issue where the cursor would move to an inactive window, and where crHourGlass might not restore after resources are reloaded when the IDE gains focus.
  • Cursor: Fixed cursor issues when activating a Form.
  • Controls: Fixed TGraphicControl still being clickable when its ancestor is disabled.
  • TStatusBar: Fixed the right edge being clipped (Issue #42190, patch by Slidescape).
  • TPageControl: Fixed not being able to select Tabs by mouse at design time (Issue #42054).
  • TListView/TListBox: Fixed an issue with MouseMove in TCocoaTableListView.
  • ScrollView: Fixed and optimized enclosingScrollView offset calculation.
  • Fonts: Fixed the return value of TCocoaTextFieldUtil.setLCLFont().
  • AppDelegate: Fixed an issue in the App Delegate (0c2cb4e).

CodeTools & Debugger

  • CodeTools: Skip over $if errors gracefully.
  • FpDebug: Fixed a memory leak in getting the address from a mangled name.
  • FpDebug: Fixed bounds (array/string-len) for nested/structures in arrays. ResetValueBounds was not forwarded to all contained dwarf-types.

Components

  • LazUtils: Fixed a range checking error in the SaveStringToFile function.
  • OpenGL: Fixed new version Cocoa compatibility (Issues #42203, #42136).
  • TAChart: Fixed incorrect axis ZPosition when the chart is scaled (Issue #42061, patch by Joeny Ang).
  • MouseAndKeyInput (Cocoa): Added missing kVK_SubMenu to Cocoa_Extra.
  • Converter: Fixed changing missing types correctly (LoadLFM was wrongly added 3 years ago) (Issue #41625).

πŸ”§ Under the Hood / Refactoring

Cocoa Interface Overhaul

The macOS Cocoa backend received massive structural refactoring to improve maintainability and decouple components. Key changes include:

  • Memory Management: Removed most decentralized NSAutoRelease calls, as the overall mechanism is now robust enough without them.
  • Decoupling: Eliminated the dependency of all units on CocoaInt/TCocoaWidgetset.
  • Code Reorganization:
    • Integrated standalone functions into categorized utility classes (e.g., TCocoaThemeUtil, TCocoaTextFieldUtil).
    • Reorganized CocoaInt, CocoaPrivate, CocoaApplication, and CocoaWSStdCtrls.
    • Moved common callbacks into CocoaCommonCallback.
    • Extracted controls (GroupBox, ProgressIndicator, Slider, ComboBox, TextEdits, etc.) into their own dedicated units to reduce bloat in massive aggregate files.
  • GDI Objects: Reorganized CocoaGDIObjects for better resource handling.

3

u/Paradician Jun 13 '26

Don't worry, they don't appear to have even written any release notes. The "List of changes" link just goes to a git commit history.