With 218 commits, this release of CRUDlex 0.10.0 is a bit bigger.

Most notable: Finally, many-to-many relationship landed in form of the many data type.

Also the versioning switched to SemVer. As the 1.0.0 isn’t released yet, the project is still free to change the API in a vivid way contrary to the small version jumps.

And so it does with this release! I’m pointing for example towards the switch to Silex 2.0. Each not backward compatible change is marked with “Attention” in the changelog.

But also the usability has improved a bit with the introduction of the validation of the entity definition YAML file.

Beside that, some refactoring and consolidation of the YAML format and the API has happened.

Read on to see the full changelog of all CRUDlex projects for details!

CRUDlex

  • Added a new data type implementing a many-to-many relationship: many
  • Switched to SemVer
  • Added validation of the entity definition YAML file
  • Replaced handwritten mocks with Phony
  • Moved the mime type reading into an own class
  • Added a meaningful exception if invalid field names are given in “fieldList” or “filter”
  • Attention: The minimum PHP version is now 5.5
  • Attention: Updated to Silex 2.0
  • Attention: Switched from PSR-0 to PSR-4
  • Attention: The field entity.field.reference.table is not needed anymore
  • Attention: Renamed entity definition YAML fields:
    • setitems -> items
    • filepath -> path
    • fixedvalue -> value
  • Attention: Moved the following functions from the ServiceProvider to Twig extensions:
    • arrayColumn -> Twig Filter arrayColumn
    • getLanguageName -> Twig Filter languageName
    • formatFloat -> Twig Filter float
    • basename -> basename
    • formatDate -> formatDate
    • formatDateTime -> formatDateTime
  • Attention: Replaced the following functions of the class EntityDefinition with getSubTypeField:
    • getReferenceNameField
    • getReferenceEntity
  • Attention: Replaced the following functions of the class EntityDefinition with getField:
    • getDescription
    • getFloatStep
    • getItems
    • getValue
    • getPath
    • isUnique
    • isRequired
  • Attention: Replaced the following functions of the class EntityDefinition with setField:
    • setDescription
    • setFloatStep
    • setItems
    • setValue
    • setPath
    • setUnique
    • setRequired
  • Switched to a flag-sprites.com generated css sprite for the language flags
  • Updated dependencies:
    • “silex/silex”: “~2.0”
    • “symfony/twig-bridge”: “~3.1”
    • “philiplb/valdi”: “0.10.0”
    • “symfony/yaml”: “~3.1”
    • “symfony/translation”: “~3.1”
    • “symfony/intl”: “~3.1”
    • “symfony/browser-kit”: “~3.1”
    • “symfony/css-selector”: “~3.1”
    • “eloquent/phony”: “~0.13”
    • Bootstrap 3.3.7
  • Switched to the array shorthand
  • Correctly saving null if not required date time fields are not filled

CRUDlexUser

  • Updated to the CRUDlex 0.10.0 API
  • Attention: With Silex 2, the default password encoder changed to BCrypt. Added a constructor to override it if something else is used like the previous default MessageDigestPasswordEncoder
  • Attention: The minimum PHP version is now 5.5
  • Attention: Switched from PSR-0 to PSR-4
  • Switched to the array shorthand
  • Updated dependencies:
    • “symfony/security”: “~3.1”
    • “symfony/browser-kit”: “~3.1”
    • “symfony/css-selector”: “~3.1”

CRUDlexAmazonS3FileProcessor

  • Adjusted to the new CRUDlex 0.10.0 API
  • Using the CRUDlex mimetype detection instead of an own
  • Added inline documentation
  • Switched to the array shorthand
  • Attention: The minimum PHP version is now 5.5
  • Attention: Switched from PSR-0 to PSR-4
  • Added a Cache-Control header, thx JMF