Free Pascal compiler now supports dynamic packages
- ID
- 37085
- Status
- summarized
- Published
- 19 Oct 2026, 2:48 AM
- Fetched
- 20 Oct 2026, 2:43 AM
- Provider
- Hacker News
- Category
- dev-community
- Original URL
- https://www.getlazarus.org/dynamic/
- Source URL
- https://hnrss.org/best
Summary
- Score
- 5.0
- Created
- 20 Oct 2026, 2:45 AM
- Tags
- Audience
- developers
What happened
Free Pascal and Lazarus shipped their first full dynamic package support, letting users install components and IDE extensions without rebuilding the IDE and load plugin libraries at runtime on Linux, Windows, and macOS. Packages are standard shared libraries with compiler-generated metadata queried through new RTL units, and the runtime preserves thread variables plus dynamic types like strings and arrays across package boundaries. Restrictions include unique unit names across packages and no unit matching its package name—Lazarus auto-renames ElectroTools.lpk’s source to ElectroToolsPackage.pas—and stripping a package removes the metadata it needs.
Why it matters
If you maintain Lazarus/FPC tooling or need native Pascal plugins, you can now ship replaceable shared-library packages instead of forcing a full IDE rebuild; plan for global unit-name collisions and do not strip deployed packages. For most web/SaaS builders this changes nothing.
Discussion angle
Would you split a Lazarus app into hot-swappable dynamic packages or keep a single executable—and how would you handle the unique-unit-name constraint when third-party plugins collide?