Releases: codecoradev/rungu
Releases · codecoradev/rungu
Release v0.1.1
What's New in v0.1.1
Fixed
- Translate tagline from Indonesian to English ("Listen. Prioritize. Build.")
- Rename Cloudflare Pages project to
rungu-docs(rungu.pages.dev was taken) - Translate AGENTS.md from Indonesian to English
📦 Platforms
| Platform | File |
|---|---|
| Linux (x86_64) | rungu-x86_64-unknown-linux-gnu-v0.1.1.tar.gz |
| Linux (ARM64) | rungu-aarch64-unknown-linux-gnu-v0.1.1.tar.gz |
| macOS (Apple Silicon) | rungu-aarch64-apple-darwin-v0.1.1.tar.gz |
| Windows (x86_64) | rungu-x86_64-pc-windows-msvc-v0.1.1.zip |
🐳 Docker
docker pull ghcr.io/codecoradev/rungu:0.1.1🚀 Quick Start
docker run -p 3000:3000 ghcr.io/codecoradev/rungu:0.1.1
./rungu project add "My App"
./rungu serveFull changelog: https://github.com/codecoradev/rungu/blob/main/CHANGELOG.md
Release v0.1.0
What's New in v0.1.0
First MVP release. Full-stack feedback board with OAuth, REST API, and embedded SPA.
Auth
- OAuth providers: Google, GitHub, Keycloak (ENV-driven, mix-and-match)
- Email-based identity: same email across providers = one user
- JWT sessions: HS256, 7-day expiry, HttpOnly + Secure cookie
RUNGU_SECURE_COOKIE: setfalsefor local HTTP development- CurrentUser extractor: Axum
FromRequestPartswith generic state support
REST API (12 endpoints)
- Projects:
GET/POST /api/projects,GET/PATCH/DELETE /api/projects/:slug - Posts:
GET/POST /api/projects/:slug/posts,GET/PATCH/DELETE /api/posts/:id - Votes:
POST /api/posts/:id/vote(toggle),GET /api/posts/:id/vote(check) - Comments:
GET/POST /api/posts/:id/comments,DELETE /api/comments/:id - Auth:
GET /auth/:provider/login,/callback,POST /auth/logout,GET /auth/me
Frontend (SvelteKit 5 + shadcn-svelte)
- 5 pages: landing, board, post detail, login, admin
- 7 components: PostCard, VoteButton, CommentThread, PostForm, AuthProviderButtons, StatusBadge, CategoryBadge
- shadcn-svelte UI: button, badge, card, input, textarea, label, separator, skeleton
- Tailwind v4 with dark-first oklch theme
- Typed API client mirroring all REST endpoints
Security
- SQL injection fix: parameterized queries in
list_posts(LIKE ? with bind) - Auth guards:
ApiError::check_owner_or_admin(),ApiError::require_admin() - Zero
unwrap()in production code (CLAUDE.md compliance) - CSRF protection: state cookie for OAuth flow
- Cookie security:
RUNGU_SECURE_COOKIEflag for HTTP dev mode
Tests (67 total)
- Store integration (11): CRUD, filters, cascade deletes, SQL injection, pagination
- API integration (12): HTTP lifecycle, auth guards (401/403), validation
- Unit (24): parsing, JWT middleware, cookie helpers, OAuth helpers
- Frontend (20): utils (cn, timeAgo, formatDate), API client (all endpoints)
Documentation
- OpenAPI/Swagger UI at
/swagger-ui(15 documented endpoints) - OpenAPI JSON spec at
/api-docs/openapi.json - AGENTS.md with clean code & DRY conventions
- Pre-commit hook: cora review + cargo fmt + clippy
Infrastructure
- Docker: 3-stage build (frontend → Rust → scratch), ~15MB image
- docker-compose: volume, healthcheck, all OAuth ENV vars
- CI: 11 checks (check, fmt, clippy, test, build, cargo audit, trivy, npm audit, cora review, docker build)
- Release workflow: multi-platform binaries (amd64, arm64, macOS, Windows) + Docker GHCR push
📦 Platforms
| Platform | File |
|---|---|
| Linux (x86_64) | rungu-x86_64-unknown-linux-gnu-v0.1.0.tar.gz |
| Linux (ARM64) | rungu-aarch64-unknown-linux-gnu-v0.1.0.tar.gz |
| macOS (Apple Silicon) | rungu-aarch64-apple-darwin-v0.1.0.tar.gz |
| Windows (x86_64) | rungu-x86_64-pc-windows-msvc-v0.1.0.zip |
🐳 Docker
docker pull ghcr.io/codecoradev/rungu:0.1.0🚀 Quick Start
docker run -p 3000:3000 ghcr.io/codecoradev/rungu:0.1.0
./rungu project add "My App"
./rungu serveFull changelog: https://github.com/codecoradev/rungu/blob/main/CHANGELOG.md