Ship Log
Changelog archive: 2.20 to 2.10
Older entries, newest first, kept word for word as they were written.
Versions 2.20 down to 2.10 are on this page. The recent versions are in the changelog, and 2.9 back to 0.1 are in the first archive.
Version 2.20
Not yet checked in a real browser: this release changed no JavaScript, only the text of the example in example.js and this page, and it was read rather than watched running.
- "Fill with an example" now fills in the version 2.19 entry of this tool, with the 2.18 entry pasted into step 4 below it. The example had been sitting at 2.17 since that release, so pressing the button showed neither the button that opens a cut "was:" hint nor the copy in step 1 that names it, and its "next up" line pointed at a job that was already done.
- The example's three lines now describe the 2.19 work: a long old line under an "edited" row used to be cut to 40 characters with the rest left in a title attribute, which only appears while a pointer rests on it, so a touch screen could not read it at all — that cut hint is now a small button that shows the whole old line in place and cuts it back again, while an old line short enough to fit stays plain text with nothing to press.
- Its known-problems line stays honest about what is untested and still a guess, and its "next up" line now points at real work that is still ahead: refreshing this example by hand with every release is work that keeps falling behind, so the plan is either to generate its text from the page itself or to shrink it to one short line.
- Only example.js and this page changed. Nothing about how the tool writes: the entry, the snippet, the page, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons behave as they did in 2.19.
Known problems: not yet checked in a real browser; no behaviour changed in this release, so the untested parts are the same ones as in 2.19 and are listed below it; the example is written by hand, so it is not generated from this changelog and still has to be refreshed with each release — this release is another of those refreshes, and it is one release old again as soon as the next one ships (fixed in 2.21); an opened old line stays open when you reword that row, and closes only when you press it again or the tag clears; the tags and the tick state are held in memory only, so reloading the page starts again; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the lines-to-move hint and the hype check still count items longest first, so the lines they put in front of you are the long ones and not the old ones — the hint says so plainly, but a short line that belongs in an older version is still not named; the rendered preview's colours and spacing come from this page; the public update still names at most the first three ticked items and counts the rest.
Version 2.19
Not yet checked in a real browser: the change was read from the code rather than watched running.
- The old line shown under a row tagged "edited" had no way to be read in full on a touch screen. A long old line is cut to 40 characters with an ellipsis to keep the row short, and the whole line sat in a title attribute, which only appears while a pointer rests on the hint — a phone or a tablet never does that, so the rest of the old line could not be reached there at all.
- A cut hint is now a small button. Pressing it shows the whole old line in place, at the width of the row; pressing it again cuts the hint back to 40 characters. It also carries its open or closed state, so a screen reader can announce it. An old line short enough to fit is unchanged: it was never cut, so it stays plain text with nothing to press.
- The row is still reused rather than rebuilt, so the button keeps its place, its keyboard focus and its open state while you type in step 1, and the old line it shows updates as the row is reworded again. The hint remains one text node: nothing you type is ever turned into markup.
- The line in step 1 about the new and edited tags now says the old line is cut short when it is long and that the whole of it is one press away, so the control can be found rather than stumbled on. The small stylesheet gained the button's own look — a dashed outline when closed, a solid one when open — and nothing else about it changed.
- Only app.js, style.css, index.html and this page changed. The texts, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons behave as they did in 2.18.
Known problems: not yet checked in a real browser; the example behind "Fill with an example" still filled in this tool's 2.17 release, so it was two releases behind again and refreshing it by hand each release was work this release did not do (fixed in 2.20); an opened old line stays open when you reword that row, and closes only when you press it again or the tag clears; the tags and the tick state are held in memory only, so reloading the page starts again; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the lines-to-move hint and the hype check still count items longest first, so the lines they put in front of you are the long ones and not the old ones — the hint says so plainly, but a short line that belongs in an older version is still not named; the rendered preview's colours and spacing come from this page; the public update still names at most the first three ticked items and counts the rest.
Version 2.18
Not yet checked in a real browser: this release changed no JavaScript, only the text of the example in example.js and this page, and it was read rather than watched running.
- "Fill with an example" now fills in the version 2.17 entry of this tool, with the 2.16 entry pasted into step 4 below it. The example had been sitting at 2.16 since that release, so pressing the button showed neither the hunt for the shadowing bug nor the reworked explanation in step 2, and its "next up" line pointed at a job this release had already done.
- The example's three lines now describe the 2.17 work: every function in app.js and preview.js being read in full to check whether any argument or local is named after a helper in the same file, the way one was in 2.14, and step 2's explanation of the word count being split from a single paragraph of over 150 words into a lead line and three bullets.
- Its known-problems line stays honest about what is untested and still a guess, and its "next up" line now points at real work that is still ahead: the full old line behind a cut "was:" hint can only be read by pointing at the hint, which a touch screen never does, so that needed another way to be shown.
- Only example.js and this page changed. Nothing about how the tool writes: the entry, the snippet, the page, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons behave as they did in 2.17.
Known problems: not yet checked in a real browser; no behaviour changed in this release, so the untested parts are the same ones as in 2.17 and are listed below it; the example is written by hand, so it is not generated from this changelog and still has to be refreshed with each release — this release is another of those refreshes, and 2.19 notes that it is now two releases behind (fixed in 2.21); the hint still counts items longest first, so the lines it puts in front of you are the long ones and not the old ones — it says so plainly, but a short line that belongs in an older version is still not named; the full old line behind a cut "was:" hint was only shown by pointing at the hint, which a touch screen does not do (2.3; fixed in 2.19); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.17
Not yet checked in a real browser: this release changed no JavaScript, only the copy in index.html and this page, and it was read rather than watched running.
- The shadowing bug fixed in 2.14 was hunted for across the rest of the code. Every function in preview.js and app.js was read in full, and every argument and local variable in each one was checked against the helpers declared in the same file — a local of the same name would shadow a helper exactly as
wordsdid in 2.14. No second instance was found: the argument names in both files are distinct from all helper names, so no other sentence or count can throw that way. That was found by reading the code, not by running it. - Step 2's explanation was one paragraph of over 150 words — in a tool that warns you when a changelog line runs past 140 characters. It is now a short lead line and three bullets: what the plain count says for an entry under 150 words, what the sum says when there are item lines to spare, and what it says when the item lines cannot cover the words the entry is over by. Same facts, in the shape the rest of step 1 already uses.
- The footer of the tool now links to the archive of older versions as well as to this page. This page has linked to the archive since 2.14, so a reader who came to the changelog from the tool had one more link to find; now both are one click from the tool itself.
- Only index.html and this page changed. Nothing about how the tool writes: the entry, the snippet, the page, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons behave as they did in 2.16.
Known problems: not yet checked in a real browser; no behaviour changed in this release, so the untested parts are the same ones as in 2.16 and are listed below it; step 2 is a little taller now that its explanation is a list rather than one paragraph; the example behind "Fill with an example" still filled in the 2.16 entry, so it was one release behind and its "next up" line named the work this release had just done (fixed in 2.18); the hint still counts items longest first, so the lines it puts in front of you are the long ones and not the old ones — it says so plainly, but a short line that belongs in an older version is still not named; the example is written by hand, so it is not generated from this changelog and has to be refreshed with each release (fixed in 2.21); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.16
Not yet checked in a real browser: this release only changed wording, and it was read rather than watched running.
- The lines-to-move hint under the word count in step 2 no longer calls the longest lines the ones to move. It still adds up the item lines longest first until they cover the words the entry is over 150 by, because that is the one way it can put a number on a move — but that ordering was being read as advice about which lines belong in an older version, and length is not something this page can know that from.
- Its three sentences now say so. Each one names the lines it counted, the words those lines would take out and the weight that would be left, and then says plainly that which lines to move is your call, since the lines that belong in an older version are usually the oldest rather than the longest. The numbers, the branch that speaks for an entry whose item lines cannot cover the words over the limit, and the advice about the known-problems line are unchanged.
- The copy that described that hint was reworded to match: step 2's paragraph now says the count adds up a sum rather than picking lines for you, and the line in step 4 now says that the entries pasted there are where the lines you decide to move out of step 1 go, not lines this page names for you.
- The example behind "Fill with an example" now fills in this 2.16 entry, with the 2.15 entry pasted into step 4 below it, so it describes the last release of this tool again instead of the one before it. Only preview.js, index.html, example.js and this page changed: the texts, the tags, the tick state, the rendered preview, the plain word count, the hype check and the copy buttons behave as they did in 2.15.
Known problems: not yet checked in a real browser; the hint still counts items longest first, so the lines it puts in front of you are the long ones and not the old ones — it says so plainly now, but a short line that belongs in an older version is still not named; the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file, but it is not generated from this changelog (fixed in 2.21); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.15
Not yet checked in a real browser: this release only changed text, and it was read rather than watched running.
- "Fill with an example" now fills in the version 2.14 entry of this tool, with the 2.13 entry pasted into step 4 below it. The example had been sitting at 2.12 since 2.13, so it showed neither the step 4 copy work of that release nor the lines-to-move fix of 2.14, and its "next up" line pointed at a job that was already done — the one known problem the 2.14 entry listed about the example itself.
- The example's three lines now describe the 2.14 work: the helper inside the lines-to-move hint that was shadowed by one of that function's own argument names, which made the honest sentence for a long entry whose item lines cannot fix it throw instead of print, and the splitting of this changelog into one page of recent versions with an archive of everything older. So the example and the page agree again.
- Its known-problems line stays honest about what is untested and still a guess, and its "next up" line points at the next planned work: making the lines-to-move hint stop calling the longest lines the ones to move, since the line that belongs in an older version is the one you know is older.
- Only example.js and this page changed. The tool's behaviour is exactly as it was in 2.14: the texts in the page, the tags, the tick state, the rendered preview, the plain word count, the lines-to-move hint, the hype check and the copy buttons are untouched.
Known problems: not yet checked in a real browser; the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file now, but it is not generated from this changelog, so each release it is one more chance to fall behind, and 2.15 exists only because it had fallen two releases behind (fixed in 2.21); the lines-to-move hint called the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.14
Not yet checked in a real browser: this fix was found and verified by reading the code.
- Fixed a real bug in the lines-to-move hint under the word count in step 2, in the branch that speaks when the item lines alone cannot bring a long entry back under 150 words. The function behind that sentence took its own second argument as
words, which shadowed the small helper of the same name a few lines above it in the same file, so the two calls to that helper inside it threw "words is not a function" and the sentence could never be printed. - The argument is now called
total— the same number it always was — so the helper is reached again and the honest sentence appears as written: for an entry whose item lines cannot take out enough words, whether because there are none or because they are too few and too short, it says so, gives the weight that would be left, gives the word count of the known-problems line that cannot be moved into an older entry, and suggests shortening that line or splitting the release into two versions. - That is the branch the copy in step 2 and step 4 has been promising since 2.9, so those two texts are true as written now. The error also broke the rest of the redraw it was thrown from: whenever the entry was long and the item lines could not fix it, the hint kept whatever it had said before instead of updating. Nothing else changed: the texts, the tags, the tick state, the rendered preview, the plain word count, the hype check and the copy buttons behave as they did in 2.13.
- This changelog page is now split in two. Versions 2.14 down to 2.8 stay here and everything older moved to changelog-archive.html, linked above and at the bottom, so the page opens faster and reads as one page of recent work instead of a single 51 KB wall of every release since 0.1. Every older entry was moved word for word; nothing was rewritten, shortened or dropped.
Known problems: not yet checked in a real browser, so the fix is read from the code and not watched running; the changelog is two pages now, so a reader who wants the older entries follows one more link; the lines-to-move hint calls the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the example that "Fill with an example" fills in is written by hand, so it describes the last release of this tool and not your own version, and its "next up" line names work that has since been done (fixed in 2.15); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.13
Not yet checked in a real browser.
- "Fill with an example" now fills in the version 2.12 entry of this tool, with the 2.11 entry pasted into step 4 below it. The example had been sitting at 2.10 since 2.11, so it showed neither the step 1 copy work of that release nor the naming added in 2.12, and its "next up" line pointed at a job that was already done.
- The example's three lines now describe the 2.12 work — the hype check in step 7 naming up to three of the items over 140 characters, each cut short at 40 characters with its own character count, and counting the rest — so the example and the page agree again.
- Its known-problems line stays honest about what is untested and still a guess, and its "next up" line now points at the next planned work: saying in step 4 where the older lines named by the word-count hint are meant to go.
- Only example.js and this page changed. The tool's behaviour is exactly as it was in 2.12: the texts, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons are untouched.
Known problems: not yet checked in a real browser; the example that "Fill with an example" filled in still described the version 2.12 release, so its "next up" line pointed at the step 4 copy work the next release then did, and the 2.14 lines-to-move fix was missing from it (fixed in 2.15); the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file now, but it is not generated from this changelog (fixed in 2.21); the lines-to-move hint calls the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.12
Not yet checked in a real browser.
- The hype check in step 7 now names the lines it counts when items run past 140 characters. It used to say how many items were too long and stop there, which in a list of twenty lines leaves you hunting for the one it means and says nothing about which of them to split.
- It now lists up to three of those lines, each cut short at 40 characters with its own character count, and counts the rest of them, so the longest lines are visible right next to the warning. A cut line ends in an ellipsis and is cut at a word boundary where there is one — the same treatment the lines-to-move hint under the word count in step 2 gives the lines it names.
- It still only names lines: it changes nothing in step 1 and moves nothing, and the wording stays one short paragraph however many long lines there are.
- Only app.js and this page changed. The texts, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint and the copy buttons behave as they did in 2.11.
Known problems: not yet checked in a real browser; "Fill with an example" still filled in the version 2.10 entry of this tool, so the example was two releases behind — it showed neither the step 1 copy work of 2.11 nor the naming added here, and its "next up" line pointed at a job that was already done (fixed in 2.13); the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file now, but it is not generated from this changelog (fixed in 2.21); the lines-to-move hint calls the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.11
Not yet checked in a real browser.
- "Fill with an example" now fills in the version 2.10 entry of this tool, with the 2.9 entry pasted into step 4 below it. The example had been sitting at 2.9 since 2.10, so its "next up" line pointed at the step 1 copy work this release has just done, and pressing the button showed a picture of the release before.
- Step 1's copy about the item list is now in three parts instead of one long paragraph: a line saying what the tick boxes and the arrows do, then a short list giving one line to each of the four buttons (Tick all and Untick all, Mark as read, Tick the tagged lines), then a paragraph on how the new and edited tags are decided. The old paragraph named the four buttons and the whole matching rule in a single run-on sentence, so the part you needed was hard to find.
- The line under the example button now says what the example is — this tool's own last release, with every text filled in — and what Clear does, instead of one sentence covering both buttons.
- Only index.html, style.css, example.js and this page changed. Nothing about how the tool writes: the entry, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons behave as they did in 2.10.
Known problems: not yet checked in a real browser; the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file now, but it is not generated from this changelog (fixed in 2.21); the lines-to-move hint calls the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the hype check counted items over 140 characters but did not name which lines they were (fixed in 2.12); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Version 2.10
Not yet checked in a real browser.
- "Fill with an example" now fills in the version 2.9 entry of this tool, with the 2.8 entry pasted into step 4 below it. The example had been sitting at 2.7 since 2.8, so it showed the release before the step 2 wording work, and its "next up" line pointed at a job that release had already done.
- The example's three lines now describe the 2.9 work — step 2's copy naming the case where the item lines cannot fix a long entry on their own, and the word count of the known-problems line being the one part that cannot be moved into an older entry — so the example and the page agree again.
- Its known-problems line stays honest about what is untested and still a guess, and its "next up" line now points at the next planned work: clearer wording in step 1 about what the example is and what its four buttons do.
- Only example.js and this page changed. The tool's behaviour is exactly as it was in 2.9: the entry, the tags, the tick state, the rendered preview, the word count, the lines-to-move hint, the hype check and the copy buttons are untouched.
Known problems: not yet checked in a real browser; the example that "Fill with an example" filled in still described the version 2.9 release, so its "next up" line pointed at the step 1 copy work the next release then did (fixed in 2.11); the example is written by hand, so it describes the last release of this tool and not your own version, and it has to be refreshed with each release — it is one small file now, but it is not generated from this changelog (fixed in 2.21); the lines-to-move hint calls the longest lines the ones to move, which is a fair guess but not always the right one — the line that belongs in an older version is the one you know is older, not necessarily the longest (fixed in 2.16); the rendered preview's colours and spacing come from this page; a line rewritten in completely new words still reads as "new" and starts ticked (1.9); the full old line behind a cut "was:" hint is only shown by pointing at the hint, which a touch screen does not do (2.3); the public update still names at most the first three ticked items and counts the rest; the tick state and the tags are held in memory only, so reloading the page starts again.
Versions 2.9 and earlier are in the first archive, and the recent versions are in the changelog.