Skip to content

Releases: Madoa5561/higuma

higuma 0.6.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:30

Highlights

higuma 0.6.0 adds native frontend delivery while keeping application logic in Python and HTTP serving in Rust.

  • CSR / SPA: app.mount_spa() supports history fallback, subpath deployment, reserved API/asset prefixes, and existing route method contracts.
  • Static sites and assets: app.mount_static() supports multiple public roots, optional HTML directory indexes, stable web MIME types, and configurable caching.
  • Vite integration: ViteManifest resolves hashed assets, dependency CSS, module preloads, escaped HTML tags, and CSP nonces from a validated manifest snapshot.
  • Documentation and examples: dependency-free browser CSR example, Python HTML + Vite example, Japanese/English frontend guides and capability matrices, and a new Japanese brown bear logo.

Fixes and upgrade notes

  • Shared file handling supports ETag lists, modification-date preconditions, and If-Range. Quoted ETags containing commas no longer produce incorrect cache or precondition matches.
  • Static serving rejects hidden files and paths escaping the public root. Do not expose source trees, credentials, databases, or writable upload stores as public directories.
  • Documentation language switching preserves the corresponding page, and the English sitemap is generated during the docs build.
  • These frontend APIs require higuma 0.6.0+. Frontend compilation, HMR, Node/React component SSR, service-worker generation, durable jobs, and distributed state remain external integrations.

Install

python -m pip install -U higuma

CPython 3.10+. Wheels are provided for Windows x86-64, Linux x86-64/ARM64, musllinux x86-64, and macOS Intel/Apple Silicon, alongside the source distribution.

Documentation

CI and dependency audits passed for release commit 0a685df8bb08bb854adbee08ec072f214f98d8f6 before publication. CI covers Linux CPython 3.10–3.14 and Windows/macOS CPython 3.10 and 3.14. These checks do not guarantee the absence of bugs or vulnerabilities; validate your own production workload.

Changelog · Compare v0.5.0…v0.6.0

higuma 0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 02:11

higuma 0.5.0

Flaskとの相互運用とエコシステムを改善し、セキュリティレビューで確認した問題を修正しました。

追加・改善

  • Flask風の app.app_context()、g、session、flash、context判定、teardown、app.extensions。
  • Blueprint相対endpoint、query/list、fragment、外部URLに対応した url_for。
  • 実際のFlaskアプリとのWSGI接続テスト、日本語URL・Cookie・redirectの互換性改善。
  • 日英の互換性ガイド、CSRF付きcontext/sessionサンプル、Flask mountサンプル。
  • module:create_app() factory構文、case-insensitive response headers。
  • 依存監査の定期CIと、対象commitの最新CI/監査成功を要求するリリース条件。
  • Dependabot PR #12をマージし、Rust依存ロックを更新。

修正した問題

  • セッション削除CookieでSecure/HttpOnly/SameSiteが落ちる問題。Secure prefixも維持。
  • identity入れ替えやoverflow枠移行でrate limit履歴が失われる問題。
  • 既定WebSocket Origin検証でeffective schemeが照合されない問題。
  • WSGI header正規化の衝突、Python/Rust numeric converterの不一致。
  • token/role exampleの未対応login引数とパスワード確認不足。CSRFも追加。
  • template helperで既存の status / headers 変数を維持したcontext processor適用。

検証

  • ローカルPython: 148 tests + 21 subtests、Rust: 10 tests。
  • 実socketのHTTP/WebSocket、実Flask、並行context分離、wheel隔離インストールを確認。
  • Rust/Python依存は公開時点のadvisory照合で既知脆弱性0件。
  • lint/format、version整合、日英docs strict buildに成功。

対応範囲

Flaskのdrop-in replacementや、すべてのFlask extensionの無変更動作は保証しません。
WSGI/ASGI mountはbuffered HTTPのみで、mounted WebSocket/ASGI lifespan/無期限streamは対象外です。
Rate limitはprocess内の制限で、上限到達時は新規identityが共有quotaを使います。
本番のTLS/proxy/Host/CSRF/Origin設定、実ブラウザーや外部サービスの全挙動を保証する監査ではありません。

日本語ガイド · English guide · Changelog

higuma 0.4.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 01:36

Full Changelog: v0.4.0...v0.4.1

higuma 0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Aug 14:15

Full Changelog: v0.3.0...v0.4.0

higuma 0.3.0

Choose a tag to compare

@Madoa5561 Madoa5561 released this 29 Jul 03:04

Highlights

  • Rust file streaming, gzip compression, and non-blocking Python handler dispatch
  • WebSocket origin checks, bounded queues, pre-upgrade authentication, and Blueprint routes
  • Trusted proxy handling, hardened CORS, sessions, OAuth, headers, routing, and uploads
  • Safer ORM deletion and pagination, bounded rate-limit/supervisor resources
  • Improved OpenAPI, WSGI/ASGI header compatibility, Japanese/English docs, and LLM SKILLS

Security

This release includes a full code review and security hardening pass. Signed-session and token secrets now require at least 32 bytes. Query.delete() refuses unfiltered deletion; use delete_all() when intentional. See the changelog for migration details.

Install

pip install -U higuma

Full changes: https://github.com/Madoa5561/higuma/blob/v0.3.0/CHANGELOG.md

higuma v0.2.0

Choose a tag to compare

@Madoa5561 Madoa5561 released this 29 Jul 02:05

日本語

higuma 0.2.0では、WebSockets、マルチパートアップロード、WSGI/ASGIマウント、OpenAPI 3.1、テンプレートキャッシュ、SQLite ORM、マルチプロセス・スーパーバイザが追加されました。また、セッション認証、CSRF保護、レート制限、そしてGoogle・LINE・Discord向けのPKCE対応OAuth 2.0機能も含まれています。ドキュメントとサンプルは日本語と英語で提供されています。

詳細は CHANGELOG.md をご覧ください。

English

higuma 0.2.0 adds WebSockets, multipart uploads, WSGI / ASGI mounts, OpenAPI 3.1, template caching, a SQLite ORM, and a multi-process supervisor. It also includes session authentication, CSRF protection, rate limiting, and OAuth 2.0 with PKCE for Google, LINE, and Discord. Documentation and examples are available in Japanese and English.

See CHANGELOG.md for details.

higuma v0.1.0

Choose a tag to compare

@Madoa5561 Madoa5561 released this 27 Jul 02:17

higumaの最初の公開リリースです。

インストール

pip install higuma

主な機能

  • axum / TokioによるRust HTTPコア
  • FlaskライクなPython APIと動的ルーティング
  • MiniJinjaによるSSR
  • Request / Response、JSON、redirect、ファイル配信
  • Blueprint、middleware、hooks、signed cookie session
  • CORS、security headers、Trusted Host
  • async handler、lifecycle hooks、test client、CLI
  • Windows、Linux、macOS向けABI3 wheel

Links