Quite happy with how the page/component lifecycle log messages are coming along as part of my push to get the new stateful components over the line in Kitten¹.
This should make it very easy to ensure that things are happening as you think they are and to conceptualise the behaviour of your stateful component hierarchies. (You can also use stateless components, of course, as is the currently documented workflow.)
🥳 New Kitten¹ Release
Fixes:
• The `kitten.html` shorthands for plain HTMX client-side event handling of a Kitten Page’s default WebSocket lifecycle (`on:connecting`, `on:connect`, and `on:disconnect`) were generating faulty HTMX code (the Alpine.js versions, `@on:connecting`, `@on:connect`, and `@on:disconnect`, were fine). The plain HTMX versions now also generate working code.
• Replaced direct `eval` in a statement in the Kitten Introspection API to improve safety and silence the esbuild warning.
Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-04-10
Enjoy!
:kitten:💕
🥳 New Kitten¹ Release
• Adds Kitten Introspection API
I’ll record a video this week demonstrating it.
In the meanwhile, check out the change log for details:
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-03-29
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
#Kitten #KittenReleases #SmallWeb #SmallTech #introspectionAPI #web #dev
🥳 New Kitten¹ Release
• Fixes: Page infinitely refreshes if class does not extend `kitten.Page`
Kitten now shows a helpful error message for this authoring error.
(The issue was due to the page getting rendered without the necessary scaffolding provided by the base class for maintaining the web socket connection,. leading to Kitten thinking the socket connection had failed and triggering a reload to reestablish it.)
Thanks to @joshhatesgithub (https://codeberg.org/joshhatesgithub) for discovering and reporting this last night.
Full changelog of today’s updates: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-03-18
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
#Kitten #KittenReleases #SmallWeb #developerExperience #bugFix
🥳 New Kitten Release
• Added `target` and `data-*` to the list of safe attributes you can specify within curly brackets when writing Markdown in Kitten.
Enjoy!
:kitten:💕
#Kitten #KittenReleases #SmallWeb #SmallTech #Markdown #web #dev
🥳 New Kitten¹ release
• Added `initialise()` hook to `kitten.Component` instances.
This gets called at the end of the constructor and is handy if you don’t want to override the constructor and have to handle the `data` parameter and remember to call `super(data)`. You can still access passed data from `this.data`.
Note that the component is not part of the view hierarchy on the client at this point. If you have tasks you need to perform only once per page – for example, instantiating a child component to use in your view template – override the `onConnect()` handler instead which is guaranteed to be called just once when your component has successfully been added to a connected page.
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-02-23
Enjoy!
:kitten:💕
¹ https://kitten.small-web.org
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #components
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.