Warning: Main roadmap was moved to https://github.com/yiisoft/docs/blob/master/003-roadmap.md.
These are main plans that are additional to open issues.
- Split framework into packages with separate releases.
- Finish new application template.
- Prepare upgrading instructions.
- Separate changes description from upgrading instructions?
- Update guide and docs to reflect DI container changes.
- Mark conflicting all packages that require it. See #16
- Make sure all official extensions have releases for 3.0.0.
- Fix tests in all packages.
- Setup general package maintenance (php-cs-fixer, phpstan, ...) with hidev.
- Setup automatic builds (travis, scrutinizer, ...) for all packages.
- Remove all
@since
annotations - See if more PHP 7.1 features could be used and more compatibility hacks removed.
- Cleanup
ErrorHandler
. - Split
IdentityInterface
. - Use dependency injection properly. Make sure container is not passed around and static variables aren't used.
- Decouple components as much as possible.
- Use type-hinting everywhere.
- Increase type strictness.
- Revise application lifecycle.
- PSR-15 compatible middleware.
- Prefer throwing exceptions to fixing input.
- Make sure error handler catches fatals and is using response.
- Use kebab-case instead of snake (
-
instead of_
) for view files, message files etc. See #8057
- Remove all widgets that doing things that could be done simpler via plain HTML.
- Announce LTS.
- PHP 7 strict scalar types everywhere.
- Decouple routing from controllers and modules. Allow specifying any class method as a callback for a matching route.
- Merge
components
and DI container configs. - Try to eliminate
Object
andComponent
turning these into traits. Could extract AccessorTrait, EventTrait etc. Alternatively we can drop accessors. Will get PSR-2 and stricter interfaces in exchange additionally to possibility to get more performance. - When triggering events, pass data as a separate argument instead of a part of event object (commonly referred to as inconvenient).
- Move methods from Yii class into helpers. For example,
Yii::getAlias()
could beFileHelper::getAlias()
. - Use HTML-5 data attributes to specify validation rules + global validation script that doesn't require additional config.
- Implement
change()
for migrations.