{"id":5181,"date":"2026-01-25T19:16:05","date_gmt":"2026-01-25T10:16:05","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=5181"},"modified":"2026-01-25T19:16:10","modified_gmt":"2026-01-25T10:16:10","slug":"snac-2-89","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2026\/01\/25\/snac-2-89\/","title":{"rendered":"\u8efd\u91cfActivityPub Server\u306esnac 2.89\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>\u8efd\u91cfActivityPub Server \u306esnac 2.89 \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\/1769062050.741527\">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:\/\/codeberg.org\/grunfink\/snac2\/src\/branch\/master\/RELEASE_NOTES.md#2-89\">snac2\/RELEASE_NOTES.md at master &#8211; grunfink\/snac2 &#8211; Codeberg.org<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codeberg.org\/grunfink\/snac2\/src\/tag\/2.89\">grunfink\/snac2: A simple, minimalistic ActivityPub instance written in portable C &#8211; Codeberg.org<\/a> tag 2.89<\/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.89<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Fixed crash in pronouns processing (contributed by byte).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Added counters in the people page (contributed by byte).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>New command-line option <code>refresh<\/code>, to refresh all follower and following <code>Actor<\/code> objects, marking them as broken if they are.<\/p>\n<\/div>\n<\/blockquote>\n<div class=\"attribution\">\n&#8212; <a href=\"https:\/\/codeberg.org\/grunfink\/snac2\/src\/branch\/master\/RELEASE_NOTES.md#2-89\">snac2\/RELEASE_NOTES.md at master &#8211; grunfink\/snac2 &#8211; Codeberg.org<\/a>\n<\/div>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/codeberg.org\/grunfink\/snac2\/commit\/3e95d9639d8da9e5c972ca9424626225f5b7e5b2\">Merge pull request &#8216;segfault fix&#8217; (#521) from byte\/snac2:fix_segfault into master \u00b7 3e95d9639d &#8211; grunfink\/snac2 &#8211; Codeberg.org<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codeberg.org\/grunfink\/snac2\/commit\/33b066733eb3f7f106056dcba42518e62de33588\">Merge pull request &#8216;simple cosmetic counters&#8217; (#519) from byte\/snac2:counters into master \u00b7 33b066733e &#8211; grunfink\/snac2 &#8211; Codeberg.org<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/codeberg.org\/grunfink\/snac2\/commit\/d8d40acfd17dfe28654f7acfac648a896033b63b\">New command-line option &#8216;refresh&#8217;. \u00b7 d8d40acfd1 &#8211; grunfink\/snac2 &#8211; Codeberg.org<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>\u4eca\u56de\u306e\u65b0\u6a5f\u80fd\u306f2\u3064\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>people \u30da\u30fc\u30b8\u306b\u30ab\u30a6\u30f3\u30bf\u30fc\u3092\u8ffd\u52a0<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2026\/01\/snac-2.89-people-count.webp\" alt=\"snac 2.89 people count\"><\/span><\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u30d5\u30a9\u30ed\u30ef\u30fc\u3068\u30d5\u30a9\u30ed\u30fc\u4e2d\u306e<a href=\"https:\/\/www.w3.org\/wiki\/ActivityPub\/Primer\/Actors\">\u30a2\u30af\u30bf\u30fc<\/a>\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u66f4\u65b0\u3059\u308b <code>refresh<\/code> \u3092\u8ffd\u52a0\uff0e<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ snac | grep refresh\nrefresh {basedir} {uid}              Refreshes all actors\n$ snac snac-data matoken<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u7279\u306b\u554f\u984c\u304c\u306a\u304b\u3063\u305f\u306e\u304b\u4f55\u3082\u51fa\u529b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Debian package \u306f\u307e\u30602.88 \u3067\u3059\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.88-1~bpo13+1 | stable-backports          | source, amd64, arm64, armel, armhf, i386, ppc64el, riscv64, s390x\nsnac2      | 2.88-1~bpo13+1 | stable-backports-debug    | source\nsnac2      | 2.88-1         | testing                   | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x\nsnac2      | 2.88-1         | unstable                  | source, amd64, arm64, armhf, i386, loong64, ppc64el, riscv64, s390x\nsnac2      | 2.88-1         | unstable-debug            | source<\/pre>\n<\/div>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/tracker.debian.org\/pkg\/snac2\">snac2 &#8211; Debian Package Tracker<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8efd\u91cfActivityPub Server \u306esnac 2.89 \u304c\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u307e\u3057\u305f\uff0e The Real Grunfink (@grunfink@comam.es) \u4f5c\u8005\u306etoot snac2\/RELEASE_NOTES [&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],"tags":[493,1243],"class_list":["post-5181","post","type-post","status-publish","format-standard","hentry","category-debian-linux","category-linux","category-trixie","tag-activitypub","tag-snac"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5181","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=5181"}],"version-history":[{"count":1,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5181\/revisions"}],"predecessor-version":[{"id":5182,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/5181\/revisions\/5182"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=5181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=5181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=5181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}