Apiato Versions Save

PHP Framework for building scalable API's on top of Laravel.

v12.4.1

3 months ago

v12.4.0

3 months ago

Full Changelog: https://github.com/apiato/apiato/compare/v12.2.0...v12.4.0

Dependencies

Core v8.7.0 to v8.8.0

Features

  • feat(config): Add unset macro which can be used to completely remove a config key.
    • config()->unset($key)
  • feat(repository):
    • Add findById method which returns Model|Null
    • Add getById method which returns Model or throws exception
    • Add findMany method which returns Collection (empty or not)
    • Add pushCriteriaWith method which is a wrapper around pushCriteria method that allows for easier testing

Bug fixes

  • fix(auth): Web authentication doesn't work with "login with custom attributes" feature
  • fix(config): Debugbar feature is enabled by default (if DEBUGBAR_ENABLED is not specified in the .env)

Enhancements

  • test: Add +400 tests. We are at +90% coverage now.
  • refactor: Remove Welcome vendor container dependency and move it's features/endpoints to Authentication container: Landing/Welcome & Login pages
  • ci: Setup GitHub actions: test runner, php cs fixer
  • ci: Setup code coverage
  • feat: Remove lang folder
  • refactor(test): Move all tests under app/Containers/{SectionName}/{ContainerName}/Tests directory
  • refactor(test): Replace PHPUnit annotations with new PHPUnit v10 attributes
  • refactor: Remove useless PHP docs
  • refactor: Remove AuthorizationTrait
  • refactor: Remove IsResourceOwnerTrait (use policies instead)
  • refactor: Use method injection (instead of constructor injection) in controllers to inject Actions
  • refactor(container): Rename GetAllResources files to ListResources
  • refactor(user): Move default password rule definition from User model to User/Providers/MainServicePorvider

v12.3.0

3 months ago

INVALID RELEASE

UPGRADE TO v12.4.0

v12.2.0

7 months ago

Full Changelog: https://github.com/apiato/apiato/compare/v12.1.0...v12.2.0

Dependencies updated to Core v8.7.0 & Doc Generator v3.0.5

Features

  • feat: Add activeGuard helper to get the current logged-in user guard.
  • refactor: use Core/Traits/ModelTrait.php on App\Containers\AppSection\Authorization\Models\Permission and App\Containers\AppSection\Authorization\Models\Role instead of adding required traits manually.
  • feat: generate verify email route only if email verification is enabled

Bug fixes

  • fix: use hash ids in DetachPermissionsFromUserRequest
  • fix: reset password endpoint accepts all http verbs. Now only accept post.

Enhancements

  • feat: GetAllPermissionsTask & GetAllRolesTask now only return roles & permissions for the current logged-in user guard.
  • feat: added guard_name field to the response of Role & Permission transformers. (Only for admin)

v12.1.1

10 months ago

Full Changelog: https://github.com/apiato/apiato/compare/v12.1.0...v12.1.1

  • fix: unable to generate docs (introduced in v12.1.0) A PHP CS Fixer rule was changing the API Docs documentation in an unexpected way which was causing an error while generating the docs.

Note: If you are on v12.1.0 please see the fix and apply it to your code.

v12.1.0

10 months ago

Full Changelog: https://github.com/apiato/apiato/compare/v12.0.2...v12.1.0

  • chore(dep): update composer dependencies
  • feat: add automated php-cs-fixer workflow
  • refactor: LoginCustomAttribute class
  • feat(ExceptionHandling): render proper response based on request accept header

Including the fixes and changes in Core v8.4.1 & v8.5.0.

v12.0.2

11 months ago
  • fix: lock lcobucci/clock version to prevent composer package conflicts

v12.0.1

11 months ago

Apiato:

  • fix: PHPUnit correctly excludes files from coverage now
  • chore(dep): update composer dependencies

Core: https://github.com/apiato/core/releases/tag/v8.4.0

  • feat: don't load routes if routes are cached
  • fix: replace removed exception HashidsException -> InvalidArgumentException

v12.0.0

11 months ago

What's Changed

Full Changelog: https://github.com/apiato/apiato/compare/v11.3.2...v12.0.0

Breaking changes

  • Upgraded to Laravel v10 (All Laravel files (e.g. configs, .env, etc...) are now synced with the latest Laravel changes)
  • Updated Composer dependencies to their latest version
  • Laravel Passport route registration & customization has changed. Passport routes are now reside in a dedicated route file (Instead of registering them in the provider).
  • Middleware $routeMiddleware field is renamed to $middlewareAliases
  • Trimmed down the TestCase by removing some useless traits including:
TestsMockHelperTrait
TestsResponseHelperTrait
  • encode() method return value has changed -> In case of unencodable value (e.g. null), now returns null instead of ''
  • decode() method return value has changed -> In case of undecodable value (e.g. null), now returns null instead of []
  • StateKeeperTrait is removed from Request

None breaking changes

  • Everything is refactored to use constructor injection instead of directly using the Service Container like so app(CreateUserByCredentialsTask::class)->run()
  • Added more tests and refactored the rest
  • Switched to invokable controllers
\\ from
Route::get('profile', [GetAuthenticatedUserController::class, 'getAuthenticatedUser']);
\\ to
Route::get('profile', GetAuthenticatedUserController::class);
  • All rotues are moved into the private documentation. e.g. RefreshProxyForWebClient.v1.public.php -> RefreshProxyForWebClient.v1.private.php
  • Added some getter methods to the Request including:
withUrlParameters()
getAccessArray()
getDecodeArray()
getUrlParametersArray()
  • Added a TestAssertionHelperTrait to the TestCase which provides some usefull assertions

Bug fixes

  • withMeta() method on ResponseTrait now correctly includes added meta data
  • Calling invokable controllers from routes #174
  • Exception when try to generate an WEB CRUD Controller from generator #171
  • PHP 8.1 warning on passing null to explode #176

11.3.4

1 year ago
  • update(vendor): update composer dependencies
  • update(node_modules): update npm dependencies
  • fix test