<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Versioning on Artur Rios Lab</title><link>https://lab.artur-rios.tech/tags/versioning/</link><description>Recent content in Versioning on Artur Rios Lab</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 21 Oct 2026 17:55:00 +0000</lastBuildDate><atom:link href="https://lab.artur-rios.tech/tags/versioning/index.xml" rel="self" type="application/rss+xml"/><item><title>Libraries</title><link>https://lab.artur-rios.tech/infrastructure/infrastructure-libraries/</link><pubDate>Wed, 21 Oct 2026 17:55:00 +0000</pubDate><guid>https://lab.artur-rios.tech/infrastructure/infrastructure-libraries/</guid><description>&lt;p&gt;Code that more than one project needs becomes a package. Mine are .NET&#10;libraries, published as NuGet packages to two places: &lt;strong&gt;nuget.org&lt;/strong&gt;, where&#10;anyone finds them, and &lt;strong&gt;GitHub Packages&lt;/strong&gt;, next to their source.&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Concern&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Choice&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Package format&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;NuGet, or the language&amp;rsquo;s own format elsewhere&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Primary feed&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;nuget.org&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Secondary feed&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GitHub Packages&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Publishing&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GitHub Actions, on a version tag&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Versioning&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Semantic versioning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="package-metadata"&gt;Package metadata&lt;a class="heading-anchor" href="#package-metadata" aria-label="Link to this section"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The project file describes the package, so &lt;code&gt;dotnet pack&lt;/code&gt; produces a complete&#10;&lt;code&gt;.nupkg&lt;/code&gt; with its symbols alongside:&lt;/p&gt;</description></item><item><title>Git Tags: Naming the Commits That Matter</title><link>https://lab.artur-rios.tech/git/git-tags/</link><pubDate>Wed, 21 Oct 2026 12:00:00 +0000</pubDate><guid>https://lab.artur-rios.tech/git/git-tags/</guid><description>&lt;p&gt;Branches move: every commit on &lt;code&gt;main&lt;/code&gt; moves &lt;code&gt;main&lt;/code&gt; forward. Sometimes you need&#10;a name that stays where it is put, such as &amp;ldquo;the commit that went out as&#10;version 1.6.0&amp;rdquo;. That is a &lt;strong&gt;tag&lt;/strong&gt;. Tags mark releases, the build a bug report&#10;refers to, or the last commit before a large refactor, and almost every&#10;release tool, from GitHub Releases to package registries, reads them.&lt;/p&gt;&#10;&lt;p&gt;Tags look simple, and mostly are. The parts that cause trouble are the two&#10;kinds of tag, which behave differently in some commands, and the fact that&#10;tags are not pushed, fetched or overwritten the way branches are. This article&#10;covers both. The commands shown were run with Git 2.56 on 21 October 2026, in&#10;a scratch repository and in this site&amp;rsquo;s own repository. Long temporary paths&#10;in the output are left out.&lt;/p&gt;</description></item></channel></rss>