<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://frapp42.fr/blog</id>
    <title>Frenchy Apps 42 Blog</title>
    <updated>2026-10-28T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://frapp42.fr/blog"/>
    <subtitle>Frenchy Apps 42 Blog</subtitle>
    <icon>https://frapp42.fr/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Axios.Net v0.1.0]]></title>
        <id>https://frapp42.fr/blog/axios-net-v0.1.0</id>
        <link href="https://frapp42.fr/blog/axios-net-v0.1.0"/>
        <updated>2026-10-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/axios-net-v0.1.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of Axios.Net, an HTTP client for .NET 8 and .NET 10 with an <a href="https://axios.rest/" target="_blank" rel="noopener noreferrer" class="">axios</a>-like syntax.</p>
<!-- -->
<div class="language-cs codeBlockContainer_O4Tg theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_XKTC"><pre tabindex="0" class="prism-code language-cs codeBlock_lisC thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_xgth"><div class="token-line" style="color:#393A34"><span class="token class-name">AxiosResponse</span><span class="token class-name punctuation" style="color:#393A34">&lt;</span><span class="token class-name">User</span><span class="token class-name punctuation" style="color:#393A34">&gt;</span><span class="token plain"> res </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> Axios</span><span class="token punctuation" style="color:#393A34">.</span><span class="token generic-method function" style="color:#d73a49">Get</span><span class="token generic-method generic class-name punctuation" style="color:#393A34">&lt;</span><span class="token generic-method generic class-name">User</span><span class="token generic-method generic class-name punctuation" style="color:#393A34">&gt;</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"https://api.test/users/1"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">AxiosClient</span><span class="token plain"> api </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> Axios</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Create</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token constructor-invocation class-name">AxiosRequestConfig</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> BaseUrl </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://api.test/v1"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> api</span><span class="token punctuation" style="color:#393A34">.</span><span class="token generic-method function" style="color:#d73a49">Post</span><span class="token generic-method generic class-name punctuation" style="color:#393A34">&lt;</span><span class="token generic-method generic class-name">User</span><span class="token generic-method generic class-name punctuation" style="color:#393A34">&gt;</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"/users"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> Name </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Ada"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/axios-net-v0.1.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">The axios API: <code>Get</code>, <code>Post</code>, <code>Put</code>, <code>Patch</code>, <code>Delete</code>, <code>Head</code>, <code>Options</code>, <code>Request</code>, <code>PostForm</code>, <code>GetUri</code> and <code>Create</code></li>
<li class="">Typed responses, config merging (library, client, request) and default headers per method</li>
<li class="">Request and response interceptors with <code>Eject</code>, <code>Clear</code>, <code>RunWhen</code> and <code>Synchronous</code></li>
<li class="">Query parameters, JSON, urlencoded and multipart bodies</li>
<li class="">A single <code>AxiosException</code> with the axios error codes</li>
<li class="">Timeout, cancellation, upload and download progress, size limits, redirects, decompression and proxy</li>
</ul>
<p>Axios.Net is released under AGPL-3.0-or-later. Read the <a class="" href="https://frapp42.fr/docs/axios-net/">documentation</a> to get started, including how to move over from the <code>Request</code> class of <code>FrApp42.Web</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/axios-net-v0.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the release with the following link: <a href="https://github.com/FrApp42/Axios.Net/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Axios.Net" term="Axios.Net"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Factos v0.1.0]]></title>
        <id>https://frapp42.fr/blog/factos-v0.1.0</id>
        <link href="https://frapp42.fr/blog/factos-v0.1.0"/>
        <updated>2026-10-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/factos-v0.1.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of Factos, a clone of <a href="https://github.com/InvoiceShelf/InvoiceShelf" target="_blank" rel="noopener noreferrer" class="">InvoiceShelf</a> rewritten in C# / Blazor (.NET 10): estimates, invoices, payments, expenses and purchasing, with an InvoiceShelf-compatible REST API.</p>
<!-- -->
<div class="theme-admonition theme-admonition-caution admonition_sjH4 alert alert--warning"><div class="admonitionHeading_mHOD"><span class="admonitionIcon_R4TP"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_JIoT"><p>Factos is under development. The web UI is usable end to end, but the <code>/api/v1</code> API is only partially ported.</p></div></div>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/factos-v0.1.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Sales and purchasing documents, payments, expenses and a cash-flow dashboard</li>
<li class="">PDF templates, email delivery and public links for customers</li>
<li class="">SQLite, PostgreSQL or MySQL, chosen at install time</li>
<li class="">Import from an existing InvoiceShelf installation</li>
</ul>
<p>Read the <a class="" href="https://frapp42.fr/docs/factos/">documentation</a> to get started.</p>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/factos-v0.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the source with the following link: <a href="https://github.com/FrApp42/Factos/commits/v0.1.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Factos" term="Factos"/>
        <category label="C#" term="C#"/>
        <category label="Blazor" term="Blazor"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Factos v0.1.1]]></title>
        <id>https://frapp42.fr/blog/factos-v0.1.1</id>
        <link href="https://frapp42.fr/blog/factos-v0.1.1"/>
        <updated>2026-10-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/factos-v0.1.1#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Docker: <code>appsettings.local.json</code> is now written directly in <code>App_Data</code></li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/factos-v0.1.1#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can compare the changes with v0.1.0 with the following link: <a href="https://github.com/FrApp42/Factos/compare/v0.1.0...v0.1.1" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Factos" term="Factos"/>
        <category label="C#" term="C#"/>
        <category label="Blazor" term="Blazor"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Factos v0.1.2]]></title>
        <id>https://frapp42.fr/blog/factos-v0.1.2</id>
        <link href="https://frapp42.fr/blog/factos-v0.1.2"/>
        <updated>2026-10-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/factos-v0.1.2#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Docker: fixed <code>blazor.web.js</code> missing from the image (404)</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/factos-v0.1.2#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can compare the changes with v0.1.1 with the following link: <a href="https://github.com/FrApp42/Factos/compare/v0.1.1...v0.1.2" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Factos" term="Factos"/>
        <category label="C#" term="C#"/>
        <category label="Blazor" term="Blazor"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Factos v0.1.3]]></title>
        <id>https://frapp42.fr/blog/factos-v0.1.3</id>
        <link href="https://frapp42.fr/blog/factos-v0.1.3"/>
        <updated>2026-10-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/factos-v0.1.3#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Custom fields: definitions, input and printing</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/factos-v0.1.3#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can compare the changes with v0.1.2 with the following link: <a href="https://github.com/FrApp42/Factos/compare/v0.1.2...v0.1.3" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Factos" term="Factos"/>
        <category label="C#" term="C#"/>
        <category label="Blazor" term="Blazor"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[DeskPilot v0.1.0]]></title>
        <id>https://frapp42.fr/blog/deskpilot-v0.1.0</id>
        <link href="https://frapp42.fr/blog/deskpilot-v0.1.0"/>
        <updated>2026-10-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/deskpilot-v0.1.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of DeskPilot, an open source API server, web console and rendezvous server for <strong>RustDesk</strong>, compatible with the official RustDesk client.</p>
<!-- -->
<p>DeskPilot covers the features of RustDesk Server Pro: accounts, shared address books, devices, strategies, logs and SSO (OIDC and LDAP). Thanks to its fork of <code>hbbs</code>, it also adds access control, device blocking and ID change.</p>
<p>It is built with ASP.NET Core 10, Blazor Server and PostgreSQL, and is released under AGPL-3.0. Read the <a class="" href="https://frapp42.fr/docs/deskpilot/">documentation</a> to get started.</p>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/deskpilot-v0.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the source with the following link: <a href="https://github.com/FrApp42/DeskPilot/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer" class="">DeskPilot</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="DeskPilot" term="DeskPilot"/>
        <category label="RustDesk" term="RustDesk"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[WPF.Pwsh v1.0.0]]></title>
        <id>https://frapp42.fr/blog/wpf-pwsh-v1.0.0</id>
        <link href="https://frapp42.fr/blog/wpf-pwsh-v1.0.0"/>
        <updated>2026-10-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/wpf-pwsh-v1.0.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of <code>FrApp42.WPF.Pwsh</code>, a WPF control that hosts a real PowerShell session (ConPTY). The shell starts with the control, is rendered through the Windows Terminal control, and raises an event when it exits.</p>
<!-- -->
<div class="language-csharp codeBlockContainer_O4Tg theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_XKTC"><pre tabindex="0" class="prism-code language-csharp codeBlock_lisC thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_xgth"><div class="token-line" style="color:#393A34"><span class="token class-name keyword" style="color:#00009f">var</span><span class="token plain"> terminal </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token constructor-invocation class-name">FrApp42</span><span class="token constructor-invocation class-name punctuation" style="color:#393A34">.</span><span class="token constructor-invocation class-name">WPF</span><span class="token constructor-invocation class-name punctuation" style="color:#393A34">.</span><span class="token constructor-invocation class-name">Pwsh</span><span class="token constructor-invocation class-name punctuation" style="color:#393A34">.</span><span class="token constructor-invocation class-name">PwshTerminal</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">terminal</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">OnSessionDisconnected </span><span class="token operator" style="color:#393A34">+=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">CloseTab</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">Content </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> terminal</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>The package targets <code>net8.0-windows</code> and <code>net10.0-windows</code>. Read the <a class="" href="https://frapp42.fr/docs/wpf-pwsh/">documentation</a> to get started.</p>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/wpf-pwsh-v1.0.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the source with the following link: <a href="https://github.com/FrApp42/WPF.Pwsh/releases/tag/v1.0.0" target="_blank" rel="noopener noreferrer" class="">WPF.Pwsh</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="WPF" term="WPF"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[ACR122U v1.1.1]]></title>
        <id>https://frapp42.fr/blog/acr122u-v1.1.1</id>
        <link href="https://frapp42.fr/blog/acr122u-v1.1.1"/>
        <updated>2026-07-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/acr122u-v1.1.1#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Fixed key authentication in <code>ReadBinary()</code> and <code>WriteBinary()</code> (key type now follows the selected slot)</li>
<li class="">Added .NET 10 target framework</li>
<li class="">Updated <code>PCSC</code> to 7.0.1</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/acr122u-v1.1.1#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can compare the changes with v1.1.0 with the following link: <a href="https://github.com/FrApp42/ACR122U/compare/1.1.0...1.1.1" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="ACR122U" term="ACR122U"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.4.1]]></title>
        <id>https://frapp42.fr/blog/web-v1.4.1</id>
        <link href="https://frapp42.fr/blog/web-v1.4.1"/>
        <updated>2026-05-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.4.1#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class=""><code>HttpClient.Timeout</code> is now exposed through the <code>Timeout</code> property of <code>Request</code></li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.4.1#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the release with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.4.1" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.4.0]]></title>
        <id>https://frapp42.fr/blog/web-v1.4.0</id>
        <link href="https://frapp42.fr/blog/web-v1.4.0"/>
        <updated>2026-01-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.4.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Added <code>SetAuthorization</code> method in <code>Request</code></li>
<li class="">Fixed the nullable <code>KeyValuePair</code> check in <code>SetAuthorization</code></li>
<li class="">Multiple target frameworks (.NET 8 to 10)</li>
<li class="">Added <code>TextBody</code> support</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.4.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>This version was published on NuGet on 2026-01-17 but has no tag on GitHub. You can compare the changes since v1.3.0 up to v1.4.1 with the following link: <a href="https://github.com/FrApp42/Tools/compare/web-1.3.0...web-1.4.1" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[ACR122U v1.1.0]]></title>
        <id>https://frapp42.fr/blog/acr122u-v1.1.0</id>
        <link href="https://frapp42.fr/blog/acr122u-v1.1.0"/>
        <updated>2025-12-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/acr122u-v1.1.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Added <code>ReadBinary()</code> and <code>WriteBinary()</code> methods, with an optional key and a <code>KeyLocation</code> slot</li>
<li class="">Added <code>UpdateBinary()</code> method</li>
<li class="">Added unit tests (MSTest)</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/acr122u-v1.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can compare the changes with v1.0.0 with the following link: <a href="https://github.com/FrApp42/ACR122U/compare/1.0.0...1.1.0" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="ACR122U" term="ACR122U"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.3.0]]></title>
        <id>https://frapp42.fr/blog/web-v1.3.0</id>
        <link href="https://frapp42.fr/blog/web-v1.3.0"/>
        <updated>2025-03-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.3.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Serializing fix</li>
<li class="">Binary file sending method (see <a class="" href="https://frapp42.fr/docs/tools/web/#sending-binary-file">Sending binary file</a>)</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.3.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.3.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.2.2 with the following link: <a href="https://github.com/FrApp42/Tools/compare/web-1.2.2...web-1.3.0" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.2.2]]></title>
        <id>https://frapp42.fr/blog/web-v1.2.2</id>
        <link href="https://frapp42.fr/blog/web-v1.2.2"/>
        <updated>2024-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.2.2#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Fix: XML media type response</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.2.2#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.2.2" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.2.1 with the following link: <a href="https://github.com/FrApp42/Tools/compare/web-1.2.1...web-1.2.2" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.2.1]]></title>
        <id>https://frapp42.fr/blog/web-v1.2.1</id>
        <link href="https://frapp42.fr/blog/web-v1.2.1"/>
        <updated>2024-10-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.2.1#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Fix: handled responses with null content</li>
<li class="">Updated build version</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.2.1#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.2.1" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.2.0 with the following link: <a href="https://github.com/FrApp42/Tools/compare/web-1.2.0...web-1.2.1" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.2.0]]></title>
        <id>https://frapp42.fr/blog/web-v1.2.0</id>
        <link href="https://frapp42.fr/blog/web-v1.2.0"/>
        <updated>2024-10-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.2.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">XML deserialization support</li>
<li class="">CI fixes</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.2.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.2.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.1.0 with the following link: <a href="https://github.com/FrApp42/Tools/compare/web-1.1.0...web-1.2.0" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[ACR122U v1.0.0]]></title>
        <id>https://frapp42.fr/blog/acr122u-v1.0.0</id>
        <link href="https://frapp42.fr/blog/acr122u-v1.0.0"/>
        <updated>2024-09-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/acr122u-v1.0.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of <code>FrApp42.ACR122U</code>, a simple library to read NFC cards with an ACR122U card reader.</p>
<!-- -->
<p>The <a class="" href="https://frapp42.fr/docs/acr122u/">documentation</a> is ready and you can start using the package in your C# projects.</p>
<div class="language-csharp codeBlockContainer_O4Tg theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_XKTC"><pre tabindex="0" class="prism-code language-csharp codeBlock_lisC thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_xgth"><div class="token-line" style="color:#393A34"><span class="token class-name">Reader</span><span class="token plain"> _reader </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token constructor-invocation class-name">Reader</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">_reader</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Connected </span><span class="token operator" style="color:#393A34">+=</span><span class="token plain"> OnReaderConnected</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">_reader</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Inserted </span><span class="token operator" style="color:#393A34">+=</span><span class="token plain"> OnCardInserted</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/acr122u-v1.0.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/ACR122U/releases/tag/1.0.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="ACR122U" term="ACR122U"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[System v1.1.0]]></title>
        <id>https://frapp42.fr/blog/system-v1.1.0</id>
        <link href="https://frapp42.fr/blog/system-v1.1.0"/>
        <updated>2024-08-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/system-v1.1.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Fixed <code>Awake</code> (v1 &amp; v2)</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/system-v1.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/system-1.1.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.0.2 with the following link: <a href="https://github.com/FrApp42/Tools/compare/system-1.0.2...system-1.1.0" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="System" term="System"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Web v1.1.0]]></title>
        <id>https://frapp42.fr/blog/web-v1.1.0</id>
        <link href="https://frapp42.fr/blog/web-v1.1.0"/>
        <updated>2024-08-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/web-v1.1.0#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Added tests</li>
<li class="">Added <code>RunGetGytes()</code> in <code>Request</code> class</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/web-v1.1.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/web-1.1.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.0.0 with the following link: <a href="https://github.com/FrApp42/Tools/compare/1.0.1...web-1.1.0" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="Web" term="Web"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[System v1.0.2]]></title>
        <id>https://frapp42.fr/blog/system-v1.0.2</id>
        <link href="https://frapp42.fr/blog/system-v1.0.2"/>
        <updated>2024-08-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new ?]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="whats-new-">What's new ?<a href="https://frapp42.fr/blog/system-v1.0.2#whats-new-" class="hash-link" aria-label="Direct link to What's new ?" title="Direct link to What's new ?" translate="no">​</a></h2>
<ul>
<li class="">Added awake class</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/system-v1.0.2#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/Tools/releases/tag/system-1.0.2" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>
<p>You can also compare the changes with v1.0.0 with the following link: <a href="https://github.com/FrApp42/Tools/compare/1.0.1...system-1.0.2" target="_blank" rel="noopener noreferrer" class="">changes</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="Tools" term="Tools"/>
        <category label="System" term="System"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[TPLink v1.0.0]]></title>
        <id>https://frapp42.fr/blog/tplink-v1.0.0</id>
        <link href="https://frapp42.fr/blog/tplink-v1.0.0"/>
        <updated>2024-08-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[About]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="about">About<a href="https://frapp42.fr/blog/tplink-v1.0.0#about" class="hash-link" aria-label="Direct link to About" title="Direct link to About" translate="no">​</a></h2>
<p>First release of the TPLink library, an unofficial C# library to read and send SMS with a TP-Link Archer MR600 router.</p>
<!-- -->
<p>It is based on <a href="https://github.com/plewin/tp-link-modem-router" target="_blank" rel="noopener noreferrer" class="">plewin/tp-link-modem-router</a> and <a href="https://github.com/hercule115/TPLink-Archer" target="_blank" rel="noopener noreferrer" class="">hercule115/TPLink-Archer</a>. The <a class="" href="https://frapp42.fr/docs/tplink/">documentation</a> is ready.</p>
<div class="language-csharp codeBlockContainer_O4Tg theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_XKTC"><pre tabindex="0" class="prism-code language-csharp codeBlock_lisC thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_xgth"><div class="token-line" style="color:#393A34"><span class="token class-name">Client</span><span class="token plain"> client </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token constructor-invocation class-name">Client</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">url</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> username</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> password</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">Send</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"0606060606"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token interpolation-string string" style="color:#e3116c">$"Hello </span><span class="token interpolation-string interpolation punctuation" style="color:#393A34">{</span><span class="token interpolation-string interpolation expression language-csharp">DateTime</span><span class="token interpolation-string interpolation expression language-csharp punctuation" style="color:#393A34">.</span><span class="token interpolation-string interpolation expression language-csharp">Now</span><span class="token interpolation-string interpolation punctuation" style="color:#393A34">}</span><span class="token interpolation-string string" style="color:#e3116c">"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_w5qm" id="changelog">Changelog<a href="https://frapp42.fr/blog/tplink-v1.0.0#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<p>You can read the changelog with the following link: <a href="https://github.com/FrApp42/TPLink/releases/tag/1.0.0" target="_blank" rel="noopener noreferrer" class="">changelog</a>.</p>]]></content>
        <author>
            <name>Sikelio</name>
            <uri>https://github.com/sikelio</uri>
        </author>
        <category label="TPLink" term="TPLink"/>
        <category label="C#" term="C#"/>
        <category label="Releases" term="Releases"/>
    </entry>
</feed>