Releases: cundd/rest
REST 5.1.0
REST 5.0.0
This release brings compatibility with the latest TYPO3 LTS version (v10) while keeping support for version 9.
Breaking changes
- Drop support for TYPO3 v8 (#f928a64)
- Fall back to
getParsedBody()
if the payload could not be decoded as JSON (#50fdf83) - Add return and parameter types (#cb7ce21)
- Add return and parameter types, const visibility and format code (#bc7035d)
- Raise minimum required PHP version to 7.2 (#0e909f0)
- Remove deprecated
configureObjectManager()
(#719254f) - Remove support for deprecated class-based and deprecated vendor-less overwrites (#e6449fb)
- Remove deprecated Bootstrap class (#cd90455)
REST 3.6.1
Maintenance release fixing the database schema: Allow NULL for column tx_rest_apikey
REST 4.0.0
After over a year of work the fourth major release is released. The main focus of this iteration is to support TYPO3 v9
LTS and to clean up the DataProvider's
interface.
If an installation uses a custom Data Provider, it must be adapted to the new interface.
A collection of the most important changes can be found below.
Breaking changes
- Prepend the name of custom HTTP headers with "X-" (#63e0082)
- Languages are used for Domain Models and must be mapped in TypoScript (#6848078, FAQs)
- Requested language has precedence over Site language (#3703e59)
- Clean up the Object Manager (#fab4139)
- Fix Dispatcher entry point and add return type (Fix #58, #064a641)
- Replace headers configured in
settings.responseHeaders
(#3589149) - Add scalar types for the CRUD Handler (#2a0ea1b)
- Do not call
update()
if__identity
is given (#ca2657a) - Drop TYPO3 7 LTS Support (#82c4fa2)
- Convert the incoming property parameter into a valid property key (changes to
DataProviderInterface::getModelProperty()
, #53ce98c) - Prefer to call a property getter method over calling
_getProperty()
(changes toDataProviderInterface::getModelProperty()
, #53ce98c) - Add CORS headers to failed requests (#ba3f86c)
- Require PHP 7.1 or later (#bd043c7)
- Virtual Object Persistence Manager and Backend require a Query instance as argument (#52dca42, #dac8157)
- Remove deprecated
getCacheLiveTime()
(#a901e2e) - Remove deprecated methods (#cc0e58a)
Features and improvements
- Add support for new Site Handling and improve language handling (#aa1404e, #61eb3fd, #aa1404e)
- Add
cors.allowedOrigins
to define a list of allowed CORS origins (#b8a9e80) - Add Parameter Type
{raw}
(Fix #56, #3047fad) - Add additional debugging headers (#b461372, #ab26785)
- Update the icons !new icon (#eaf54d5)
- Add route for OPTIONS requests to the Auth Handler (#6fcda9a)
- Replace some
@inject
annotations with constructor or method injection (#94780af) - Add the Resource Type to the cache tags (#c17a736)
- Add scalar type checks (#23595da, #e16bbba, #1dab787, #7d1648b)
- Add factory methods for
PATCH
andOPTIONS
requests (#b151929) - Respect the Cache Lifetime from the Resource Type configuration and use "lifetime" in names (#68b0099)
- Change the "camelCase to underscore" method for
normalizeResourceType()
(#556d3ff) - Add support to limit the number of results in
listAll()
for custom extensions (#a4da600)
Data Provider
- Cleanup the Data Provider and CRUD Handler APIs (#f808610, #9027618)
- Add
isModelNew()
to allow overriding the check for new instances (#070d375) - Add
withResourceType()
and strict checks for the Format (#fe9b05c) - Add
countAllModels()
to Data Providers (#98b8cdb) - Prioritize
Vendor\Namespace
classes (#8ffdb9a)
Object Manager
- Also detect interfaces in
getImplementationFromResourceConfiguration()
(#1f58306) - Add support to specify the DataProvider in TypoScript (#7e4c93a)
- Decouple Object Manager from TYPO3 (#fe3e106, #926b94f)
Virtual Objects
- Add support for
Constraint
objects (#cf5d6b3) - Add scalar types for
WhereClauseBuilder
method arguments (#a915832) - Move the Operator constants into a separate interface (#a947b2c)
- Add constructor for Query (#2d4a403)
- Add SQL Expression object (#5f156f5)
- Enhance the possibilities for subclasses of the Where Clause Builder (#58997ae)
REST 3.5.0
Add support for TYPO3 9 LTS
REST 3.3.0
Allow to specify the Handler implementation to use for a Resource and provide a backend module to gather information about it
REST 3.2.0
Enhance CORS support
Breaking changes: Bypass access checks for OPTIONS requests
Description
Change ConfigurationBasedAccessController::getAccess()
to always allow OPTIONS requests to be forwarded to the Router
Affected
If your custom extension provides a route for an OPTIONS request which should not be accessible without authentication
Migration
Some access check needs to be implemented in the custom extension
REST 3.1.0
Add support to configure the Extbase Dependency Injection with config.tx_extbase.objects
REST 3.0.0
Version 3 is a major rework of the extension. External dependencies have been removed and many architectural changes have been made. The JSON output is mostly compatible to version 2, but the framework to create custom services has changed fundamentally.
New
- No external dependencies
- Improved JSON output
Breaking change
- The framework for custom services has completely been rewritten
Support for TYPO3 CMS Composer Repository
New
- REST can now be installed with the TYPO3 CMS Composer Repository
- Support for TYPO3 8
- Formatted code according to PSR-2
Breaking change
- React server functionality has been removed
- Virtual Object mappings for contents and pages have been adapted for current TYPO3 versions