From Fedora Project Wiki
(Init change page)
 
(Fill in change)
Line 7: Line 7:
<!-- 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 -->


= Change Proposal Name <!-- The name of your change proposal --> =
= Taskwarrior 3 =


{{Change_Proposal_Banner}}
{{Change_Proposal_Banner}}
Line 13: Line 13:
== 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.


== Owner ==
== Owner ==
Line 19: Line 21:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:FASAcountName| Your Name]]
* 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: <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 <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>
<!--- 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>
Line 54: Line 56:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
[https://taskwarrior.org 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: [https://src.fedoraproject.org/rpms/task task].
[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] 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].
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.
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 current 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.
(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 ==
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
This was discussed on the [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/WVYRQM5LW4DZJIG54N5VYWRULRMOS2R5/ devel mailing list], which is where this method of upgrading the package was suggested.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 86: Line 113:
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
     https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->
-->
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 ==
== 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
<!-- 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?-->


* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: None<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- What work do other developers 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 other developers 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?-->


* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: None (apart from the usual new package creation tasks) <!-- [https://pagure.io/releng/issues #Releng issue number] REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
Line 104: Line 137:
<!-- 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:  
* 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
 
<!-- 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 111: Line 145:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
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) ==
== Early Testing (Optional) ==
<!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. -->
<!-- This is an optional step for system-wide changes to avail of. If you would like to build an initial proof of concept of your change and have a member of Fedora QA help you write and/or run some initial basic tests on your code, please email tests@fedoraproject.org and include the link to your change proposal. This step is *optional*. -->


Do you require 'QA Blueprint' support? Y/N <!-- Optional Step for System-Wide Changes only -->
Do you require 'QA Blueprint' support? N (although normal testing of the package will be useful)<!-- Optional Step for System-Wide Changes only -->


== How To Test ==
== How To Test ==
Line 133: Line 170:


<!-- 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)
- 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 145: Line 189:
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
  - Green has been scientifically proven to be the most relaxing color. The move to a default background color of green with green text will result in Fedora users being the most relaxed users of any operating system.
-->
-->
- 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 ==
Line 150: Line 197:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
None.




Line 167: Line 216:
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)  
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 ==
== Release Notes ==

Revision as of 17:18, 9 July 2024

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.
Copy the source to a new page before making changes! DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.
Guidance
For details on how to fill out this form, see the documentation.
Report issues
To report an issue with this template, file an issue in the pgm_docs repo.


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

  • Name: Ankur Sinha "FranciscoD"
  • 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>


Current status

  • Targeted release: <VERSION>/ Fedora Linux <VERSION>
  • Last updated: 2024-07-09
  • [Announced]
  • [<will be assigned by the Wrangler> 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 will break 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 current 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.

(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 attract new users looking for a good TODO list manager


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