NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1170 most downloaded on Packagist
The standalone version Blade Template Engine from Laravel in a single php file
Last release 2 days ago
03 Oct 2026
Release timing varies
gaps range from 3 weeks to 13 months
Some releases are documented
notes for 19 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
116 releases · first in 2016
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
It is important: The tags {{ }} and @foreach are heavily optimized.
It is important: The tags {{ }} and @foreach are heavily optimized.
{{$variable}} will fail if $variable is an array or object. Previously, it was turned into a json_encode. Why it was changed? Because it affected the performance. Solution: You could use @json() or @dump()
{{$variable}} used to generate a static call: static::e($variable). Now it calls \htmlentities() directly
@foreach was also optimized.
The library was re-optimized. $this->phpTag and $this->phpTagEcho are used everywhere in the code.
parseArgs() (it is an internal function), now considers empty arguments. It is used by eftec/BladeOneHtml.
parseArgs() (it is an internal function), now considers empty arguments. It is used by eftec/BladeOneHtml.
Nothing published for this version
- updated BladeOneCache.php -
updated BladeOneCache.php
new method getArgs () (protected). It is used for named parameters.
Lots of cleanup.
new method getArgs () (protected). It is used for named parameters.
This library will never ever pass codesniffing (we have a method called _e for a purpose).
It adds a constructor feature for every trait.
Nothing published for this version
fix method isQuoted () when the string is fewer than 2 chars.
fix method isQuoted () when the string is fewer than 2 chars.
new method isVariablePHP ()
BladeOneHtml is deprecated (but not deleted) use instead eftec\bladeonehtml
new feature: named arguments (the method must support it to use)
new method wrapPHP() used internally
new method enq() It's equals than e() but it doesn't encode quotes
new method stripQuotes() It removes quotes from a string "aaa"=>aaa, 'aaa'=>aaa
new method addInsideQuote() It adds a string inside a quote (if any)
new method isQuoted() Returns true if the text is quoted
BladeOneHtml is deprecated (but not deleted) use instead eftec\bladeonehtml
BladeOneHtmlBootstrap is deprecated (but not deleted) use instead eftec\bladeonehtml
new tag @compilestamp() shows the date and time where the template was compiled.
new tag @compilestamp() shows the date and time where the template was compiled.
new tag @viewname() shows the current view template, compile filename or template filename
removed compileExpression() // it was never used
removed compileExpression() // it was never used
solved csrfIsValid() when it is compile with mode BladeOne::MODE_FAST
@csrf tag it has a new argument (name of the token)
@csrf('_mytag')
method csrfIsValid has a new argument (name of the token)
$blade->csrfIsValid(true,'_mytag');
Added a new argument optional for csrfIsValid()
Added a new argument optional for csrfIsValid()
It allows to calls a static method inside a class
It allows to calls a static method inside a class
See section Calling a static methods inside the template .
new field $aliasClasses
new method getAliasClasses()
new method setAliasClasses()
new method addAliasClasses()
new method compileUse()
new method compileStatementClass()
new method fixNamespaceClass()
For #99 Fixed missingTranslation(). Also some cleanups.
For #99 Fixed missingTranslation(). Also some cleanups.
For #96 added $loop->even and $loop->odd and $loop->iteration
For #96 added $loop->even and $loop->odd and $loop->iteration
Also, $loop->index now starts with 0 instead of 1
2019-08-09 3.31 The operations _e(), _n() and _ef() used for language are now integrated on BladeOne. So we don't need BladeOneLang anymore.
2019-06-14 3.30 Here it goes again.Returned cause psr-2 (but it breaks phpstorm so I added exceptions)
2019-06-08 3.29 More cleanup. tabs removed, some exceptions were changed, added imports (instead of /)
2019-06-08 3.28 Added setter and getters and solved some issues
2019-05-25 3.27 #78 Some comments are corrected. The views folder(s) could be an string or an array. It also allows to specific the route of the template literally. Now "folder.template" is equals to "folder/template.blade.php"
2019-05-25 3.26 #75 added method @pushonce('namestack') and @endpuchonce
2019-05-24 3.25 #77 added method setOptimize(bool) and setIsCompiled(bool)
Nothing published for this version
Nothing published for this version
-
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
-
- 2019-04-03 3.22 it solves #70. It also adds some small optimizations.
2019-04-03 3.22 it solves #70. It also adds some small optimizations.
Nothing published for this version
- 2019-03-01 3.20 I checked Laravel's blade and there is nothing new. This version is aligned with Blade 5.8
2019-03-01 3.20 I checked Laravel's blade and there is nothing new. This version is aligned with Blade 5.8
I added some fixes to @json. Now it allows arguments (the same arguments than PHP's json_encode)
Nothing published for this version
-
- 2018-12-16 3.18 Maintenance version. I checked and BladeOne already support the new features of 5.7 (@method and @csrf)
2018-12-16 3.18 Maintenance version. I checked and BladeOne already support the new features of 5.7 (@method and @csrf)
2018-10-25 3.17 Halloween version. Now if the command doesn´t exist,for example @media @font-face and such, it doesn't show the error but returns the same text as verbatim.
2018-10-25 3.16 Fixed an error with compile() when it's called with information.
Now compile() returns true or false
isExpected() has an optional argument.
getCompiledFile() and getTemplateFile() now uses the default template ($this->fileName) if the arg is empty (null or '')
arguments $fileName are now called $templateName because $filename is not a filename (temp/file.blade.php) but the name of the template (temp.file)
2018-10-22 3.15 Fixed an error if _e() is called by an array or object.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- 2018-10-06 3.13 Added @relative, setBaseUrl(),getBaseUrl() and addAssetDict(). @asset is changed, now it allows dictionary. $baseUrl is not public a
2018-10-06 3.13 Added @relative, setBaseUrl(),getBaseUrl() and addAssetDict(). @asset is changed, now it allows dictionary. $baseUrl is not public anymore
2018-09-29 3.12 Added the function setPath so we can change the path of the templates/compile files at runtime.
Nothing published for this version
Nothing published for this version
-
-
- 2018-07-12 3.0 BladeOneLogic now is fused with BladeOne. And a lot of new changes.
2018-07-12 3.0 BladeOneLogic now is fused with BladeOne. And a lot of new changes.
2018-07-11 2.4 Some fixes, new tags @json(var),@isset($records),@endisset,@includewhen,@includefirst,@prepend,@endprepend,@empty,@endempty,@append
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
-
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →