Releases: aegif/NemakiWare
Release list
NemakiWare 3.3.1
3.3.1 (2026-08-18)
3.3.0 の残件パッチリリースです。破壊的変更はありません。
詳細な変更履歴は RELEASE_NOTES.md を、
計画と実装の記録は v3.3.1-plan.md を参照してください。
修正
- Swagger UI の「Try it out」が動くようになりました — openapi.json に
serversが無く全オペレーションが 404 になっていた問題 (および修正一巡目のパス二重化 401) を修正。UI からの GET/POST 実行 → 200 を E2E テストで固定しています。 - Setup ウィザードの補助エンドポイントにも CouchDB 3.3 検査 —
/setup/auth/applyと/setup/admin/change-passwordが 3.3 未満の CouchDB に書き込めた問題を修正。 - admin パスワード変更の部分成功が見えるようになりました — 応答に DB ごとの結果 (全件) と「旧パスワードのまま残った DB」を名指しする warning が入ります。
- QA fixture (
patch.testuser.enabled=true) の seed 失敗の焼き付きを修正 — 一時障害で「適用済み」と誤記録され再試行されない問題。 - レンディション変換の一時ファイルを POSIX 600 で作成 (共有 /tmp での情報漏えい対策)。
- フォルダ移動のロック取得を lock-before-try 形に整理 (静的解析への追随、実害なし)。
内部改善
- 起動プローブの状態と CouchDB 版数を単一スナップショットとして公開し、setup 完了ゲートも単一読みに変更
- CodeQL アラート 25 件を全件 triage (修正 2 件・理由付き dismiss 23 件)
- 開発用依存の脆弱性解消 (
npm auditは dev 依存込みで 0 件) - Playwright CI を 4 シャード化 — 従来は単一ジョブが 3 時間上限に到達して失敗していたところ、最遅シャード 42 分で完走 (実走で露出した既存テスト欠陥 4 件も源で修正)
- SOAP の手動スモークを 3 サービスの実往復で実施し、WS クライアント binding が製品コードで未使用であることを記録
コンテナイメージ
ghcr.io/aegif/nemakiware-core:3.3.1ghcr.io/aegif/nemakiware-solr:3.3.1
(amd64。Trivy スキャンと boot smoke を通過したものが公開されます)
NemakiWare 3.3.0
3.3.0 (2026-08-17)
詳細な変更履歴は RELEASE_NOTES.md を、
アップグレード手順は v3.3.0-upgrade-runbook.md を参照してください。
⚠️ 破壊的変更
- CouchDB 3.3 以上が必須になりました — 3.3 未満 (またはバージョン不明) では起動しません。Setup ウィザード経由でも同じ検査が働きます。
- REST API に CSRF 検証 —
/core/rest/**と/core/api/v1/**の POST / PUT / DELETE / PATCH にはX-Requested-With: XMLHttpRequestか Bearer /AUTH_TOKEN/X-API-Keyが必要です。Basic auth はバイパスしません。 - CORS の既定が「許可しない」になりました —
api.cors.allowedOrigins未設定時は CORS ヘッダを返しません。別オリジンのブラウザアプリがある場合のみ設定してください。 /rest/repo/{repo}/archive/indexのlimit未指定が全件 → 100 件になりました。
⚠️ アップグレード要件
- 全 CMIS + RAG 再索引が必須です (10 万文書規模で 10 時間級)。
- 既存の Solr データボリュームを引き継ぐ場合、
schema.xmlに 3 フィールドの手動追加が必要です (runbook O0.5)。 - アップグレード前に CouchDB 全 DB と Solr データボリュームのバックアップを取ってください。
主な変更
- Apache Solr 9 → 10、OpenCMIS 2.0.0-RC2 (Jakarta EE)、Spring 7 / Tomcat 11 / Java 21
- ACL-epoch fencing (ACL とインデックスの恒久収束機構) が常時有効に
- 出荷既定の総点検: 公開イメージからクラウド同期・SSO・LDAP の開発向け既定と QA fixture を除去、無認証の診断エンドポイントを削除
- CXF 4.2.3 / JAXB 重複解消 /
npm audit --omit=dev0 件 - 書き込み性能の改善 (CouchDB 往復の削減シリーズ) と再索引の二重索引解消
イメージ
ghcr.io/aegif/nemakiware-core:3.3.0
ghcr.io/aegif/nemakiware-solr:3.3.0
(linux/amd64。公開イメージは Trivy スキャンと prod compose での boot スモークを通過したものです)
🤖 Generated with Claude Code
NemakiWare 3.2.2
Codex security-review remediation + E2E flaky-test stabilization, off 3.2.1.
Security
- [Medium] PlantUML/DOT rendition hardened. Diagram content is rendered server-side to SVG; PlantUML's default LEGACY profile allows
!include/!includeurl(local-file read + SSRF). The renderer now forces the SANDBOX profile (no local file access, no network) plus source-size (512 KB), render-time (15 s) and output-size (20 MB) limits. - [Medium] Archive import ACL bypass closed. ZIP/ACP import persisted archive-supplied ACEs via an internal update that bypassed the
CAN_APPLY_ACL_OBJECTcheck, so a create-child-only importer could set arbitrary ACLs. Archive ACLs are now applied only for administrators / system restores; a non-admin import keeps the object's inherited ACL and returns a warning. Same guard added to the filesystem-import path. - [Low] HTTPS connect-only DNS-rebinding residual re-affirmed (data-exchange SSRF already closed by TLS certificate verification; a full connect-time IP-pin transport is deferred).
Test stabilization (no product-code change)
Hardened 7 pre-existing flaky Playwright specs (group-hierarchy circular-reference, custom-property-input, config-viewer, property-editor, archive-restore-consistency, document-viewer-auth, verify-cmis-404) — pagination-aware assertions, API-based setup, robust login/waits.
Known limitation (deferred): a reliably 0-hard-failure full Playwright run was not achieved; the suite has a small, run-varying intermittent-flaky tail (environment/timing and client-side SPA races, not data accumulation). Converging is deferred to a separate test-infrastructure effort. The accepted 3.2.1 release shipped with the same tail.
Upgrade safety
No CouchDB view / patch / persisted-schema / Mango-index change — the 2.4-era CouchDB data carry-over path is untouched.
Verification
TCK 38/38 (clean DB), relevant Java unit 130/130, UI vitest 191/191, security regression 74/74 + live PoC. Full Playwright chromium 926–933 passed / 99 skipped. Every spec touched by the 3.2.2 changes is green.
Full detail: RELEASE_NOTES.md and CLAUDE.md.
NemakiWare 3.2.1
Security-audit remediation + cross-repository tenant isolation + dependency CVEs, plus two post-audit admin-usability additions.
Security — authentication / authorization
- [High] allowedAuthMethods policy bypass closed on all three remaining password entry points (api/v1 login, MCP Basic/login tool, legacy admin re-auth); a disabled/cloud-only account gets the same generic 401 as a wrong password.
- Cross-repository tenant isolation: connector-delegation governance and import-profile admin operations are now confined to the authenticated repository (fail-closed); per-repository admins authenticate against their own repository.
- RAG vector-search repository scoping: all RAG Solr queries scope to
repository_id; RAG reader-ACL tokens are now repository-scoped (see Migration). - Constant-time session-token comparison on the main path.
Dependencies
- commons-compress 1.24.0 → 1.27.1 (CVE-2024-25710, CVE-2024-26308); Lucene aligned to 9.12.3 across all modules. npm production deps: 0 vulnerabilities.
Admin usability (post-audit)
- Runtime-configurable cloud / SSO auth: Google / Microsoft client IDs and Keycloak/OIDC/SAML can be set from the admin menu and persist — the admin-UI value now overrides the deploy-time
-D/env bootstrap (a blank value reverts to the deploy default). Previously these fields were locked as "system property". - Markdown preview embedded-image resolution: relative image references (
images/foo.png,../assets/a.png) resolve against the document's CMIS folder and stream into a blob URL; unresolved images fall back to alt text + a broken-image indicator. External/data/blob URLs pass through unchanged. HTML files remain a read-only source view (not rendered).
Migration
- RAG index rebuild required only if RAG semantic search is used — the reader-ACL token format is repository-scoped and intentionally not backward-compatible (fail-closed before rebuild; no cross-repository leak). Affects only the derived RAG Solr index; CouchDB content is untouched.
Upgrade safety
No CouchDB view / patch / persisted-schema / Mango-index change — the 2.4-era CouchDB data carry-over path is untouched.
Verification
TCK 38/38 (clean DB), relevant Java unit 60/60, UI unit (vitest) 191/191, Playwright chromium 911 passed / 102 skipped. Remaining Playwright failures are documented/environmental pre-existing flakies outside the changed code paths.
Full detail: see RELEASE_NOTES.md and CLAUDE.md.
3.1.0
NemakiWare 3.1.0 Release Notes
Release Date: 2026-03-16
NemakiWare 3.1.0 は、2.4.0 以降の最大のメジャーアップデートです。技術スタックの全面刷新、エンタープライズ認証の強化、モダンUI への移行、そして大規模なパフォーマンス・セキュリティ改善を含みます。
ハイライト
プラットフォーム刷新
- Java 21 (Virtual Threads 対応) へ移行
- Jakarta EE 11 (javax → jakarta 名前空間) へ完全移行
- Spring Framework 7 へアップグレード
- Tomcat 11 (Jakarta Servlet 6.1) を採用
- Apache Chemistry OpenCMIS 1.1.0-nemakiware (Jakarta EE 対応自己ビルド版)
モダン UI
- React 19 + TypeScript + Vite 7 + Ant Design 5 による SPA を新規構築
- 旧 Ruby on Rails クライアント (NemakiShare) を廃止
- 日本語・英語の 多言語対応 (i18n)
- レスポンシブデザイン
エンタープライズ認証
- SAML 2.0 認証 (POST binding ACS、SLO LogoutRequest、署名検証)
- OIDC 認証 (Google / Microsoft)
- WebAuthn パスキー認証
- Setup Wizard による初期設定 GUI
クラウド統合
- Google Workspace / Microsoft Entra ID ディレクトリ同期
- Google Drive / OneDrive Cloud Drive 連携
新機能
CMIS 準拠強化
- ContentChanges API 実装 (変更ログトークンベースの増分同期)
- BulkUpdateProperties メソッド実装
- CMIS 1.1 Browser Binding / Atom Binding / Web Services Binding 対応
- セカンダリタイプ完全対応
- タイプ定義の CRUD (作成・更新・削除) 対応
コンテンツ管理
- インポート / エクスポート 機能改善 (同名上書き、リレーションシップ対応、ACL 付きエクスポート、ID 読替)
- アーカイブ管理 強化 (全文検索、一括操作、アーカイブからのダウンロード)
- Webhook 機能 (CMIS 権限チェック、CHILD_BATCH 配送、配信ログ永続化)
- サーバーサイドページネーション による大量文書対応
AI・検索
- RAG セマンティック検索 (TEI / Amazon Bedrock 埋め込み対応)
- MCP (Model Context Protocol) サーバー (AI エージェント統合)
- Solr 多言語検索 (text_ja + text_en デュアルインデックス)
Virtual Threads
- Tomcat の全 HTTP リクエストを Virtual Thread で処理
- アプリケーション内 ThreadFactory も Virtual Thread に統一
- 同時接続数の大幅改善
パフォーマンス改善
deleteTree並列化による大量ファイル削除の高速化getChildByNameO(1) CouchDB ビュー最適化getLatestChange()全件ロード → limit=1 最適化 (OOM 解消)- グループ更新の差分計算方式への変更 (全グループ走査の排除)
- ZIP インポートのストリーミング処理化
- N+1 クエリ 5 箇所の解消
セキュリティ修正
- SAML 署名ラッピング攻撃対策 (Reference URI DOM 解決 + duplicate-ID 防御)
- SAML DEFLATE DoS 防止 (10MB 上限)
- XXE 防御の強化
- エクスポート時の ACL リーク防止 (CAN_GET_ACL 権限チェック)
- Webhook REST API の CMIS 権限チェック移行
- ACP インポートのサイズ上限適用
- クラウド専用ユーザーのパスワード / パスキー制限
- PDF.js CVE-2024-4367 対応 (react-pdf 10.0.1)
- npm 脆弱性 0 件達成 (dompurify 3.3.2、immutable 3.8.3)
- Dependabot アラート全件対応
破壊的変更
動作環境
- Java 21 必須 (Java 8/11/17 はサポート対象外)
- Tomcat 11 必須 (Tomcat 7/8/9 はサポート対象外)
- CouchDB 3.x 必須
廃止
- NemakiShare (Ruby on Rails クライアント) を廃止 → React SPA に移行
- レガシーモジュール (setup, action, util 等) の削除
- javax 名前空間のクラス群 → jakarta に完全移行
- SLF4J 1.7 → 2.0 に統一
API
- CMIS Atom / Browser Binding のエンドポイントパスに変更はありません
- REST API の権限モデルが一部変更されています (Webhook API: admin 限定 → CMIS 権限チェック)
アップグレードガイド
2.4.0 からのアップグレード
- Java 21 をインストール
- Tomcat 11 に切り替え
- CouchDB 3.x にアップグレード (必要に応じて)
core.warを Tomcat のwebapps/にデプロイ- Setup Wizard (初回起動時に表示) で初期設定を実施
- Solr コアの再構築 (スキーマ変更あり)
注意: 2.4.0 の CouchDB データは基本的に互換性がありますが、ビュー構造の変更があるため、初回起動時に自動マイグレーションが実行されます。
既知の問題
- Maven 依存: netty 4.1.97 (odata-server-core 経由、CVE-2025-24970/58056) — 直接利用なし、影響軽微
- Maven 依存: logback 1.4.14 (CVE-2025-11226/CVE-2026-1225) — アップストリーム更新待ち
- FilingTestGroup (Multifiling/Unfiling) は NemakiWare が非対応のためスキップ
テスト状況
- CMIS TCK: 38/38 PASS
- QA 統合テスト: 94/94 PASS
- Playwright E2E テスト: 827+ passed / 0 failed
- ユニットテスト: 全件 PASS
謝辞
このリリースは多くの貢献と長期にわたる開発の成果です。CMIS コミュニティおよびすべてのコントリビューターに感謝いたします。
NemakiWare 3.1.0 Release Notes (English)
Release Date: 2026-03-16
NemakiWare 3.1.0 is the largest major update since 2.4.0. It includes a complete technology stack modernization, enterprise authentication enhancements, a modern UI rebuild, and extensive performance and security improvements.
Highlights
Platform Modernization
- Migrated to Java 21 with Virtual Threads support
- Full migration to Jakarta EE 11 (javax → jakarta namespace)
- Upgraded to Spring Framework 7
- Adopted Tomcat 11 (Jakarta Servlet 6.1)
- Apache Chemistry OpenCMIS 1.1.0-nemakiware (custom Jakarta EE build)
Modern UI
- Brand new SPA built with React 19 + TypeScript + Vite 7 + Ant Design 5
- Retired the legacy Ruby on Rails client (NemakiShare)
- Internationalization (Japanese / English)
- Responsive design
Enterprise Authentication
- SAML 2.0 authentication (POST binding ACS, SLO LogoutRequest, signature verification)
- OIDC authentication (Google / Microsoft)
- WebAuthn passkey authentication
- Setup Wizard for guided initial configuration
Cloud Integration
- Google Workspace / Microsoft Entra ID directory sync
- Google Drive / OneDrive Cloud Drive integration
New Features
CMIS Compliance
- ContentChanges API implementation (incremental sync via change log tokens)
- BulkUpdateProperties method implementation
- CMIS 1.1 Browser Binding / Atom Binding / Web Services Binding support
- Full secondary types support
- Type definition CRUD (create, update, delete)
Content Management
- Import / Export improvements (overwrite by name, relationship support, ACL-aware export, ID remapping)
- Archive management enhancements (full-text search, bulk operations, archive download)
- Webhooks (CMIS permission checks, CHILD_BATCH delivery, persistent delivery logs)
- Server-side pagination for handling large document sets
AI & Search
- RAG semantic search (TEI / Amazon Bedrock embeddings)
- MCP (Model Context Protocol) server for AI agent integration
- Solr multi-language search (text_ja + text_en dual indexing)
Virtual Threads
- All HTTP requests processed on Virtual Threads via Tomcat
- Application-level ThreadFactory unified to Virtual Threads
- Significant improvement in concurrent connection handling
Performance Improvements
- Parallelized
deleteTreefor faster bulk deletion - O(1) CouchDB view optimization for
getChildByName getLatestChange()optimized from full-load to limit=1 (OOM fix)- Group update changed to diff-based approach (eliminated full-group scan)
- Streaming ZIP import processing
- Resolved 5 N+1 query issues
Security Fixes
- SAML signature wrapping attack mitigation (Reference URI DOM resolution + duplicate-ID defense)
- SAML DEFLATE DoS prevention (10MB limit)
- Enhanced XXE defense
- Export ACL leak prevention (CAN_GET_ACL permission check)
- Webhook REST API migrated to CMIS permission checks
- ACP import size limit enforcement
- Cloud-only user password/passkey restrictions
- PDF.js CVE-2024-4367 addressed (react-pdf 10.0.1)
- Zero npm vulnerabilities (dompurify 3.3.2, immutable 3.8.3)
- All Dependabot alerts resolved
Breaking Changes
System Requirements
- Java 21 required (Java 8/11/17 no longer supported)
- Tomcat 11 required (Tomcat 7/8/9 no longer supported)
- CouchDB 3.x required
Deprecations
- NemakiShare (Ruby on Rails client) retired → replaced by React SPA
- Legacy modules removed (setup, action, util, etc.)
- javax namespace classes → fully migrated to jakarta
- SLF4J 1.7 → unified to 2.0
API
- CMIS Atom/Browser Binding endpoint paths remain unchanged
- Some REST API permission models have changed (Webhook API: admin-only → CMIS permission checks)
Upgrade Guide
Upgrading from 2.4.0
- Install Java 21
- Switch to Tomcat 11
- Upgrade to CouchDB 3.x (if not already)
- Deploy
core.warto Tomcat'swebapps/ - Complete initial configuration via the Setup Wizard (shown on first launch)
- Rebuild Solr cores (schema changes required)
Note: CouchDB data from 2.4.0 is generally compatible, but view structure changes will trigger automatic migration on first startup.
Known Issues
- Maven dependency: netty 4.1.97 (via odata-server-core, CVE-2025-24970/58056) — not directly used, minimal impact
- Maven dependency: logback 1.4.14 (CVE-2025-11226/CVE-2026-1225) — awaiting upstream update
- FilingTestGroup (Multifiling/Unfiling) skipped as NemakiWare does not support these capabilities
Test Status
- CMIS TCK: 38/38 PASS
- QA Integration Tests: 94/94 PASS
- Playwright E2E Tests: 827+ passed / 0 failed
- Unit Tests: All PASS
Acknowledgments
This release is the culmination of extensive development and many contributions. We thank the CMIS community and all contributors for their support.
2.4.0
Release Note ( English )
Installer file : NemakiWareInstaller-2.4.0.jar (Windows/Mac/Linux etc) .
How to Install and execute, See wiki page
リリースノート ( 日本語 )
おもな変更点は以下の通りです。
- バンドルTomcatのバージョンを9.0.37に変更
- Solr Index同期問題の修正
- リレーションシップの不具合の修正
インストーラはこのポストに添付されている以下のファイルです: NemakiWareInstaller-2.4.0.jar (Windows/Mac/Linux)
インストールと実行の仕方は NemakiWare Wikiのインストール方法 を参照してください。
2.3.6 以前からバージョンアップされる場合
CouchDBに新しいビューを追加しないとフォルダが作成できません。2.3.6以前からバージョンアップされる場合は、お手数ですが 2.3.8 のリリースノートを参照下さい。
2.3.16
Release Note ( English )
Installer file : NemakiWareInstaller-2.3.16.jar (Windows/Mac/Linux etc) .
How to Install and execute, See wiki page
リリースノート ( 日本語 )
おもな変更点は以下の通りです。
- deleteTreeメソッドのスレッドリークを解消
(フォルダ以外はマルチスレッドで全階層まとめて削除、その後フォルダは下の階層から順にシングルスレッドで削除)
インストーラはこのポストに添付されている以下のファイルです: NemakiWareInstaller-2.3.16.jar (Windows/Mac/Linux)
インストールと実行の仕方は NemakiWare Wikiのインストール方法 を参照してください。
2.3.6 以前からバージョンアップされる場合
CouchDBに新しいビューを追加しないとフォルダが作成できません。2.3.6以前からバージョンアップされる場合は、お手数ですが 2.3.8 のリリースノートを参照下さい。
2.3.15
Release Note ( English )
Installer file : NemakiWareInstaller-2.3.15.jar (Windows/Mac/Linux etc) .
How to Install and execute, See wiki page
リリースノート ( 日本語 )
おもな変更点は以下の通りです。
- フォルダ内要素の取得(getChildrenメソッド)をキャッシュ化
- 各CMISメソッドに対して、オブジェクト単位でReadWriteロックを実装
インストーラはこのポストに添付されている以下のファイルです: NemakiWareInstaller-2.3.15.jar (Windows/Mac/Linux)
インストールと実行の仕方は NemakiWare Wikiのインストール方法 を参照してください。
2.3.6 以前からバージョンアップされる場合
CouchDBに新しいビューを追加しないとフォルダが作成できません。2.3.6以前からバージョンアップされる場合は、お手数ですが 2.3.8 のリリースノートを参照下さい。
2.3.13
Release Note ( English )
Installer file : NemakiWareInstaller-2.3.13.jar (Windows/Mac/Linux etc) .
How to Install and execute, See wiki page
リリースノート ( 日本語 )
おもな変更点は以下の通りです。
- フォルダ内要素の取得(getChildrenメソッド)をキャッシュ化
- 各CMISメソッドに対して、オブジェクト単位でReadWriteロックを実装
インストーラはこのポストに添付されている以下のファイルです: NemakiWareInstaller-2.3.13.jar (Windows/Mac/Linux)
インストールと実行の仕方は NemakiWare Wikiのインストール方法 を参照してください。
2.3.6 以前からバージョンアップされる場合
CouchDBに新しいビューを追加しないとフォルダが作成できません。2.3.6以前からバージョンアップされる場合は、お手数ですが 2.3.8 のリリースノートを参照下さい。
2.3.11
Release Note ( English )
Installer file : NemakiWareInstaller-2.3.11.jar (Windows/Mac/Linux etc) .
How to Install and execute, See wiki page
リリースノート ( 日本語 )
おもな変更点は以下の通りです。
- リポジトリのルートディレクトリにログインせずに入ったとき、Login画面にリダイレクトされない問題を改善
インストーラはこのポストに添付されている以下のファイルです: NemakiWareInstaller-2.3.11.jar (Windows/Mac/Linux)
インストールと実行の仕方は NemakiWare Wikiのインストール方法 を参照してください。
2.3.6 以前からバージョンアップされる場合
CouchDBに新しいビューを追加しないとフォルダが作成できません。2.3.6以前からバージョンアップされる場合は、お手数ですが 2.3.8 のリリースノートを参照下さい。