Skip to content

Releases: brefphp/bref

0.3.1

10 Feb 09:22
Compare
Choose a tag to compare

#233 Compatibility with Zend Diactoros 2
#229 Cleanup of classes leftover from Bref 0.2 and unused
Documentation improvements

0.3.0

31 Jan 14:17
Compare
Choose a tag to compare

Bref v0.3 breaks backward compatibility with v0.2!

The main changes:

  • the NodeJS shim has been replaced by an integration with the AWS Lambda official runtime API
  • Bref provides 3 PHP runtimes for AWS Lambda
    • PHP functions
    • HTTP applications via PHP-FPM
    • Console applications
  • performance improvements thanks to these new runtimes
  • moved from the Serverless framework to AWS SAM
  • a rewritten documentation and website: https://bref.sh
  • bugfixes and various improvements

To learn more check out the documentation.

0.2.37

25 Nov 13:09
8558255
Compare
Choose a tag to compare

Multiple small fixes following the setup of Doctrine coding standards and phpstan.

If any regression slipped up because of this please open an issue!

0.2.36

15 Nov 08:59
1843e13
Compare
Choose a tag to compare

#72, #91 Set maximum concurrency to 20 instances by default.

The goal for this is to avoid scenarios where a lambda could be DOS by a malicious 3rd party and create a huge AWS bill in a short amount of time.

For example let's say the lambda executes in 100ms. Its execution could be trigger at maximum 10000 times per second (1000 lambdas in parallel). That means a bill of $1613.09 for a whole day of this (not counting API Gateway which is even more expensive!).

This is now set to 20 by default in serverless.yml when doing bref init (that would mean up to $30 per day maximum): https://github.com/mnapoli/bref/blob/master/template/serverless.yml#L21

Existing projects are not affected, this will only impact new projects.

The value can be changed in serverless.yml in your project (and the limit can be removed altogether).

0.2.35

09 Nov 13:52
80b6edd
Compare
Choose a tag to compare

Fix Laravel's runningInConsole() on AWS Lambda #85

Laravel's application has a runningInConsole() method that returns true if the PHP binary used to run the process is php-cli.

This is a problem because it tricks Laravel into thinking that it runs the Artisan console and not the HTTP application... This can cause issues in some apps or packages.

To fix this we override the method to force its return value:

  • most of the time we don't override the value
  • when running in Lambda in HTTP we override it to return false

0.2.34

08 Nov 14:50
f2ec296
Compare
Choose a tag to compare

#84 Fix Laravel header forwarding

0.2.33

08 Nov 09:07
de5c821
Compare
Choose a tag to compare

Allow specifying event data with bref invoke #83

Example:

vendor/bin/bref invoke --event '{"name":"folks"}'

0.2.32

01 Nov 15:41
54357bf
Compare
Choose a tag to compare

#74 Adding path option in InvokeCommand

0.2.31

11 Oct 01:31
642f10f
Compare
Choose a tag to compare

#71 Bref logs: add --tail option

0.2.30

08 Oct 21:49
94a676a
Compare
Choose a tag to compare

#69 Bref init: Automatically git add bref.php serverless.yml + gitignore /.bref/
#70 Added REQUEST_TIME_FLOAT server var