5 July 2026 · Update
We launched Vulkos on Wednesday 1 July. Five days later, people are running synthesis and learning Verilog from places we never expected to reach this early. That demand has been brilliant, and it has also been loud. The platform shipped with rough edges. You found them fast. This is the first changelog.
The pace from here is simple: fast, consistent improvements, driven by what you tell us. Here is what landed in the first week.
Performance
The analysis page was taking 5 to 6 seconds to open on a completed run. Most of that was a fan-out of requests, one per result file, sometimes eleven at once, re-issued on every status poll.
- Batched collected-results fetches. The analysis page now pulls all result files in a single request. Opening a finished run is markedly faster.
- Batched per-job metrics. The project overview now asks for all job metrics in one call instead of one per job.
Signup
A handful of people each week tried to create an account and hit a wall, and the worst case was invisible: if your email already had an account, signup reported success and told you to check your inbox for a confirmation that was never going to arrive.
- No more dead end. Signing up with an email that already has an account now says so plainly and points you to sign in or reset your password.
- Failures are visible to us now. We instrumented the form so a failed signup shows up in our funnel instead of vanishing. If something still blocks you, we will see it.
The IDE assistant
The assistant was explaining when it should have been fixing, and guessing when it should have asked. Both are corrected.
- "Fix with AI" now fixes. Triggering it on a synthesis or testbench error runs a deterministic config fixer first, with flow-error search as backup, instead of writing prose about your error.
- Real LibreLane knowledge. The assistant carries a compact reference for common LibreLane configuration variables and frequent failure modes, including the testbench rule that bites most often: add
$dumpfileand$dumpvarswhen you want waveform output. Where the reference is thin, it searches the docs rather than inventing variable names. - Asks before it guesses. On ambiguous requests it asks one targeted question, then acts.
- Copy button feedback. The chat Copy button now confirms with "Copied!" instead of copying silently.
The IDE workspace
- File upload. You can now upload files straight into your project from the explorer, with sensible size limits so a large file can never break saving for the whole workspace.
- Large files handled gracefully. Files over 512KB (a long log, a big test vector) no longer bog down the editor. You get a clear notice with the file size, a download button, and a "show anyway" option.
- Explorer usability. Collapsible folders, in-place file and folder creation, and creating files at the project root all work the way you would expect now.
- Runs survive navigation. Run state always lived server-side; the UI just lost track of it. You can now leave mid-run and reconnect, and a finished run takes you straight to its analysis view instead of waiting on a manual refresh.
- No more silently empty logs. If a run has finished but results are still uploading, the IDE says so and refreshes automatically when they land.
- Actionable save errors. If a save fails, the terminal now tells you why and what to do about it, not just that it failed.
Project dashboard
- Trend charts that read at a glance. Area, timing slack, and power now show run-over-run movement with a percentage delta, coloured by whether the change is good for that metric. Slack is plotted as its true signed value, so a failing design improving towards zero reads as the improvement it is.
- More metrics on demand. Hold slack, setup TNS, clock skew, slew and cap violations, and DRC errors are one click away behind "View more".
Reliability and polish
- Monaco / netlistsvg race closed. On Safari, the netlist SVG could fail to render because Monaco's AMD loader reinstalls itself mid-load. The loader is now trapped for the full async load.
- Lesson content crash guarded. A lesson step with missing content no longer crashes the player.
- GDS viewer false error flash fixed. It waits for the file instead of flashing "Error loading file".
- Profile avatar fixed. Your initials no longer flash to a generic "U" on every page change.
If you hit something that is not on this list, tell us in the in-platform feedback or by email. Everything above started as someone hitting a rough edge and letting us know.