<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts by williamcorlin</title><link href="https://forge.codesys.com/u/williamcorlin/" rel="alternate"></link><link href="https://forge.codesys.com/u/williamcorlin/profile/feed.atom" rel="self"></link><id>https://forge.codesys.com/u/williamcorlin/</id><updated>2026-07-14T11:55:31Z</updated><subtitle>Recent posts by williamcorlin</subtitle><entry><title>The future and proper use of CAA.BOLT, CAA.SEMA,..</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/e6c20a740e/?limit=25#85e8" rel="alternate"></link><published>2026-07-14T11:55:31Z</published><updated>2026-07-14T11:55:31Z</updated><author><name>williamcorlin</name><uri>https://forge.codesys.com/u/williamcorlin/</uri></author><id>https://forge.codesys.com3999ef2f57f74800b92b5047a0f77cbf585d6fc1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I've been moving in the same direction. For new libraries, I'm trying to minimize dependencies on APIs that look like they're being phased out unless the documentation explicitly recommends them.&lt;/p&gt;
&lt;p&gt;For synchronization primitives like CAA.BOLT and CAA.SEMA, I'd love to see an official replacement or abstraction layer that's guaranteed to remain stable across runtimes. That would make library development much cleaner than relying on platform-specific SysLib* implementations or conditional compilation everywhere.&lt;/p&gt;
&lt;p&gt;Until there's clearer guidance, my approach has been to isolate the locking mechanism behind a small wrapper interface. If CODESYS changes the recommended API in the future, only that wrapper needs to be updated instead of every library that uses it. It isn't perfect, but it's made maintenance much easier.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>