<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>zvm | Zig Version Manager | Blog</title><description/><link>https://www.zvm.app/</link><language>en</language><item><title>v0.8.12 Release</title><link>https://www.zvm.app/blog/v0812-release/</link><guid isPermaLink="true">https://www.zvm.app/blog/v0812-release/</guid><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today I’m publishing v0.8.12 of ZVM. I want to thank
&lt;a href=&quot;https://github.com/vpetrigo&quot;&gt;Vladimir Petrigo&lt;/a&gt;,
&lt;a href=&quot;https://github.com/jackparsonss&quot;&gt;Jack Parsons&lt;/a&gt;, and
&lt;a href=&quot;https://github.com/xpe&quot;&gt;David James&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vladimir is the latest in a long line of contributors to tackle the evergreen
issue of linking files on Windows.&lt;/p&gt;
&lt;p&gt;Unlike on Linux, creating symbolic links can be a restricted action that
requires administrator permissions. In the past, to maintain behavior across
operating systems, I had implemented a self-escalating process into ZVM to force
ZVM to run as an administrator when necessary. I never knew how well it worked.&lt;/p&gt;
&lt;p&gt;On my machine, it has never asked to escalate itself, and from the lack of
issues I’ve gotten, I assumed it worked decently enough for everyone on Windows.&lt;/p&gt;
&lt;p&gt;That was until a few weeks ago when I migrated ZVM’s linking code on Windows to
use
&lt;a href=&quot;https://learn.microsoft.com/en-us/windows/win32/fileio/hard-links-and-junctions#hard-links&quot;&gt;hard links&lt;/a&gt;.
Hard links do not require admin permissions, but I heard they could still be
fickle. I had no idea that they were useless in ZVM because it only links
directories. Luckily, the symlink behavior was still in place as a backup. I
come from a strong background in Linux and Unix systems. Sometimes I’m ignorant
of features in Windows. Luckily, our community is full of smart, capable
developers who are familiar with all kinds of systems. Vladimir nixed ZVM’s hard
links and instead implemented junctions.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/windows/win32/fileio/hard-links-and-junctions#junctions&quot;&gt;Junctions&lt;/a&gt;
are like hard links, but they are for directories. As long as you’re pointing
them to directories on the same volume, you’re good. That means—except for
people who have customized their ZVM installation well beyond the defaults—this
change should not affect anyone. If you are one of those people affected, please
create an issue and let me know. I want everyone to have the flexibility to use
ZVM however they please. It’s your computer, and I’m grateful you let a little
bit of my code live on it.&lt;/p&gt;
&lt;p&gt;I &lt;em&gt;hope&lt;/em&gt; this is the end of linking issues on Windows. I know it probably won’t
be, but for now, please create an issues if you experience problems on Windows.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Jack Parsons very kindly made a
&lt;a href=&quot;https://www.youtube.com/shorts/AF0UIWKOme8?feature=share&quot;&gt;YouTube Short tutorial&lt;/a&gt;
on how to install ZVM. I feel bad that I changed the website right after he
published it, but every step he shows still works the same. Thank you Jack for
using ZVM and for taking the time to be creative with my project. It means a
lot.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;David James kindly submitted an issue that brought attention to a design concern
I had never thought of before. You can read more about it on
&lt;a href=&quot;https://github.com/tristanisham/zvm/issues/143&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thank you. I want ZVM to be the best command line app you use. I want it to feel
clean, feel fast, and feel well designed. I definitely know that there are
warts. Some commands write through a logger. Others just print to &lt;code dir=&quot;auto&quot;&gt;stdout&lt;/code&gt;.
Maybe some of the flags don’t make a ton of sense. I understand there is room to
improve, and I will be making those improvements gradually this year.&lt;/p&gt;
&lt;p&gt;I appreciate all feedback for ZVM. Design, feature, bug, etc. It doesn’t matter.
I appreciate that people use my tool regularly and like it enough to leave a
star.&lt;/p&gt;
&lt;p&gt;If you have any questions, ideas, design thoughts, or just want to share
something cool you made, please
&lt;a href=&quot;https://github.com/tristanisham/zvm/issues&quot;&gt;create an issue&lt;/a&gt;. I can be slow to
get to them—I did get married this year, which took up a considerable amount of
my bandwidth—but rest assured I am around and the project is fine. It has
simply reached a stage of maturity where I don’t need to babysit it every day.
It’s like my responsible teenage son who I trust not to burn the house down when
I’m out, and who’ll use the $20 I left him to buy pizza instead of beer from his
older friends.&lt;/p&gt;</content:encoded></item><item><title>Changelog v0.7.1</title><link>https://www.zvm.app/blog/introducing-v071/</link><guid isPermaLink="true">https://www.zvm.app/blog/introducing-v071/</guid><pubDate>Mon, 27 May 2024 00:00:00 GMT</pubDate><content:encoded>&lt;img src=&quot;https://www.zvm.app/_astro/v071.BFGQWvAe_8ApWd.webp&quot; alt=&quot;header for zvm version v0.7.1&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;950&quot; height=&quot;722&quot;&gt;
&lt;p&gt;Hello, and welcome to the blog! This is the first Changelog posted to the website. Typically they’ll be short, mostly containing text from &lt;a href=&quot;https://github.com/tristanisham/zvm/releases/tag/v0.7.1&quot;&gt;GitHub Releases&lt;/a&gt;, but with some of my additional thoughts and reasoning thrown in. Today ZVM enters its 0.7 series. This minor version cycle, I’ll be focusing on improving the foundations of ZVM in order to bring a hopefully exciting (and secret) feature in v0.8.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;what-changed&quot;&gt;What changed?&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;h3 id=&quot;sync&quot;&gt;Sync&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;The sync command has been retired as of ZVM v0.7.0. With v0.7.1, its functionality has been moved to the &lt;code dir=&quot;auto&quot;&gt;use&lt;/code&gt; command. Just run &lt;code dir=&quot;auto&quot;&gt;zvm use --sync&lt;/code&gt; to sync your local version of Zig with your project.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;vmu&quot;&gt;VMU&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;The &lt;code dir=&quot;auto&quot;&gt;--vmu&lt;/code&gt; flag has been upgraded to a command. It still works the same way, but now it’s just easier to access.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;upgrade&quot;&gt;Upgrade&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;ZVM will now automatically check for upgrades after you’ve run a command. This just consists of a ping to ZVM’s GitHub repo using GitHub’s public API. Many tools including NPM and Deno do this automatically. If you would like to disable this functionality, you can set the new &lt;code dir=&quot;auto&quot;&gt;ZVM_SET_CU&lt;/code&gt; environment variable to &lt;em&gt;anything&lt;/em&gt;. If you’d like to reenable it, just &lt;code dir=&quot;auto&quot;&gt;unset ZVM_SET_CU&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;As always, if you have any questions, feedback, or want to help ZVM out, you can create an &lt;a href=&quot;https://github.com/tristanisham/zvm/issues&quot;&gt;issue&lt;/a&gt; on our GitHub, or support free and open source software for less than the price of a cup of coffee on &lt;a href=&quot;https://polar.sh/tristanisham&quot;&gt;Polar.sh&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>