Skip to content

Releases: SnapXL/SnapX

v0.4.0

20 Feb 19:21
7eafb0f

Choose a tag to compare

v0.4.0 Pre-release
Pre-release

v0.4.0 (2026-02-20)

Eight months, 257 features, 136 bug fixes, and one existential crisis later, here we are. SnapX now officially runs on everything short of a smart toaster.

I am proud to say this is the first usable release of SnapX for basic usecases at the moment. ❤️

The biggest news is that we've completely overhauled the uploader system. You can now configure FTP, FTPS, SFTP, Imgur, ImageShack, Flickr, Hastebin, GitHub Gist, Google Photos, OneTimeSecret, Paste.ee, and Pastebin directly from the settings UI. No more editing JSON files by hand, like it's 2015. Oh yeah, and did I forget to mention you can now choose your selected uploader, after capture tasks, after upload tasks?

We've also switched the configuration from JSON to YAML because YAML is what cool kids use. We've also implemented post-quantum resistant encryption for secrets in your configurations. Your old settings will migrate automatically. If they don't, that's a bug. Open one.

The OCR tool got a massive upgrade. It now supports drag and drop, clipboard pasting, and file selection. We also swapped out the OCR backend for RapidOcrNet, which is faster, smaller, and actually works cross-platform without using a bunch of native libraries. The OCR model is no longer embedded in the binary, so the application size dropped significantly. You're welcome.

We've also made great strides in Linux packaging. We now have Flatpaks, Snaps, RPMs, and DEBs. We did consider making an AppImage; however, I'm not seeing a very enticing reason. Flatpaks can now be put on a thumb drive.
Windows users can now download MSI packages. MSIX packages are coming on Microsoft Store first. FreeBSD builds are here. Alpine Linux builds also exist now.

We've removed about 15 dead uploaders, including Twitter, Bitly, and various services that have been offline longer than some of our contributors have been alive. If you were still using TwitPic, I have some bad news.

The region selector won't crash the app if screenshotting fails anymore. It now shows a helpful dialog instead of just dying. Progress.

We've also added a QR code tool overhaul, proper window and monitor capture from the tray, thumbnail generation, AVIF, and WEBP support. The version text in the about window is now animated because we ran out of important things to do.

We have officially moved to .NET 10. Bringing slight performance improvements.

"Any program is only as good as it is useful." - Linus Torvalds

Known Issues

  • Much higher memory usage than ShareX. This is because even though SnapX is still under active development, it utilizes more of your computer's memory than before, such as caching images in memory to keep the UI responsive.
  • DatabaseView is not implemented properly.
  • SnapX's settings on FreeBSD are not encrypted.
  • Imgur OAuth2 is broken. Notably, because Imgur broke it for 3rd party applications and hasn't provided any guidance to anyone in the open source community.
  • Google Photos uploader requires you to create a new Google project to use it.
  • A portion of the region capture window on macOS is not visible.

Screenshots

image image image image image image image image image image image image image image image image image

I've redacted some of the 1000 commits for your convenience. I doubt you want to read all of it...

Features

  • Avalonia: Release v0.4.0 (911be8f5)
  • Avalonia: Add OCR drag&drop (b1cd64d6)
  • Avalonia: Add not implemented yet view (76d69942)
  • Core: Add encryption & use it by default (61e37d6d)
  • Core: Use Tmds.Ssh instead of SSH.NET (e7b6ade5)
  • Core: Migrate configuration from JSON to YAML (bba7ffd4)
  • Avalonia: Add FTP/FTPS/SFTP uploader settings (97281e62)
  • Avalonia: Add Imgur uploader settings (e55d3666)
  • Avalonia: Add ImageShack uploader settings (0b8625fd)
  • Avalonia: Add Database viewer (12aa3915)
  • Avalonia: Add BuiltIn Uploader View (fc9efe9b)
  • Avalonia: Add Flickr uploader settings (896795f7)
  • Avalonia: Add Hastebin uploader settings (432c2570)
  • Avalonia: Add GitHub Gist uploader settings (1f9ee94b)
  • Avalonia: Support OAuth2 loopback uploaders (58fe5d82)
  • Avalonia: Add OneTimeSecret uploader settings (f1c74006)
  • Avalonia: Add Google Photos uploader settings (4cde9d79)
  • Avalonia: Add Paste_ee uploader settings (41fbfc09)
  • Avalonia: Add pastebin uploader settings (452f6626)
  • Avalonia: Use Destination enums to navigate settings (581f6ccb)
  • Core: Switch default hastebin provider to pastie.io (5a50525d)
  • Avalonia: Add clipboard/file support to OCR Tool (687ea682)
  • Avalonia: Completely revamp QRCodeView (50a0e409)
  • Avalonia: Make version text animated (e1aee2b6)
  • Avalonia: Allow region selector to be called programatically (07ef3b0e)
  • Avalonia: Add OCR Tool (9f11c3a1)
  • Core: Switch to RapidOcrNet for faster, smaller, cross-platform OCR (4a801e40)
  • Avalonia: Poll for window/display updates on Linux/FreeBSD (9cd59c19)
  • Avalonia: Show success dialog with response data after test upload (1447162f)
  • Core: Add windowList support to macOS (c990a35f)
  • Avalonia: Custom uploader menu (d915c02b)
  • Avalonia: Import/export/reset config (50d13ebc)
  • Avalonia: Add progress indicator to OCR (2becb5cf)
  • Avalonia: Add HistoryItem shortening/sharing (be4ae381)
  • Core: No longer embed OCR model inside binary (a54d1306)
  • packaging: Refactor snapx RPM into sub packages (d16b0ce5)
  • Avalonia: Add thumbnail generation (3c951020)
  • Core: Use UI frontend for clipboard actions (c4521708)
  • Avalonia: Simplify capture options & add QR code to...
Read more

v0.3.0

26 Jun 17:38
ea6f33f

Choose a tag to compare

v0.3.0 Pre-release
Pre-release

v0.3.0 (2025-06-26)

You can now upload and download your HistoryItems directly and instantly open their URLs, shortened links, their deletion links, file paths, and folders. We just upgraded to PaddleOCR v5 (PaddleSharp v3), which increases the performance of the OCR model. Additionally, you can now run PaddleOCR on most Linux distributions*, and macOS. To accompany the support, we've created an OCR window for it that has support for English, Chinese (Simplified), Chinese (Traditional), Spanish, Arabic, Korean, Hindi, Japanese, Telugu, Tamil, Russian, Portuguese, Turkish, German*, French (Revolution).

The ugly "sidebar" we had has been ejected from the building. Now, there's an actual sidebar that mimics ShareX's sidebar, somewhat.

Additionally, we've removed the dependency on LibVLC, which didn't make much sense for us. After giving it thought, playback inside SnapX is a waste of everyone's time. On Linux, we have mpv, haruna, and VLC. On Windows, it ships Movies & TV ootb and you have VLC as an option. On macOS, you have the integrated video player with VLC as an option. For sound playback, we now use ffplay from FFMPEG.

We've also made SnapX far more stable. The annoying HistoryItem flashing is gone, and the region selector won't crash the app if screenshotting fails. It's simply a much smoother and more reliable experience.

You'll find smarter build processes, with us no longer putting *.so files in your $PATH to appease .NET. We now use a wrapper script, as we should have in the first place. For Windows users, this release includes better path handling and disables the wrapper script on Windows. Plus, we've fine-tuned performance by optimizing build times on Windows and ensuring a smoother experience when launching features like the About Window. We've also updated various dependencies for improved stability and security.

Additionally, I have added a LogViewer for ease of access.

I also switched SnapX's versioning tool to GitVersion, which was designed to be SemVer compliant. It also doesn't panic when building SnapX without a git repository. Finally, we've improved our documentation, making it clearer for packagers and easier to understand our versioning.

SnapX is now ~825 MiB uncompressed (~411 MB zipped), with the majority of that coming from our integration of PaddleOCR, a powerful offline AI text recognition engine. This allows SnapX to deliver fast, private OCR without needing any cloud services. While the increase is most noticeable on Linux (previous builds were ~75 MiB), it's less significant on Windows and macOS. When I asked in our Discord, the community overwhelmingly understood and accepted the size tradeoff in exchange for better cross-platform support and advanced OCR. If you feel that is too large for your liking, you can set the DisableOCR=1 environment variable when building SnapX, and it will once again be ~75 MiB.

"In open source, we feel strongly that to really do something well, you have to get a lot of people involved." - Linus Torvalds

Known Issues

  • Much higher memory usage than ShareX. This is because even though SnapX is still under active development, it utilizes more of your computer's memory than before, such as caching images in memory to keep the UI responsive.
  • The settings window's buttons do nothing yet, besides the Config folder button.
  • PaddleOCR can't be run on musl-based Linux distributions, Windows 11 ARM64, and FreeBSD.
  • On Linux, PaddleOCR libraries contain an invalid RPATH, but still run. This still causes COPR builds to fail. It will be fixed soon after this release.

Screenshots

image
image
image
image
image


Features

Bug Fixes

Read more

v0.2.1

09 Jun 22:30
aec054c

Choose a tag to compare

v0.2.1 Pre-release
Pre-release

v0.2.1 (2025-06-09)

Bug fix release to deal with the problems of the 0.2.0 release. Nothing to see here.

"Sometimes you have one of those days that shows how incompetent you are... Moral of the day: RTFM." - Linus Torvalds

Known Issues

  • 0.2.1 release identifying as 0.2.0
  • Much higher memory usage than ShareX. This is because even though SnapX is still under active development, it's doing more things with your computer's memory than before, like caching images in memory to keep the UI responsive.
  • Inconsistent flickering of HistoryItems. It seems that it needs more investigation.
  • The settings window is incomplete.
  • PaddleOCR can't be run on Linux

Bug Fixes

Build System

Packaging

Misc

Screenshots

image
image
image
image

Full Changelog: v0.2.0...v0.2.1

v0.2.0

08 Jun 03:59
3308d2d

Choose a tag to compare

v0.2.0 Pre-release
Pre-release

v0.2.0 (2025-06-07)

With the pre-release of 0.2.0, marks the actual UI for end users. It's very incomplete and juvenile, however, it has a lot of potential. Additionally, SnapX's history is now powered by SQLite instead of JSON. SnapX automatically migrates your History.json when it sees it in it's ConfigFolder. Additionally, you can turn off FeatureFlags at build time with export DisableOCR=1 && ./build.sh.

As a nice plus for packagers, builds no longer fail when SnapX is built without it's .git directory.

"If Microsoft ever does applications for Linux it means I've won." - Linus Torvalds

Known Issues

  • Much higher memory usage than ShareX. This is because even though SnapX is still under active development, it's doing more things with your computer's memory than before, like caching images in memory to keep the UI responsive.
  • Inconsistent flickering of HistoryItems. Needs more investigation.
  • Settings window is incomplete.
  • PaddleOCR can't be ran on Linux

Screenshots

image
image
image
image

Bloopers

While testing, I've come across some really cool bugs. Right clicking an HistoryItem causing a refresh? Somehow turning one HistoryItem being shown to 7 more popping up out of nowhere.

Video_2025-06-06_17-34-01.mp4

I also experimented with having a million HistoryItems. Worked better than the black window I had from trying to do it without virtualization.

image

There's also version mismatch protection now!

image

Looks just about the same besides the font on Windows being Segoe UI and Linux being Inter

image

Or better, when I was working on SQLite support and faced many challenges. So instead, I chose to go with Dapper.AOT! So far, I'm loving it.

image

What's Changed

  • build(deps): update rust crate camino to v1.1.10 by @renovate in #193
  • build(deps): update dependency sixlabors.imagesharp to 3.1.9 by @renovate in #195
  • chore: move PR template to proper directory by @ok-coder1 in #198
  • docs: make all the newlines in Markdown files actual newlines by @ok-coder1 in #196
  • chore: add 0.2.0 Dev as a version option to issue form by @ok-coder1 in #197
  • build(deps): update dependency sentry.profiling to 5.10.0 by @renovate in #199
  • build(deps): update rust crate uniffi to v0.29.3 by @renovate in #200
  • feat(Avalonia): initial basis of UI by @BrycensRanch in #99
  • Apply fixes from CodeFactor by @codefactor-io in #202

Full Changelog: v0.1.0...v0.2.0

v0.1.0

01 Jun 01:19
83757b2

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

v0.1.0 (2025-05-31)

The current features are slightly better than UploaderX due to PaddleOCR. (You can test it with snapx-ui -OCR ~/Pictures/Screenshot.png). You can test more of the Core features with the CLI. Integration with the respective operating systems is WIP. This release marks the beginning of actual versioning of SnapX. Very soon, semantic-release will be introduced to automatically produce versions bi-weekly. Once the feat/initial-avalonia-ui branch is merged, the 0.2.0 version will be born.

For clarity, SnapX is still not usable. For me, this isn't very pleasant to say, however, I am proud of the progress I've made, and other contributors have as well. The foundation of the project is valuable. The hours I've put into the Core with the migration to SQLite (coming with feat/initial-avalonia-ui)

SnapX's develop branch is also packaged on COPR and AUR. Packaging for other operating systems is coming soon.

"Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program." – Linus Torvalds

New Contributors

What's Changed

Full Changelog: https://github.com/BrycensRanch/SnapX/commits/0.1.0