From ecb8f33d1e339831e0505772f06d67f726b903f5 Mon Sep 17 00:00:00 2001 From: Andrii Vasyliev Date: Mon, 27 Aug 2018 17:59:32 +0300 Subject: [PATCH] Moved 3.0 roadmap to `yiisoft/yii-core` (#16670) --- ROADMAP.md | 154 +++++++------------------------------------------------------ 1 file changed, 17 insertions(+), 137 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index d1f1436..8e66e79 100644 --- a/ROADMAP.md +++ b/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.