<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Syncplify Developers' Blog]]></title><description><![CDATA[Release notes and blog by the developers at Syncplify.]]></description><link>https://blog.syncplify.com</link><image><url>https://substackcdn.com/image/fetch/$s_!9Dt2!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33dc11f-1e7e-4d89-8614-c24873c70d3c_512x512.png</url><title>Syncplify Developers&apos; Blog</title><link>https://blog.syncplify.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 21 May 2026 00:32:24 GMT</lastBuildDate><atom:link href="https://blog.syncplify.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Syncplify]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[syncplify@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[syncplify@substack.com]]></itunes:email><itunes:name><![CDATA[Syncplify]]></itunes:name></itunes:owner><itunes:author><![CDATA[Syncplify]]></itunes:author><googleplay:owner><![CDATA[syncplify@substack.com]]></googleplay:owner><googleplay:email><![CDATA[syncplify@substack.com]]></googleplay:email><googleplay:author><![CDATA[Syncplify]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Syncplify R2FS! v2.0.6 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-r2fs-v205-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-r2fs-v205-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 20 May 2026 20:54:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6882d7c5-574b-48fc-b0b6-2f18f7d731ff_2501x2534.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our reverse-remote file system add-on for Syncplify Server!: R2FS!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Fixed a minor glitch (affecting only the Windows version) that sometimes prevented edits to the VFS permissions to be propagated back up to the upstream Syncplify Server! instance to which the VFS was connected.</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[Syncplify AFT! v4.0.3 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-aft-v403-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-aft-v403-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 13 May 2026 11:04:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/af21036f-6f31-44d2-b83f-0922b7c277f1_2500x2560.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are glad to announce that we have just released a new version of our automated file-transfer-as-code software: AFT!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Fixed a two-tier bug that prevented offline license activation</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[SyngoDB just got a lot faster]]></title><description><![CDATA[The database engine behind Syncplify products received a focused performance upgrade, without changing its stability contract]]></description><link>https://blog.syncplify.com/p/syngodb-just-got-a-lot-faster</link><guid isPermaLink="false">https://blog.syncplify.com/p/syngodb-just-got-a-lot-faster</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Tue, 12 May 2026 16:22:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9460f645-bb45-44a1-b42f-0e9b319744cf_6614x3780.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most Syncplify users never interact with SyngoDB directly. That&#8217;s by design.</p><p>SyngoDB is not a separate product you install, configure, and babysit. It is the embedded database layer used internally by Syncplify software products to store and retrieve configuration, metadata, operational state, and other product data that must be durable, consistent, and fast.</p><p>In other words, SyngoDB is one of those components you only notice if it fails. And it doesn&#8217;t.</p><p>That said, a lot of product behavior eventually depends on this hidden layer: searches, sorted views, paginated results, metadata scans, state lookups, configuration reads, index maintenance, and a long list of small operations that happen constantly while the visible product is doing its job.</p><p>So we recently completed a <strong>focused performance sprint</strong> on SyngoDB.</p><p>The goal was simple: make it faster and more memory-efficient where it matters, without compromising the things that matter more.</p><p>And yes, that second part is important.</p><p>Performance work in a database is not like performance work in a stateless utility function. You don&#8217;t get to <em>&#8220;optimize&#8221;</em> by casually skipping copies, weakening consistency, changing key formats, or introducing clever shortcuts that only work until the system is under load, recovering from a crash, or serving concurrent requests.</p><p>For this sprint, every change had to satisfy a strict set of rules:</p><ul><li><p>no public API changes</p></li><li><p>no storage format changes</p></li><li><p>no weakening of ACID behavior</p></li><li><p>no changes to RAFT boundaries</p></li><li><p>no speculative caching with unbounded memory growth</p></li><li><p>no benchmark-only tricks</p></li><li><p>no <em>&#8220;fast, but only if nobody looks too closely&#8221;</em> code</p></li></ul><p>Every accepted change needed correctness tests, before-and-after benchmarks, and a full verification pass.</p><p>The biggest improvements came from query execution paths.</p><p>We improved those paths by making the query planner and execution code more careful about when it can stream from indices, when it can stop early, and when it can safely reuse already-decoded documents within a single query execution.</p><p>A few representative results from our internal benchmarks:</p><div class="callout-block" data-callout="true"><p><strong>Sorted limited finder query</strong></p><p>before: ~2.02 ms/op</p><p>after:  ~0.035 ms/op</p></div><p>That is roughly a <strong>58x improvement on that benchmarked path</strong>!</p><div class="callout-block" data-callout="true"><p><strong>Full-scan filtered query</strong></p><p>before: ~1.81 ms/op</p><p>after:  ~1.44 ms/op</p></div><p>That is about <strong>20% faster</strong> (and with fewer memory allocations).</p><div class="callout-block" data-callout="true"><p><strong>Indexed range query</strong></p><p>before: ~0.40 ms/op</p><p>after:  ~0.33 ms/op</p></div><p>That is roughly <strong>18% faster on the measured path</strong>.</p><p>We also tightened lower-level bounded index scans so that limits are honored earlier instead of scanning more data than needed and trimming later. That matters because <em>&#8220;give me the first 20 matching results&#8221;</em> should not behave internally like <em>&#8220;find far more than 20 things and then throw most of them away&#8221;</em>.</p><p>The engine layer also received careful improvements, mostly around iteration and read paths. These were deliberately conservative. </p><p>Where public APIs require stable byte slices, SyngoDB still returns stable byte slices. Where internal code can safely avoid extra value work and only needs keys, it now does so more efficiently.</p><p>That is the kind of performance work we like: <strong>measurable</strong>, <strong>boring in the right places</strong>, and not something that would turn into a future support ticket.</p><p>So what does this mean for Syncplify products?</p><p>It means the internal database layer behind them is now faster in several important areas, especially around searches, sorting, pagination, indexed lookups, metadata access, and internal scans.</p><p>It does not require customers to migrate anything. It does not require a configuration change. It does not alter the reliability model. It simply makes a core internal component better.</p><p>That is often the best kind of infrastructure improvement: not loud, not flashy, not something that requires a new checkbox in the UI, but something that improves the behavior of everything built on top of it.</p><p>SyngoDB remains the quiet database layer behind all Syncplify software. Now it is quieter, because it spends less time (less CPU, and less RAM) doing the same work.</p>]]></content:encoded></item><item><title><![CDATA[Syncplify AFT! v4.0.2 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-aft-v402-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-aft-v402-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Thu, 07 May 2026 22:57:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7679e0a8-a645-411f-a4bc-25fd6e0763c1_2500x2560.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our automated file-transfer-as-code software: AFT!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Fixed a bug that prevented the deletion of secrets by name both via UI and REST API</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[Why we said NO to SSO for years (and why that "No" just turned into a "Yes")]]></title><description><![CDATA[It's not a change of heart... it's a change of protocol]]></description><link>https://blog.syncplify.com/p/why-we-said-no-to-sso-for-years-and</link><guid isPermaLink="false">https://blog.syncplify.com/p/why-we-said-no-to-sso-for-years-and</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 06 May 2026 11:33:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e2e8ab8e-0cf8-4b5a-ad4c-664db14af19b_2000x1062.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For years, the most consistent feature request we received was <strong>SSO support</strong>. And for years, the answer from our side was a firm, well-reasoned, and occasionally impassioned &#8220;no.&#8221;</p><p>That position was never arbitrary. It was a direct consequence of what SSO meant in practice for most of that time: <strong>SAML</strong>.</p><p>SAML is old. It was designed in an era when XML was considered elegant, and when &#8220;federated identity&#8221; was a concept so new that nobody had yet discovered all the ways it could go wrong. <strong>The CVE history of SAML</strong> implementations across the industry is not a pretty read. XML signature wrapping attacks. Assertion forgery. Parser differentials that let maliciously crafted tokens slip past validation. Every major SAML library has been burned by at least one of these, and many have been burned repeatedly.</p><p><strong>Syncplify Server! has exactly zero CVE entries in the NIST National Vulnerability Database since its inception in 2013</strong>. That&#8217;s not a statistic we stumbled into. It&#8217;s the result of deliberate, sometimes uncomfortable decisions about what we will and will not put into the product. Adding a SAML stack would have meant inheriting its entire attack surface. That was a trade-off we were not willing to make, and we said so (sometimes too openly) every time the subject came up.</p><p>So what changed?</p><p><strong>OIDC happened</strong>. And more importantly, <strong>OIDC </strong><em><strong>matured</strong></em>.</p><p>OpenID Connect (OIDC) is not &#8220;SAML but newer.&#8221; It&#8217;s a fundamentally different approach to the same problem. It&#8217;s built on OAuth 2.0, it uses JSON Web Tokens instead of XML, it&#8217;s thin by design, and its security model is dramatically easier to implement correctly. The attack surface is smaller, the specifications are cleaner, and the ecosystem has had enough time to find and fix its edge cases. <strong>OIDC is what SSO looks like when you design it with modern threat models in mind</strong> rather than retrofitting security onto an XML messaging framework from 2002.</p><p>The protocol finally earned a place in Syncplify Server!. That&#8217;s the whole story.</p><p>What&#8217;s coming in the next major version is full <strong>enterprise-grade OIDC support</strong>: federated login into the SuperAdmin, Admin, and WebClient! UIs, and (importantly) <strong>app-passwords for legacy clients like FileZilla and WinSCP that don&#8217;t speak OIDC natively</strong> but still need to connect via SFTP/FTPS. The app-password model keeps the security benefits of your Identity Provider (IdP) in place while not leaving older tooling behind. We think it&#8217;s the right balance.</p><p>More details when the release is ready. In the meantime, if you missed the teaser, <a href="https://blog.syncplify.com/p/oidc-is-coming-soon">here it is</a>.</p>]]></content:encoded></item><item><title><![CDATA[OIDC is coming soon...]]></title><description><![CDATA[Well... soon enough anyways &#128517;]]></description><link>https://blog.syncplify.com/p/oidc-is-coming-soon</link><guid isPermaLink="false">https://blog.syncplify.com/p/oidc-is-coming-soon</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Tue, 05 May 2026 13:12:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z4sU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Next in our <em>&#8220;you asked, we listened&#8221;</em> ongoing series: <strong>OIDC support is coming</strong> to the next major version of Syncplify Server! (for SuperAdmins, Admins, Users, and including app-passwords support to extend OIDC coverage to legacy client software that doesn&#8217;t support web-based authentication, like your traditional SFTP/FTPS client for example).</p><p>Here&#8217;s a few screenshots for you:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z4sU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z4sU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 424w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 848w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 1272w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z4sU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png" width="1028" height="539" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:539,&quot;width&quot;:1028,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241891,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/196538592?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Z4sU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 424w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 848w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 1272w, https://substackcdn.com/image/fetch/$s_!Z4sU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75b74087-7265-4c2d-80ab-a981f21cc800_1028x539.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YRwE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YRwE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 424w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 848w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 1272w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YRwE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png" width="1048" height="610" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:610,&quot;width&quot;:1048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:272361,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/196538592?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YRwE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 424w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 848w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 1272w, https://substackcdn.com/image/fetch/$s_!YRwE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3e16c15-a1b0-4f7a-ad1d-aa6c772029da_1048x610.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!13PT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!13PT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 424w, https://substackcdn.com/image/fetch/$s_!13PT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 848w, https://substackcdn.com/image/fetch/$s_!13PT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 1272w, https://substackcdn.com/image/fetch/$s_!13PT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!13PT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png" width="1456" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74048,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/196538592?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!13PT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 424w, https://substackcdn.com/image/fetch/$s_!13PT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 848w, https://substackcdn.com/image/fetch/$s_!13PT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 1272w, https://substackcdn.com/image/fetch/$s_!13PT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b9e0e97-4906-4328-90eb-fe30a0e1806c_1566x776.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qtPa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qtPa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 424w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 848w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 1272w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qtPa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png" width="578" height="613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b85c9f57-736a-4963-9560-3998c3c365df_578x613.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:613,&quot;width&quot;:578,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22188,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/196538592?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qtPa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 424w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 848w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 1272w, https://substackcdn.com/image/fetch/$s_!qtPa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb85c9f57-736a-4963-9560-3998c3c365df_578x613.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Syncplify AFT! v4.0.1 and R2FS! v2.0.5 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-aft-v401-and-r2fs-v205</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-aft-v401-and-r2fs-v205</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Fri, 01 May 2026 11:15:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/446dd14e-c8f3-4e00-9f2e-c59b16fa1c86_2500x2560.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are glad to announce that we have just released new versions of AFT! and R2FS!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Upgraded the embedded back-end database to SyngoDB v6.3.0 (which features better atomicity and faster document-locking mechanism)</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[Syncplify R2FS! v2.0.4 released]]></title><description><![CDATA[Importance of this update: NORMAL]]></description><link>https://blog.syncplify.com/p/syncplify-r2fs-v204-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-r2fs-v204-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Thu, 30 Apr 2026 22:59:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/aaf32dd3-90aa-404c-b0fb-ef87fd05ff65_2501x2534.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our reverse-remote file system add-on for Syncplify Server!: R2FS!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>More accurate and faster reconciliation of VFS configurations when the remote Syncplify Server! node(s) configuration is edited</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[HA Deployments and the Safe-List: Don't Skip This Step]]></title><description><![CDATA[How one missing configuration entry can turn your load-balancer into a self-inflicted denial-of-service machine]]></description><link>https://blog.syncplify.com/p/ha-deployments-and-the-safe-list</link><guid isPermaLink="false">https://blog.syncplify.com/p/ha-deployments-and-the-safe-list</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 29 Apr 2026 09:50:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a0d0cafb-d435-4dce-bd12-0c98000c9918_6500x6500.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Load balancers are interesting network citizens. They connect, they probe, they disconnect, often without completing any authentication. That is <strong>exactly what they are designed to do</strong>. From a security standpoint, however, that pattern looks indistinguishable from a port scanner or a connection-flood attack.</p><p>Syncplify Server! has a built-in protection mechanism, called <em>Protector!</em>, that <strong>automatically block-lists IP addresses exhibiting suspicious behavior</strong>. It works brilliantly against actual attacks. Against your own load balancer, though, it will work just as well, and that is the problem. If your load balancer&#8217;s IP address is not in the <code>safe-list</code>, <em>Protector!</em> will eventually block it, and when that happens, every node behind that load balancer stops accepting connections. Not because the software failed. Because it did exactly what it was told.</p><p>The fix is a single configuration step: <strong>every IP address used by every load balancer in your HA deployment must go in the safe-list</strong>. Not the allow-list (which has entirely different semantics), not the block-list (obviously), the safe-list. Safe-listed addresses are never auto-blocked, regardless of how many times they connect and disconnect without authenticating. This is precisely what the safe-list was designed for. Full details on all three list types are in our <a href="https://kb.syncplify.com/books/syncplify-server/page/block-list-allow-list-and-safe-list">knowledge base</a>, alongside the complete <a href="https://kb.syncplify.com/books/syncplify-server/page/high-availability-ha-how-to-setup">HA setup guide</a>. If you are running a load-balanced HA cluster and have not checked this, now is a good time.</p>]]></content:encoded></item><item><title><![CDATA[Syncplify Server! Is Coming to Docker]]></title><description><![CDATA[A slightly less informal announcement...]]></description><link>https://blog.syncplify.com/p/syncplify-server-is-coming-to-docker</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-server-is-coming-to-docker</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Sat, 25 Apr 2026 13:03:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EFpx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We have been listening. For a while now, customers and prospects have been asking whether Syncplify Server! can run inside a container. The answer will soon be &#8220;yes&#8221;. And we think (or at least hope) you will appreciate how we did it.</p><p>Containerizing a product like Syncplify Server! is not trivial. The server runs three cooperating processes: the SyngoDB database engine, the REST API and control plane, and one worker process per virtual site. These processes communicate over <em>loopback</em> addresses, which <strong>do not cross container network boundaries</strong>. Rather than rewiring the IPC layer entirely, we chose a monolith container model: all three processes share a single network namespace inside one container. Every <em>loopback</em> address works identically to bare metal, and IPC code didn&#8217;t need to be altered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EFpx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EFpx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 424w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 848w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EFpx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png" width="1153" height="1020" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1020,&quot;width&quot;:1153,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:158377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/195402073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EFpx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 424w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 848w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!EFpx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e502e16-1233-42cd-8ba5-4e5c47474359_1153x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A glance of the containerized Syncplify Server! processes (courtesy of Portainer)</figcaption></figure></div><p>The bigger challenge was the worker lifecycle. On Linux, virtual site workers have always been managed by systemd. Inside a container there is no systemd. We built a <strong>small in-process supervisor that replaces systemd in container mode</strong>: it forks, monitors, and terminates worker processes directly, with graceful SIGTERM handling and a even a kill-timeout that mimics bare metal and VM operation. The switch is activated by a single environment variable.</p><p>The container image is built for both <code>linux/amd64</code> and <code>linux/arm64</code> and published as a multi-arch manifest on Docker Hub. Deployment is a single <code>docker compose up -d</code>. The data directory, log directory, and user &#8220;homes&#8221; are mounted from the host, so the license, configuration, and all virtual site data persist across container restarts and image updates.</p><p>It even support hybrid clustering, with some nodes running in bare-metal/VMs, and some other nodes running in/as containers!</p><p>We are in the final testing phase. The Docker image and a full deployment guide will ship soon with one of the upcoming release. Stay tuned.</p>]]></content:encoded></item><item><title><![CDATA[Container Support Coming Soon]]></title><description><![CDATA[You asked for it, we listened...]]></description><link>https://blog.syncplify.com/p/container-support-coming-soon</link><guid isPermaLink="false">https://blog.syncplify.com/p/container-support-coming-soon</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Thu, 23 Apr 2026 23:59:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!E7E1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yes, you&#8217;re not hallucinating, this is it:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E7E1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E7E1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 424w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 848w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 1272w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E7E1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png" width="813" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fcc58925-808b-463c-bca9-d4326bd3f214_813x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:813,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69382,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/195297404?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E7E1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 424w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 848w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 1272w, https://substackcdn.com/image/fetch/$s_!E7E1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcc58925-808b-463c-bca9-d4326bd3f214_813x520.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When Syncplify Server! v7.5 is released (please, be patient just another little bit!!) it will come with an additional deployment option on top of the usual &#8220;download and install&#8221;: a <strong>docker container</strong> image.</p><p>Stay tuned for more&#8230;</p>]]></content:encoded></item><item><title><![CDATA[Syncplify Server! v7.1.3 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-server-v713-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-server-v713-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 22 Apr 2026 12:40:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bf64db4e-4eab-4cd0-a0d4-3c7f3a6d7d5c_2501x2500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our flagship software product, Syncplify Server!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Upgraded back-end SyngoDB server to version 6.2.3</p></li><li><p>Fixed several accessibilty issues in the WebClient! UI</p></li><li><p>Fixed a few minor bugs to all 4 UIs (Setup, SuperAdmin, Admin, and WebClient!)</p></li></ul><p>Please, also read <a href="https://blog.syncplify.com/p/note-about-all-v6-upgrades">this note</a> which pertains to all updates/upgrades. And, as usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[We put our new HA cluster through hell...]]></title><description><![CDATA[Spoiler alert: it didn't flinch :)]]></description><link>https://blog.syncplify.com/p/we-put-our-new-ha-cluster-through</link><guid isPermaLink="false">https://blog.syncplify.com/p/we-put-our-new-ha-cluster-through</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Tue, 21 Apr 2026 10:44:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-2sj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At Syncplify, we don&#8217;t test our software the easy way.</p><p>Meet <code>grinder</code>, our in-house multi-protocol stress testing utility. It doesn&#8217;t just push data at a server as fast as the network allows. It simulates the worst real-world conditions imaginable: connection drops, jitter, backoff cycles, the full chaos of a production environment having a very bad day. Two instances, each hammering a different node of the same cluster simultaneously, with 10 concurrent connections each and a 50MB buffer per session.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IR1O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IR1O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 424w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 848w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IR1O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134328,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/194899665?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IR1O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 424w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 848w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!IR1O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62c67a18-7aa3-4685-abd6-75aabb65df4c_1915x1150.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Two <code>grinder</code> instances in action simultaneously</figcaption></figure></div><p>In short: <code>grinder</code> is every SFTP server&#8217;s nightmare. And we pointed two of them at a two-node Syncplify Server! v7.5.0 HA cluster running our brand-new clustering subsystem.</p><p>The result? Completely smooth. Rock stable. Not a single crack.</p><p>Node one held at <strong>426 MiB/s</strong>. Node two at <strong>341 MiB/s</strong>. Combined throughput north of <strong>750 MiB/s</strong> (that&#8217;s mebibytes per second, not megabits!) sustained across both nodes simultaneously, under full <code>grinder</code> conditions, while the HA subsystem handled synchronization in the background without breaking a sweat.</p><p>The dashboard tells the story clearly: 30-40 concurrent active sessions across both nodes, uploads and downloads running in parallel, data transfer peaking near 1,000 MiB/s on individual bursts. Zero rejected sessions. Zero instability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-2sj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-2sj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 424w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 848w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 1272w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-2sj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png" width="1456" height="918" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:918,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:460800,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/194899665?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-2sj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 424w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 848w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 1272w, https://substackcdn.com/image/fetch/$s_!-2sj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F213e1a9c-2f4a-49d4-ac3e-10c8254ed7e3_1893x1193.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is the same <strong>new HA algorithm we teased recently</strong>, the one we rebuilt from scratch to handle time drift, fast catch-up after node inactivity, and per-node per-site draining with full observability. Under <code>grinder</code> load, it performed exactly as designed.</p><p>We&#8217;ll have more to share soon, including the full release details. But if you run Syncplify Server! in a high-availability deployment you&#8217;ll definitely want to deploy this new version when it becomes available.</p>]]></content:encoded></item><item><title><![CDATA[Syncplify Server! v6.2.60 released]]></title><description><![CDATA[Status of this update: for HA clusters only | LLTS release]]></description><link>https://blog.syncplify.com/p/syncplify-server-v6260-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-server-v6260-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Mon, 20 Apr 2026 16:30:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8c63092d-ae8a-491d-aba4-93ae0e17f35b_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is <strong>not a routine release</strong>.</p><p>Syncplify Server! v6.x has been retired and is under <strong>Limited Long-Term Support (<a href="https://kb.syncplify.com/books/faq-popular-topics/page/what-is-llts-limited-long-term-support">LLTS</a>)</strong>. Under normal circumstances, no new v6 builds would be produced. This release is an exception, made exclusively because a critical defect affecting some but not all HA (high-availability) clusters warranted a backport.</p><h4>What&#8217;s in this release</h4><ul><li><p><strong>Critical fix (backported from v7):</strong> Corrected an HA node communication defect that could (in some limited cases) cause cluster nodes to exchange excessive inter-node traffic, consuming significant network bandwidth while performing no useful work. In severe cases this could degrade the cluster performance.</p></li></ul><p>That&#8217;s it. There are no new features, no other fixes, and no roadmap changes. This is a surgical release for one reason only.</p><h4>A reminder about v6 support status</h4><p><strong>Version 6 is retired</strong>. LLTS means we address critical defects when the impact is severe enough to justify it. It does not mean v6 is back on the active development track, and it does not mean future issues will always receive backports.</p><p>If you are running v6, the right long-term answer remains the same: <strong>upgrade to v7.</strong> It is more secure, more capable, and actively maintained. Every day on v6 is a day without the improvements, protections, and fixes that ship continuously in v7.</p><p>If you are running an HA cluster on v6 and cannot upgrade immediately, apply this release. Then make upgrading to v7 your next scheduled priority.</p><p>You can <a href="https://syngo.to/download">download the most recent releases from our website</a>.</p><p>Thank you for your continued trust in Syncplify.</p>]]></content:encoded></item><item><title><![CDATA[High Availability, Redesigned From The Ground Up]]></title><description><![CDATA[What the new HA engine means for your Syncplify Server! deployments]]></description><link>https://blog.syncplify.com/p/high-availability-redesigned-from</link><guid isPermaLink="false">https://blog.syncplify.com/p/high-availability-redesigned-from</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Mon, 20 Apr 2026 15:16:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7Xhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>High Availability is <strong>one of the hardest problems</strong> in distributed systems engineering. Not because the individual mechanisms are exotic, but because the interactions between them, under the full range of real-world conditions, are subtle in ways that only reveal themselves over time. Clock drift that only appears during a DST transition. A network partition that heals in the middle of a pull cycle. A node that crashes between writing a change to the log and pushing it to peers.</p><p>The first generation of Syncplify Server!&#8217;s HA subsystem was built incrementally, as the product grew and as customer deployments grew more ambitious. It worked. But four years of production data, support cases, and internal tooling gave us a precise catalog of the edge cases it handled imperfectly and the operational experiences that were harder than they needed to be. Rather than continue grafting improvements onto a design which foundational assumptions were no longer sound, we made the decision to <strong>rewrite the entire HA subsystem from scratch</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Xhm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Xhm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 424w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 848w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 1272w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Xhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png" width="1456" height="604" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:604,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117143,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/194806269?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Xhm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 424w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 848w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 1272w, https://substackcdn.com/image/fetch/$s_!7Xhm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc7d2e79-e1af-4491-8dd4-c05b3f749a78_1871x776.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Preview of the &#8220;HA observability&#8221; UI section coming with the new HA subsystem</figcaption></figure></div><p>This is not a reversal. It&#8217;s engineering maturity. Here&#8217;s what changes.</p><h3>Automatic Recovery From Node Failures</h3><p>When a node goes offline, the current implementation keeps it marked offline until the cluster is explicitly told to reset it. A transient hiccup, something that resolved itself in 30 seconds, can still require administrative intervention to clear.</p><p>The <strong>new engine recovers automatically</strong>. When an offline node comes back, the cluster detects it, catches it up on any missed changes, and resumes normal operation. No manual steps, no scheduled tasks to babysit.</p><p>For most customers on stable infrastructure, this will never matter. For customers running in cloud environments with occasional transient connectivity events, it matters every week.</p><h3>A Dedicated Heartbeat, Separate From Data Sync</h3><p>The existing subsystem infers node health from whether data synchronization succeeds. If a node has nothing new to sync, there is no communication at all, and silence is indistinguishable from unavailability.</p><p>The new engine introduces a lightweight, <strong>continuous heartbeat that runs independently of data replication</strong>. The cluster always has an accurate, current picture of which nodes are reachable, regardless of whether any data has changed recently.</p><h3>Continuous Clock Verification</h3><p>All timestamp-based HA implementations require synchronized clocks. The new engine goes further: it <strong>continuously verifies clock accuracy continuously during operation</strong>, not just at startup, and it can detect when a specific node is the one drifting, rather than only detecting that a difference exists. A node that determines it is the source of drift can self-quarantine from pushing changes, preventing incorrect data from propagating.</p><h3>Stronger Inter-Node Authentication</h3><p>Every inter-node request in the new design is <strong>cryptographically signed</strong>, covering the full request body. A timestamp embedded in every signature prevents replay attacks. Combined with TLS transport, this closes a class of inter-node threat scenarios that the previous implementation did not fully address.</p><h3>A Wire Format That Survives Rolling Upgrades</h3><p>The previous implementation used a binary encoding that fails silently when the data structures on two nodes diverge, as they inevitably do during an upgrade. The new design uses a versioned, human-readable wire format. Unknown fields are ignored gracefully. Protocol version mismatches are detected and reported cleanly rather than causing silent data corruption.</p><h3>Automatic Tombstone Purging</h3><p>Deletion records used to accumulate indefinitely, requiring manual cleanup. The new engine purges them automatically on a configurable schedule. A node that has been offline long enough to miss the purge window is handled gracefully on reconnection, with no operator involvement required.</p><h3>The Worker Is Simpler</h3><p>In the current design, the worker process participates in HA replication with its own sync cycle and its own database connections for that purpose. In the new design, replication is an <strong>exclusive responsibility of the </strong><em><strong>ss-webrest</strong></em><strong> process</strong>. The worker is notified of relevant changes via IPC and reloads only what changed. Its behavior is identical whether HA is enabled or not.</p><h3>What Does Not Change</h3><p>The behavioral contract is preserved. Two-node active-active HA, the same replicated collections, the same operational model. The upgrade path from the current implementation will be clear and documented.</p><p>We will publish more detail, including the migration procedure for existing clusters, closer to the release date. If your deployment has specific edge cases you want to make sure we have covered, or <strong>if you&#8217;re interested in BETA-TESTING this new HA approach</strong>, please reach out to us directly via <a href="https://syngo.to/support">https://syngo.to/support</a>.</p>]]></content:encoded></item><item><title><![CDATA[Enterprise-grade Observability For HA Clusters]]></title><description><![CDATA[Coming soon to Syncplify Server! v7]]></description><link>https://blog.syncplify.com/p/enterprise-grade-observability-for</link><guid isPermaLink="false">https://blog.syncplify.com/p/enterprise-grade-observability-for</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Sun, 19 Apr 2026 10:26:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3L8v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve been quietly <strong>rethinking how Syncplify Server! v7 handles HA clusters</strong>, from the ground up.</p><p>Not a cosmetic refresh. A <strong>complete overhaul of the synchronization algorithm</strong>, with meaningful gains in speed and resource efficiency, plus first-class handling of edge cases that were simply not on the radar before: time drift, fast catch-up after extended node inactivity, and elegant <strong>per-node, per-site draining with full observability</strong>.</p><p>Speaking of observability, here&#8217;s a sneak peek at where things are headed:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3L8v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3L8v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 424w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 848w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 1272w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3L8v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png" width="1456" height="629" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127695,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.syncplify.com/i/194681285?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3L8v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 424w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 848w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 1272w, https://substackcdn.com/image/fetch/$s_!3L8v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42818a50-5d6d-4f7b-8a88-2dd915ac2890_1822x787.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>No release date to announce yet. But if HA deployments matter to your infrastructure, this one is worth keeping an eye on.</p>]]></content:encoded></item><item><title><![CDATA[Syncplify R2FS! v2.0.3 released]]></title><description><![CDATA[Importance of this update: NORMAL]]></description><link>https://blog.syncplify.com/p/syncplify-r2fs-v203-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-r2fs-v203-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Fri, 17 Apr 2026 11:20:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d44195e8-9b38-4d00-88ba-34446798fd2e_2501x2534.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our reverse-remote file system add-on for Syncplify Server!: R2FS!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Vastly improved the <strong>VFS Configuration</strong> section in the Admin UI, its user experience (UX) is now much cleaner and user-friendly</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[Syncplify Server! v7.1.2 released]]></title><description><![CDATA[Importance of this update: NORMAL (HIGH if you run it in HA)]]></description><link>https://blog.syncplify.com/p/syncplify-server-v712-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-server-v712-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 15 Apr 2026 18:22:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b19f254e-8d12-4c31-8f24-075a752ef015_2501x2500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are happy to announce that we have just released a new version of our flagship software product, Syncplify Server!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Fixed one critical bug that could cause mis-mapping of the REST API port for inter-node communication and synchronization between HA (high-availability) nodes belonging to the same set</p></li><li><p>Made setting permissions onto shared objects (files and folders) in WebClient! much clearer and easy to understand</p></li><li><p>Several other &#8220;quality of life&#8221; improvements to WebClient!, including but not limited to, a convenient &#8220;refresh&#8221; button, a more consistent editing experience for &#8220;self&#8221; (own profile), the ability to set custom colors (light and dark) for WebClient!&#8217;s title and disclaimer, and a few other accessibility improvements</p></li><li><p>Block-list items are now included in backup/restore operations (NEW!)</p></li><li><p>OTP inputs on all 3 UIs are now auto-focused if/when they appear</p></li><li><p>Vastly improved SMTP configuration and testing</p></li><li><p>Several more small bug-fixes to all 3 UIs (SuperAdmin, Admin, and WebClient!)</p></li></ul><p>Please, also read <a href="https://blog.syncplify.com/p/note-about-all-v6-upgrades">this note</a> which pertains to all updates/upgrades. And, as usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item><item><title><![CDATA[AFT! v4.0 Is Finally Here!]]></title><description><![CDATA[File-transfer automation as Code, rebuilt from the ground up]]></description><link>https://blog.syncplify.com/p/aft-v40-is-finally-here</link><guid isPermaLink="false">https://blog.syncplify.com/p/aft-v40-is-finally-here</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Wed, 15 Apr 2026 01:40:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ba8efa4a-fb19-4e97-9050-17553afd5c84_1623x1050.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Syncplify AFT! v4.0 is now generally available. This is not an incremental release. Every line of code was rewritten: <strong>new engine, new architecture, new capabilities</strong>. If you have used any previous version of AFT!, the product you are upgrading to is a fundamentally different piece of software. And yet&#8230; <strong>95% (or more) of the code you wrote for the old version 3.x will still run, unchanged, with this new v4.0!</strong></p><p>Here is what changed, and why it matters.</p><p><strong>The SyncJS library is now the common cross-product engine.</strong> Previous versions of AFT! had their own <em>bespoke (and somewhat incompatible) SyncJS implementation</em>. Starting with v4.0, every AFT! automation uses the new SyncJS engine shared library: the same engine that powers Syncplify Server! event handlers and R2FS! storage backend scripting tasks.</p><p>This is not a compatibility layer; it is a true unification. A script you write for AFT! will run on Syncplify Server! without modification (except for APIs that are product-specific by design), and vice versa. One scripting language. One API surface to learn. One VSCode extension to install.</p><p>Speaking of which: the <a href="https://marketplace.visualstudio.com/items?itemName=syncplify.syncjs">SyncJS VSCode extension</a> is already AFT!-aware. Install it, set <code>syncjs.product</code> to <code>aft</code> (which is the default), and you get full IntelliSense for every SyncJS built-in, every AFT!-specific extension (<code>FsWatcher</code>, <code>RemoteWatcher</code>, <code>WaitForHaltSignal</code>, <code>Params</code>, <code>JobID</code>), and the full SyncJS API surface. The extension also bundles <strong>MCP servers</strong>, so AI coding assistants like GitHub Copilot (etc) have accurate, real-time awareness of the AFT! scripting API.</p><p><strong>Scripts can run long-lived jobs or one-shot executions.</strong> This is the design choice that opens the most doors. An AFT! script can run as a persistent process. <code>WaitForHaltSignal()</code> blocks the script until an operator stops it via the web UI or the REST API, which means scripts can react to events in real time rather than polling on a schedule. <code>FsWatcher</code> monitors local directories for file-system events (create, write, remove, rename, chmod) and fires a callback the moment something changes. <code>RemoteWatcher</code> does the same for remote directories. Both support recursive subdirectory tracking. Newly created subdirectories are covered automatically, with no extra logic required. Scheduled execution via a cron-compatible built-in scheduler is still fully supported for batch workloads. The two models coexist.</p><p><strong>The VFS Library replaces hardcoded credentials.</strong> Connection profiles (SFTP, FTP/S, S3, Azure Blob, GCS, local filesystem) are defined once in the VFS Library with a name and tested independently. Scripts reference them by name using <code>VirtualFSByName()</code>. Credentials never appear in script code, and the same script works across environments by simply changing which named profile it references. This is the AFT! equivalent of the VFS Library concept that Syncplify Server! users already know well.</p><p><code>CopyToVFS/MoveToVFS</code><strong> transfer without touching local disk.</strong> When copying or moving a file from an SFTP server to an S3 bucket, AFT! streams it directly between the two endpoints. Nothing is staged locally. And if it&#8217;s a &#8220;move&#8221; operation, the source file is removed automatically after a successful transfer.</p><p><strong>Named Secrets keep credentials out of scripts.</strong> Passwords, API keys, and other sensitive values are stored encrypted in AFT!&#8217;s secrets store and retrieved at runtime with <code>GetSecret("secret-name")</code>. They never appear in plain-text anywhere in the script.</p><p><strong>The full SyncJS function library is available.</strong> That means SFTP, FTP/S, S3, Azure, and GCS client objects with a uniform upload/download API; fluent HTTP client for REST API calls; <strong>SQL</strong> database access; AMQP messaging (RabbitMQ and Azure Service Bus); <strong>PGP</strong> encryption and signing; HMAC signing and verification; <strong>CSV and XML</strong> parsing; email, Slack, <strong>Teams</strong>, <strong>Telegram</strong>, and Twilio notifications; <strong>process execution with output capture</strong>; encoding and compression; image processing; and <code>TcpConnect</code> for lightweight health checks. The <a href="https://blog.syncplify.com/p/21-new-functions-in-syncjs-core">21 new SyncJS core functions</a> announced last week are all available in AFT! v4 as well.</p><p><strong>The admin UI has been completely redesigned and vastly improved.</strong> New dashboard, new script editor with syntax checking, cron job management, op log, license management, and settings, all rebuilt. Login is now protected by bcrypt-hashed passwords and TOTP-based two-factor authentication.</p><p><strong>Migration from AFT! v3 is a single command.</strong> Run <code>aft import-from-aft3</code> and your existing v3 JavaScript scripts are imported. They will require review, and likely some adaptation to the SyncJS API, but the import step eliminates the manual copy-paste work.</p><p><strong>It ships as a single binary with no external dependencies.</strong> One file. No runtime, no sidecar processes. Drop it on Linux or Windows, run it interactively, or install it as a system service with one of the supplied installers, and it is operational. The binary is CGO-free and statically linked.</p><p>Come check out <a href="https://www.syncplify.com/syncplify-aft">the new AFT! at syncplify.com</a>!</p>]]></content:encoded></item><item><title><![CDATA[Syncplify R2FS! v2.0.2 released]]></title><description><![CDATA[Importance of this update: MINOR]]></description><link>https://blog.syncplify.com/p/syncplify-r2fs-v202-released</link><guid isPermaLink="false">https://blog.syncplify.com/p/syncplify-r2fs-v202-released</guid><dc:creator><![CDATA[Syncplify]]></dc:creator><pubDate>Mon, 13 Apr 2026 01:11:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/23c5c32d-c8cc-487d-be7e-832a5ac16fc4_2501x2534.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are glad to announce that we have just released a new version of our reverse-remote file system add-on for Syncplify Server!: R2FS!</p><h4><strong>What&#8217;s changed?</strong></h4><ul><li><p>Fixed a minor issue in the installer (not the software itself) that wasn&#8217;t able to correctly identify updates/upgrades for fully-licensed instances.</p></li></ul><p>As usual, you can <a href="https://syngo.to/download">download the most recent release from our website</a>.</p><p>Thank you all for trusting our software with your secure file transfers!</p>]]></content:encoded></item></channel></rss>