Releases: flat3/lodata
v5.3.0
Laravel 9 support! 🎉 Including backward compatibility for Laravel 8.
Feature additions and changes:
- Updated the FilesystemEntitySet to exclude directories from the output.
- Updated the FilesystemEntitySet to return mime types correctly in the
type
property.
v5.2.0
This release adds configurable server-side limiting of page size, both for the maximum page size the server will return (regardless of client request), and a default size used if the client does not request a page size.
Props @liratanak for the original PR.
v5.1.0
Rebuilt the tests to drive up coverage, fixing the following bugs in the process:
- Fixed an issue where entity references to sets that used string keys were not properly URL escaped.
- Aligned all entity sets to report "entity not found" with the same error key.
- Fixed IEEE754 support to only escape numeric properties, not all properties.
- Updated the CSV entity set to set all empty values in the input to nulls.
- Fixed an issue in the PostgreSQL driver where nulls in entity properties were not sorted as ordered last.
- Updated the Eloquent entity set to understand many more common casts.
- Updated the Enumerable entity sets to correctly fill missing properties in collection item properties with nulls.
- Fixed an issue in Enumerable entity sets where filter parameters were not being applied when calculating record counts.
- Updated the SQL entity set to always escape table identifiers when making SQL queries.
- Added support for
div
andmod
operators for PostgreSQL. - Fixed an issue in Eloquent and SQL entity sets where
eq
andne
operators were not correctly compared when using nulls. - Fixed an issue where the
round
function failed when used with the MS SQL server driver. - Fixed an issue where the
date
andtime
functions failed when used with MS SQL or PostgreSQL drivers. - Fixed the
matchesPattern
function with the PostgreSQL driver. - Fixed the
concat
function with the PostgreSQL driver. - Fixed issues using the
substring
function with SQL drivers. - Fixed an issue where using Eloquent discovery on PostgreSQL tables with unusual names would fail.
- Fixed encoding issues when using Guid type properties with SQL drivers.
v5.0.2
v5.0.1
v5.0.0
New major release! 🎉
This release brings a complete redesign of how the common expression parser works, simplifying the implementation requirements and bringing support for the $compute
system query option.
Applications that did not define custom entity set classes will be able to upgrade to version 5 with no changes.
Feature additions and changes:
- Now supporting the powerful
$compute
system query option for both$orderby
and$filter
across many entity set types (including SQL and Eloquent). See the documentation. - Fixed an issue where the
$search
and$filter
options could not be used simultaenously in the SQL and Eloquent entity sets. - Fixed an issue where some query parameters did not correctly apply when using key-as-segment reference style.
- Lodata no longer catches its own
ProtocolException
s in theOData
controller, allowing the application to handle them before Laravel converts them to responses. - Lodata now correctly attaches the
Immutable
,Computed
, andComputedDefaultValue
annotations and theNullable
attribute on properties, supports allocating default values to declared properties and correctly validates null or missing properties against the schema before passing them to the backend driver. Fixes the issue identified in #157 (Props @ianket) - Fixes some incorrect items in the OpenAPI schema
v4.0.1
v4.0.0
New major release! 🎉
This release brings a complete redesign of how operations are defined, simplifying the implementation requirements and bringing new features. Applications using operations will require modification to use this version. A before and after example is available at https://lodata.io/modelling/operations.html#upgrading-from-3-x
Applications that did not use OData operations will be able to upgrade to version 4 with no changes.
API changes:
- A re-implementation of how operations are exposed through the service.
- The
getIdentifier
method now returns theIdentifier
object instead of a string. This change can be used to enable changing identifiers if needed.
Feature additions and changes:
- Confirmed PHP 8.1 support, continues to support PHP 7.3+
- Lodata performs stricter checks against namespaced entity sets and operations.
- Added support for the
$index
positional index query option, if supported by the entity set. - Removed the function/action creating commands, which are no longer required.
- Added PHP attributes to make operations and Eloquent relationships simpler to define.
- Fixes in the OpenAPI schema for operation bound parameters.
- Added support for navigating into complex properties through the URL.
- Added support for mapping a property of an SQL entity set into a different field name in the database.