Releases: apiato/apiato
v13.1.0
What's Changed
- Laravel 12.x Support by @Mohammad-Alavi in #781
Full Changelog: v13.0.0...v13.1.0
Check out the updated Upgrade Guide for more details.
Development Insights
Open Source doesn't come cheap.
Here are some interesting facts about this release:
- This release took around 3 work days.
How You Can Support
If you need help with your Apiato projectβwhether youβre an individual developer or part of an organizationβWe offer dedicated consultancy and support services tailored to your needs. By working with us, youβll not only gain expert guidance but also contribute to the sustainability of this project. Your support ensures that we can continue to build amazing open-source tools for you and the broader developer community.
Get in touch via email or Discord β€οΈ
Thank You
To everyone who uses, shares or contributes to Apiatoβthank you. Your support and trust make the sacrifices worthwhile. Together, weβre shaping something extraordinary.
v13.0.0
What's Changed
A lot of files have been moved around, renamed or removed.
See the full changelog for Apiato and Core.
Possible breaking changes are documented in the upgrade guide.
Notable Changes
- update min PHP version to
^8.2
- update min Laravel version to
^11.23
- allow configuration using a configuration class (Similar to Laravel)
- allow publishing
apiato.php
configs - rename generate command from
apiato:generate
toapiato:make
- add Response facade
- simplify url generation for multi-frontend apps
- add new helper functions
- add new macros
- change abstract class namespace from
Apiato\Core\Abstracts
toApiato\Core
- remove
laravel/passport
dependency - test: improve Core coverage by +85%
Apiato
Configs
Removed
app/Ship/Configs/notification.php
config fileapiato.api.prefix
apiato.api.enable_version_prefix
apiato.requests.allow-roles-to-access-all-routes
apiato.requests.force-valid-includes
apiato.requests.params
apiato.seeders
apiato.tests
appSection-authentication.require_email_verification
appSection-authentication.email_verification_link_expiration_time_in_minute
appSection-authentication.login
- login with multiple field feature has been removedappSection-authentication.allowed-reset-password-urls
appSection-authentication.allowed-verify-email-urls
Changed
apiato.api.expires-in
renamed and moved toappSection-authentication.tokens-expire-in
apiato.api.refresh-expires-in
renamed and moved toappSection-authentication.refresh-tokens-expire-in
apiato.throttle
renamed toapiato.rate-limiter
Added
apiato.defaults.app
apiato.rate-limiter.name
apiato.apps.web.url
Error Handling
Error handling is completely reworked.
See the upgrade guide for more Details.
Core
Abstract\Parent Classes
Action
- remove
getUI
andsetUI
methods - remove
iu
property - remove usage of HasRequestCriteriaTrait
Commands
- remove
iu
property
Controller
- remove the usage of
Illuminate\Foundation\Auth\Access\AuthorizesRequests
trait - remove the usage of
Illuminate\Foundation\Validation\ValidatesRequests
trait - remove usage of HashIdTrait
Since Api and Web controllers were extending the Controller
class, those removed traits features are also no loger available in them.
ApiController
- remove
iu
property - remove usage of ResponseTrait
WebController
- remove
iu
property
Job
- remove the usage of following traits
Illuminate\Bus\Queueable
Illuminate\Foundation\Bus\Dispatchable
Illuminate\Queue\InteractsWithQueue
Illuminate\Queue\SerializesModels
- remove
Illuminate\Contracts\Queue\ShouldQueue
interface usage
- remove the usage of
Illuminate\Queue\SerializesModels
trait
Notification
- remove usage of 'notification.channels' config
Request
- remove usage of HashIdTrait
Request class authorization features has been changed drastically. See to the upgrade guide for more Details.
Task
- remove usage of HasRequestCriteriaTrait
TestCase
- remove usage of
Illuminate\Foundation\Testing\LazilyRefreshDatabase
trait
Testing features has been changed drastically. See to the upgrade guide for more Details.
Value
- remove usage of HasResourceKeyTrait
Commands
- remove
apiato
- usephp artisan about
instead - remove
apiato:seed-deploy
- remove
apiato:seed-test
Exceptions
All exceptions under the Apiato\Core\Exceptions
namespace have been removed.
Apiato\Core\Exceptions\AuthenticationException
Apiato\Core\Exceptions\GeneratorErrorException
Apiato\Core\Exceptions\IncorrectIdException
Apiato\Core\Exceptions\InvalidTransformerException
Apiato\Core\Exceptions\MissingJSONHeaderException
Apiato\Core\Exceptions\MissingTestEndpointException
Apiato\Core\Exceptions\UndefinedMethodException
Apiato\Core\Exceptions\UnsupportedFractalIncludeException
Apiato\Core\Exceptions\WrongConfigurationsException
Apiato\Core\Exceptions\WrongEndpointFormatException
Misc
- remove
Apiato\Core\Middlewares\Http\ProfilerMiddleware
middleware class - remove
no_spaces
custom validation rule - remove
uncamelize
helper function - remove all custom test assertions (except assertDatabaseTable)
Development Insights
Open Source doesn't come cheap.
Here are some interesting facts about this release:
- This release, including Core v13 and docs, took around 96 work days. That would be around 770 hours of work.
- For the past year, I only took around 10 days off, including the weekends.
How You Can Support
If you need help with your Apiato projectβwhether youβre an individual developer or part of an organizationβWe offer dedicated consultancy and support services tailored to your needs. By working with us, youβll not only gain expert guidance but also contribute to the sustainability of this project. Your support ensures that we can continue to build amazing open-source tools for you and the broader developer community.
Get in touch via email or Discord β€οΈ
Thank You
To everyone who uses, shares or contributes to Apiatoβthank you. Your support and trust make the sacrifices worthwhile. Together, weβre shaping something extraordinary.
v12.6.1
What's Changed
- Fix #775 Update .php-cs-fixer.dist.php by @polarikus in #776
Full Changelog: v12.6.0...v12.6.1
v12.6.0
What's Changed
Apiato
- chore(deps): update Composer dependencies
- feat: remove username case-sensitivity feature
- fix: installation error via Composer #743
Full Changelog: v12.5.4...v12.6.0
Core v8.15
- chore(deps): update Composer dependencies
- feat(config): Apiato default configs can now be published using
artisan vendor:publish
- fix(events): Laravel event discovery doesnt work
Note: It is enabled by default on new Apiato projects.
You can globally enable it on your current project viaApp\Ship\Parents\Providers\EventServiceProvider::shouldDiscoverEvents
method. Here are the docs. - refactor(tests): use fake() helper by @mderis
Code Generator Overhaul
- feat: allow passing custom Model name when generating a Controller by @innoflash
- fix: outdated generated files. Generated files now reflect the latest Apiato changes.
- fix: broken multi-action Controller generator
- fix: functional tests are generated in the wrong directory
Note: if you customized the test stubs, their directory changed a bit! please have a look here to see the new directory structure. - fix:
Listeners
are not added to the generatedEventServiceProvider
class - fix:
EventServiceProvider
don't get registered inMainServiceProvider
Development Insights
Open Source doesn't come cheap.
Here are some intresting facts about this release:
- This release, including Core v8.15, took around 8 work days.
- Since started working on it, I didn't even have a day off, not even on the weekends, and that would be a a month now.
How You Can Support
If you need help with your Apiato projectβwhether youβre an individual developer or part of an organizationβWe offer dedicated consultancy and support services tailored to your needs. By working with us, youβll not only gain expert guidance but also contribute to the sustainability of this project. Your support ensures that we can continue to build amazing open-source tools for you and the broader developer community.
Get in touch via email or Discord β€οΈ
Thank You
To everyone who uses, shares, or contributes to Apiatoβthank you. Your support and trust make the sacrifices worthwhile. Together, weβre shaping something extraordinary.
v12.5.4
Full Changelog: v12.5.3...v12.5.4
What's Changed
- chore(deps): update composer dependencies
- chore: set
ddev
php to8.1
v12.5.3
Full Changelog: v12.5.2...v12.5.3
chore: fix typo
v12.5.2
Full Changelog: v12.5.1...v12.5.2
- chore(deps): update composer dependencies
- chore: remove the need of using the Compoers
--no-script
flag when creating new Apiato project - fix: missing
.gitignore
when creating new Apiato project - fix: dependency conflict
v12.5.1
v12.5.0
Dependencies
Core v8.12.0 to v8.13.0
Read the Core changelog here.
- feat: Added
App\Ship\Parents\Collections\EloquentCollection
In future updates, code generator will use this to generate custom eloquent collections for generated models. Here is a good read if you want to learn more about the usefullness of them. - feat: Added custom collection for models (
Role
,Permission
&User
) - fix(config): API debugging is enabled by default if the related
env
key don't exists. - deprecate(test):
$faker
property in tests is now depracated in favor of Laravel's ownfake()
helper function
New Contributors
- @m0nclous made their first contribution in #749
- @ManukMinasyan made their first contribution in #759
Full Changelog: v12.4.1...v12.5.0