Halu v2.0.0は、v1.0系との互換性がありません。
v1.0系で作成したアプリケーションは、v2.0.0では動作しません。
すべての変更点と非互換の詳細は、GitHubの「v2.0.0リリース」を参照してください。
機能追加
・Svelteコンポーネント:フレームワーク共通(各種ダイアログ)と、アプリ固有(ヘッダー・フッター・ロゴ・ログイン情報)の2種類(関連:「HaluServer詳細」、「HaluProject詳細」)
・項目移送のカスタム属性:画面項目を特定する halu-ds-id・halu-ds-field 属性(関連:「データ移送の仕組み」)
・選択ダイアログ:選択画面のモーダルダイアログ表示(関連:「HaluProject詳細」)
・SQLインジェクション対策:SQLリテラルのエスケープ部品(commons.sqlescape.escapeSqlLiteral())
・Linux自動インストーラ:AlmaLinux 9 用(関連:「Linux(自動インストール)」)
機能改善
・Bootstrap 5への更新:Bootstrap 5.3.0・jQuery 3.7.1。テーマはBootstrap 5のCSS変数を上書きする方式
・動作環境の明確化:Python 3.11・Starlette 1.6・PostgreSQL 16(関連:「環境構築」)
・Sampleアプリの拡充:受注管理を題材にした18画面と、要件定義からテスト仕様書までの設計書一式(関連:「Sampleアプリ」)
バグ修正
・複数ページの帳票で、2ページ目以降が出力されない不具合
・帳票の生成に失敗しても、画面にエラーが表示されない不具合
・SQLの実行エラー時に、失敗した更新が確定する不具合
・SQLの実行エラー時に、バッチ・帳票が起動する不具合
・ヘッダーからのログアウト時に、ログオフのアクセスログが記録されない不具合
・画面表示のたびに、既定の配色が約1秒表示される不具合
セキュリティ修正
・ファイルの配信・ダウンロード・アップロードで、アプリ配下の外にあるファイルにアクセスできる脆弱性
・検索条件をSQL文字列に埋め込む処理で、SQLインジェクションが成立する脆弱性
・jQuery 3.4.1・Starlette 0.46系の既知の脆弱性(バージョン更新により解消)
・Sampleアプリで、パスワードが平文で保存される問題(SHA256ハッシュでの保存に変更)
削除・非推奨
・削除:未使用の同梱ライブラリ(jQuery 3.4.1、Bootstrap 4.4.1 ほか)
・非推奨:将来のバージョンで削除予定
JavaScript:uilayout、print、halutabbedpanel、haluwebsocket
Python:Rmenu系ルート、WebSocketスタブ、HaluLoginスタブ、mail.py、templateclass.py
フォント:IPAフォント
既知の問題と制約
次のバージョンでの修正を予定している不具合と、現時点の制約です。
既知の問題
・バッチサーバーが停止していても、画面に「バッチ処理を起動しました。」と表示される
・バッチの連鎖起動(次のバッチを続けて起動する設定)が、引数の不一致により動作しない
・同じ名前の帳票PDFを続けて出力すると、変換が終わる前に、前回のPDFが返る場合がある
制約
・ダウンロードAPIの削除パラメータが未実装のため、DownLoad配下の生成物は、自動では削除されない(定期的に削除する)
・帳票処理の一部で、対象が0件の場合の例外処理が、不十分な箇所が残っている
・mainte(singleRecordForm)の画面では、画面名(モード付きタイトル)に半角スペースを含められない
・サーバー間通信に使用しているmsgpack-rpc-pythonは、上流の保守が停止しており、Python 3.12以降では読み込みに失敗する(Python 3.11での動作は確認済み。代替方式を検討中)
