You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.9 KiB
4.9 KiB
These are main plans that are additional to open issues.
2.0
2.0.14 (1st quarter of 2018)
Will be last release with features and enhancements the last one that will be merged into 3.0 directly.
2.0.15 (2nd quarter of 2018)
- Since this release main focus is bug fixing.
- No full-branch merges into 3.0.
- No enhancements are accepted.
2.0.16 (3rd quarter of 2018)
- Bugfixes.
2.0.17 (4th quarter of 2018)
- Bugfixes.
- Announce bugfixes EOL (a year more?).
- Security fixes only.
Additional releases
We can tag additional releases in case someone will take the role of release manager. Otherwise we'll focus on 3.0.
3.0 (2018)
Documentation
- Prepare changes description.
- Prepare upgrading instructions.
Infrastructure
- Switch to 3.0.0 SemVer-like release tagging.
- Soft-deprecate 2.0.
- Remove subsplit
- Move repository to yiisoft/framework
Requirements
- Raise requirements to PHP 7.1.
- Drop HHVM support.
Cleanup
- Remove everything marked as
@deprecated
. - See if more PHP 7.1 features could be used and more compatibility hacks removed.
- Error handler.
- Remove PJAX support.
- Remove Cubrid support.
- Split
IdentityInterface
.
Dependency injection
- Declare an interface for DI container in
yiisoft/yii2
. Make it an extension of PSR if possible. - Port cycles in dependencies detection from
yiisoft/di
(@hiqsol) - Port method calls support from
yiisoft/di
(@hiqsol) - Update guide and docs to reflect DI container additions.
Client side
- Make core jQuery-free.
- Move
MaskedInput
into separate repository. - Make fxp composer plugin optional. Describe how to use asset packagist instead.
- Remove dependencies on any clientside libraries.
Security
- Remove custom random number generation in favor of what's in PHP 7.
- Remove custom bcrypt password hashing in favor of what's in PHP 7.
Databases
- Move MSSQL into extension: https://github.com/yiisoft/yii2-mssql
- Move Oracle into extension: https://github.com/yiisoft/yii2-oracle
- Implement upsert (was done in 2.0)
Logging
- Separate profiling and logging.
Cache
- PSR compatibility.
Request
- Consider PSR-7 compatible middleware.
- Add
$request->getFile($name)
that returnsUploadedFile
instance.
App templates
- Implement more sophisticated basic template.
- Drop advanced template?
i18n
- Use
-
instead of_
for view files, message files etc. See #8057
Extensions
- Make sure all official extensions have releases for 3.0.0.
4.0 (2018)
- 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.
Dependency injection
- Remove ability to set constructor options from method signatures, move it to
__construct
.
Features
- Introduce configuration manager.
- Implement
change()
for migrations.
Post 4.0 (but could be done independently)
Start extracting separate independent components:
- DBAL layer.
- ActiveRecord.
- i18n.
- Gii.
Bootstrap extension
- Remove all widgets that doing things that could be done simpler via plain HTML.
Gii extension
Debug extension
1.0
- Tag 1.1.20.