Browse Source

Moved 3.0 roadmap to `yiisoft/yii-core` (#16670)

tags/2.0.16
Andrii Vasyliev 6 years ago committed by Alexander Makarov
parent
commit
ecb8f33d1e
  1. 154
      ROADMAP.md

154
ROADMAP.md

@ -1,152 +1,32 @@
These are main plans that are additional to [open issues](https://github.com/yiisoft/yii2/milestones/3.0.0).
Framework development for versions 3.0 and further moved to [Yii Framework Core repository](https://github.com/yiisoft/yii-core).
# 2.0
Please see ROADMAP there:
https://github.com/yiisoft/yii-core/blob/master/ROADMAP.md
### 2.0.14 (1st quarter of 2018)
There are no planned changes for Yii 2.0 cause while it is supported it is not developed anymore.
Bug and security fixes are expected. New features and enhancements are not accepted.
Pull requests and maintainers are very welcome.
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)
## Additional releases
- Bugfixes.
We can tag additional releases in case someone will take the role of release manager. Otherwise we'll focus on 3.0.
### 2.0.17 (4th quarter of 2018)
## 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
- [x] [Switch to 3.0.0 SemVer-like release tagging](https://www.yiiframework.com/news/177/yii-adopts-semver-since-version-3-0-0).
- [x] Soft-deprecate 2.0.
- [ ] [Remove subsplit](https://github.com/yiisoft/yii2/issues/16160)
- [ ] [Move repository to yiisoft/framework](https://github.com/yiisoft/yii2/issues/16482)
## Requirements
- [x] [Raise requirements to PHP 7.1](https://github.com/yiisoft/yii2/issues/11397).
- [x] Drop HHVM support.
## Cleanup
- [x] [Remove everything marked as `@deprecated`](https://github.com/yiisoft/yii2/issues/15957).
- [ ] See if more PHP 7.1 features could be used and more compatibility hacks removed.
- [ ] [Error handler](https://github.com/yiisoft/yii2/issues/14348).
- [x] Remove PJAX support.
- [x] Remove Cubrid support.
- [ ] [Split `IdentityInterface`](https://github.com/yiisoft/yii2/issues/13825).
## Dependency injection
- [ ] Declare an interface for DI container in `yiisoft/yii2`. Make it an extension of PSR if possible.
- [x] Port cycles in dependencies detection from `yiisoft/di` (@hiqsol)
- [x] [Port method calls support from `yiisoft/di`](https://github.com/yiisoft/yii2/pull/16495) (@hiqsol)
- [ ] Update guide and docs to reflect DI container additions.
## Client side
- [x] Make core jQuery-free.
- [x] [Move `MaskedInput` into separate repository](https://github.com/yiisoft/yii2-maskedinput).
- [x] Make fxp composer plugin optional. Describe how to use asset packagist instead.
- [x] Remove dependencies on any clientside libraries.
## Security
- [x] Remove custom random number generation in favor of what's in PHP 7.
- [x] Remove custom bcrypt password hashing in favor of what's in PHP 7.
## Databases
- [x] Move MSSQL into extension: https://github.com/yiisoft/yii2-mssql
- [x] Move Oracle into extension: https://github.com/yiisoft/yii2-oracle
- [x] Implement upsert ([was done in 2.0](https://github.com/yiisoft/yii2/issues/13879))
## Logging
- [x] Separate profiling and logging.
## 2.0.16 (3rd quarter of 2018)
## Cache
- [x] PSR compatibility.
## Request
- [ ] [Consider PSR-7 compatible middleware](https://github.com/yiisoft/yii2/issues/15438).
- [x] Add `$request->getFile($name)` that returns `UploadedFile` instance.
## App templates
- [ ] [Implement more sophisticated basic template](https://github.com/yiisoft/app).
- [x] Drop advanced template?
## i18n
- [ ] Use `-` instead of `_` for view files, message files etc. [See #8057](https://github.com/yiisoft/yii2/pull/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` and `Component` turning these into traits. Could extract AccessorTrait, EventTrait etc. Alternatively we can drop accessors. Will get [PSR-2](https://github.com/yiisoft/yii2/issues/11956) 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 be `FileHelper::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
- [ ] [Re-write Gii JavaScript not to use jQuery](https://github.com/yiisoft/yii2-gii/issues/282).
# Debug extension
- Bugfixes.
- [ ] [Re-write Debug JavaScript not to use jQuery](https://github.com/yiisoft/yii2-debug/issues/246).
## 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.
# 1.0
## 2.0.14 (1st quarter of 2018)
- [ ] Tag 1.1.20.
Will be last release with features and enhancements the last one that will be merged into 3.0 directly.

Loading…
Cancel
Save