- Add crt0.S assembly startup code for user mode entry point
- Create hello.php example application with basic system information output
- Add hello.yml build configuration for nano user mode executable
- Implement host.cc with system call interfaces and runtime initialization
- Add linker script for proper user mode memory layout
- Update Makefile with new user base addresses for shell and commands
- Implement posix.c with POSIX compatibility layer using system calls
- Update process.c with new user memory range constants and stack sizes
- Add syscall.S assembly wrapper for Linux system call interface
- Modify vm.c with expanded user address space mapping and cleanup
- Update vmfault.c with correct shell memory address reference
- Add ATA disk cache with LRU eviction strategy and hit/miss statistics
- Introduce disk cache metrics accessible through kernel API
- Update boot sequence to enable long mode and execute-disable page permissions
- Replace custom syscalls with standard POSIX equivalents in user programs
- Add new user utilities including cat, echo and fault testing command
- Enhance FAT16 volume implementation with full path traversal and file operations
- Implement comprehensive filesystem layer supporting nested directories
- Add file operations for reading, writing, creating and deleting files/directories
- Include directory listing and
- Add date command implementation that displays current time in UTC format
- Add pwd command to print current working directory
- Update Makefile to build date and pwd as user programs with shared ELF loading
- Refactor syscall handling to use shared header definitions
- Remove KernelGreeting class from kernel startup sequence
- Update README and ROADMAP documentation for new user commands
- Add test assertions for date and pwd command output in test suite
- Introduce reusable command address space management in process.c
- Add user-accessible page mapping (32-36 MiB) in boot.S with proper permission bits
- Implement ELF64 loader and process management in new process.c module
- Add syscall infrastructure including int 0x80 handler in process-entry.S
- Create userspace programs (sh, ls, cd) with dedicated linker script
- Integrate filesystem path type checking and directory listing functions
- Reserve memory regions for user processes and update kernel memory layout
- Add console input/output support for userspace applications
- Update kernel main loop to start user process after initialization
- Modify Makefile to build and embed userspace ELF images as kernel objects
- Document new userspace capabilities and limitations in README.md
- Implemented low-level ATA PIO driver with read/write/flush operations
- Added FAT16 filesystem layer with directory and file management
- Created bridge between C disk operations and PHP filesystem API
- Integrated disk availability detection and LBA sector access
- Implemented file operations including open, read, write, and close
- Added support for directory creation, file listing and renaming
- Included proper error handling and disk initialization logic
- Add objects section to project.yml for linking precompiled .o/.obj files
- Implement getProjectObjectFiles method to retrieve precompiled objects
- Add c-flags and asm-flags support in CompilerBase
- Extend GCC backend to handle cflags and nativeflags configuration
- Update compiler to include project object files in linking process
- Add freestanding C++ allocation ABI implementation using Zend MM
- Include example TypePHP OS with kernel entry point and hardware stubs
- Add assembly files for boot sequence and kernel entry point
- Implement basic libc compatibility layer for Zend bootstrap
- Add try/catch macro replacement in generated code indentation
- Create bridge between C++ kernel and PHP code
- Add linker script for 64-bit kernel binary generation
- Add native source project compilation workflow with project.xml configuration
- Implement closure reference capture analysis and type degradation for native objects
- Add WASI and nano mode function support checks with comprehensive API exclusions
- Introduce Composer native package discovery and validation system
- Add build scripts for WASI nano program compilation with browser module support
- Implement closure generator enhancements for reference capture handling
- Add CLI usage tests and compiler base API validations
- Integrate php-nano runtime dependencies and native package management
- Add type degradation analysis for closure use variables in generators and functions
- Create Android project structure with build configuration and manifest
- Implement PHP-to-Java bridge with JNI integration for native Android UI components
- Add comprehensive UI stub functions including window creation, labels, buttons, and inputs
- Develop Android Activity with native View bridge and layout management system
- Integrate build scripts for compiling PHP into Android shared library and packaging APK
- Include installation script with ADB deployment and application launching
- Provide complete Hello World application demonstrating TypePHP Android capabilities
- Add proper Git ignore rules and documentation for the Android example
- Update swoole/phpx from ~2.7.0 to ~2.8.0 in composer.json
- Add proper button styling for macOS 11+ with automatic button styles
- Fix control nil check in macos_bridge.mm to prevent crashes
- Use title property for NSButton updates on macOS to handle system-style buttons
- Refactor unset handling in PropertyAccessTrait to use type-specific defaults
- Replace hardcoded default values with Type::getDefaultValueExpression calls
- Add
- Create native macOS GUI application using TypePHP and Objective-C++ bridge
- Implement thin wrappers around AppKit API for window management and controls
- Add support for labels, buttons, and event handling in native macOS interface
- Include proper Info.plist configuration and code signing script for app bundles
- Provide complete example with application lifecycle and user interaction
- Document build requirements and packaging instructions for macOS distribution
- Replace direct function calls with call() wrapper in ext.cc
- Remove unused php_func.h include
- Add new ctype/main.php example with isAsciiWhitespace function
- Implement proper parameter validation for ASCII range checking
- Add main function to demonstrate ctype space detection usage
- Replace any() with std::any() in test files and compiler logic
- Replace refval() with std::ref() for reference wrapping operations
- Replace expected() with std::expected() for branch prediction hints
- Replace unexpected() with std::unexpected() for branch prediction hints
- Remove deprecated objval() function and use toObject() keyword method
- Update parser to recognize std:: class expressions with case insensitivity
- Add comprehensive changelog documenting breaking API changes
- Update documentation to reflect new std:: namespace conventions
- Add tests for case-insensitive std class and method names
- Verify global function names remain available for user-defined functions
- Moved mpdecimal DLL copying to after phpx target creation on Windows
- Fixed timing issue where post-build commands were registered too early
- Updated GitHub repository URL in JNI tutorial documentation
- Added new Windows build workflow with proper PHP SDK setup
- Implemented vcpkg integration for GMP and MPFR libraries on Windows
- Added mpdecimal build step in Windows CI workflow
- Configured PHPX build with proper
- Removed file reading logic from leibniz.cpp and hardcoded rounds as 100000000u + 2u
- Removed fs module import and file reading from leibniz.js, replaced with constant 10000000
- Removed file reading code from pi.go and hardcoded rounds as 100000000
- Removed file reading from pi.php and replaced with hardcoded value 10000000
- Deleted rounds.txt file that contained the input value
- Updated version numbers in project.yml from 0.1.0.1052/0.1.0 to 0.6.3.1112/0.6.3
- Removed package.json and package-lock.json files with node dependencies
- 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
- Add optimized array write operations that preserve references and avoid temporaries
- Implement direct array append and item assignment for known array types
- Optimize compound assignment operations like += for known array slots
- Add compile-time expansion for $this::CONST class constant fetches
- Cache process-stable class entry pointers at function level to avoid repeated lookups
- Optimize string concatenation with two scalar operands using efficient overload
- Skip unnecessary type conversions for arguments that already have exact types
- Add comprehensive test coverage for optimized array operations and object creation
- Implement lazy initialization of request-scoped array default templates
- Generate efficient
- Upgrade @bytecodealliance/preview2-shim from 0.18.0 to 0.20.1
- Update import paths from /deps/lib/ to /deps/dist/
- Add _getPreopens and filesystemTypes imports for new functionality
- Implement installMutableFilesystem function with directory operations
- Add unlinkFileAt and removeDirectoryAt methods to Descriptor prototype
- Install mutable filesystem in both browser runner and worker
- Add ENOENT error handling for extensionless ESM imports
- Introduce TYPEPHP_WASM_TEST_STAGE global for debugging
- Enhance error reporting with stage information in test harness
- Create python.php with Python builtin symbols for IDE completion
- Scan builtins module when generating any module helper
- Convert Python print() calls to PHP echo statements when behavior matches
- Convert sys.exit() calls to PHP exit() when using integer codes
- Fix attribute access on module aliases to use -> syntax after first member
- Add proper dereferencing for f-string expressions
- Update documentation to reflect builtin helper generation
- Add tests for native statement conversion and attribute handling
- Add Command class to handle --gen-python-helper and --convert-python-to-php operations
- Integrate PythonToolsCommand execution into main compiler flow
- Remove toPlainValue from CompilerBase keyword method map
- Update tests to use new toValue() and toArray() methods instead of toPlainValue()
- Rename plain-value tests to object-conversion-methods with updated expectations
- Replace toPlainValue documentation with toValue() and toArray() explanations
- Add HelperRenderer to generate PHP declarations for Python modules
- Implement PhpyModuleScanner to inspect Python modules via reflection
- Add PyObjectHelperRenderer to generate base PyObject IDE helper
- Create example pi.php demonstrating new Python integration features
- Update gitignore to exclude ide-helper directory
- Integrate browser-based WASM test runner using Puppeteer
- Add built-in extensions test for WASM runtime compatibility
- Implement WASI filesystem, clock and random functionality tests
- Create IO and environment variable handling tests for WASI
- Add PHPX numeric containers test for high precision types
- Include basic runtime platform detection tests
- Update run-tests.php with --target and --wasm command options
- Implement multi-target test execution for native and WASM backends
- Add WASM-specific configuration sections and argument parsing
- Integrate dependency management for browser test harness
- Refactor build script references from build-typephp-program.sh to build-program.sh
- Remove legacy numeric smoke test files and update documentation
- Migrate high precision example location from wasm/examples to examples directory
- Add wasm_mode environment variable with command/library options
- Implement WIT interface generation with manifest, adapter, and binding files
- Create WasmExport attribute for marking functions as component exports
- Generate C bindings and integrate wit-bindgen for component compilation
- Add support for library mode with reactor execution model
- Update build script to handle component vs command compilation
- Add JavaScript integration for calling exported Wasm functions
- Implement example extension info retrieval via WasmExport functions
- Add CSS styling for extension detail UI components
- Update documentation for WASI component library workflow
- Change default TYPEPHP_WASM_BROWSER from 1 to 0 in build script
- Add PHP extensions panel to WASM hello example UI with dynamic loading
- Update project.yml schema to require explicit 'browser' or 'component' values
- Modify help text to reflect component as default WASI output
- Update documentation to clarify component vs browser build profiles
- Remove legacy boolean and array config formats for wasm option
- Add validation for unsupported profile aliases like 'web'
- Refactor profile normalization to only accept 'browser' or 'component'
- Update tests to verify new configuration behavior and error handling
- Add build-typephp-program.sh script for compiling PHP to WASI
- Integrate HTTP fetch capability via file_get_contents() using WASI HTTP
- Move WASI builder script from projects/php-8.5.9/wasm to wasm directory
- Add PhpxLocator class to resolve PHPX directory with proper fallback logic
- Update compiler to pass PHPX directory and compiler executable to builder
- Add WASI SDK layout
- Add WasiProjectConfig class for managing WASI project configurations
- Implement --wasm=[browser|component] option parsing in compiler CLI
- Add automatic WASI detection based on project.yml files
- Integrate Jco for browser component generation
- Update documentation to reflect WASI 0.2 (Preview 2) support
- Add example wasm-hello project with browser demo
- Create index.html and main.js for browser-based WASI execution
- Implement OPFS persistence for virtual filesystem in browser
- Add type-safe environment variable handling for WASI builds
- Update compiler help text to show new WASM options
- Replace WASI Preview 1 references with WASI 0.2 terminology
- Add Contents.json for macOS icon asset catalog with multiple resolutions
- Configure project.yml to include Windows PE icon resource
- Include QIcon header and implement applicationIcon() function
- Set window icons for main application and tunnel windows
- Add qrc file to embed icon resources into the application
- Update README to document multi-DPI icon support across platforms
- Introduce constant declaration with new object instance
- Add var_dump to display the constant object
- Create basic example demonstrating PHP's new operator in constant context
- Rename stubLibrary to stubImportLibrary and add externalImportStubFiles property
- Create LibraryImportStubGenerator to generate combined stub files with @import-library annotation
- Update documentation to reflect new import library mechanism without @typephp-library annotation
- Modify build pipeline to exclude generated stub from input files and generate library import stubs
- Add TYPEPHP_LIBRARYNAME_IMPORT macros for importing functions from external libraries
- Update function definition entities to track importLibrary instead of library ownership
- Refactor preprocessing to detect @import-library annotation and manage external stub files
- Implement proper handling of imported functions with different macro prefixes in declarations
- Add stubLibrary property to CompilerBase to track owning library
- Implement @typephp-library annotation parsing in stub files
- Generate library-specific API macros for imported functions
- Add automatic linking of referenced libraries during compilation
- Update function declaration prefixes based on import/export status
- Create test case for cross-library stub function imports
- Document new @typephp-library annotation usage in documentation
- Modify DefaultArgumentGenerator to skip imported functions
- Add library tracking to FunctionDef entity structure
- Create foo function that returns array with multiple values
- Implement array destructuring assignment in main function
- Add php_uname call to demonstrate system information output
- Show usage of spread operator for variable assignment
- Change all documentation references from bin/compiler.php to bin/tpc.php
- Update composer.json with new binary entry point
- Update run-tests.php default compiler path
- Update all example commands and guides to use new executable name
- Add composer package configuration for swoole/typephp
- Update README installation instructions for new naming convention
- Replaced all occurrences of native_types::type_* with Type::* constants
- Replaced all occurrences of complex_types::type_* with Type::* constants
- Updated ExtensionProvider annotation to use ExtensionProvider::Keyword
- Modified std array, vector, map, ordered_map, bigfloat, bigint, decimal tests
- Updated stream, array multidimensional, unsafe pointer, and type mismatch tests
- Changed camel case keyword extension to use Type::Any constant
- Updated documentation to reflect Type::* constant usage instead of type_* constants
- Moved common compile command options logic to NativeCommandOptionsTrait
- Extracted Windows resource file compilation functionality to ResourceCompilationTrait
- Removed duplicate resource compilation methods from Translator class
- Added trait usage in Translator class for better code organization
- Maintained all existing functionality while improving code structure
- Centralized compile options generation across different compilation scenarios
- Move Reflection.php from src/ to src/Resolver/
- Move Symbol.php from src/ to src/Generator/
- Move FileScanner.php from src/ to src/Build/
- Move ArgInfo.php from src/ to src/Entity/
- Move Visitor.php from src/ to src/Transform/
- Update all import statements across compiler base and related files
- Add new dependencies in CompilerBase.php and Preprocessor.php
- Update example files to use new namespace paths
- Correct documentation links in universal methods guide
- Add necessary use statements in metadata constants and generator files