I'm glad to announce the release of version 2.76 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Added Webmention support for links (Markdown-style or direct) written in a post.<br><br>Added new command-line options for list maintenance.<br><br>Display custom emoji in more places (contributed by dandelions).<br><br>Mastodon API: fixed infinite scroll in many clients (thanks to cheeaun for giving me the clue), added /api/v1/accounts/.../lists endpoint (contributed by dandelions).<br><br>Email notifications can now be sent via libcurl SMTP instead of spawning the /usr/sbin/sendmail program. To use this new feature, some additional server configuration is needed, see snac(8) (contributed by shtrophic).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>
snacannounces
I announce the release of version 2.77 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It just reverts a feature included in previous version; links in posts were also included as attachments, but, while harmless and on spec, it made posts look ugly in some platforms, and what the world doesn't need is more ugly things.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
Strangely on a Sunday morning, I'm glad to announce the release of version 2.67 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>The search box also accepts post URLs; the post is requested and, if it's found, can be interacted with (liked, boosted, replied to, etc.).<br><br>IP addresses for failed logins are tracked and throttled to mitigate brute force attacks (see snac(8) for more information).<br><br>Fixed a bug regarding repeated attachments when editing a post.<br><br>Mastodon API: Improved timeline pagination in some clients (details: an HTTP Link header has been added), fixed missing audio attachments, fixed an incorrect value for the bot field in newly created accounts, fixed a crash, implemented markers (contributed by nowster).<br><br>When running in server mode, the pidfile is locked to avoid concurrent running of the same server instance.<br><br>Added documentation and some tweaks to enable static compilation with musl (contributed by Shamar).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>In the northern half we'll celebrate <a href="/tags/solinvictus/" rel="tag">#SolInvictus</a> by listening to the song <a href="https://song.link/i/1382776681" rel="nofollow">One Perfect Sunrise</a> by <a href="/tags/orbital/" rel="tag">#Orbital</a>.<br><br>
Happy new year. I'm glad to announce the release of version 2.68 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. This release couldn't have been possible without the help of several fellow developers. It includes the following changes:<br><br>Fixed regression in link verification code (contributed by nowster).<br><br>Added ipv6 support for the https frontend connection (contributed by hb9hnt).<br><br>New "Like by URL" operation (contributed by dheadshot).<br><br>Added support for a Mastodon-like /share link sharing URL, like the one provided by sites like <a href="https://mastodonshare.com/" rel="nofollow"><span class="invisible">https://</span>mastodonshare.com/</a> and such. To be able to use it, you must reconfigure your https proxy to redirect /share to snac (see snac(8)).<br><br>New linux landlock (sandboxing) support for enhanced security (contributed by shtrophic). It's still a bit experimental, so you have to enable it explicitly by recompiling with the WITH_LINUX_SANDBOX directive (e.g. make CFLAGS=-DWITH_LINUX_SANDBOX).<br><br>Some search fixes regarding repeated matches.<br><br>The export_csv cmdline operation now exports the CSV files inside a user's export/ subdirectory instead of the current directory.<br><br>All CSV files to be imported must now be stored inside a user's import/ subdirectory instead of the current directory.<br><br>Mastodon API: more timeline paging tunings (contributed by nowster), post language selected in apps is properly set.<br><br>The command-line operation note new reads the LANG environment variable to set the post's language.<br><br>A new command-line operation, note_unlisted, allows posting "unlisted" or "quiet public" posts.<br><br>The maximum number of entries in users' RSS feeds and in outboxes can now be set via the max_public_entries variable in the server.json file.<br><br>Fixed broken support for Audio objects.<br><br>Made xmpp and mailto URLs clickable.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>This release has been inspired by the painting Judith Slaying Holofernes by <a href="/tags/artemisiagentileschi/" rel="tag">#ArtemisiaGentileschi</a>.<br><br>
I'm glad to announce the release of version 2.71 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. This is a bugfix only release. It includes the following changes:<br><br>Fixed memory leak (contributed by inz).<br><br>Fixed crash.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>
I'm glad to announce the release of version 2.78 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Hashtag following also allow URLs to RSS feeds of ActivityPub objects (like e.g. <a href="https://mastodon.social/tags/ThankYouTuesday" rel="nofollow" class="ellipsis" title="mastodon.social/tags/ThankYouTuesday"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/tags/ThankYouT</span><span class="invisible">uesday</span></a>).<br><br>Users can now configure a webhook to receive an HTTP POST for every notification. This can be useful for implementing bots that react to activities, like autorepliers, chatbots or interactive textual games (see snac(1) for more information).<br><br>The number of pending follow confirmations is shown next to the "people" link.<br><br>Faster performance metrics (contributed by dandelions).<br><br>Improved lowercasing in hashtags (contributed by postscriptum).<br><br>A search-by-url tweak for implementations that return 200 for invalid webfinger queries (e.g. piefed).<br><br>Mastodon API: added follow confirmation endpoints, fixed collisions in attachment file names.<br><br>Fixed potential crashes in attachment uploads.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I'm glad to announce the release of version 2.61 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Migration from a Mastodon account to a snac one has been implemented. Please see snac(8) (the administrator manual) for more information.<br><br>Mastodon API: fixed timelines/public (it was showing less posts that it should).<br><br>Fixed over-zealous caching to the public timeline.<br><br>Some HTML tweaks and fixes to the web interface.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider buying grunfink a coffee: <a href="https://ko-fi.com/grunfink" rel="nofollow"><span class="invisible">https://</span>ko-fi.com/grunfink</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>This release has been inspired by the painting The Hands Resist Him by <a href="/tags/billstoneham/" rel="tag">#BillStoneham</a>.<br><br>
I'm glad to announce the release of version 2.70 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Notifications are now shown in a more compact way (i.e. all reactions are shown just above your post, instead of repeating the post ad nauseam for every reaction).<br><br>New command-line option unmute to, well, no-longer-mute an actor.<br><br>The private timeline now includes an approximate mark between new posts and "already seen" ones.<br><br>Fixed a spurious 404 error in the instance root URL for some configurations.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>This release has been inspired by the song <a href="https://song.link/i/1741388178" rel="nofollow">The Answers to the Questions</a> by <a href="/tags/christabell/" rel="tag">#Christabell</a> and <a href="/tags/davidlynch/" rel="tag">#DavidLynch</a>.<br><br>
I'm glad to announce the release of version 2.72 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Each post can have more than one attachment from the web UI. The maximum number can be configured in server.json via the max_attachments value (default: 4).<br><br>Each notification includes a link labelled Context, that leads to a page with the full conversation tree the post is a part of.<br><br>Each followed hashtag has now a directly accesible link.<br><br>Fixed a search bug (some matches were missed).<br><br>Fixed more crashes (contributed by inz).<br><br>Fixed link detection in posts (contributed by inz).<br><br>Allow multiple editors for command-line posts (contributed by inz).<br><br>Separated maximum and default timeline entry count, allowing larger timelines to be requested without having to increase the default (contributed by lxo).<br><br>Turned message date into a link to the local post, so that it can be loaded into a separate tab for interacting with (contributed by lxo).<br><br>Special thanks to fellow developer inz for bringing my attention to code places where I should have been more careful.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>This release has been inspired by the song <a href="https://song.link/i/1438761053" rel="nofollow">Songe d'un ange</a> by <a href="/tags/kyriekristmanson/" rel="tag">#KyrieKristmanson</a> and <a href="/tags/brendanperry/" rel="tag">#BrendanPerry</a>.<br><br>
I'm glad to announce the release of version 2.74 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes a lot of web UI translations by lovely people and a bit of minor tweaks and fixes:<br><br>Added Spanish (default, Argentina and Uruguay) translation (contributed by gnemmi).<br><br>Added Czech translation (contributed by pmjv).<br><br>Added Brazilian Portuguese translation (contributed by daltux).<br><br>Added Finnish translation (contributed by inz).<br><br>Added French translation (contributed by Popolon).<br><br>Added Russian translation (contributed by sn4il).<br><br>Added Chinese translation (contributed by mistivia).<br><br>Added German translation (contributed by zen and Menel).<br><br>Added Greek translation (contributed by uhuru).<br><br>Added Italian translation (contributed by anzu).<br><br>Mastodon API: added support for /api/v1/custom_emojis (contributed by violette).<br><br>Improved Undo+Follow logic (contributed by rozenglass).<br><br>Reverted (temporarily) the Markdown code that converted text between underscores to italics, because it was causing more problems that what it was worth.<br><br>Fixed bug in bookmark CSV import.<br><br>Don't indent Twitter-like "threads" (i.e. chains of short posts from the same author that are self-replies).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider contributing via LiberaPay: <a href="https://liberapay.com/grunfink/" rel="nofollow"><span class="invisible">https://</span>liberapay.com/grunfink/</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>
I've just published version 2.79 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Added a server-wide Webmention hook; this way, if somebody out there (that supports Webmention) links to a user or post in this instance, a notification is sent (this is the complementary of what was implemented in version 2.76).<br><br>Fixed regression while sending email via pipe on OpenBSD.<br><br>Fixed Markdown parsing when the URL has parenthesis.<br><br>Always show the 'pending follow confirmations' section if there are any (even if the toggle is off).<br><br>If a metadata value is an account handler, it's also tried to be validated (rel="me" links).<br><br>Another search by URL tweak (this time for Pixelfed links).<br><br>Mastodon API: fixed a bug that made some boosts disappear after being shown in apps like Tusky, added followed hashtags maintenance, other minor changes.<br><br>Renamed command-line actions create_list to list_create and delete_list to list_remove.<br><br>The default favicon URL can be changed from the server configuration.<br><br>New command-line option export_posts, to export all posts by a user in a JSON format compatible with the one generated by Mastodon.<br><br>The command-line options to send notes also allow an optional -r argument, to set the URL of a Fediverse post this note is a reply to.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version version 2.80 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It only includes one bugfix; if you use the Mastodon API, you may be interested in upgrading:<br><br>Mastodon API: fixed a regression (introduced in previous version in the "boosts disappear in Tusky" fix) that interrupted timelines.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.85 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Quoted posts are now shown.<br><br>Added metadata to remote users in the people page (contributed by dandelions).<br><br>Fixed memory leak (contributed by dandelions).<br><br>Fixed user matching (contributed by rakoo).<br><br>Rendering visibility conditionally, with lesser reach if needed (contributed by byte).<br><br>Added a button next to a follow notification to follow back.<br><br>Fixed typo in man page (contributed by spky).<br><br>Updated Czech and German translations (contributed by pmjv and zen).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I'm glad to announce the release of version 2.75 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Added support for scheduled posts (for this to work correctly, users will have to set their time zone, see below).<br><br>The user can now select a working time zone. This will be used to correctly parse the local date and time of a scheduled post.<br><br>Fixed incorrect poll vote format, which was causing problems in platforms like GotoSocial.<br><br>Mastodon API: added support for /api/v1/instance/peers.<br><br>Added a new snac-admin helper script (contributed by shtrophic).<br><br>In the web UI, posts are separated by the <hr hidden> tag; it's invisible in graphical browsers, but it separates post clearly in text-based browsers.<br><br>Some Finnish, Spanish, Czech and Russian translation updates and fixes.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a><br><br>This release has been inspired by the song <a href="https://song.link/i/1777057436" rel="nofollow">Pictures on the Wall</a> by <a href="/tags/michellegurevich/" rel="tag">#MichelleGurevich</a>.<br><br>
I'm glad to announce the release of version 2.81 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>If the propagate_local_purge configuration variable is set to true in server.json, purged local posts generate a Delete activity that is sent everywhere, instead of only deleted from the filesystem.<br><br>Included a small tweak to avoid being confused by implementations that return valid webfinger queries for non-account URLs (like i.e. the Wordpress ActivityPub plugin in some configurations). This helps in searching by URL.<br><br>Added Ukrainian translation (contributed by wincentbalin).<br><br>New command-line option muted, to list all MUTEd actors.<br><br>Mastodon API: Fixed metadata and follower approval flag when editing the account.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.82 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>The language in which a post is written can now be set from the UI; you must configure the list of languages you usually post in in the User Settings.<br><br>Added support for bullet points in posts (lines starting with an asterisk or a hyphen, plus a space).<br><br>Added Dutch (nl_NL) translation (contributed by martijndeb).<br><br>Added Western Frisian (fy_NL) translation (contributed by martijndeb).<br><br>Mastodon API: Fixed repeated entries in timelines.<br><br>Added nodeinfo 2.1 support.<br><br>Fixed boosts from the command line not showing in the public timeline (contributed by xvello).<br><br>Updated several language files (contributed by zen and daltux).<br><br>Retrieving a post's replies is now possible via ActivityPub.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.83 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>After receiving a follow confirmation, a bunch of posts from that account are requested and inserted into the timeline as context.<br><br>Continuously failing instances are marked as broken after a given number of days (see snac(8) on how to tune this counter). Incoming activity from any of these instances resets the counter.<br><br>Fixed a nasty bug that incorrectly deleted private local posts in certain cases.<br><br>Scheduled posts can now be sent from the command line (see snac(1) for more information on how to do it).<br><br>Docker: add timezone, new examples for building and complete Swarm mode stack with Traefik (contributed by daltux).<br><br>Fixed timezone names (contributed by dharmik).<br><br>Documented the update command (contributed by xvello).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.86 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. Once again, most of the work has been done by fellow developers because they are the best. It includes the following changes:<br><br>Truncate RSS titles at UTF-8 character boundaries (contributed by lxo).<br><br>Link contacts to single-user people pages. Also, user's posts are shown (contributed by lxo).<br><br>Added emoji reactions (contributed by violette).<br><br>Mastodon API: Fix for some client notifications (contributed by violette), fix for a status visibility error (contributed by fruye).<br><br>If the query variable terse of a public post page is set to anything, no header is shown.<br><br>Fixed search failures when the query string has any leading blank.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
Hi, everyone. I've just published version 2.87 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It only includes a single change, to avoid using EmojiReacts to harass users:<br><br>Hide EmojiReacts from muted actors and blocked instances.<br><br>Sorry for the inconvenience. Bad people creativity always gets me off-guard. Upgrade your snac to this version ASAP, or revert to 2.85.<br><br>There will be another release pretty soon with a better solution to delete offending EmojiReacts.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
Edited 90d ago
I've just published version 2.89 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Fixed crash in pronouns processing (contributed by byte).<br><br>Added counters in the people page (contributed by byte).<br><br>New command-line option refresh, to refresh all follower and following Actor objects, marking them as broken if they are.<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.88 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>If disable_emojireact is set to true in server.json, EmojiReacts (incoming and outgoing) are totally disabled.<br><br>New command-line option top_ten, that returns the top ten most popular posts by a user (ordered by the sum of likes and boosts) (contributed by aov).<br><br>Added a new set of per-user muted words; if a post contains any of them, it's hidden behind a dropdown (contributed by byte).<br><br>If an account has a metadata named pronouns, it's shown by the name (contributed by violette).<br><br>Mastodon API: children of a post are returned recursively, not just the first level (contributed by violette).<br><br>Implemented optional metadata stripping for images and videos using external tools (contributed by Stefano Marinelli).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
I've just published version 2.84 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. This time, it includes mostly work by great, brilliant fellow developers while I was just sitting on the porch with the cats on my lap and a beer in my hand:<br><br>Implemented more scopes to match other ActivityPub implementations (public, unlisted, followers-only and direct message) (contributed by byte).<br><br>New icons showing instance and actor failures.<br><br>Mastodon API: Added remote accounts follow metrics and statuses when viewing profiles (contributed by Stefano Marinelli), fixed post deletion.<br><br>Fixed outbox collection (contributed by byte).<br><br>New file FEDERATION.md (contributed by andypiper).<br><br>Updated Czech, Spanish and Brazilian Portuguese translations (contributed by pmjv and daltux).<br><br>Fixed manpage typos (contributed by r-ricci).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>
Edited 161d ago
I've just published version 2.90 of <a href="/tags/snac/" rel="tag">#snac</a>, the simple, minimalistic <a href="/tags/activitypub/" rel="tag">#ActivityPub</a> instance server written in C. It includes the following changes:<br><br>Minor tweak to improve signature key retrieving for some Wordpress configurations.<br><br>Fixed web UI incorrect links to actor public pages for some configurations.<br><br>Fixed mismatch in the accounts being followed number in the public and people pages.<br><br>Notifications can be filtered by category (contributed by byte).<br><br>Dates are shown adjusted to the account's time zone (contributed by dandelions).<br><br>Configurable limit for poll items (contributed by dandelions).<br><br>Fixed incorrect scope when editing a post (contributed by dandelions).<br><br>Change the strip_exif logic to work with the already existing OpenBSD sandbox (contributed by oxzi).<br><br>Mastodon API: Add poll creation (contributed by davidrv00), fixed a voting bug (contributed by davidrv00), added a fix to verify_credentials (contributed by ag-eitilt).<br><br>Updated Czech, German, Brazilian Portuguese, Spanish translations (contributed by pmjv, zen, daltux).<br><br><a href="https://comam.es/what-is-snac" rel="nofollow"><span class="invisible">https://</span>comam.es/what-is-snac</a><br><br>If you find <a href="/tags/snac/" rel="tag">#snac</a> useful, please consider <a href="https://ko-fi.com/grunfink" rel="nofollow">buying grunfink a coffee</a> or contributing via <a href="https://liberapay.com/grunfink/" rel="nofollow">LiberaPay</a>.<br><br><a href="/tags/snacannounces/" rel="tag">#snacAnnounces</a> <a href="/tags/frugalfediverse/" rel="tag">#FrugalFediverse</a><br><br>