The Free Pascal Compiler and Lazarus IDE have released full support for dynamic packages. This new feature allows users to create and install components, controls, and Lazarus extensions quickly, eliminating the need to rebuild the entire IDE for each addition.
Dynamic packages also facilitate the development and deployment of plugins that can expose native Pascal classes and types through dynamic package libraries. This functionality is supported by improvements to the compiler, its runtime, and the Lazarus IDE, along with new IDE extensions.
Dynamic packages are implemented as standard shared library files compatible with Linux, Windows, and macOS. These files include additional metadata generated by the compiler, which can be inspected and queried using new Runtime Library (RTL) units.
The runtime incorporates mechanisms for safely managing thread variables and dynamic types, such as strings and dynamic arrays, across programs and multiple packages. Programs can either bundle all components into a single executable or divide them into dynamic packages for a plugin system, allowing replacements during runtime.
There are a few restrictions with dynamic packages. A unit within a package cannot share the same name as the package itself; the system now appends 'Package' to the generated source file name. Additionally, unit names must be unique across all installed packages, requiring users to resolve naming conflicts.
Dynamic packages are larger than standard shared libraries due to their internal metadata map. Stripping a dynamic package removes this metadata, rendering it non-functional as a dynamic package.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
The Free Pascal Compiler and Lazarus IDE now support dynamic packages, allowing users to create and install components and extensions without rebuilding the entire IDE. This feature enables the development and deployment of plugins that expose native Pascal classes and types through dynamic package libraries.