Ankursinha (talk | contribs) (Fill in change) |
(adding release notes tracker) |
||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | <!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | ||
= Taskwarrior 3 = | = Taskwarrior 3 = | ||
== Summary == | == Summary == | ||
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | <!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | ||
Update Taskwarrior to version 3. | Update [https://taskwarrior.org Taskwarrior] to version 3. | ||
== Owner == | == Owner == | ||
Line 23: | Line 16: | ||
* Name: [[User:Ankursinha| Ankur Sinha "FranciscoD"]] | * Name: [[User:Ankursinha| Ankur Sinha "FranciscoD"]] | ||
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | <!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. --> | ||
* Email: ankursinha AT fedoraproject.org | * Email: ankursinha AT fedoraproject.org | ||
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | <!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo) | ||
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | * FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address> | ||
--> | --> | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF41]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 40: | Line 32: | ||
<!-- [[Category:SystemWideChange]] --> | <!-- [[Category:SystemWideChange]] --> | ||
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/ | * Targeted release: [https://docs.fedoraproject.org/en-US/releases/f41/ Fedora Linux 41] | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
Line 48: | Line 40: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* [Announced] | * [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/4RDATHT4WN4L2RCCNMJ4SU2FTC6PPKOO/ Announced] | ||
* [ | * [https://discussion.fedoraproject.org/t/f41-change-proposal-taskwarrior-3-self-contained/125531 Discussion thread] | ||
* FESCo issue: | * FESCo issue: [https://pagure.io/fesco/issue/3251 #3251] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2304175 #2304175] | ||
* Release notes tracker: | * Release notes tracker: [https://gitlab.com/fedora/docs/fedora-linux-documentation/release-notes/-/issues/120 #120] | ||
== Detailed Description == | == Detailed Description == | ||
Line 62: | Line 54: | ||
[https://github.com/GothenburgBitFactory/taskwarrior/releases/tag/v3.0.0 Taskwarrior version 3] has been recently released, but: | [https://github.com/GothenburgBitFactory/taskwarrior/releases/tag/v3.0.0 Taskwarrior version 3] has been recently released, but: | ||
* requires manual migration of user-data to use | |||
* completely changes the mechanism for syncing user data over multiple machines: it no longer supports [https://src.fedoraproject.org/taskd Taskserver] (which is no longer maintained) and moves to [https://github.com/GothenburgBitFactory/taskchampion-sync-server Taskchampion sync server] | |||
Upstream documentation on migrating to Taskwarrior version 3 is [https://taskwarrior.org/docs/upgrade-3/ here]. | Upstream documentation on migrating to Taskwarrior version 3 is [https://taskwarrior.org/docs/upgrade-3/ here]. | ||
Therefore, a traditional package update from Taskwarrior version 2 to version 3 will not work in this case, since it | Therefore, a traditional package update from Taskwarrior version 2 to version 3 will not work in this case, since it requires user intervention and breaks existing user workflows. | ||
This change will include Taskwarrior version 3 in Fedora in a way that allows users to manually migrate to it, while also providing them the option to remain on Taskwarrior version 2 as a compat package: | This change will include Taskwarrior version 3 in Fedora in a way that allows users to manually migrate to it, while also providing them the option to remain on Taskwarrior version 2 as a compat package: | ||
* introduce a task2 compat package in Fedora stable releases (<code>Fedora <= 40</code>) | |||
* task2 will obsolete <code>task <=2.x</code> in Fedora 39, 40 | |||
* update the task package to version 3 in F41 | |||
In this way, users | In this way, users currently using task will be seamlessly upgraded to the task2 package. | ||
When Fedora 41 is released, they will either be able to stay on task2 or manually upgrade to | When Fedora 41 is released, they will either be able to stay on task2 or manually upgrade to task (v3) after migrating their user data as required. | ||
(Thanks to Michel and the others on the [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/WVYRQM5LW4DZJIG54N5VYWRULRMOS2R5/ devel list for suggesting this method]) | Note that upstream is no longer developing/maintaining taskv2 or taskserver, but we will keep these in Fedora for a few releases to allow users time to migrate to taskv3. We will also package taskchampion-sync-server for taskv3 users to use. | ||
(Thanks to Michel and the others on the [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/WVYRQM5LW4DZJIG54N5VYWRULRMOS2R5/ devel list for suggesting this method]). | |||
== Feedback == | == Feedback == | ||
Line 118: | Line 112: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
** create a new compat task2 package in Fedora 39, 40 | |||
** update the task package in Fedora 41 to version 3 | |||
** package taskchampion-sync-server | |||
<!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the feature owners have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
Line 137: | Line 131: | ||
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://pagure.io/Fedora-Council/tickets/issues ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. --> | <!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://pagure.io/Fedora-Council/tickets/issues ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. --> | ||
* Alignment with the Fedora Strategy: the new version of Taskwarrior will make current Fedora users happy, and attract new users looking for a good TODO list manager | * Alignment with the Fedora Strategy: | ||
** the new version of Taskwarrior will make current Fedora users happy, and perhaps attract new users looking for a good TODO list manager to Fedora | |||
<!-- Does your proposal align with the current Fedora Strategy: https://discussion.fedoraproject.org/t/fedora-strategy-2028-february-march-planning-work-and-roadmap-til-flock/43618 ? It's okay if it doesn't, but it's something to consider --> | <!-- Does your proposal align with the current Fedora Strategy: https://discussion.fedoraproject.org/t/fedora-strategy-2028-february-march-planning-work-and-roadmap-til-flock/43618 ? It's okay if it doesn't, but it's something to consider --> | ||
Line 171: | Line 166: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* no special hardware is required | |||
* on Fedora 39/40, install the task package, use it a few times such that user config/data files are created | |||
* update system: ensure that task2 is installed and obsoletes the task package | |||
* upgrade to F41 when available: ensure that task2 remains and is not replaced by task (now version 3) | |||
* back up user data | |||
* manually migrate data as required by upstream before installing task (v3) | |||
* install task (v3) and confirm that it works as expected | |||
== User Experience == | == User Experience == | ||
Line 190: | Line 186: | ||
--> | --> | ||
* Users that use [https://src.fedoraproject.org/taskd taskserver] should remain on Taskwarrior version 2, since Taskwarrior version 3 no longer supports it. Taskwarrior version 3 uses [https://github.com/GothenburgBitFactory/taskchampion-sync-server Taskchampion sync server] and users will be required to migrate to it. | |||
* Users that use other synchronization methods may upgrade to Taskwarrior version 3 and take advantage of new features/fixes. | |||
== Dependencies == | == Dependencies == |
Latest revision as of 15:23, 14 October 2024
Taskwarrior 3
Summary
Update Taskwarrior to version 3.
Owner
- Name: Ankur Sinha "FranciscoD"
- Email: ankursinha AT fedoraproject.org
Current status
- Targeted release: Fedora Linux 41
- Last updated: 2024-10-14
- Announced
- Discussion thread
- FESCo issue: #3251
- Tracker bug: #2304175
- Release notes tracker: #120
Detailed Description
Taskwarrior is Free and Open Source Software that manages your TODO list from the command line. It is flexible, fast, and unobtrusive. It does its job then gets out of your way.
Taskwarrior version 2 is currently available to Fedora users, and has been for some time: task. Taskwarrior version 3 has been recently released, but:
- requires manual migration of user-data to use
- completely changes the mechanism for syncing user data over multiple machines: it no longer supports Taskserver (which is no longer maintained) and moves to Taskchampion sync server
Upstream documentation on migrating to Taskwarrior version 3 is here.
Therefore, a traditional package update from Taskwarrior version 2 to version 3 will not work in this case, since it requires user intervention and breaks existing user workflows.
This change will include Taskwarrior version 3 in Fedora in a way that allows users to manually migrate to it, while also providing them the option to remain on Taskwarrior version 2 as a compat package:
- introduce a task2 compat package in Fedora stable releases (
Fedora <= 40
) - task2 will obsolete
task <=2.x
in Fedora 39, 40 - update the task package to version 3 in F41
In this way, users currently using task will be seamlessly upgraded to the task2 package. When Fedora 41 is released, they will either be able to stay on task2 or manually upgrade to task (v3) after migrating their user data as required.
Note that upstream is no longer developing/maintaining taskv2 or taskserver, but we will keep these in Fedora for a few releases to allow users time to migrate to taskv3. We will also package taskchampion-sync-server for taskv3 users to use.
(Thanks to Michel and the others on the devel list for suggesting this method).
Feedback
This was discussed on the devel mailing list, which is where this method of upgrading the package was suggested.
Benefit to Fedora
Fedora users will be able to use the newest version of the Taskwarrior, which is what upstream are going to continue maintaining and improving.
Scope
- Proposal owners:
- create a new compat task2 package in Fedora 39, 40
- update the task package in Fedora 41 to version 3
- package taskchampion-sync-server
- Other developers: None
- Release engineering: None (apart from the usual new package creation tasks)
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy:
- the new version of Taskwarrior will make current Fedora users happy, and perhaps attract new users looking for a good TODO list manager to Fedora
Upgrade/compatibility impact
Upgrades will not automatically be updated to Taskwarrior version 3. Users will receive the task2 compat package and will need to manually update to the version 3 package.
Early Testing (Optional)
Do you require 'QA Blueprint' support? N (although normal testing of the package will be useful)
How To Test
- no special hardware is required
- on Fedora 39/40, install the task package, use it a few times such that user config/data files are created
- update system: ensure that task2 is installed and obsoletes the task package
- upgrade to F41 when available: ensure that task2 remains and is not replaced by task (now version 3)
- back up user data
- manually migrate data as required by upstream before installing task (v3)
- install task (v3) and confirm that it works as expected
User Experience
- Users that use taskserver should remain on Taskwarrior version 2, since Taskwarrior version 3 no longer supports it. Taskwarrior version 3 uses Taskchampion sync server and users will be required to migrate to it.
- Users that use other synchronization methods may upgrade to Taskwarrior version 3 and take advantage of new features/fixes.
Dependencies
None.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)
Upstream documentation on migrating to Taskwarrior version 3 is here: https://taskwarrior.org/docs/upgrade-3/