Repository navigation
v0.1.7
Changed
-
This module now installs as a Kubuno package (
.kbpkg) only. Its system
packages (Debian/RPM and the Windows and macOS installers) are no longer
built: the module is distributed as one.kbpkgper platform (Linux, Windows,
macOS) that the Kubuno server installs itself — from the admin console, or
offline withkubuno modules:install <file>.kbpkg. -
Dates are formatted by the platform now, not by a library.
date-fnsis
gone from this module: the shared SDK exposes helpers built onIntl, which is
localised for every language we ship and needs no locale bundle loaded. Call
sites say what a date is FOR —formatDate(d, 'date')— and the platform
decides how to write it, so a reader in Japanese no longer gets a French
layout. Machine formats (keys,<input type="date">values) go through
toISODateand friends, built from local calendar fields so the day cannot
shift near midnight. -
Class names are composed by
cn()from@ui, replacingclsx. One less
dependency for a dozen lines of finished logic; call sites are unchanged. -
The README now opens with the module's logo. The public README on
GitHub now shows the module's designer logo (the same PNG shown as the
browser tab icon and in the applications menu) at the top of the page — the
repository landing now matches the icon a signed-in user sees inside the
platform. The image ships in-repo, under.github/logo.png, so it renders
even when the repo is browsed offline. -
New App logo — a blue hexagon with a stack of isometric cubes, used as the
browser-tab icon and in the applications menu. It is now raster (PNG)
designer artwork, and the browser-tab icon now resolves (the previous SVG
path pointed at a missing file). -
Pill-shaped buttons are gone from the interface. Filter chips, view
segments, tab selectors and action buttons that were drawn as pills now use the
same 4 px corner radius as every other button — the shape set them apart for no
reason other than habit. Round buttons that hold a lone icon, avatars, status
dots and non-clickable badges keep their shape: a circle around a single glyph
is not a pill.
Fixed
- A withdrawn dependency is no longer used. A crate deep in the tree
(spin0.9.8, pulled in through the HTTP stack) was yanked by its authors.
No vulnerability was announced, but a withdrawn crate has no business in a
release; the lockfile now takes the version that replaced it. - The package could not be built where
zipis absent. The Windows job of
the continuous integration has nozip, so the Windows package was simply lost
the first time it was attempted — a script failure, not a build failure. The
builder now falls back to 7-Zip, then to PowerShell.
Added
- This module now ships a
.kbpkg— the single package format a Kubuno
server installs by itself, the same file on Linux, Windows and macOS. It
carries the same binary, interface and manifest as the system packages,
arranged the way the server expects to find a module on disk, plus a
SHA256SUMSso a copy carried offline can be checked without the catalogue.
Nothing changes for existing installations: the.deb,.rpm,.exeand
.pkgare still published, and a catalogue that sees both simply prefers the
new one. It is also the only format the server can unpack without an external
tool, which is what makes one-click installation possible away from
Debian-like systems.
Fixed
- A built package could be thrown away instead of published. The job that
attaches a package to the release waited ten minutes for another workflow to
create that release, then gave up with "release never appeared — build.yml
likely failed". The diagnosis was wrong: on a repository whose.debtakes
longer than ten minutes to build, the release simply did not exist yet, and a
package that had built perfectly was discarded. Four modules reached v0.1.6
with packages missing for some systems because of it. The job now creates the
release itself when it is missing, so it no longer depends on another workflow
finishing first.
Added
- Security policy and CI quality gate. A
SECURITY.mddocuments how to
report vulnerabilities, and a CI workflow enforcesclippy -D warnings, a
dependency-vulnerability audit (cargo audit) and the frontend typecheck/tests.
Security
- App now authenticates proxied requests from a signed token instead of
trusting plain headers. Requests must carry a validX-Kubuno-Authtoken
minted by the core with this module's internal secret (seekubuno-modauth),
rather than readingX-Kubuno-User-*headers at face value — which any process
reaching App's loopback port could otherwise forge to act as any user.