Ankursinha (talk | contribs) |
(adding release notes tracker) |
||
(15 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 == | ||
Line 29: | Line 22: | ||
== 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 39: | 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 47: | 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 55: | ||
* requires manual migration of user-data to use | * 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] and moves to [https://github.com/GothenburgBitFactory/taskchampion-sync-server Taskchampion sync server] | * 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>) | * 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 | * task2 will obsolete <code>task <=2.x</code> in Fedora 39, 40 | ||
* update the task package to version 3 in F41 | * 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 117: | 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 136: | 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 170: | 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 189: | 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/