洪 民憙 (Hong Minhee)'s avatar

洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · 917 following · 1170 followers

An intersectionalist, feminist, and socialist guy living in Seoul (UTC+09:00). @tokolovesme's spouse. Who's behind @fedify, @hollo, and @botkit. Write some free software in , , , & . They/them.

서울에 사는 交叉女性主義者이자 社會主義者. 金剛兔(@tokolovesme)의 配偶者. @fedify, @hollo, @botkit 메인테이너. , , , 等으로 自由 소프트웨어 만듦.

()

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Hello, I'm an open source software engineer in my late 30s living in , , and an avid advocate of and the .

I'm the creator of @fedify, an server framework in , @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.

I'm also very interested in East Asian languages (so-called ) and . Feel free to talk to me in , (), or (), or even in Literary Chinese (, )!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post

安寧(안녕)하세요, 저는 서울에 살고 있는 30() 後半(후반) 오픈 소스 소프트웨어 엔지니어이며, 自由(자유)·오픈 소스 소프트웨어와 聯合宇宙(연합우주)(fediverse)의 熱烈(열렬)支持者(지지자)입니다.

저는 TypeScript() ActivityPub 서버 프레임워크인 @fedify 프로젝트와 싱글 유저() ActivityPub 마이크로블로그인 @hollo 프로젝트와 ActivityPub 봇 프레임워크인 @botkit 프로젝트의 製作者(제작자)이기도 합니다.

저는 ()아시아 言語(언어)(이른바 )와 유니코드에도 關心(관심)이 많습니다. 聯合宇宙(연합우주)에서는 國漢文混用體(국한문 혼용체)를 쓰고 있어요! 제게 韓國語(한국어)英語(영어), 日本語(일본어)로 말을 걸어주세요. (아니면, 漢文(한문)으로도!)

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post

こんにちは、私はソウルに住んでいる30代後半のオープンソースソフトウェアエンジニアで、自由・オープンソースソフトウェアとフェディバースの熱烈な支持者です。名前は洪 民憙ホン・ミンヒです。

私はTypeScript用のActivityPubサーバーフレームワークである「@fedify」と、ActivityPubをサポートする1人用マイクロブログである 「@hollo」と、ActivityPubのボットを作成する為のシンプルなフレームワークである「@botkit」の作者でもあります。

私は東アジア言語(いわゆるCJK)とUnicodeにも興味が多いです。日本語、英語、韓国語で話しかけてください。(または、漢文でも!)

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

What client apps do you use with ?

OptionVoters
Elk8 (17%)
Phanpy15 (31%)
Moshidon11 (23%)
Subway Tooter4 (8%)
Mona2 (4%)
Nightfox DAWN7 (15%)
Tusker1 (2%)
Woolly0 (0%)
David Bushell 🐝's avatar
David Bushell 🐝

@db@social.lol

👀 noted: quick look at what Deno are cooking dbushell.com/notes/2025-06-07T

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

どうやらメインで使ってるクライアントアプリがPhanpyだから、Holloのテストする時もついPhanpyばかりでやってたけど、これからは他のクライアントアプリでもテストしなきゃな。特にリリース前はQAプロセスとして、必ずいろんなクライアントでテストしないと。

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

🚨 Known Issue: Elk (@elk) login may fail on Hollo instances upgraded from 0.5.x to 0.6.x with 401 Unauthorized errors. Fresh 0.6.x installs work fine. Other clients (Phanpy, Moshidon) are unaffected.

We're investigating: https://github.com/fedify-dev/hollo/issues/167

Workaround: Use alternative clients like Phanpy (@phanpy) for now.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

@hollo @kodingwarrior @jihyeok 하스켈 카페 하나 만들어 주세요…

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to yamanoku's post

@yamanoku あれ、このバグはHollo 0.6.1で修正されているはずなのに…

Jaeyeol Lee (a.k.a. kodingwarrior) :vim:'s avatar
Jaeyeol Lee (a.k.a. kodingwarrior) :vim:

@kodingwarrior@silicon.moe · Reply to Jaeyeol Lee (a.k.a. kodingwarrior) :vim:'s post

응응.... 미리 자료 만들게....

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Fedify 1.6 has been released, supporting Cloudflare Workers deployment and RFC 9421 (HTTP Message Signatures) signing and verification!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We're excited to announce the release of 1.6.1, which marks the beginning of the 1.6 series following the retraction of version 1.6.0. This release introduces significant new capabilities that expand Fedify's deployment options and enhance security compatibility across the .

🌐 Cloudflare Workers support

Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling deployment of applications at the edge.

New components

Key features

  • Seamless integration with 's serverless runtime
  • Automatic handling of queue message processing through Workers' queue() method
  • Support for Node.js compatibility flag required for Fedify's cryptographic operations
  • Manual queue processing via Federation.processQueuedTask() method

For a complete working example, see the Cloudflare Workers example in the Fedify repository.

🏗️ Federation builder pattern

Fedify 1.6 introduces the FederationBuilder class and createFederationBuilder() function to support deferred federation instantiation. This pattern provides several benefits:

  • Deferred instantiation: Set up dispatchers and listeners before creating the federation object
  • Better code organization: Avoid circular dependencies and improve project structure
  • Cloudflare compatibility: Accommodates binding-based architectures where resources are passed as arguments rather than globals
  • Modular setup: Build complex federations piece by piece before instantiation

The builder pattern is particularly useful for large applications and environments like Cloudflare Workers where configuration data is only available at runtime.

🔐 HTTP Message Signatures (RFC 9421)

Fedify 1.6 implements the official HTTP Message Signatures standard (RFC 9421) specification, the final revision of the HTTP Signatures specification.

Double-knocking mechanism

To ensure maximum compatibility across the fediverse, Fedify 1.6 introduces an intelligent double-knocking mechanism:

  1. Primary attempt: RFC 9421 (HTTP Message Signatures) for modern implementations
  2. Fallback: Draft cavage version for legacy compatibility
  3. Adaptive caching: The system remembers which version each server supports to optimize future requests

This approach ensures seamless communication with both modern and legacy ActivityPub implementations while positioning Fedify at the forefront of security standards.

Interoperability testing

The RFC 9421 implementation has been thoroughly tested for interoperability with existing ActivityPub implementations that support RFC 9421 signature verification:

  • Mitra 4.4.0: Successfully verified Fedify-generated RFC 9421 signatures
  • Mastodon 4.4.0 development version: Tested RFC 9421 signature verification against Fedify's implementation (refer to Mastodon PR #34814, though Mastodon 4.4.0 has not yet been released)

These tests confirm that other ActivityPub implementations can successfully verify RFC 9421 signatures generated by Fedify, ensuring proper federation as the ecosystem gradually adopts the official specification. While these implementations currently support verification of RFC 9421 signatures, they do not yet generate RFC 9421 signatures themselves—making Fedify one of the first ActivityPub implementations to support both generation and verification of the modern standard.

🔍 WebFinger enhancements

Dedicated WebFinger lookup

The new Context.lookupWebFinger() method provides direct access to WebFinger data, offering developers more granular control over account discovery and resource resolution beyond the higher-level Context.lookupObject() method.

🛠 Context API improvements

Context data replacement

The new Context.clone() method enables dynamic context data replacement, providing greater flexibility in request processing and data flow management. This is particularly useful for middleware implementations and complex request routing scenarios.

🚀 Migration considerations

Backward compatibility

Fedify 1.6 maintains full backward compatibility with existing applications. The new HTTP Message Signatures and double-knocking mechanisms work transparently without requiring any code changes.

Node.js version requirement

Important: Fedify 1.6 requires Node.js 22.0.0 or later for Node.js environments. This change does not affect applications using Deno or Bun runtimes. If you're currently using Node.js, please ensure your environment meets this requirement before upgrading.

New deployment options

For new deployments, consider leveraging Cloudflare Workers support for:

  • Global edge deployment with low latency
  • Serverless scaling and automatic resource management
  • Integration with Cloudflare's ecosystem of services

🎯 Looking forward

Fedify 1.6 represents a significant expansion of deployment possibilities while maintaining the framework's commitment to broad compatibility across the fediverse. The addition of Cloudflare Workers support opens new architectural patterns for federated applications, while the RFC 9421 implementation ensures Fedify stays current with emerging ActivityPub security standards.


For detailed migration guides, API documentation, and examples, please visit the Fedify documentation. Join our community on Matrix or Discord for support and discussions.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

어제 잠들기 ()에 ActivityPub으로 만들 만한 좋은 서비스 아이디어가 떠올랐었는데, 졸려서 메모 안 하고 잤더니 ()혀 안 떠오른다…

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hackers.pub

Cloudflare Workers 배포와 RFC 9421 (HTTP Message Signatures) 서명 및 검증을 지원하는 Fedify 1.6이 릴리스되었습니다!



RE: https://hollo.social/@fedify/019748ce-35c6-710d-85c3-c5e1fe067e73

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We're excited to announce the release of 1.6.1, which marks the beginning of the 1.6 series following the retraction of version 1.6.0. This release introduces significant new capabilities that expand Fedify's deployment options and enhance security compatibility across the .

🌐 Cloudflare Workers support

Fedify 1.6 introduces first-class support for Cloudflare Workers, enabling deployment of applications at the edge.

New components

Key features

  • Seamless integration with 's serverless runtime
  • Automatic handling of queue message processing through Workers' queue() method
  • Support for Node.js compatibility flag required for Fedify's cryptographic operations
  • Manual queue processing via Federation.processQueuedTask() method

For a complete working example, see the Cloudflare Workers example in the Fedify repository.

🏗️ Federation builder pattern

Fedify 1.6 introduces the FederationBuilder class and createFederationBuilder() function to support deferred federation instantiation. This pattern provides several benefits:

  • Deferred instantiation: Set up dispatchers and listeners before creating the federation object
  • Better code organization: Avoid circular dependencies and improve project structure
  • Cloudflare compatibility: Accommodates binding-based architectures where resources are passed as arguments rather than globals
  • Modular setup: Build complex federations piece by piece before instantiation

The builder pattern is particularly useful for large applications and environments like Cloudflare Workers where configuration data is only available at runtime.

🔐 HTTP Message Signatures (RFC 9421)

Fedify 1.6 implements the official HTTP Message Signatures standard (RFC 9421) specification, the final revision of the HTTP Signatures specification.

Double-knocking mechanism

To ensure maximum compatibility across the fediverse, Fedify 1.6 introduces an intelligent double-knocking mechanism:

  1. Primary attempt: RFC 9421 (HTTP Message Signatures) for modern implementations
  2. Fallback: Draft cavage version for legacy compatibility
  3. Adaptive caching: The system remembers which version each server supports to optimize future requests

This approach ensures seamless communication with both modern and legacy ActivityPub implementations while positioning Fedify at the forefront of security standards.

Interoperability testing

The RFC 9421 implementation has been thoroughly tested for interoperability with existing ActivityPub implementations that support RFC 9421 signature verification:

  • Mitra 4.4.0: Successfully verified Fedify-generated RFC 9421 signatures
  • Mastodon 4.4.0 development version: Tested RFC 9421 signature verification against Fedify's implementation (refer to Mastodon PR #34814, though Mastodon 4.4.0 has not yet been released)

These tests confirm that other ActivityPub implementations can successfully verify RFC 9421 signatures generated by Fedify, ensuring proper federation as the ecosystem gradually adopts the official specification. While these implementations currently support verification of RFC 9421 signatures, they do not yet generate RFC 9421 signatures themselves—making Fedify one of the first ActivityPub implementations to support both generation and verification of the modern standard.

🔍 WebFinger enhancements

Dedicated WebFinger lookup

The new Context.lookupWebFinger() method provides direct access to WebFinger data, offering developers more granular control over account discovery and resource resolution beyond the higher-level Context.lookupObject() method.

🛠 Context API improvements

Context data replacement

The new Context.clone() method enables dynamic context data replacement, providing greater flexibility in request processing and data flow management. This is particularly useful for middleware implementations and complex request routing scenarios.

🚀 Migration considerations

Backward compatibility

Fedify 1.6 maintains full backward compatibility with existing applications. The new HTTP Message Signatures and double-knocking mechanisms work transparently without requiring any code changes.

Node.js version requirement

Important: Fedify 1.6 requires Node.js 22.0.0 or later for Node.js environments. This change does not affect applications using Deno or Bun runtimes. If you're currently using Node.js, please ensure your environment meets this requirement before upgrading.

New deployment options

For new deployments, consider leveraging Cloudflare Workers support for:

  • Global edge deployment with low latency
  • Serverless scaling and automatic resource management
  • Integration with Cloudflare's ecosystem of services

🎯 Looking forward

Fedify 1.6 represents a significant expansion of deployment possibilities while maintaining the framework's commitment to broad compatibility across the fediverse. The addition of Cloudflare Workers support opens new architectural patterns for federated applications, while the RFC 9421 implementation ensures Fedify stays current with emerging ActivityPub security standards.


For detailed migration guides, API documentation, and examples, please visit the Fedify documentation. Join our community on Matrix or Discord for support and discussions.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to ここあにゃん :surprised_karin_chibi:'s post

@AmaseCocoa まさにその通りです!

ここあにゃん :surprised_karin_chibi:'s avatar
ここあにゃん :surprised_karin_chibi:

@AmaseCocoa@s.amase.cc

1.6でサポートされるってことはfedify inboxでRFCテストできるようになるのか​:ablobcatpnd_oooo:

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

오늘 點心(점심)은 풀 잉글리시 브렉퍼스트! @jihyeok 님, @kodingwarrior 님과 함께 Ruby's Cafe에서.

회색 접시에 담긴 풀 잉글리시 브렉퍼스트(full English breakfast). 접시 중앙에는 노른자가 선명한 계란 프라이 2개가 놓여 있고, 그 주변으로 바삭하게 구운 베이컨 2장, 오렌지색 해시브라운 1개, 허브로 양념된 구운 버섯들, 신선한 시금치 잎, 그리고 오렌지색 구운 콩(베이크드 빈즈)이 배치되어 있다. 접시 오른쪽에는 작은 그릇에 담긴 버터가 함께 제공되었다. 식기류로는 포크와 나이프가 접시 오른쪽에 놓여 있으며, 모든 음식이 나무 테이블 위에 정갈하게 세팅되어 있다.
ALT text details회색 접시에 담긴 풀 잉글리시 브렉퍼스트(full English breakfast). 접시 중앙에는 노른자가 선명한 계란 프라이 2개가 놓여 있고, 그 주변으로 바삭하게 구운 베이컨 2장, 오렌지색 해시브라운 1개, 허브로 양념된 구운 버섯들, 신선한 시금치 잎, 그리고 오렌지색 구운 콩(베이크드 빈즈)이 배치되어 있다. 접시 오른쪽에는 작은 그릇에 담긴 버터가 함께 제공되었다. 식기류로는 포크와 나이프가 접시 오른쪽에 놓여 있으며, 모든 음식이 나무 테이블 위에 정갈하게 세팅되어 있다.
Shimaneko1985's avatar
Shimaneko1985

@Shimaneko1985@toot.blue

面白い。

韓国語と日本語の比較。
はとがの区別があるとか。
敬語(尊敬語・丁寧語・謙譲語)があるとか。
否定語は違うなと思いきや、日本語の古語と似ているとか。
中国語と日本語って本当に異国語って感じがするというか違う体系を持ってる感じがするけど、日本語と韓国語(朝鮮語)は方言、みたいな感じがある。
井上ひさしの「國語元年」観てたら(シナリオ読んでたら)鹿児島と津軽とで同じ「国語」とは思えんというか、ポンニチ語ってバリエーションあって面白かったじゃん。って。統一させることで意思疎通がしやすくなった面はあるのかもやけど失うものも多かったのではないかと思うよな。

韓国語は日本語のパラレルワールド?【記述言語学者から見た言語1】#177
youtube.com/watch?v=IR0iK5D1xl

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Fedify 1.6 릴리스도 해야 하는데…

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to robin's post

@robin_maki 헉… 여행 가방에서 충격을 받아서 그런 걸 수도 있겠네요… 아, 요즘엔 SSD니까 그럴 일이 없으려나요? 부디 중요한 데이터는 잃지 않으셨기를…

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

Jaeyeol Lee (a.k.a. kodingwarrior) :vim:'s avatar
Jaeyeol Lee (a.k.a. kodingwarrior) :vim:

@kodingwarrior@silicon.moe

와, 대박.... 해커스펍 초대링크 구현 엄청 아름답게 되었음...

오브젝티프 (이준석 제명 청원 봇)'s avatar
오브젝티프 (이준석 제명 청원 봇)

@objectif@mitir.social

이준석 제명 청원 20만 돌파.

이준석 대선 득표 수가 292만 표인데, 제명 청원이 30만을 찍으면 참 좋겠죠

주변을 설득해 봅시다

https://petitions.assembly.go.kr/proceed/onGoingAll/327534C853DF2656E064B49691C1987F

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hackers.pub

Hackers' Pub에 공유할 수 있는 초대 링크 기능을 추가했습니다. 설정 → 초대 페이지에서 초대 링크 생성이 가능하며, 초대 링크는 정원이나 유효 기간, 메시지를 정할 수 있게 되어 있습니다. 아무래도 DM으로 직접 초대 요청을 달라고 하면 쑥스러움이 많은 분들은 요청을 안 하시는 경우가 많은 것 같아서 만들게 되었습니다. 참고로, 초대 링크를 통해 가입한 사용자는 초대 링크를 생성한 사람과 자동으로 맞팔하게 됩니다.

초대 링크는 생성하는 화면
ALT text details초대 링크는 생성하는 화면
초대 링크 페이지
ALT text details초대 링크 페이지
Elena Rossini ⁂'s avatar
Elena Rossini ⁂

@_elena@mastodon.social · Reply to Elena Rossini ⁂'s post

Update no.2: we now have Korean subtitles thanks to Fediverse legend @hongminhee 🏆 ❤️ thank youuuuu

a frame from the Fedi promo video showing a gradient background with the symbol of the Fediverse and the word "fediverse" next to it... with Korean subtitles underneath
ALT text detailsa frame from the Fedi promo video showing a gradient background with the symbol of the Fediverse and the word "fediverse" next to it... with Korean subtitles underneath
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to Elena Rossini ⁂'s post

@_elena If it's okay with you, I'd like to translate the subtitles into Korean!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to Elena Rossini ⁂'s post

@_elena Excuse me, where can I watch your fediverse intro video?

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to DWN | 社会你福哥版's post

@dwn Oh, it's taken in 延吉! It explains everything. Thanks!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to DWN | 社会你福哥版's post

@dwn This is off-topic, but why is there Korean written on the sign? Was this taken in China?

Mitchell Hashimoto's avatar
Mitchell Hashimoto

@mitchellh@hachyderm.io

Even with close confirmation I sometimes close my terminal and think "OH FUCK NO." Coming soon to Ghostty, you can undo that. 🥰 (Technical details: we keep the terminal running for a configurable time in the background before terminating for real, similar to email undo send).

(macOS only for now, AppKit APIs provide a nice undo manager implementation that eases this quite a bit. I still have to do research on GTK for Linux.)

yamanoku's avatar
yamanoku

@yamanoku@hollo.yamanoku.net

Hollo v0.6.0リリースめでたい!前回から続けてちょこっと関わらせてもらいました。 https://hollo.social/@hollo/01973f15-68c5-70d8-9392-4201fc446e38

Hollo :hollo:'s avatar
Hollo :hollo:

@hollo@hollo.social

We're excited to announce Hollo 0.6.0, a significant release that brings enhanced security, better user experience, and important infrastructure improvements to your single-user microblogging setup.

Enhanced OAuth Security with Modern Standards

This release prioritizes security with comprehensive OAuth 2.0 improvements that align with current best practices. We've implemented several critical RFC standards that significantly strengthen the authorization process:

OAuth 2.0 Authorization Code Flow with Access Grants — We've overhauled the OAuth implementation to properly separate authorization codes from access token issuance, providing better security isolation throughout the authentication process.

RFC 7636 PKCE (Proof Key for Code Exchange) Support — Hollo now supports PKCE with the S256 code challenge method, which prevents authorization code interception attacks. This is particularly important for public clients and follows the latest OAuth 2.0 security recommendations outlined in RFC 9700 (OAuth 2.0 Security Current Best Practices).

RFC 8414 OAuth Authorization Server Metadata — We've added support for OAuth Authorization Server metadata endpoints, allowing clients to automatically discover Hollo's OAuth capabilities and configuration. This makes integration smoother and helps clients adapt to your server's specific OAuth setup.

Enhanced Profile Scope Support — The new /oauth/userinfo endpoint and expanded profile scope support provide applications with standardized ways to access user profile information, improving compatibility with a wider range of OAuth-compliant applications.

These OAuth improvements not only make Hollo more secure but also position it at the forefront of federated social media security standards. We encourage other fediverse projects to adopt these same standards to ensure the entire ecosystem benefits from these security enhancements.

Special thanks to Emelia Smith (@thisismissem) for spearheading these critical OAuth security improvements and ensuring Hollo stays ahead of the curve on authentication best practices.

Revamped Media Storage Configuration

We've significantly improved how Hollo handles media storage configuration, making it more flexible and future-ready:

New Environment Variables — The storage system now uses STORAGE_URL_BASE (replacing the deprecated ASSET_URL_BASE) and FS_STORAGE_PATH for local filesystem storage (replacing FS_ASSET_PATH). These changes provide clearer naming and better organization.

Improved Security Requirements — The SECRET_KEY environment variable now requires a minimum of 44 characters, ensuring sufficient entropy for cryptographic operations. You'll need to update your configuration if your current secret key is shorter.

Network Binding Control — The new BIND environment variable lets you specify exactly which network interface Hollo should listen on, giving you more control over your server's network configuration.

Thanks to Emelia Smith (@thisismissem) for leading these infrastructure improvements.

Better User Experience

Customizable Profile Themes — You can now personalize your profile page with different theme colors. Choose from the full range of Pico CSS color options to make your profile uniquely yours.

Enhanced Administration Dashboard — The dashboard now displays the current Hollo version at the bottom, making it easier to track which version you're running. You can also sign out directly from the dashboard for better session management.

Improved Post Presentation — Shared posts on profile pages now have better visual separation from original content, and the sharing timestamp is clearly displayed. This makes it much easier to distinguish between your original thoughts and content you've shared from others.

Better Image Accessibility — Alt text for images is now displayed within expandable details sections, improving accessibility while keeping the interface clean.

Syntax Highlighting — Code blocks in Markdown posts now feature beautiful syntax highlighting powered by Shiki, supporting a comprehensive range of programming languages. This makes technical discussions much more readable.

Enhanced Character Limit — The maximum post length has been increased from 4,096 to 10,000 characters, giving you more space to express your thoughts in detail.

Thanks to RangHo Lee (@rangho_220) for the version display feature and Okuto Oyama (@yamanoku) for the image accessibility improvements.

Privacy and Content Improvements

EXIF Metadata Removal — Hollo now automatically strips EXIF metadata from uploaded images before storing them, protecting your privacy by removing potentially sensitive location and device information.

Public API Endpoints — Following Mastodon's approach, certain API endpoints are now publicly accessible without authentication, making Hollo more compatible with various client applications and improving the overall federation experience.

Thanks to NTSK (@ntek) for the privacy-focused EXIF metadata stripping implementation.

Technical Foundation

Node.js 24+ Requirement — This release requires Node.js 24.0.0 or later. We've also upgraded to Fedify 1.5.3 and @fedify/postgres 0.3.0 for improved performance and compatibility.

Test Coverage & Quality Assurance — The codebase now includes comprehensive testing infrastructure and test coverage. We're committed to expanding this coverage and integrating testing more deeply into our development and release workflows. This also provides an excellent opportunity for first-time contributors to get involved by writing tests.

Cross-Origin Request Support — OAuth and well-known endpoints now properly support cross-origin requests, aligning with Mastodon's behavior and improving client compatibility.

Cleaner Token Endpoint — The scope parameter is now properly optional for the OAuth token endpoint, clarifying that it only affects client credentials flows (not authorization code flows, where it was already ignored).

Looking Forward

This release represents a major step forward in making Hollo not just a great single-user microblogging platform, but also a leader in federated social media security standards. The OAuth improvements we've implemented should serve as a model for other fediverse projects.

We're particularly excited about the OAuth security enhancements, which demonstrate our commitment to staying ahead of security best practices. As the federated web continues to evolve, we believe these standards will become increasingly important for maintaining user trust and ensuring secure interactions across the fediverse.

Upgrading

Upgrading to Hollo 0.6.0 is straightforward, but there are a few important considerations:

Railway Deployment

  1. Go to your Railway dashboard
  2. Select your Hollo project and service
  3. In the deployments tab, click the three-dot menu and select Redeploy

Docker Deployment

  1. Pull the latest image: docker pull ghcr.io/fedify-dev/hollo:latest
  2. Stop your current container
  3. Start with the new image using your existing configuration

Manual Installation

  1. Pull the latest code: git pull
  2. Install dependencies: pnpm install
  3. Restart the service: pnpm run prod

Important Upgrade Notes

Environment Variables: Update your configuration if you're using deprecated variables:

  • Replace ASSET_URL_BASE with STORAGE_URL_BASE
  • Replace FS_ASSET_PATH with FS_STORAGE_PATH
  • Ensure your SECRET_KEY is at least 44 characters long

Session Reset: Due to the OAuth security improvements, existing user sessions may be invalidated during the upgrade. You'll likely need to log in again through your client apps (like Phanpy, Moshidon, etc.) after upgrading. This is a one-time inconvenience that ensures you benefit from the enhanced security features.

Thank you to everyone who contributed to this release, and to the community for your continued support. Hollo 0.6.0 brings significant improvements to security, usability, and the overall experience of running your own corner of the fediverse.

pkg update's avatar
pkg update

@pkgupdt@hl.pkgu.net

@hongminhee 님의 도움으로 무사히 hollo 0.6.1로 업그레이드 성공. 다시 감사의 말씀 드린다. 😁

일단 체감상 속도가 빨라진 거 같고, 개인 테마 색을 바꿀 수 있게 된 것도 좋다.

플젝도 기여자분들도 계속 번창하시기를 빌며 응원하고 있다.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to ここあにゃん :surprised_karin_chibi:'s post

@AmaseCocoa ありがとうございます!

ここあにゃん :surprised_karin_chibi:'s avatar
ここあにゃん :surprised_karin_chibi:

@AmaseCocoa@s.amase.cc · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee@hollo.social Misskeyの投稿の編集に関してならこのあたりですかね🤔
https://github.com/misskey-dev/misskey/issues/11944
https://github.com/misskey-dev/misskey/issues/8362

← Newer
Older →