← All stories
● Covered by 1 source · 1 reportMedium impact1 positive

Free Pascal Compiler and Lazarus IDE Add Dynamic Package Support

🔄 Updated 20d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Free Pascal and Lazarus IDE gain dynamic package support.
  • Install components/extensions without full IDE rebuild.
  • Enables plugin development with native Pascal types.
  • Implemented as standard shared library files.

New Dynamic Package Functionality

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.

Technical Implementation

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.

Key Restrictions and Enhancements

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 →

The daily brief

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.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~4 min · 3 stories · Nov 07

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

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.