v0.3.0-rc.1
Pre-release
Pre-release
·
99 commits
to main
since this release
What's Changed
Full Changelog: v0.2.0...v0.3.0-rc.1
Overview
This prerelease rolls up the work completed after v0.2.0 into a single upgrade candidate focused on the new runtime architecture, shared packages, and day-to-day operability. The largest changes are the backend runtime migration, the custom API client/auth flow, and the move toward unified local tooling and configuration management.
Added
- Unified Rin CLI: Added a first-party CLI entrypoint for local development, deployment, database tasks, and release preparation.
- Shared workspace packages: Introduced
@rin/api,@rin/config, and@rin/uias real shared packages used by the app. - Authentication options: Added password-based admin login, a dedicated
/loginpage, and a/profilepage for avatar and nickname updates. - AI configuration: Added AI summary support, custom model support, and merged AI settings into the main server configuration flow.
- Content features: Added Moments, search, pinned/top feeds, adjacent feed navigation, friend sorting and apply flows, visit count display, and compatibility task management pages.
- Editor and rendering enhancements: Added Monaco editor improvements, Mermaid, KaTeX, callouts, alerts, popup support, code-copy actions, image lightbox support, richer markdown image handling, and WordPress import tooling.
- Internationalization: Added Japanese and Traditional Chinese translations, and expanded translation coverage across the app.
Changed
- Backend runtime: Replaced the old Elysia-based server stack with a lighter Worker-oriented runtime and then a Hono-based app assembly, with lazy route/dependency loading and clearer middleware boundaries.
- Admin Panel: Consolidates management pages such as writing and settings into a standalone admin interface, separating them from public pages, and also redesigns the UI of the writing and settings pages.
- API client: Replaced Eden Treaty usage with a custom type-safe API client and shared transport contracts in
@rin/api. - Authentication transport: Moved authenticated requests from authorization headers to cookie-based sessions and replaced the previous OAuth dependency with an in-repo OAuth implementation.
- Statistics and caching: Migrated PV/UV aggregation to HyperLogLog and added cache persistence modes for both D1 and S3.
- Configuration and deployment: Simplified local development setup, removed legacy
FRONTEND_URLandAPI_URLassumptions, and updated CI/deploy workflows around generated Wrangler configuration and repository-level variables. - Release packaging: GitHub Releases now include the packaged Cloudflare build artifact so manual deployments can consume the release asset URL directly.
- Documentation: Moved documentation into the main repository and added release/deployment guidance for the newer workflow.
Removed
- Legacy backend dependencies: Removed the old Elysia/Eden/Treaty-oriented release path from the supported architecture.
- SEO-specific server rendering path: Removed the previous SEO-only server rendering flow in favor of the current runtime behavior.
Fixed
- RSS and feed delivery: Fixed broken RSS routes, cron edge cases, adjacent feed response fields, and S3 path-style handling.
- Deployment workflow reliability: Fixed CI environment propagation, Wrangler version mismatches, queue creation/naming issues, and shell pipeline error handling in release/deploy workflows.
- Cross-origin and routing behavior: Fixed CORS/OPTIONS handling, integer query parsing, and custom API URL usage.
- Existing UI regressions: Fixed image placeholder metadata, blurhash support in feed cards, timeline rendering, index scrolling/mobile behavior, and several cache initialization issues that affected pre-existing pages.
Migration Guide
For Existing Users Upgrading From v0.2.0
- Update custom API calls:
- Eden Treaty-style calls such as
client.feed.index.get(...)are no longer supported. - Migrate to the new client methods such as
client.feed.list(...).
- Eden Treaty-style calls such as
- Review auth integration:
- Authentication now uses cookies and dedicated login/profile pages.
- If you customized the previous modal/login callback flow, re-test that integration before promoting this prerelease.
- Review runtime/config assumptions:
FRONTEND_URLandAPI_URLare no longer part of the current deployment model.- Prefer the repository-level variables and generated Wrangler config used by the current workflows.
- Pick a cache backend deliberately:
- Set
CACHE_STORAGE_MODE=databaseif you want to run without S3-backed cache persistence. - Keep S3 configuration in place if you still want object-storage-backed cache assets.
- Set
Known Issues
- This is still a prerelease for the
0.3.0line; downstream forks with custom auth, deployment, or API wrappers should validate their integrations before treating it as production-ready.
中文版
概览
这个预发布版本将 v0.2.0 之后完成的大量工作整理为一个可验证的升级候选版本,重点集中在新的运行时架构、共享包抽取,以及日常开发和部署可维护性的提升。最大的变化包括后端运行时迁移、自定义 API client 与认证流程,以及统一的本地工具链。
新增
- 统一 Rin CLI:新增一套一方维护的 CLI 入口,用于本地开发、部署、数据库任务和 release 准备。
- 共享 workspace 包:引入
@rin/api、@rin/config和@rin/ui,作为应用当前实际使用的共享包。 - 认证方式扩展:新增账号密码登录、独立
/login页面,以及可更新头像和昵称的/profile页面。 - AI 配置能力:新增 AI 摘要、自定义模型支持,并将 AI 设置并入主服务端配置流程。
- 内容能力:新增 Moments、搜索、置顶文章、相邻文章、友情链接排序与申请流程、访问统计展示以及兼容性任务管理页面。
- 编辑器与渲染增强:新增 Monaco 编辑器改进、Mermaid、KaTeX、Callout、Alert、弹出层、代码复制、图片灯箱以及更丰富的 Markdown 图片处理能力,并支持 WordPress 导入。
- 国际化:新增日语与繁体中文翻译,并扩展了应用中的多语言覆盖范围。
变更
- 后端运行时:将旧的 Elysia 服务端栈替换为更轻量的 Worker 运行时,并进一步整理为 Hono 应用装配结构,支持懒加载路由与依赖,并使中间件边界更清晰。
- API client:移除 Eden Treaty 调用方式,改为自定义的类型安全 API client,并通过
@rin/api共享传输契约。 - 管理面板:将写作与设置等管理页整合到独立的管理页面,不再与公共页面混合在一起,同时重构了写作页与设置页的 UI
- 认证传输:认证请求从 Authorization Header 迁移为 Cookie Session,同时将原 OAuth 依赖替换为仓库内实现。
- 统计与缓存:PV/UV 统计迁移到 HyperLogLog,并为缓存新增 D1 与 S3 两种持久化模式。
- 配置与部署:简化本地开发设置,移除旧的
FRONTEND_URL与API_URL假设,并更新围绕 Wrangler 生成配置和仓库级变量的 CI / 部署流程。 - 发布产物:GitHub Releases 现在会附带打包后的 Cloudflare 构建产物,便于手动部署时直接使用 release asset URL。
- 文档:文档已迁移回主仓库,并补充了与当前流程匹配的发布与部署说明。
移除
- 旧后端依赖路径:移除了旧的 Elysia / Eden / Treaty 相关支持路径,不再作为当前架构的一部分。
- SEO 专用服务端渲染流程:移除了之前面向 SEO 的单独服务端渲染路径,改为当前运行时行为。
修复
- RSS 与 feed 交付:修复了 RSS 路由、定时任务边缘情况、相邻文章返回字段以及 S3 path-style 相关问题。
- 部署流程稳定性:修复了 CI 环境变量传递、Wrangler 版本不一致、队列创建与命名问题,以及 release / deploy 流程中的 shell pipeline 错误处理。
- 跨域与路由行为:修复了 CORS / OPTIONS 处理、整数 query 解析以及自定义 API URL 的使用问题。
- 既有 UI 回归:修复了图片占位元数据、feed card blurhash、时间线渲染、索引页滚动 / 移动端行为,以及多个影响旧页面的缓存初始化问题。
迁移指南
从 v0.2.0 升级的现有用户
- 更新自定义 API 调用:
- 旧的 Eden Treaty 风格调用,例如
client.feed.index.get(...),已不再支持。 - 请迁移到新的 client 方法,例如
client.feed.list(...)。
- 旧的 Eden Treaty 风格调用,例如
- 检查认证集成:
- 认证现在基于 Cookie,并使用独立的登录 / 资料页面。
- 如果你定制过旧的 modal 登录或 callback 流程,建议在推广这个 prerelease 前重新验证。
- 检查运行时 / 配置假设:
FRONTEND_URL和API_URL已不再属于当前部署模型。- 优先采用当前 workflow 使用的仓库级变量和生成式 Wrangler 配置。
- 明确缓存后端选择:
- 如果你希望不依赖 S3 持久化缓存,可设置
CACHE_STORAGE_MODE=database。 - 如果你仍需对象存储缓存资产,请保留 S3 相关配置。
- 如果你希望不依赖 S3 持久化缓存,可设置
已知问题
- 这仍然是
0.3.0版本线的预发布版本;对认证、部署或 API 包装做过深度定制的下游 fork,仍应先完成自有环境验证,再将其视为生产可用版本。
📦 Build Artifact
This release includes the attached file build-v0.3.0-rc.1-cloudflare.tar.gz.
Use the release asset URL as artifact_url when triggering deploy.yml manually.
🆙 Upgrade Guide
For users who have forked this repository:
- Go to your forked repository on GitHub
- Click "Sync fork" to get the latest changes
- Review the CHANGELOG.md for migration steps
- Update your environment variables if needed
- The deployment will run automatically