Skip to content

release 2.9.4#284

Merged
YakovL merged 136 commits intomasterfrom
dev
May 23, 2023
Merged

release 2.9.4#284
YakovL merged 136 commits intomasterfrom
dev

Conversation

@YakovL
Copy link
Contributor

@YakovL YakovL commented May 9, 2023

This PR is created to encourage releasing 2.9.4. Main todos before release:

  • decide whether this should be 2.9.4 or 2.10.0 → 2.9.4
  • bump version (Version.js, package.json), tag commit

Pre-releasing:

  • gather changelog (see example)
    • summarize changes that affect lingo, if any
    • summarize backward compatibility and deprecation details, if any
    • summarize changes and add thanks (at least some of them), see example
  • build core, announce in GG and Tg and attach it, mention SimplifiedUpgradingPlugin, which now supports MTS 1.7.0+, changes summary
  • beta-test (get feedback from at least 3 users) → ok, let it be 2 before merge this time
    • SimplifiedUpgradingPlugin: test the "saving once" approach to get rid of the txtWaitSavingSeconds option (no confusions about big TWs) and speed up the process → published v0.5.0
    • test saving TW with MainTiddlyServer, prepare an update of supported versions → 1.7.2 release
  • merge
    • benchmark: 2 weeks between the start of this PR and merge

After this is merged:

  • create GH release (from tag), attach built files → 2.9.4
  • update site (index core, test.html, download, archive, may be content of index – HowToUpgrade, WhatsNew, etc)
    • make the update-site-new-release GitHub Action actually commit all the updates
    • fix: DarkModePlugin causes "are you sure to abandon changes?" dialog on close
  • announce the release (mention HowToUpgrade and ExtensionsExplorerPlugin to get updates of SUP and more)

After the release:

Things that I would like to add to the release very much, but better go to the next one:

  • async saving, disabled by default (this release only has async loading original in saving, disabled by default)
  • substitute jQuery in repo with jQuery as a package dependency (for easy version bumps/experiments)

YakovL added 30 commits July 18, 2022 01:58
@YakovL
Copy link
Contributor Author

YakovL commented May 9, 2023

Here's the full changelog that may be summarized in the release:

  • features, hackability:
    • ed03073 feature: introduce tw.io.xhrLoadFile, extend loadFile (sync xhr), introduce tw.io.loadFile (supports async)
    • 5a31293 feature: extend loadOriginal to support async
    • edcd6b3 feature: support async loading in saving (disabled by default)
    • 7378ec7 feature: support async loading in upgrading, stage 2 (upgradeFrom)
    • 0242667, adc49c4 hackability: introduce tw.io, extract end of saving main into onSaveMainFail and onSaveMainSuccess
      • warning: with savers like Timimi (async without "callbacks") they are called before saving (as previously) and give false positive behavior
    • ae97f14 hackability: turn onStartUpgrade into a config.macros.upgrade method
  • UI:
    • 1204eff reduce page header size
    • 76b32bf popups: fix style of the fields Popup when there's no fields
    • f5c8694 popups: fix style of the macro error Popup content
    • 553bb7e popups: make popups have usual bg color, not gray
    • f8c5772 tables: remove the thick extra border around tables
    • ded01a0 tables: use proportional paddings in table cells
    • 045bfc1 tables: use th instead of td inside thead
    • 817f6b4 tables: remove borders from th, use TertiaryLight for td (and tr)
    • fb5227b tables: remove horizontal margin from ordinary tables
    • 8291398 tables: make table captions smaller and dimmer than the main text
    • 258fee3 sparse tags and tagging lists
    • a1450fa improve layout in wizard
    • bc44b64 listView: align text in header cells to the left
    • 4a7594d listView: normalize font size, cell paddings
    • c9c232d listView: make header sticky
    • 2061440 improve padding of the javascriptWarning (Win preview and others)
    • 65977fe add label element around 'Show unknown options'
  • fixes:
  • infra:
    • 4ca99af make build tools work when project path has spaces
    • 3b579a1 update linting for tests, add positive test for String.encodeTiddlyLinkList
    • 423c8c6 introduce a couple of spacing rules (already fixed)
    • 4edef70 fix scope of 'dev' linting rules
    • ccc4bc2, 5ef10ad bump eslint env for build and test to es2016, remove var from Strings.js tests
  • docs:
    • cebf3f6 update readme
    • e3378a5 fix Tables Formatting examples
    • 37ae939 update PHP server for Android recommendation (one that works on v10+)
    • 7396ab7 update SimpleSearchPlugin to support dynamic change of ColorPalette
    • b268958 add DarkModePlugin (1.3.1)
    • 41493ba PeriodicTable showcase: use another table for notaion
    • bc8fdf8 fix grammar in build readme, add link to site GitHub Workflows
    • d17559e add Filters tiddler
    • d7e727a fix a typo
  • codestyle, refactoring (finished the first wave of codestyle updating: npm run lint shows no errors, but linting rules themselves are not finished):
    • 808f93f codestyle, refactoring: update FileSystem.js
    • 6ed37da codestyle: update Sync.js (part 1)
    • 67fd973 codestyle: add lint rule to force whitespace after 'key:' before value
    • 4145154, 4060ccd codestyle: update TiddlerFields.js
    • c4fec16 codestyle: small update of main.js
    • d024f5d, 75ca621, 0d812c5, 4368da4 codestyle, refactor: update Toolbar.js
    • ef25540 codestyle: fix 'key: value' spacing in several files
    • 6176517 codestyle: update Utilities.js
    • 033de4b, db2c468 codestyle, refactor: update Tiddler.js
    • 173047c codestyle, refactor: update Search.js
    • aa1f6d3 codestyle: update Messages.js
    • d28dab0, 8bee150 codestyle, refactor: update Manager.js
    • af9613c, 360a6ba, 69b1074 codestyle, refactor: update Options.js
    • 125305d codestyle: update BasicTypes.js + add deprecation todos
    • 5fe4733 codestyle: update Lingo.js
    • 35e245b codestyle, refactor: update Filters.js
    • 6ccf3c9 codestyle: update Config.js
    • 77c9bcb, b5c9c77, d6aa917, d023406, 3b579a1 codestyle, refactor: update Strings.js
    • ebf0320, 3acef00, 93f2e06, daa9e64 codestyle, refactor: update Macros.js
    • b5ad5fa codestyle: update Dom.js
    • 5718dad, 1df02a4 codestyle, refactor: update Import.js
    • 887fd57 codestyle, refactor: update Backstage.js
    • 99626fc codestyle: update FormatterHelpers.js
    • bbee565 codestyle: update AdaptorBase.js
    • 7b449d1, 42b20af codestyle, refactor: update ListView.js
    • 00de2f2, 8783367, 181cfb2, ea963ce codestyle, refactor: update Story.js, linting (switch: expect indentation inside)
    • f97d1cf refactor: remove tests of deprecated Numbers.js, remove unused non-deprecated Numbers.js; update codestyle of deprecated Numbers.js
    • 73f1599 refacor: deprecate string.right, rewrite rgb.toString
    • 294e898 refactor: string.unDash -> local function, deprecate
    • 3ad5ad8 refactor: remove test of the deprecated string.right
    • 6af748a, 155c7c0 refactor: use bouncer in String.prototype.parseParams' parseToken
    • 1a29c78 refactor: introduce window.tw, refactor string.getChunkRange into tw.textUtils.getChunkRange and deprecate
    • 0351967 refactor: deprecate String.prototype.getChunk
    • 0d04546, f5fc0cb, 2727c94, bc31b55 codestyle, refactor: update Saving.js
    • 0242667, e2183ae, 4512d53 refactor: introduce tw.io, extract end of saving main into onSaveMainFail and onSaveMainSuccess
    • 7a6fc8a refactor: remove long unused saveUsingSafari var
    • cefc1e9 refactor: string.replaceChunk -> tw.textUtils.replaceChunk, deprecate old
    • 477dfe2 refactor: remove js/Crypto.js long unused in recipes (deprecated/Crypto.js is used instead)
    • a87e45f, 9b0db4a, f9efa98, 3cc2055, f29ee3f codestyle, refactor: update TiddlyWiki.js
    • b576b91 refactor: remove duplicated tests of Arrays, use the BasicTypes module, consistent with core file naming
    • 80a1474 codestyle: fix comment in deprecated/Utilities.js, lint it
    • 52bfda3 refactor: move backstage-related bits in config closer to each other
    • 9dd6b76 refactor: use bouncing in saveMain (separate 'not saved' case)
    • 62943a0 codestyle, refactoring: minor improvements in Upgrade.js
    • baebfda codestyle: introduce semi lint rule, fix all
    • 4ed3d05 codestyle: introduce space-before-blocks lint rule, fix all
    • bae6c7d codestyle: update Commands.js
    • d2eba1a refactor: substitute gradient macro in header with CSS gradient (won't work in IE 6-9)
    • 4aa4f9e refactor: use createTiddlyText
    • 25c208c codestyle: a minor update in Messages.js
    • 99dc2b3 codestyle: update Deprecated.js
    • 1c7396b codestyle, refactor: minor updates
    • 9bab698, a488028 refactor: substitute usages of String.trim with jQuery.trim where appropriate
    • 37cdeeb codestyle, refactor: minor updates of compareVersions, invokeMacro
    • 2cf613e codestyle: add 4 missing spaces
    • 52e4dbf codestyle, refactoring: update styleArea
    • d827013 codestyle: lint some parts in Sync.js
    • 54abc9b refactor: use || for defaults in Sync.js
    • 7f1bc06 refactor: h1-h6 don't need background: transparent
    • 2eb045f codestyle: reduce line lengths in Lingo.js
    • 6990f19 codestyle: reduce line lengths
    • d75345d codestyle: split some more lines in Lingo to reduce their length
    • d27b09a refactor: remove the always-true check of the core code

@YakovL YakovL changed the title release 2.9.4 (or 2.10.0) release 2.9.4 May 9, 2023
@YakovL
Copy link
Contributor Author

YakovL commented May 11, 2023

Changes that affect lingo:

  • 65977fe (introduces <label> element; todo: lingo should have minimum of html/markup/ui bits; when updating, keep in mind that changes should hurt existing translations – this one doesn't)
  • edcd6b3 (description of the new chkPreventAsyncSaving option)

Changes that might affect backward compatibility:

  • 1204eff reduce page header size (if one used a custom theme that relied on the header size)
  • d2eba1a refactor: substitute gradient macro in header with CSS gradient (won't work in IE 6-9)
  • 52e4dbf removes unused style #storeArea div {padding:0.5em; margin:1em 0em 0em 0em; border-color:#fff #666 #444 #ddd; border-style:solid; border-width:2px; overflow:auto;} (not sure why this may be even needed: #storeArea is always hidden anyway)
  • 7f1bc06 removes unused style background:transparent for h1-h6 (may be a fix for some old browsers, but this doesn't produce any effect)
  • 7a6fc8a removes long unused saveUsingSafari var
  • d27b09a removes the always-true check of the core code (again, not sure why this may be needed, a plugin will hardly remove or change type of saveRss)
  • for developers: removed files unused in recipes that have deprecated "twins": 477dfe2 (js/Crypto.js), f97d1cf (js/Numbers.js)

Deprecations:

  • 73f1599 String.prototype.right, 294e898 String.prototype.unDash (substituted with local functions)
  • 1a29c78 String.prototype.getChunkRange, cefc1e9 String.prototype.replaceChunk (substituted with tw.textUtils.getChunkRange, tw.textUtils.replaceChunk)
  • 0351967 String.prototype.getChunk (no substitution: no usage in the core)
  • this time it is a very "shy" deprecation policy, much more methods should be deprecated later.

@YakovL
Copy link
Contributor Author

YakovL commented May 11, 2023

UI updates:

  • improved tables styles: lighter borders and captions to make content stay forward; align the left like the code (pre) elements; paddings are now proportional to the font size:

image
image
image

  • listView tables (import, plugins, fields, etc): normalized font size, cell paddings; aligned text in header cells to the left; made header sticky:

image

  • popups now have the same background color instead of gray; fields and macro error popup now have correct padding:

image
image

  • reduced page header height (rather reservedly, in my custom styles I shrink them even more, but that may be not the nice for everybody):

image

  • sparsed tags and tagging lists (I don't think that look good at all, especially the bg color that's too dense; this is a temporal improvement)

image

  • improved padding of the javascriptWarning (Win preview and others; yeah, they should be improved to look less obsolete and aggressive, and at the same time they are not that important):
    image

  • a couple of other minor updates.

There are many more improvements to add, take for instance border-radius of elements, especially those with shadows; or inputs that still look mediocre, but hey, there'll be more releases.

@YakovL
Copy link
Contributor Author

YakovL commented May 11, 2023

Changes summary:

  • features, hackability:
    • added async loading into saving (disabled by default: unset chkPreventAsyncSaving to enable)
      • this is the first stage of implementing fully async saving (however, most savers will have to support it separately)
      • extended loadFile, loadOriginal to support async loading (and introduced tw.io.xhrLoadFile, tw.io.loadFile)
      • reportedly, it even improves performance of saving in some cases
    • added async loading into upgrading, stage 2 (upgradeFrom)
    • hackability: extracted end of saving main (messages of success/failure) into tw.io.onSaveMainFail and tw.io.onSaveMainSuccess
      • warning: savers like Timimi (async ones that don't support "callbacks") call these before saving and give false positive behavior (as it was previously)
    • hackability: turned onStartUpgrade into a config.macros.upgrade method
  • UI: see above (mostly tables and popups; also reduced page header)
  • fixes:
    • saving a tiddler from story when renaming to an existing one shouldn't result in 2 tiddlers (Bug: renaming a tiddler to an existing one #146)
    • store.saveTiddler should rename tiddler when newTitle is provided
    • store.saveTiddler should allow falsy newTitle (meaning "don't update")
    • upgrading should start correctly (was broken in 2.9.3)
  • infra:
    • fix: make build tools work when project path has spaces
    • more linter rules, including for tests and building scripts
    • clean up some duplicated/unused autotests
  • docs (not published yet):
    • added [[Filters]]
    • updated [[PeriodicTable]] showcase and [[Tables Formatting]] examples
    • updated PHP server recommendation for Android 10 and later
    • added DarkModePlugin
    • in build readme, added link to site GitHub Workflows
  • codestyle, refactoring: finished the first wave of codestyle updating: added some eslint rules, npm run lint shows no errors, but linting rules themselves are not finished. Some code bits are now considerably more readable and easier to understand.

@YakovL YakovL merged commit cfc30c5 into master May 23, 2023
@YakovL YakovL mentioned this pull request Dec 19, 2023
33 tasks
@YakovL YakovL mentioned this pull request Jan 14, 2024
13 tasks
@YakovL YakovL mentioned this pull request Jan 28, 2024
63 tasks
@YakovL YakovL mentioned this pull request Dec 12, 2024
35 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments