v1.4.7
03/20/2020
- [](#bugfix)
- PHP 7.4 compatibility: implemented required
Stream::stream_set_option()
method (#28, thanks @lcharette)
v1.4.6
03/20/2019
- [](#bugfix)
- Fixed
File::writable()
returning true if an existing file is read-only with the folder being writable
- Fixed
File::save()
silently ignoring failures with read only streams
- Regresion: Fixed file saving when temporary file cannot be created to the current folder / stream
v1.4.5
02/28/2019
- [](#bugfix)
- Regression: Fixed undefined variable in
BlueprintSchema
v1.4.4
02/28/2019
- [](#bugfix)
- Regression: Fixed issue with directory creation when saving non-existing file
v1.4.3
02/26/2019
- [](#improved)
- Minor code optimizations
- Improved
File::save()
to use a temporary file if file isn't locked
- [](#bugfix)
- Fixed
Obtaining write lock failed on file...
- Fixed
mkdir(...)
race condition
v1.4.2
08/08/2018
- [](#new)
- Added
UniformResourceLocator::clearCache()
to allow resource cache to be cleared
- Added
$extends
parameter to BlueprintForm::load()
to override extends@
- [](#improved)
- Improved messages in
Stream
exceptions
- [](#bugfix)
- Fixed bugs when using
mkdir()
, rmdir()
, rename()
or creating new files with URIs
v1.4.1
06/20/2018
- [](#bugfix)
- Fixed a bug in blueprint extend and embed
v1.4.0
06/13/2018
- [](#new)
BlueprintForm
: Implemented support for multiple import@
s and partial import@
s (#17)
- [](#improved)
YamlFile
: Added support for @data
without quoting it (fixes issues with Symfony 3.4 if compat=true
)
YamlFile
: Added compatibility mode which falls back to Symfony YAML 2.8.38 if parsing with newer version fails
YamlFile
: Make compat
and native
settings global, enable native
setting by default
- General code cleanup, some optimizations
- [](#bugfix)
Session
: Removed broken request counter
v1.3.9
10/08/2017
- [](#improved)
- Modified
MarkdownFile::encode()
to dump header with 20 levels of indention (was 5)
v1.3.8
09/23/2017
- [](#bugfix)
- Fixed bad PHP docblock that was breaking API generation
v1.3.7
08/28/2017
- [](#bugfix)
- Fixed
Event
backwards compatibility by removing getters support
v1.3.6
08/16/2017
- [](#improved)
- Improved Event class to support getters and export
v1.3.5
05/22/2017
- [](#improved)
- Improved exception message in
File::content()
class when failing to load the data
- [](#bugfix)
- Fixed
Blueprintform::resolve()
to use slash notation by default instead of dot notation
- Fixed warning if badly formatted
$path
parameter is given to UniformResourceLocator::addPath()
- Fixed
Blueprintform::fields()
returning bad value if there were no fields
v1.3.4
05/15/2017
- [](#new)
- Blueprint: Add support for a single array field in forms
- [](#bugfix)
- Fixed
IniFile::content()
should not fail if file doesn't exist
- Session: Protection against invalid session cookie name throwing exception
- Session: Do not destroy session on CLI
- BlueprintSchema: Fixed warning when field list is not what was expected
v1.3.3
10/06/2016
- [](#improved)
- Allow calls without parameter in
UniformResourceLocator::getPaths()
- Add support for
BlueprintSchema::getPropertyName()
and getProperty()
- Add domain parameter to Session constructor
- Add support for
FilesystemIterator::FOLLOW_SYMLINKS
in RecursiveUniformResourceIterator class
v1.3.2
05/24/2016
- [](#new)
- Added a new function BlueprintForm::getFilename()
- [](#bugfix)
- BlueprintsForm: Detect if user really meant to extend parent blueprint, not another one
v1.3.1
04/25/2016
- [](#new)
- Add new function File::rename()
- Add new function UniformResourceLocator::fillCache()
- [](#bugfix)
- Fix collections support in BluprintSchema::extra()
- Fix exception in stream wrapper when scheme is not defined in locator
- Prevent UniformResourceLocator from resolving paths outside of defined scheme paths (#8)
- Fix breaking YAML files which start with three dashes (#5)
v1.3.0
03/07/2016
- [](#new)
- Add new function UniformResourceLocator::isStream()
- Add new class BlueprintForm
- Renamed Blueprints class into BlueprintSchema
- Add new function BlueprintSchema::extra() to return data fields which haven't been defined in blueprints
- Add support to unset and replace blueprint fields and properties
- Allow arbitrary dynamic fields in Blueprints (property@)
- Add default properties support for form field types
- Remove dependency on ircmaxell/password-compat
- Add support for Symfony 3
- Add a few unit tests
- [](#improved)
- UniformResourceLocator::addPath(): Add option to add path after existing one (falls back to be last if path is not found)
- [](#bugfix)
- Fix blueprint without a form
- Fix merging data with empty blueprint
v1.2.0
10/24/2015
- [](#new)
- Backwards compatibility break: Blueprints class needs to be initialized with
init()
if blueprints contain @data-*
fields
- Renamed NestedArrayAccess::remove() into NestedArrayAccess::undef() to avoid name clashes
v1.1.4
10/15/2015
- [](#new)
- Add support for native YAML parsing option to Markdown and YAML file classes
v1.1.3
09/14/2015
- [](#bugfix)
- Fix regression: Default values for collections were broken
- Fix Argument 1 passed to
RocketTheme\Toolbox\Blueprints\Blueprints::mergeArrays()
must be of the type array
- Add exception on Blueprint collection merging; only overridden value should be used
- File locking truncates contents of the file
- Stop duplicate Messages getting added to the queue
v1.1.2
08/27/2015
- [](#new)