- 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
Handler
base 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/zip
library (@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
src
directory automatically, it might contain static resources like e.g. a web application's images. Typically,xp lambda package src/main/php
will 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 runtime
to use the current PHP version,xp lambda runtime:8.0
to use the newest PHP 8.0 release, andxp lambda runtime:8.0.10
for version pinning. (@thekid) - Ignore any directories inside
src/test
andsrc/it
as well any hidden directories when packaging. (@thekid)
- Decreased size of runtime layer from ~8.4 MB to ~2.4 MB by using
strip
andzip -9
, reducing layer publishing time as well as initialization duration https://stackoverflow.com/questions/4179010/how-to-strip-executables-thoroughly (@thekid)
- Renamed
task.zip
tofunction.zip
in order not to introduce more vocabulary than necessary (@thekid)
- Renamed
xp lambda invoke
toxp lambda test
to make clear we're not invoking the deployed lambda (@thekid)
- Implemented
xp lambda package
subcommand 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