- Fixed issue #31: Event is not always an array (when using JSON library 6.0+, see xp-forge/json#18 (@thekid)
- Fixed issue #29: Implicitly marking parameter as nullable is deprecated (@thekid)
This major release migrates to Amazon Linux 2023. Amazon Linux 2 end of support date (End of Life, or EOL) will be on 2026-06-30 as announced at https://aws.amazon.com/amazon-linux-2/faqs/
- Merged PR #28: Migrate from AL2 to AL2023 - @thekid
- Added PHP 8.6 to the test matrix - @thekid
- Build runtime with XP runners from GitHub. See xp-runners/reference#90 (@thekid)
- Removed default memory limit for PHP, let lambda infrastructure take care of it. See issue #27 (@thekid)
- Heads up: Dropped support for PHP < 7.4, see xp-framework/rfc#343 (@thekid)
- Added PHP 8.5 to test matrix - @thekid
- Made compatible with https://github.com/xp-forge/aws version 2.0 (@thekid)
- Made compatible with XP 12 - @thekid
- Added PHP 8.4 to the test matrix - @thekid
- Made compatible with https://github.com/xp-framework/zip version 11.0 (@thekid)
- Merged PR #26: Resolve paths in symlinks before adding to ZIP file (@thekid)
This major release add support for response streaming, currently only implemented by the NodeJS runtimes on AWS. For implementation details, see https://github.com/xp-forge/lambda#response-streaming
- Merged PR #23: Implement streaming lambda responses, as announced by AWS in April 2023. Response stream payloads have a soft limit of 20 MB as compared to the 6 MB limit for buffered responses. See also #22. (@thekid)
- Sticking to the principle Be liberal in what you accept, made it
possible to use pass class filenames to
xp lambda run. (@thekid) - Fixed issue #24: Syntax error in PHP 7.0...7.3:
unexpected '...'(@thekid)
- Check whether configured / passed handler extends the
Handlerbase class and fail with a dedicated error message otherwise (@thekid)
- Merged PR #21: Implement
xp lambda run ...to run lambdas locally (@thekid)
- Merged PR #20: Add
Environment::endpoint()to return AWS service endpoints (@thekid) - Merged PR #19: Extract AWS core library - containing credentials and AWS service endpoints, see https://github.com/xp-forge/aws
- Merged PR #18: Make credentials accessible via
credentials()inEnvironment(instead of having to use AWS_ACCESS_KEY_ID/... environment variables). (@thekid) - Merged PR #17: Migrate to new testing library - @thekid
- Merged PR #16: Include exception cause in error output - @thekid
- Added zlib extension, see #8 - @thekid
- Fixed "Creation of dynamic property" warnings in PHP 8.2 - @thekid
This major release upgrades the base image used to compile the runtime
from from Amazon Linux 1 to Amazon Linux 2. It also changes the test
image to use the image https://gallery.ecr.aws/lambda/provided
- Merged PR #15: Upgrade to Amazon Linux 2 - @thekid
- Merged PR #14: Add ability to pass environment variables to tested lambda (@thekid)
- Enabled SimpleXML extension in order to be able to support AWS SDK see #8 (comment) (@thekid)
- Made library compatible with new major release of
xp-forge/json(@thekid)
- Made library compatible with XP 11, newer
xp-framework/ziplibrary (@thekid)
This major release drops backwards compatibility with older XP Framework releases. XP 10 was released roughly two years ago at the time of writing.
- Merged PR #13: Refactor container execution to Process API provided by XP 10.14. Drops BC with XP 9 and lower, see xp-framework/rfc#341. (@thekid)
- Merged PR #11: Enable XML extensions. The PHP extensions dom, libxml, xml, xmlreader and xmlwriter are now available. See discussion in #8 (@thekid)
- Implemented feature request #9: Add podman support - @thekid
- Fixed issue #10: lang.IndexOutOfBoundsException (Undefined index: XP_VERSION)
on systems where the PHP variables_order setting does not include
E. (@thekid)
- Sped up build by using
-j $(nproc)flag formake, see #7 - @thekid - Enabled bcmath extension - @thekid
This major release changes the packaging defaults. This way, files to be incuded can be specified more flexibly via command line arguments.
- Increased code coverage for classes in public API to 100%, see issue #6 (@thekid)
- Fixed
Context::remainingTime()'s return type, which can include NULL. (@thekid) - Changed packaging to no longer include
srcdirectory automatically, it might contain static resources like e.g. a web application's images. Typically,xp lambda package src/main/phpwill be what you want. (@thekid)
- Added accessor for environment varibales,
Environment::variable()(@thekid) - Added accessor for temporary directory,
Environment::tempDir()(@thekid) - Added accessor for environment root path,
Environment::taskroot()(@thekid)
The first major release includes final touches to the packaged ZIP file.
- Merged PR #5: Unique given sources, preventing them being added to the ZIP file twice (@thekid)
- Also support bzip2 compression if PHP extension is loaded, but keep preference on gzip, which has performed better in my tests. (@thekid)
- Fixed issue #3: Context object compatibility. Context now also declares the properties logGroupName and logStreamName like in NodeJS, and uses memoryLimitInMB instead of memorySize. (@thekid)
- Merged PR #4: Pass version along to docker images. Use
xp lambda runtimeto use the current PHP version,xp lambda runtime:8.0to use the newest PHP 8.0 release, andxp lambda runtime:8.0.10for version pinning. (@thekid) - Ignore any directories inside
src/testandsrc/itas well any hidden directories when packaging. (@thekid)
- Decreased size of runtime layer from ~8.4 MB to ~2.4 MB by using
stripandzip -9, reducing layer publishing time as well as initialization duration https://stackoverflow.com/questions/4179010/how-to-strip-executables-thoroughly (@thekid)
- Renamed
task.ziptofunction.zipin order not to introduce more vocabulary than necessary (@thekid)
- Renamed
xp lambda invoketoxp lambda testto make clear we're not invoking the deployed lambda (@thekid)
- Implemented
xp lambda packagesubcommand for packaging lambda code including the src and vendor directories as requested in issue #2 (@thekid) - Renamed context member payload to payloadLength - @thekid
- Fixed environment passed to execution context - @thekid
- Made it possible to trigger a runtime rebuild via
-b- @thekid
- Hello World! First release - @thekid