From Fedora Project Wiki
(Fill in change)
(announcing the change)
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}}
{{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/changes_guide/ documentation].}}
{{admon/tip | Report issues | To report an issue with this template, file an issue in the [https://pagure.io/fedora-pgm/pgm_docs pgm_docs repo].}}
<!-- 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 -->


Line 14: Line 8:
<!-- 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 17:
* 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 <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>
* 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:ChangePageIncomplete]]
[[Category:ChangeAnnounced]]
<!-- 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 33:
<!-- [[Category:SystemWideChange]] -->
<!-- [[Category:SystemWideChange]] -->


* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f<VERSION>/ Fedora Linux <VERSION>]
* 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 41:
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]
* [<will be assigned by the Wrangler> Discussion thread]
* [https://discussion.fedoraproject.org/t/f41-change-proposal-taskwarrior-3-self-contained/125531 Discussion thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
Line 62: Line 55:
[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
* 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] 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 will break existing user workflows.
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 current using task will be seamlessly upgraded to the task2 package.
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 task3 after migrating their user data as required.
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])
(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 111:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
 
** create a new compat task2 package in Fedora 39, 40
- create a new compat task2 package in Fedora 39, 40
** update the task package in Fedora 41 to version 3
- update the task package in Fedora 41 to version 3


<!-- 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 129:
<!-- 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 164:
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


- no special hardware is required
* 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
* 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
* 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)
* upgrade to F41 when available: ensure that task2 remains and is not replaced by task (now version 3)
- manually migrate data as required by upstream before installing task (v3)
* back up user data
- install task (v3) and confirm that it works as expected
* 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 184:
-->
-->


- 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 [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.
* 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 16:22, 12 July 2024


Taskwarrior 3

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Update Taskwarrior to version 3.

Owner

Current status

  • Targeted release: Fedora Linux 41
  • Last updated: 2024-07-12
  • Announced
  • Discussion thread
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

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 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.

(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


  • 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/

Release Notes