Releases: tinyBigGAMES/libFPC
libFPC v1.0.0
🎉 libFPC v1.0.0 – First Official Release
We’re excited to announce libFPC v1.0.0, the first official release of the library that brings runtime access to the FreePascal compiler in a powerful, dynamic way.
This release introduces full support for in-memory compilation, DLL/EXE execution, source-from-string, and more!
🚀 Highlights
- ✅ In-memory DLL loading:
libfpc_deps.dllis now loaded directly from memory—no disk I/O. - 📜 Compile from string or file: Thanks to the new
SetProjectSource, you can now pass source directly as a string. - 🔍 Get status and diagnostics: Retrieve error messages, counts, and compiler stats programmatically.
- ⚙️ Add metadata: Inject version info, icons, and manifests into your EXE or DLL.
- 🧠 In-memory execution: Compile and run executables or DLLs directly from memory, ideal for plugins and sandboxing.
🧠 Core Enhancements
libfpc_deps.dllnow loads directly from memory- 🔄 Renamed
SetPrintEvent➜SetPrintCallback - ➕ Added:
GetStatsGetErrorCountGetError(Index)
Easily inspect compilation errors and status programmatically.
📝 Source Management
- 🆕 Introduced
lfpProjectSourcetype - 🔄 Replaced
SetProjectFilenamewith:SetProjectSource– accepts file or raw stringGetProjectSource– retrieve the current source
💡 Thanks Herbert M Sauro for suggesting string-based source support!
⚙️ Output Configuration
- ➕ Added:
SetAddVersionInfoGetAddVersionInfoGetVersionInfoGetDebugMode
Easily control output metadata, debug info, and version details.
- Now supports adding:
- ✅ Icons
- ✅ Version Info
- ✅ Manifests
🧹 Cache & Execution
- ➕ Added:
ClearCacheDirSetOutputPathToCacheDirGetCachedDir
- 🆕 Added:
RunEXE: Compile and run executable from memoryLoadDLL: Load DLL directly from memory
Enables in-memory dynamic code generation and execution — great for sandboxing or plugin systems.
💡 Thanks again to Herbert M Sauro for the idea!
🛠 Miscellaneous
- Various internal fixes, refactors, and improvements.
🔚 Summary
libFPC v1.0.0 gives you:
- 🧩 Flexible source handling (file or string)
- 💥 Runtime compilation & execution
- 🛡 No disk writes needed
- 🧾 Full metadata control
- 🧠 Post-compilation diagnostics
🎯 Use it for scripting, plugin systems, dynamic sandboxing, or anything that needs real-time Pascal compilation.
Let us know what you build with libFPC — and stay tuned for what’s next! 🚀
