The change log entry I just wrote for Kitten¹:
- __Faster tests__
The tests (unit, regression, and end-to-end) have all been refactored to run conccurrently.
Speed improvements:
- Unit tests: ~8× faster
- Regression tests: ~4× faster
- End-to-end tests: ~2× faster
To enable this, the unit and regression tests were ported from Tape to Node’s native node:test. We’re still using the TAP test reporter and [Tap Monkey](https://codeberg.org/small-tech/tap-monkey) – which was, itself, updated for compatibility with node:test – as the test formatter.
For the end-to-end Playwright tests, the performance gain is not from the `fullyParallel: true` setting but from having > 1 worker – the actual number automatically set by Playwright based on the number of CPUs it has available.
To put the speed increase into perspective, the `npm run quick-tests` task – which builds and installs Kitten (in ~ under 2 sec) and runs the unit, regression, and end-the-end tests only in Chromium – now runs faster than just the regression tests did concurrently (~ 13 seconds on my machine).
* * *
Little wins like this keep you going when working on something for ~6 years :)
:kitten: 💕
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
One of the beautiful things about Sublime Merge¹ (and git/diffs) is that you can see exactly what has changed in complex expected values in tests to ensure that you’re updating the tests without overlooking regressions.
(This is from the markdown loader tests in Kitten², as I’m refactoring to implement the upcoming breaking change in the stateful components API³ as it affects the stateful layout components in Markdown pages.)
¹ Which I always have running, full-screen on its own monitor.
² https://kitten.small-web.org
³ Currently experimental and undocumented but that should change once this breaking change is implemented.
#git #diff #unitTests #tape #SublimeMerge #Kitten #SmallWeb #web #dev #developerExperience
🥳 New Kitten¹ release!
Implemented workaround:
There is a bug in the CommonMark spec that results in preformatted code with empty lines nested in an HTML node not rendering correctly.²
In Kitten, this previously threw an error (see #294³ and also #318⁴).
Kitten now works around the issue in its own parser.
Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
² https://github.com/commonmark/commonmark-spec/issues/807
³ https://codeberg.org/kitten/app/issues/294
⁴ https://codeberg.org/kitten/app/issues/318
#Kitten #KittenRelease #SmallWeb #SmallTech #CommonMark #spec #bug #workaround #Markdown #web #dev #NodeJS
🥳 New Kitten¹ Release
Fixed:
• (Possible regression?) Value referencing during database event logging (see 2026-04-02 release²) was broken. This is now fixed.
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
² https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-04-02
#Kitten #KittenReleases #SmallWeb #SmallTech #bugFix #regression
🥳 New Kitten¹ Release
• Added: Database table event introspection.
Use the new `__showEventsOnTable()` introspection API call on the global `kitten` object to have events on that table logged out to the console.
Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-04-01
Enjoy!
:kitten:💕
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.