chore: clean up Lazarus packages removing unused themes (styles)
feat: add Quick Documentation popup (Ctrl+F1)
fix: current line highlight now renders behind syntax-highlighted text
feat: position cursor at identifier column in Find Usages navigation
feat: highlight identifier in Find Usages context column
feat: add Find Usages (Alt+F7) for identifier references
feat: add Ctrl+Click support for go-to-declaration
feat: merge GDI HiDPI improvements into develop
fix: resolve GDI HiDPI compilation errors on FPC 3.2.2
feat: improved HiDPI scaling for [GDI] Windows backend
feat: improved HiDPI scaling using [X11] desktop environment DPI sources
ide: dialogs now have improved positioning
ide: fix the external tools tab in IDE Settings dialog.
refactor: makes the code read easier. logic did not change.
refactor: profiles in project.xml moved to aggregator (root) project.
feat: go-to-declaration resolves FPC RTL/packages identifiers (WIP)
ide: merge go-to-declaration support Ctrl+B into 'develop' branch
feat: support Ctrl+B on unit names in uses clauses
refactor: remove debug WriteLn statements (Step 7)
feat: remove vendored fcl-passrc library (Step 6)
feat: rewrite declaration finder with token-scan approach (Step 5)
feat: swap procedure list to use custom tokeniser (Step 4)
feat: swap symbol finder to use custom tokeniser (Step 3)
feat: swap highlighter to use custom tokeniser (Step 2)
feat: add custom Pascal tokeniser (Step 1 of fcl-passrc replacement)
feat: fix resolve paths, module caching, and lenient parsing
feat: integrate Go to Declaration into IDE (Step 7)
feat: add Phase D edge case tests (Step 6)
feat: add cross-unit resolution with Phase C tests (Step 5)
feat: add FindDeclaration, AST visitor, and Phase B tests (Step 4)
chore: vendor fcl-passrc from FPC 3.3.1 trunk
feat: add TDeclarationEngine with FindUnit and circular-use guard (Step 3)
feat: add TDeclarationFileResolver for unit and include path searching (Step 2)
feat: add GetIdentifierAtCursor with Phase A tests (Step 1)
new: define key constants - makes keyboard shortcut code just a bit nicer.
chore: Moving Lazarus+fpgui help integration package into extras/lazarus_ide/
fix: prevent uninitialized variable causing huge whitespace on Enter
fix: correct swapped R and B channel assignments in rgba8.Construct
Merge branch 'issues/174' into develop
fix: add bounds checks to remaining direct FLines write accesses
fix: bail out of DeleteSelection on invalid selection bounds
fix: correct SetCaretPosV upper bound to Count - 1
fix: add lower-bound check to GetLineText
refactor: remove unnecessary class comment
fix: protect against CaretPos.Y being set < 0
fix: support interface/implementation navigation across include files
feat: add Navigate to Symbol dialog with fuzzy matching (Phase 4.4c)
feat: add match highlighting to Navigate to File dialog
feat: add Navigate to File dialog with fuzzy matching (Phase 4.4b)
feat: add cursor history back/forward navigation (Phase 4.4a)
refactor: extract profile management from main form (Phase 5)
refactor: extract highlight kind detection from main form (Phase 4)
refactor: extract project tree logic from main form (Phase 3)
refactor: extract build dispatch from main form (Phase 2)
refactor: extract highlight rendering from main form (Phase 1)
feat: add cursor position, file path, and git branch to status bar
feat: add dependency tree visualisation to IDE (Phase 3.7)
chore: we removed libvlc, as it's part of FPC now.
chore: exclude 'examples' from default compilation
fix: these units are not actively used in our hybrid canvas, but causes FPC compilation errors
fix: instead of introducing more platform dependent paths, use IFDEF work-around
chore: moved documentation our of src tree into docs tree.
chore: moved Agg2D (old aggpas canvas) out of framework src to extras/aggpas/
aggpas: moved out of add-demos directory and due to licensing, moved agg_conv_gpc.pas
docs: update CHANGELOG for event loop rearchitecture
refactor: switch threads1 example from Synchronize to Queue
refactor: switch TFileMonitor from Synchronize to Queue
refactor: remove MPSC ring buffer (incompatible with message queue)
fix: add missing destructor to Cocoa backend for wake channel cleanup
fix: wire TfpgAsyncTask.Start completion to main thread (TDD)
feat: add TfpgAsyncTask and fpgInvokeLater (TDD)
feat: message coalescing for FPGM_PAINT and FPGM_RESIZE (TDD)
feat: hook Classes.WakeMainThread on all backends, remove timer workaround
feat: fpgPostMessage now wakes the event loop
feat: GDI and Cocoa wake channel implementations
feat: X11 wake channel — self-pipe wakes fpSelect from any thread
feat: add IWakeChannel interface and wire into TfpgApplicationBase
feat: add MPSC ring buffer for message queue (TDD)
fix: decouple builder output from GUI event frequency
docs: update CHANGELOG for bundled sha1 unit removal
clean: replace bundled sha1 unit with FPC's standard hash package
examples: removes unused project file from lazarus ide.
refactor: centralise window positioning logic in fpg_form.pas
ide: slight tweak to Solarized Light foreground colour.
ide: Refactored the Find dialog to use mig layout manager
examples: added stdimages demo to the Pasbuild aggregator
mig: we used the old OS name
feat: add wpMainFormCenter window position option
examples: add treeview to PasBuild aggregator project.
ide: save/restore session when switching projects. Save/Restore window layout.
feat: add checkbox support to profile tree nodes
fix: improve error message when pasbuild executable is not found
feat: add profile popup menu with session persistence
feat: add TfpgMigSplitter and convert IDE to full MigLayout
feat: add MigLayout-managed status bar with profiles display
fix: FreeType font metrics producing squashed line spacing
fix: replace XOR selection rendering with proper colours in TfpgMemo
clean: unused fonts from agg demo
clean: the VLC units are now part of FPC's free component library
Minor updates to .gitignore filters