- Replace direct typephp_runtime_init calls with TYPEPHP_RUNTIME_INIT macro
- Add conditional linking for Unix PHP extensions to prevent duplicate ZendVM
- Implement dynamic lookup for macOS extensions to resolve host symbols
- Move typephp_helper.h from misc to include directory
- Update WASM interface generator to use project-specific runtime symbols
- Add tests for native module linking behavior and macOS extension options
- Refactor Translator to generate proper embed module entry functions
- Update documentation for new runtime initialization patterns
- Rename internal symbol maps to persistent maps (internal_class_map to
persistent_class_map, etc.)
- Replace process-level stable symbol caching with module lifecycle
persistent caching
- Implement lazy initialization of persistent caches after PHP startup
- Add support for built-in class property resolution via reflection
- Remove dynamic property map as all cached properties are module-stable
- Update cache initialization to use atomic operations for ZTS safety
- Modify RSHUTDOWN cleanup to only clear user-defined caches
- Add test coverage for persistent symbol cache behavior
- Update GCC backend to hide extension symbols by default with -fvisibility=hidden
- Implement test case for library function header exports with default value helpers
- Add test case for library compile options to export only public API by default
- Generate default argument helper declarations and definitions for library builds
- Add platform-specific visibility control for library symbols on non-Windows
- Implement forced include headers for library compilation mode
- Add DLL import/export macros for Windows library builds
- Support variadic arguments with default value helpers
- Update precompiled header compilation options to exclude forced includes
- Add pragma once directive to generated function declaration headers
- Implement proper conditional compilation for different platforms and build modes
- Replace direct php::concat calls with flattened concatenation using parseFlattenedConcat
- Add prepareConcatOperand method to handle proper string conversion for different types
- Implement unified foreach iterator using php::ForeachIterator for both arrays and objects
- Remove separate parseForeachObject method and consolidate iteration logic
- Add support for precompiled headers in GCC-like backends
- Implement PrecompiledHeaderManager for PCH preparation and caching
- Optimize build queue with SourceCompileQueue using largest-first sorting strategy
- Improve progress percentage calculation during compilation
- Add new test case for unified foreach iteration over different iterable types
- Add support for 'lib' build mode that creates shared libraries with correct extensions
- Implement automatic 'lib' prefix for library targets on Unix systems unless explicit output is set
- Add build mode aliases normalization ('library', 'extension', 'cli' map to standard modes)
- Update target filename generation to handle explicit output paths with custom extensions
- Add platform-specific target extensions: .so for Linux, .dylib for macOS, .dll for Windows
- Include smoke test for validating library compilation and linking
- Update documentation with library build instructions and usage examples
- Add linker flag -Wl,-z,defs for Linux library builds to ensure self-contained libraries
- Modify command line help to document new build modes and clarify existing options
- Add C API header generation for exported
- Add BUILD_MODE_LIB constant to CompilerBase class
- Implement isBuildModeLib and isBuildModeEmbed methods for library detection
- Update Clang backend to handle lib build mode with -fPIC flag and DLL linking
- Modify GccLikeBackend to support lib build mode with shared library flags
- Update MSVC backend to handle lib build mode with DLL compilation
- Extend PlatformBase to return correct extensions for lib builds
- Add proper handling for misc directory files during preprocessing
- Create new example project demonstrating library build functionality
- Update Translator to include main.cc for embed modes and add PHPX_NO_MAIN define for libraries
- Expand mode mapping to accept multiple library-related build mode aliases
- Increment version number from 1082 to 1084
- Update documentation to reflect new lib build option alongside bin and ext modes
- Change src/Php/Translator.php to src/Translator.php in documentation
- Update class hierarchy diagram to remove Php subdirectory references
- Modify composer.json autoloader to map TypePhp namespace to src directory only
- Adjust all src/Php/* paths to src/* in configuration and test files
- Update project.yml sources to include ./src instead of individual Php subdirectories
- Remove Php subdirectory from file paths in platform and analysis tests
- Clean up directory references in test results documentation
- Updated namespace declarations from PhpAot\Php to TypePhp in all source files
- Modified import statements to use TypePhp instead of PhpAot\Php throughout the codebase
- Adjusted composer.json autoload configuration to map TypePhp namespace to src directories
- Updated documentation references from PhpAot\Php to TypePhp in comments and markdown files
- Changed class references in test files to use new TypePhp namespace
- Updated bootstrap and utility scripts to reference TypePhp namespace
- Removed abstract base class inheritance in CompilerBase class
- Added new properties and methods for indentation and mode handling in CompilerBase
- Updated exception handling to use new TypePhp\Exception namespace