Shipping in the open

Changelog

Every release across CodigoSH's projects and this website, newest first.

Release history

  1. LastHelp

    v1.2.7

    Added

    • The team is told when a comment is waiting for review. A visitor's comment, or a follow-up from whoever reported, now reaches the repository's channel, so it no longer sits in the queue unseen.
    • Whoever reported something and left an address is written to when the team replies, and when the issue on the forge is closed or changes state, as they already were when the team changed a status in the panel.
  2. Lastboard

    v1.9.4

    Added

    • Docker and Monitoring: the containers and services in a widget can be arranged by hand. Each one has a grip in the widget's settings, dragged with the mouse or a finger or moved with the arrow keys. Docker keeps the order of each host apart, and a Monitoring list left fully ticked still takes the services you add later, shown after the ones you arranged.
    • Docker: a Show new containers automatically switch. Turned off, a container that appears later stays hidden until you tick it, so a widget that shows only a few no longer has to hide every new one.
    • The installer says which version is installed and which it is about to install, stops with "nothing to do" when you already have the latest, and takes --reinstall to install it again to repair it.

    Changed

    • Every widget now shows its name as a pill on the tile's border, the way a section does, and a widget with no name shows no pill. The name is the first field of each widget's settings. Docker, Monitoring, Proxmox and the API widget no longer spend a row of the tile on a heading; Proxmox keeps a slim strip with the node and its meters.
    • A Docker, Monitoring or Proxmox widget that had no title of its own keeps the name it showed, written once into its title in the language of the account that owns it. After that it is an ordinary title: change it or clear it. Restoring a backup taken by an earlier version does the same for the widgets it brings back.
    • The name on a widget, and on a bookmark that shows its name as a pill, now answers the pointer the way a section's does: the border takes the accent softly when the tile is hovered, and only hovering the name itself lifts it further. It used to light up fully in the accent colour.

    Fixed

    • Docker: a container you had hidden came back, and lost its name and address, every time it was updated. What is set on a container is now kept under its host and name instead of its ID, which changes whenever the container is recreated. Settings saved before this are read as they were until the widget's settings are saved again; a container updated before that has to be hidden once more.
    • Proxmox: only starting a machine and shutting it down gracefully are relayed, as the interface and the documentation say.
    • The uninstall command in the documentation did not work when the installer had been piped from curl; it now shows the form that does, and the signing guide says the installer verifies the release signature.
  3. Lastboard

    v1.9.3

    A security and stability release

    1.9.3 is about making what is already there harder to abuse and harder to break. It adds no features. It closes weak points in sign-in, sessions, updates, backups and the connections Lastboard makes, and fixes the ways data or settings could end up half-saved. Nothing needs doing on upgrade: your sessions, boards and settings carry over.

    Security

    • Sign-in attempts are counted reliably: a burst of wrong passwords that arrive at the same moment used to count as one, so the lockout never came. Changing your password, deleting an account and resetting the instance now stop after too many wrong passwords too, per account, so a stolen session cookie cannot be used to guess the password.
    • A session belongs to the account, not to its name. A cookie left over from a deleted account can no longer sign in to a new account that reuses the name, and a stale session no longer sends the login page into a redirect loop. Cookies issued by earlier versions keep working until their owner signs out.
    • Passwords are hashed at most two at a time, so a flood of sign-in attempts can no longer exhaust the memory of a small server. Passwords can now be up to 256 characters instead of 72 bytes.
    • Connections to cloud metadata services are refused when they are made, so a redirect or a hostname that resolves there cannot reach them. A container id is escaped in the Docker path, and the Gotify token travels in a header instead of the address.
    • Updates are verified more strictly: each download is checked against the line of the signed checksums.txt that names it, so one platform's archive cannot stand in for another's, a download over the size limit is refused instead of cut short, and each update works in a directory of its own with only one allowed to run at a time.
    • Restoring a backup ends every session without touching the signing secret, so a session opened afterwards survives a restart. After a restore, sign in again.
    • Answers from a Docker host and from the release server are read up to a size limit. The dashboard background must be an image address, and an avatar or accent chosen at setup follows the same rules as one chosen later.
    • The administration panel never changes the administrator's own password (that goes through the profile, which asks for the current one), and an unknown account or a taken name gets a clear answer. The browser no longer allows connections to a time-zone service it does not use.

    Fixed

    • A backup fails with an error instead of silently leaving out a row it cannot read. It keeps the order a phone shows bookmarks in, and restore errors are translated.
    • Deleting a board is a single change that also sweeps its unused icons. A new board always goes after the last one, reordering with a partial list keeps every position distinct, and the first board of an account is created once even when several requests arrive together.
    • Saving the monitoring settings is all or nothing, and a failure is reported instead of answering "saved". A preference that fails to save is rolled back everywhere, so the next save does not carry it. The dashboard background is kept when a request does not mention it.
    • Deleting a bookmark no longer deletes the icons chosen for Proxmox machines, and storing icons locally no longer undoes an edit made while they were downloading. Credentials typed into a widget before a page reload are moved to the secret store when it is saved.
    • Renaming yourself works with the default avatar. Saving a clock keeps its time zone. Board names (50) and project names (64) are counted in characters, so non-Latin names get the full length.
    • With the server unreachable and nothing cached, the board is empty instead of showing a tile that is not yours.
    • The "Check for updates" button asks the release server again instead of repeating the last answer, the release lookup gives up after fifteen seconds, and only the administrator asks for updates, once per page load.
    • The background status check no longer reads every bookmark every fifteen seconds.

    Changed

    • Several Proxmox hosts are read at the same time instead of one after another, and Docker and Proxmox connections are reused instead of piling up.
    • Widgets and pages that poll the server stop while the browser tab is hidden and resume when it is shown.
    • The interface holds one HTML escaper and one place that reads API answers and errors, and styles and code nothing used were removed.
  4. LastHelp

    v1.2.6

    A clearer third point on the front page

    Changed

    • The third point of the front page says what a visitor gets: every report shows where it stands, from new to shipped, in the twenty languages. It used to say that reports can become forge issues, which an installation without a forge never has.
  5. LastHelp

    v1.2.5

    A picture beside every name, and a safer text for the forge

    Added

    • Replies and comments no longer draw initials. Everybody gets a picture beside their name: one figure in a light grey for whoever reported or commented, and the same figure with its colours turned round and a stronger grey for the team.
    • A team member's own picture shows beside their replies on public pages, and in the panel's lists and menu. It is public, like their name already was; somebody who has chosen none keeps the default.

    Fixed

    • What a stranger wrote is made inert before it reaches the forge. An issue body is read there as Markdown, so a mention notified people, an image loaded from a host the writer chose, a link hid its destination and, on one forge, a line starting with a slash could run a command. The report text and every answer now have those characters escaped, with code left exactly as written.
  6. Lastboard

    v1.9.2

    A new logo

    Changed

    • A new logo: a viewfinder around the board, with a red dot as the signal. It is the one in the browser tab, the installed app icon, the login and setup pages, the top bar and About.
  7. Lastboard

    v1.9.1

    Docker installs are told about new releases

    Fixed

    • A Docker install is told about a newer release, and every administrator's load checks
  8. LastHelp

    v1.2.4

    Replies follow renamed accounts, History with open and closed, and the house colours

    Added

    • The archive tab, now called History, splits the published reports into All, Open and Closed, each with the number it shows. Under Closed, Done and Not done tell a delivery from a report the team turned down.
    • In History, a repository's heading folds its reports away and opens them again, and the choice is kept in your browser.

    Changed

    • The panel is laid on the page's own ground, with its menu and cards one step above it, in both themes, and the light background, the two text greys, the light border and the dark text are the values the rest of the family uses.
    • Go 1.27.2 and x/net 0.60.0, which fix the standard-library and HTTP/2 advisories the vulnerability scan reports. The scan now runs before a release is tagged, so a release that reaches an advisory cannot be cut.
    • The toolchain and dependencies are up to date: Bun 1.4.3, Docker CLI 29.9.0, buildx 0.38.0, and the Go modules crypto, image, net and SQLite.

    Fixed

    • A team reply is signed with the name the account has now: renaming an account used to leave its earlier replies under the old name. Replies written before this version are matched to the account that holds their name today, and a rename claims the ones still signed with the name it leaves.
  9. Lastboard

    v1.9.0

    Servers beyond this one, secrets kept apart, and accounts of their own

    Added

    • A host's agent token is kept in the widget's secret store
    • A widget can wear a title on its border, the way a section does
    • Monitoring and Proxmox belong to each account, not to the server
    • Read another server's health from Glances, Netdata or a JSON endpoint
    • Rename and delete live in the manager, beside the drag handle
    • The API widget keeps its credentials in the secret store
    • The Server Health widget can show another server through Glances, Netdata or JSON
    • The Server Health widget refreshes every 5, 10, 30 or 60 seconds
    • What a widget keeps secret is stored apart from its content

    Fixed

    • Editing an imported bookmark keeps its icon

    Changed

    • Go 1.27.2 and x/net 0.60.0, and the vulnerability scan stops a release before it is tagged
    • Update the toolchain and dependencies
  10. LastHelp

    v1.2.3

    A declined idea reads as the rest do

    Fixed

    • In Spanish, the status of a declined idea is "Descartado", agreeing with "Nuevo", "Planificado", "En curso" and "Entregado" instead of standing out as the only feminine one on the Closed tab.