Skip to content

Releases

Kelvin 0.3.51, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 10 Nov 14:53

Private build, not a release. Kelvin 0.3.51 for Windows. It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds.

Kelvin 0.3.50, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 10 Nov 06:12

Private build, not a release. Kelvin 0.3.50 for Windows. It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds.

Kelvin 0.3.49, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 10 Nov 05:04

Private build, not a release. Kelvin 0.3.49 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Signed files for the Windows build (not a release)

Choose a tag to compare

@github-actions github-actions released this 09 Nov 22:33

The release workflow keeps the last Windows build's code-signed files here, so the next build signs only what changed. Not an app: there is nothing here to install.

Kelvin 0.3.48, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 09 Nov 22:33

Private build, not a release. Kelvin 0.3.48 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Kelvin 0.3.47, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 08 Nov 15:03

What's new in Kelvin 0.3.47

Two pieces of work: Kelvin shares people's chats and the records of their runs with the Kelvin team, on by default; and Kelvin keeps its records as a modern electronic lab notebook and sample register (ELN/LIMS) do.

Sharing with the Kelvin team

  • On by default, over the Kelvin account sign-in: a person's normal projects, unfiled chats with their whole conversations, and the records of their finished runs go to the Kelvin hub every two minutes, with nothing to connect. Share my chats and run records with the Kelvin team (Settings → Account) switches it off, and Kelvin then takes back from the hub what it shared. Incognito chats, unpublished, confidential or model-limited projects, and runs' data files never go.
  • Runs' records, never their data files: each run's record carries its card (the plan, what it swept and measured, its fit results and assessment); run.h5, plots and reports stay on the person's computer, and the hub refuses them.
  • New terms, agreed again: the terms and privacy notice say what goes, that the Kelvin team reads it, and how to switch it off. Everyone agrees again; until then the hub takes nothing new (taking work back never waits), and Kelvin shows a bar with Read and agree and Switch it off. Create account says what is shared before anyone agrees.
  • The owner console reads shared work: the latest shared chats; each person's shared projects, chats and runs; a chat read-only, with a JSON download; a run's record with What it found. Each opening goes in that person's record, which their Export shows.
  • Why it changed: sharing was built in 0.3.9 to 0.3.12 with a connection of its own, and connecting ended the person's Kelvin sign-in on that computer. It now uses the sign-in's own token.

Kelvin's records, kept as an ELN/LIMS keeps them

  • Sealed runs: a kept run.h5 has its SHA-256 in run.h5.sha256 beside it (sha256sum -c checks it) and in the lab's record, both read-only; run.h5 never changes again. Fits kept and re-analyses go into derived.h5 beside it. Each run has a uuid.
  • A chained record: each line of the lab's record, the instrument log, the config history, each run's notes and the notebook keeps the SHA-256 of the line before it, so verify_records finds a line changed or taken out, and a run changed since it was sealed. Each event Kelvin's AI causes, and each run it starts, keeps the chat's model.
  • Steps by hand, notes on runs: record_step keeps a step or an observation at the bench as it is said; annotate keeps a flag, tags or a comment on a run, never changed (a correction names the note it corrects).
  • Samples: what each is, what it was made from, its source, state and location, each change with who and when; sample_history is its page, with a timeline and the cool-downs its runs show. A sample keeps pictures (a photo of the chip, a micrograph), as given and never changed: attached in a chat, or from a device's row in Project settings.
  • Procedures (SOPs), by version: Kelvin's steps run through the gate with the procedure in the run and the person's changes kept as deviations; procedure_status says where a sample is and what is next.
  • The Notebook panel (its icon in the top bar): a day's entries with who wrote each, every number checked against the runs it cites, Edit, Sign and Witness (people only); Draft asks a notebook subagent, which only reads, for the day's entry.
  • From raw data to figure: a saved figure has a record (its runs by uuid and seal, how it was asked for, the AI), and rebuild_figure draws it again from the raw data after checking each seal.
  • For other programs: run.h5 also carries NeXus's view, so h5web, silx, NeXpy and NOMAD open it; export_crate writes a zipped RO-Crate of runs, figures, entries, samples and procedures.
  • A second copy: backup_records copies the records into a folder you name (a NAS, OneDrive, a second disk), each run.h5 checked against its seal once copied; only what is new or grew is copied, nothing there is deleted, and a run.h5 there that differs is never written over.
  • Finding: search_records searches everything kept at once; digest says what the record shows over days, citing runs.
  • Measuring stays as fast: while a run measures, the record's files stay open, so a set in a plan costs some 15 µs of record instead of half a millisecond. A record whose folder goes away still keeps its lines and writes them, chained, once the folder is back.

Worth knowing when you update:

  • Sharing starts once the Kelvin hub has the new terms and you agree to them; until then nothing new is shared. To keep your chats and runs to yourself, switch Share my chats and run records with the Kelvin team off in Settings → Account.
  • Runs kept from now on are read-only on disk (run.h5 and run.h5.sha256); older ones are sealed when Kelvin tidies, saying they were sealed late. Kelvin's own fits and re-analyses go into derived.h5.
  • Each line of the lab's record now keeps the hash of the line before it: a line edited or deleted by hand shows as a break when the records are checked.

Not yet: the Kelvin hub running this version with sharing on, and the lab PC's real instruments.


Private build, not a release. Kelvin 0.3.47 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Kelvin 0.3.46, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 08 Nov 00:00

What's new in Kelvin 0.3.46

The fixes from a review of 0.3.45 against two bars: the first connection to every kind of instrument is robust, and in daily use Kelvin never gets stuck. Five read-only reviews found 5 bugs that left Kelvin unsafe or stuck until a restart and about 30 that lost a connection, lost work or misled; all are fixed here, each with a test that fails without it. Also: Kelvin can take an instrument out of the lab when asked.

  • Stop means stop: in auto mode, Stop during an experiment's rehearsal no longer counts as a clean rehearsal that lets the real run start; a Stop pressed while a script run is starting is never lost; a script's long wait, its own polling thread and a process that won't end all stop, and the drives still go to safe.
  • The monitor never stops watching: a network analyzer's long sweep froze every watch, interlock and alarm; a busy instrument is now waited for a second at most, ramps to safe run on their own threads, and a watchdog says when watching is held up. In a simulated sweep the alarm came 1.9 s after the sample warmed (8.2 s before).
  • A run always ends: one whose record couldn't be written stayed "running" until a restart; it now stops with an alarm, and the lab's record keeps its lines until the folder is back.
  • Connections that come back by themselves: a USB or LAN instrument that was power-cycled, replugged or rebooted answered VI_ERROR_CONN_LOST to everything until a person switched it off and on. Kelvin now makes the session anew by itself once the instrument answers, checking first that it is the same instrument by its model and serial number, and says to check its outputs. TOPTICA, M Squared, ANC300, Modbus RTU, MultiVu, JSON-RPC and lib:// links that broke come back the same way, and late replies no longer leave TOPTICA's and the ANC300's one behind. On labsim, a rebooted analyzer was back in 7 s (never, before).
  • A driver that hangs while opening holds nothing up: after a minute (longer for LightField, PICam and lib://) it is set aside with why, and the rest of the lab connects; it can be switched off at once.
  • A first start sets up whatever it can: one instrument that couldn't connect (a COM port another program held) left the whole found lab empty; now it is set aside with why and the rest are used, the known ones first. A lab.yaml saved meanwhile is never written over. The serial scan opens each port once (13 times before), says who may hold a busy port, and skips Bluetooth ports; a hung GPIB bus is said as one instead of 30 phantom instruments.
  • Swapped instruments are caught: each instrument's serial number from its first set-up is checked at every connection; another one of the same model at its address is set aside and a person asked. A scan says when one of the lab's instruments moved to another address.
  • Typos in lab.yaml are said: a key Kelvin doesn't read is refused with "did you mean" (limit: used to leave a source at its maker's full range, interlock: meant no interlocks); an entry with no address beside real instruments is refused; an entry whose card is gone is left out without emptying the lab.
  • Nothing waits out a run: the Lab panel's switch, Scan, Save and connect, a card's Try and reconnecting answer at once during a run or the queue, and within half a minute otherwise; one chat's long reading no longer holds up every change; a change reads only what it touched; Hands on the sample never waits behind the work it stopped.
  • The page always offers a way forward: Stop shows whenever the chat answers, also after a reload or in a second window; what you added before a Stop comes back to the box instead of being sent; the terminal's Esc stops only the terminal's answer; approval cards close as soon as they are answered anywhere; polls never pile up; a bar says when Kelvin isn't answering; a model silent for 2 minutes is said.
  • Starting and quitting: Kelvin starts after a crash left a stale app.json; quitting while a request is answered still closes the instruments.
  • Scripts: a lab instrument is recognised by any spelling of its address, and a script's own socket to another port of a lab instrument asks a person; recording camera frames is 30 times faster; input() says why a script can't ask.
  • The Claude Code bridge: Stop ends every process it started.
  • Taking an instrument out of the lab (remove_instrument): one gone for good, a duplicate, or one added at the wrong address; the lab config history keeps the version before.
  • labsim (tools/labsim): labsim drop NAME ends a session as NI-VISA's ends at a reboot or a replug.

Worth knowing when you update:

  • An unknown key in an instrument's entry in lab.yaml sets that instrument aside; one at the top level, in an interlock or in a watch keeps the lab from opening, saying why. A note to yourself goes after a #.
  • An interlock whose instrument stays busy for a minute with no fresh reading fails safe, as an unreadable one does.
  • Deleting a card your lab uses, or switching the instrument collection off while your lab needs its cards, is refused, naming the instruments.

Not yet tried on the lab PC's real instruments, the makers' SDKs or a real npm install of Claude Code.


Private build, not a release. Kelvin 0.3.46 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Kelvin 0.3.45, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 07 Nov 03:13

Private build, not a release. Kelvin 0.3.45 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Kelvin 0.3.44, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:41

Private build, not a release. Kelvin 0.3.44 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.

Kelvin 0.3.43, private build (not a release)

Choose a tag to compare

@github-actions github-actions released this 04 Nov 19:15

Private build, not a release. Kelvin 0.3.43 for Windows with the temporary Claude Code bridge (chats on your own Claude plan, and Claude operating the computer). It installs over the Kelvin that is there, like any update, and keeps itself up to date from later private builds. Published releases never have the bridge: Anthropic's terms don't let apps route requests through other people's Claude plans.