Skip to content

Releases: ray-di/ext-rayaop

0.3.0

09 Dec 14:48
969d4ec
Compare
Choose a tag to compare

Bug Fixes and Enhancements

  • Improved Method Interception and Execution Depth Management

    • Refined logic in rayaop.c for managing execution depth and interception state.
    • Enhanced error handling with new error codes:
      • RAYAOP_E_NULL_POINTER
      • RAYAOP_E_INVALID_STATE
    • Streamlined parameter preparation and resource management in rayaop_execute_ex.
    • Removed debug print statements for cleaner output during execution.
  • Updated API and Function Signatures

    • Modified function signatures to accept class_name, method_name, and interceptor object.
    • Ensured proper initialization of global variables and alignment of return types with zend_bool.
  • Enhanced Test Coverage

    • Added new tests to cover void return methods (tests/010-rayaop-void-return.phpt).
    • Updated existing tests for basic interception and thread safety:
      • tests/001-rayaop-basic.phpt
      • tests/008-rayaop-thread-safety.phpt
  • Documentation Improvements

    • Updated README.md and README.ja.md with:
      • Detailed API references.
      • Error handling guidelines.
      • Debug mode instructions.
      • Performance considerations.
      • Known limitations.
    • Added acknowledgments and clarified design decisions.
  • Demo and Workflow Enhancements

    • Introduced a new demo directory with sample code demonstrating AOP functionality.
    • Added composer.json for dependency management in the demo.
    • Updated GitHub Actions workflow (.github/workflows/build.yml):
      • Included testing of the demo directory.
      • Added support for PHP 8.4.
  • Build Script Updates

    • Modified build.sh:
      • Added compiler flags for debugging (CFLAGS="-g -O0").
      • Introduced new functions demo and debug for running the demo and debugging.

These changes enhance the reliability, efficiency, and documentation of the Ray AOP extension, providing a solid foundation for aspect-oriented programming in PHP.

0.2.0

05 Nov 15:09
5fba231
Compare
Choose a tag to compare

0.2.0

We are pleased to announce version 0.2.0 of the RayAOP PHP extension. This release brings significant improvements in stability and reliability through the implementation of thread-safe operations and enhanced memory management, making the extension production-ready.

Two new control functions have been introduced: method_intercept_init() and method_intercept_enable(), offering precise control over AOP functionality initialization and activation. Building upon our initial release, version 2.0.0 provides improved stability with comprehensive memory leak prevention and resource management.

This release represents an innovative development approach that leveraged AI collaboration throughout the entire development lifecycle. The AI assistance extended beyond code review to include test case generation, CI environment configuration, and performance optimization. This collaboration has enabled us to implement features and achieve quality levels that would have been challenging to realize through traditional development methods alone.

Notably, this project marks our first venture into PECL extension development. Through the combination of AI assistance and iterative learning, we were able to navigate the complexities of PHP extension development and successfully deliver a production-grade AOP implementation. This experience demonstrates how AI collaboration can help bridge the gap in specialized technical domains like PHP extension development.

Kazuo Umezu Remembrance

Kazuo Umezu: In gratitude and remembrance.

0.1.0

07 Jul 04:53
4241cc0
Compare
Choose a tag to compare

Initial release

I have created a new PECL extension to release the real power of AOP, long forgotten in the PHP world, which I have maintained for over 10 years, and the cooperation with Ray.Aop opens up a new world.

With my insufficient knowledge of PECL and C, with the support of Calude 3.5 Sonnet and Chat GPT4o, I hereby release it, hoping that AI and human cooperation will continue to open new horizons in the future.

Kimiyo Mishima

Kimiyo Mishima: In gratitude and remembrance.