{"id":5367,"date":"2026-03-26T20:39:29","date_gmt":"2026-03-26T11:39:29","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=5367"},"modified":"2026-03-26T20:39:31","modified_gmt":"2026-03-26T11:39:31","slug":"snac-2-91","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2026\/03\/26\/snac-2-91\/","title":{"rendered":"\u8efd\u91cfActivityPub Server\u306esnac 2.91\u30ea\u30ea\u30fc\u30b9"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2025\/12\/susie64-cool.png\" alt=\"susie64 cool\" width=\"48\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>c\u8a00\u8a9e\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u8efd\u91cfActivityPub Server \u306esnac 2.91 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/comam.es\/snac\/grunfink\/p\/1774256733.794770\">The Real Grunfink (@<a href=\"mailto:grunfink@comam.es\">grunfink@comam.es<\/a>)<\/a> \u4f5c\u8005\u306etoot<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/comam.es\/snac-doc\/RELEASE_NOTES.html#2-91\">Release Notes<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codeberg.org\/grunfink\/snac2\">grunfink\/snac2: A simple, minimalistic ActivityPub instance written in portable C &#8211; Codeberg.org<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p><!--more-->\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_release_notes\">Release Notes<\/h2>\n<div class=\"sectionbody\">\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"paragraph\">\n<p>## 2.91<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed some local posts not being shown if the replied post is deleted.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed web UI incorrect links to public posts for some configurations.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed encoding bug in Mastodon-style share links.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed an error that made imposible to leave empty the following hashtags or blocked hashtags from the web UI.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Include post attachments in the RSS feed entries.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Added some OpenBSD-specific documentation (contributed by oxzi).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed some timezones (contributed by matoken).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed some crashes (special thanks to Louis Merlin for helping me with this).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Updated Docker scripts to avoid generating a useless log file.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed several memory leaks, key generation errors and HTML inconsistencies (contributed by dandelions).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Added ostatus.org and FEP-3b86 data to Webfinger objects.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Added a new CONTRIBUTING.md file. Among other guidelines, I explicitly say there that AI contributions are <strong>NOT<\/strong> accepted.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>snac is now available as a [Yunohost app](<a href=\"https:\/\/apps.yunohost.org\/app\/snac\" class=\"bare\">https:\/\/apps.yunohost.org\/app\/snac<\/a>). Thank you very much to Bruno Cesar Rocha for this.<\/p>\n<\/div>\n<\/blockquote>\n<\/div>\n<div class=\"paragraph\">\n<p>\u4eca\u56de\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u306f CONTRIBUTING.md \u30d5\u30a1\u30a4\u30eb\u304c\u8ffd\u52a0\u3055\u308c\u8ca2\u732e\u306b\u3064\u3044\u3066\u660e\u78ba\u5316\u3055\u308c\u307e\u3057\u305f\uff0e\u305d\u3057\u3066\u6240\u8b02\u751f\u6210AI\u3084LLM\u3092\u4f7f\u3063\u305f\u3082\u306e\u306f\u53d7\u3051\u53d6\u308c\u306a\u3044\u3068\u3082\uff0e<br \/>\n\u5f8c\u306f\u5927\u4f53\u30d0\u30b0\u4fee\u6b63\u3067\u3057\u3087\u3046\u304b\uff0e\u81ea\u5206\u306e\u9001\u3063\u305f\u5c0f\u3055\u3044\u30d1\u30c3\u30c1\u3084\u5831\u544a\u3057\u305f\u30d0\u30b0\u4fee\u6b63\u3082\u542b\u307e\u308c\u3066\u3044\u305f\u308a\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u305d\u306e\u4ed6\uff0cYunohost app \u3068\u3057\u3066\u3082\u767b\u9332\u3055\u308c\uff0cYunohost \u74b0\u5883\u3067\u7c21\u5358\u306b\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/apps.yunohost.org\/app\/snac\">YunoHost app store | snac2<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_\u81ea\u74b0\u5883\u306esnac\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\">\u81ea\u74b0\u5883\u306esnac\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/snac.matoken.org\/\">\u500b\u4eba\u7528\u306esnac<\/a> \u306fsource \u304b\u3089build \u3057\u3066\u30ea\u30ea\u30fc\u30b9\u5f8c\u6570\u6642\u9593\u5f8c\u306b\u306f\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u307e\u3057\u305f\uff0e<br \/>\n<a href=\"https:\/\/snac.kagolug.org\/\">#kagolug \u306esnac<\/a> \u306fDebian stable-backports(trixie-backports) \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5229\u7528\u3057\u3066\u3044\u3066\uff0c\u6570\u65e5\u9045\u308c\u306e\u4eca\u65e5\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u81ea\u5206\u306e\u74b0\u5883\u306eamd64 \u3060\u3068\u554f\u984c\u306a\u304b\u3063\u305f\u3067\u3059\u304c\uff0cDebian package \u306f\u4e00\u90e8\u74b0\u5883\u3067\u30b3\u30b1\u3066\u3044\u305d\u3046\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ rmadison snac2\nsnac2      | 2.75-2~bpo12+1 | oldstable-backports       | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x\nsnac2      | 2.75-2~bpo12+1 | oldstable-backports-debug | source\nsnac2      | 2.75-2         | stable                    | source, amd64, arm64, armel, armhf, i386, ppc64el, riscv64, s390x\nsnac2      | 2.90-1~bpo13+1 | stable-backports          | source, riscv64\nsnac2      | 2.90-1~bpo13+1 | stable-backports-debug    | source\nsnac2      | 2.90-1         | testing                   | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\nsnac2      | 2.90-1         | unstable                  | source, riscv64\nsnac2      | 2.90-1         | unstable-debug            | source\nsnac2      | 2.91-1~bpo13+1 | buildd-stable-backports   | source, amd64, arm64, armel, armhf, i386, ppc64el, s390x\nsnac2      | 2.91-1~bpo13+1 | stable-backports          | source, amd64, arm64, armel, armhf, i386, ppc64el, s390x\nsnac2      | 2.91-1~bpo13+1 | stable-backports-debug    | source\nsnac2      | 2.91-1         | buildd-unstable           | source, amd64, arm64, armhf, i386, loong64, ppc64el, riscv64, s390x\nsnac2      | 2.91-1         | unstable                  | source, amd64, arm64, armhf, i386, loong64, ppc64el, riscv64, s390x\nsnac2      | 2.91-1         | unstable-debug            | source<\/pre>\n<\/div>\n<\/div>\n<div class=\"quoteblock\">\n<blockquote>\n<div class=\"literalblock\">\n<div class=\"content\">\n<pre>Migration status for snac2 (2.90-1 to 2.91-1): BLOCKED: Maybe temporary, maybe blocked but Britney is missing information (check below)\nIssues preventing migration:\n\u2219 \u2219 Missing build on riscv64\n\u2219 \u2219 Autopkgtest deferred on riscv64: missing arch:riscv64 build\n\u2219 \u2219 Autopkgtest for snac2\/2.91-1: amd64: Pass, arm64: Pass, i386: Test triggered, ppc64el: Test triggered, s390x: Test triggered\n\u2219 \u2219 Lintian check waiting for test results - info\n\u2219 \u2219 Too young, only 0 of 5 days old\nAdditional info (not blocking):\n\u2219 \u2219 Piuparts tested OK - https:\/\/piuparts.debian.org\/sid\/source\/s\/snac2.html\n\u2219 \u2219 Reproducibility check waiting for results on amd64\n\u2219 \u2219 Reproducibility check waiting for results on arm64\n\u2219 \u2219 Reproduced on armhf\n\u2219 \u2219 Reproducibility check waiting for results on i386\n\u2219 \u2219 Reproducibility check waiting for results on ppc64el\nNot considered<\/pre>\n<\/div>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; <a href=\"https:\/\/tracker.debian.org\/pkg\/snac2\">snac2 &#8211; Debian Package Tracker<\/a>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>c\u8a00\u8a9e\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u8efd\u91cfActivityPub Server \u306esnac 2.91 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e The Real Grunfink (@grunfink@comam.es) \u4f5c\u8005\u306etoot Release N [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[7,6,1231,1],"tags":[493,1243],"class_list":["post-5367","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-trixie","category-1","tag-activitypub","tag-snac"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=5367"}],"version-history":[{"count":5,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5367\/revisions"}],"predecessor-version":[{"id":5372,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5367\/revisions\/5372"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=5367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=5367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=5367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}