Planning v5.4.0
This ticket is intended for discussion about the project plan for v5.4.0. See https://talk.tiddlywiki.org/t/tw2036-planning-for-v5-4-0/12450 for the background discussion.
There is a GitHub Project here which constitutes the definitive project plan:
https://github.com/orgs/TiddlyWiki/projects/4/views/2
Feedback and updates welcome.
Note that with v5.4.0 we are adopting ECMAScript 2017 as our base JavaScript version. PRs for v5.4.0 are encouraged to adopt the new features that are now available.
- #8732
- #8957
- #7744
- #6176
- #8753
- #8891
- ~~This requires #8905 to be solved~~
- #8532
- This increases core size significantly, we need a solution to this problem (like introducing tools for removing the comments)
- #9068
- #9064
- #4262
- #9077 (confirmed ES2017)
- #7353
Relevant PRs
- #9103
- #8891
- #8365
- #8966
- #8695
- #7175
- #7297
- #8677
- #8534
- #8228
- #8922 I think fixing this one is acceptable in v5.4.0.
- #5192
- We need to first purge the docs about IE, perhaps also remove IE related code.
- #8810
- #7542
- #8365 We already missing the AI wave for 3 years.
* This increases core size significantly, we need a solution to this problem (like introducing tools for removing the comments)
I will make it a core plugin instead. It works for WYSIWYG editor to support visual editing of widget and macros, or AI to auto write wikitext. Not for people don't use these features.
Added a note to the OP:
Note that with v5.4.0 we are adopting ECMAScript 2017 as our base JavaScript version. PRs for v5.4.0 are encouraged to adopt the new features that are now available.
Note that with v5.4.0 we are adopting ECMAScript 2017 as our base JavaScript version. PRs for v5.4.0 are encouraged to adopt the new features that are now available.
There is an overview table, which lists all the newly implemented functions for the different ES versions.
- https://compat-table.github.io/compat-table/es2016plus/
IMO ES2016 and ES2017 do not contain much, that would really improve our code.
I think ES2018 and ES2020 contain 2 features that would really improve our core code.
- ES2018 introduced object rest/spread properties and
- ES2020 introduced optional chaining operator (?.)
- #8130
- #9169
- #7112
- #9131
- #6839 This one is worth implementing in v5.4.0, since using
scripttags are safer and has more features (like async) - #9275
- #9253
- #9169
- #9167
- #9154
- #9313
- #9293
- #9218
- #8732
- #9155
- #5512
- #9003
Thanks @Leilei332. I've added #9155 and #5512 to the plan.
In the case of both #8732 and #9003, I've added them to the plan for v5.4.0 but realistically these can only be merged if one of the following happens:
- Another contributor takes over these PRs
- Another contributor takes over enough other PRs to give me the time to complete them
- We strip these PRs back to the point of consensus
- We merge incomplete-but-useful PRs like this, flagging them with a new label indicating that the features themselves are subject to change. The rationale would be that most of these features are relatively arcane, and realistically only likely to be used by developers who know what they are doing
We have recently set up a GitHub project for planning v5.5.0 where we can keep PRs that don't make the cut for v5.4.0: https://github.com/orgs/TiddlyWiki/projects/10
Obviously the trade-off in all this is between the release date and the feature list. I favour time boxing, where we decide on the release date and then cut our cloth to fit the date. Leftover functionality goes into v5.5.0, and above all we keep up a regular schedule of releases so that we can avoid the present demotivating effect of contributor's PRs languishing for so long.
Since GitHub PRs supports assigning, I think we should encourage contributors to maintain some incomplete PRs in this repository. We may label some PRs as maintainer needed.
Please note that the last date for submitting changes for consideration for TiddlyWiki v5.4.0 is January 30th, 2026. Please see https://github.com/TiddlyWiki/TiddlyWiki5/issues/9429