Skip to content

Releases: locomotivemtl/charcoal-core

charcoal-core 0.3.5

04 Apr 18:49
Compare
Choose a tag to compare

Highlights:

  • Change metadata loading to merge content from all matching sources (instead of only the first match)
  • Add object type normalization in ModelLoader
  • Fix cache key generation in ModelLoader
  • Fix object cache key prefix
  • Fix codebase syntax
  • Fix unit tests
  • Cleanup codebase

charcoal-core 0.3.4

04 Apr 18:47
Compare
Choose a tag to compare

Highlights:

  • Update CollectionLoader methods (to match changes from AbstractSource since 0.3.0)
  • Set save(), update(), delete(), and load() as final (even if PHP doesnt enforce it for traits)
  • Cleanup codebase

charcoal-core 0.3.3

04 Dec 00:09
Compare
Choose a tag to compare
  • AbstractModel::setDependencies() is now protected (was public before)
  • ModelInterface now inherits EntityInterface, DescribableInterface and StorableInterface
  • Minor fixes

charcoal-core 0.3.1

20 Nov 18:07
d9b8f88
Compare
Choose a tag to compare
  • Fix usage of a deprecated method in charcoal-config 0.8 (getter() -> camelize())

charcoal-core 0.3

17 Nov 18:21
Compare
Choose a tag to compare

Major rewrite of query expressions (Filter, Order, Pagination); minor improvements for datasource repositories and data models.

Highlights:

  • Added AbstractExpression and ExpressionInterface as new foundation for Filter, Order, and Pagination
  • Added Expression to be a dedicated class for raw SQL expressions (extended by Filter and Order)
  • Added Expression Field trait and interface to unify "table" and "property" options for Filter and Order expressions
  • Added DatabaseExpressionInterface as foundation for DatabaseFilter, DatabaseOrder, and DatabasePagination
  • Added Filter Collection trait and interface for grouping Filter expressions (used by AbstractSource and Filter for nesting expressions)
  • Added Order Collection trait and interface for grouping Order expressions (used by AbstractSource)
  • Improved decision tree when compiling SQL for DatabaseFilter and DatabaseOrder
  • Added support for serializing expressions
  • Added support for named expressions
  • Added "direction" option to Order
  • Refactored unit tests and improved coverage for Charcoal\Source
  • Improved AbstractModel and StorableTrait to be leaner, less overriding
  • Cleanup DocBlocks for various classes

Warnings:

  • Filter
    • Deprecated string option in favour of condition
    • Deprecated table_name option in favour of table
    • Deprecated val option in favour of value
    • Removed DEFAULT_FUNC class constant
    • Moved DEFAULT_TABLE_NAME class constant to DatabaseSource::DEFAULT_TABLE_ALIAS
  • Order
    • Deprecated string option in favour of condition
    • Deprecated table_name option in favour of table
  • Pagination
    • Renamed DEFAULT_NUM_PER_PAGE class constant with DEFAULT_COUNT
  • DatabaseSource
    • Renamed DEFAULT_DB_TYPE class constant to MYSQL_DRIVER_NAME

charcoal-core 0.2.11

16 Nov 22:09
Compare
Choose a tag to compare

Highlights:

charcoal-core 0.2.10

16 Nov 22:09
Compare
Choose a tag to compare

Highlights:

  • Minor cleanup of AbstractModel::mergeData() and AbstractModel::setFlatData()
  • Cleanup PHP classes (simplified namespace imports, added class comment blocks, modified exception classes)

charcoal-core 0.2.9

27 Jul 15:21
Compare
Choose a tag to compare

Protect AbstractModel::serializedValue() instead of privatize.

Allows subclasses to customize how data can be serialized. Useful when resolving how a nested model should behave.

charcoal-core 0.2.8

24 Jul 22:10
Compare
Choose a tag to compare

Improved CollectionLoader and AbstractSource.

Highlight:

  • Added addFilters() and addOrders() to aforementioned classes.

charcoal-core 0.2.7

24 Jul 22:08
Compare
Choose a tag to compare

Highlight:

  • Fixed Save/Update of model properties in AbstractModel
  • Fixed ContainerIntegrationTrait to persist the service container instance across unit tests
  • Fixed existing unit tests for the Model class