|
| 1 | +--- |
| 2 | +slug: /experiments/ |
| 3 | +sidebar_position: 5 |
| 4 | +--- |
| 5 | + |
| 6 | +# Experiments |
| 7 | + |
| 8 | +:::caution |
| 9 | + |
| 10 | +All experimental features are subject to breaking changes and/or removal _at any |
| 11 | +time_. We strongly recommend that you do not use these features in a production |
| 12 | +environment. They are intended for testing and feedback only. |
| 13 | + |
| 14 | +::: |
| 15 | + |
| 16 | +In order to allow Task to evolve quickly, we roll out breaking changes to minor |
| 17 | +versions behind experimental flags. This allows us to gather feedback on |
| 18 | +breaking changes before committing to a major release. This document describes |
| 19 | +the current set of experimental features and the deprecated feature that they |
| 20 | +are intended to replace. |
| 21 | + |
| 22 | +You can enable an experimental feature by: |
| 23 | + |
| 24 | +1. Using the `--x-<feature>` flag. This is intended for one-off invocations of |
| 25 | + Task to test out experimental features. You can also disable a feature by |
| 26 | + specifying a falsy value such as `--x-<feature>=false`. |
| 27 | +1. Using the `TASK_X_<FEATURE>=1` environment variable. This is intended for |
| 28 | + permanently enabling experimental features in your environment. |
| 29 | + |
| 30 | +You can view the [full breaking changes proposal on |
| 31 | +GitHub][breaking-change-proposal]. |
| 32 | + |
| 33 | +## Current Experimental Features and Deprecations |
| 34 | + |
| 35 | +Each section below details an experiment or deprecation and explains what the |
| 36 | +flags/environment variables to enable the experiment are and how the feature's |
| 37 | +behavior will change. It will also explain what you need to do to migrate any |
| 38 | +existing Taskfiles to the new behavior. |
| 39 | + |
| 40 | +<!-- EXPERIMENT TEMPLATE - Include sections as necessary... |
| 41 | +
|
| 42 | +### ![experiment] <Feature> ([#<issue>](https://github.com/go-task/task/issues/<issue>)), ...) |
| 43 | +
|
| 44 | +- Flag to enable: `--x-<feature>` |
| 45 | +- Env to enable: `TASK_X_<feature>` |
| 46 | +- Deprecates: <list any existing functionality that will be deprecated by this experiment> |
| 47 | +
|
| 48 | +<Short description of the feature> |
| 49 | +
|
| 50 | +<Short explanation of how users should migrate to the new behavior> |
| 51 | +
|
| 52 | +--> |
| 53 | + |
| 54 | +### ![deprecated] Version 2 Schema ([#1197][deprecate-version-2-schema]) |
| 55 | + |
| 56 | +The Taskfile v2 schema was introduced in March 2018 and replaced by version 3 in |
| 57 | +August the following year. Users have had a long time to update and so we feel |
| 58 | +that it is time to tidy up the codebase and focus on new functionality instead. |
| 59 | + |
| 60 | +This notice does not mean that we are immediately removing support for version 2 |
| 61 | +schemas. However, support will not be extended to future major releases and we |
| 62 | +_strongly recommend_ that anybody still using a version 2 schema upgrades to |
| 63 | +version 3 as soon as possible. |
| 64 | + |
| 65 | +A list of changes between version 2 and version 3 are available in the [Task v3 |
| 66 | +Release Notes][version-3-release-notes]. |
| 67 | + |
| 68 | +<!-- prettier-ignore-start --> |
| 69 | +[breaking-change-proposal]: https://github.com/go-task/task/discussions/1191 |
| 70 | +[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197 |
| 71 | +[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0 |
| 72 | +[deprecated]: https://img.shields.io/badge/deprecated-red |
| 73 | +[experiment]: https://img.shields.io/badge/experiment-yellow |
| 74 | +<!-- prettier-ignore-end --> |
0 commit comments