Skip to content

Releases: flat3/lodata

v5.3.0

13 Feb 15:35
Compare
Choose a tag to compare

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

09 Feb 23:33
Compare
Choose a tag to compare

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

01 Feb 15:58
Compare
Choose a tag to compare

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 and mod operators for PostgreSQL.
  • Fixed an issue in Eloquent and SQL entity sets where eq and ne 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 and time 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

25 Jan 10:39
Compare
Choose a tag to compare

Fixed pagination issues with Microsoft SQL Server queries.
Fixed an issue with URL generation when using pagination in combination with $filter path segments.
Fixed an issue with some database backends evaluating computed property queries.

v5.0.1

22 Jan 11:20
f1d8e0d
Compare
Choose a tag to compare

This release adds caching of discovery data and fixes #169 (Thanks @ianket).

v5.0.0

10 Jan 10:49
Compare
Choose a tag to compare

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 ProtocolExceptions in the OData controller, allowing the application to handle them before Laravel converts them to responses.
  • Lodata now correctly attaches the Immutable, Computed, and ComputedDefaultValue annotations and the Nullable 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

20 Dec 18:09
Compare
Choose a tag to compare

Fixed an issue identified in #153 where the EloquentEntitySet did not correctly select the database connection used by its attached model. Props @gflynn-ppro.

v4.0.0

19 Dec 15:43
Compare
Choose a tag to compare

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 the Identifier 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.

v3.0.6

15 Nov 21:10
Compare
Choose a tag to compare

Updates the escaping style for literals in SQL Server queries

v3.0.5

15 Nov 11:31
984b053
Compare
Choose a tag to compare

This release includes fixes from @merouanekhalili in #137:

  • Now quotes literals when generating the ORDER BY string
  • Fixes how limits are handled in SQL for PostgreSQL