1.5.6.0 の変更点
リリース日: 2026年7月14日。1.5.5.0 からの変更です。機能追加・仕様変更と不具合修正を分けて記載します。
機能追加・仕様変更
- 運用・設定 — キューイング機能が加わった。
- その他 — レートリミット機能が加わった。
- 運用・設定 — アクセスキャッシュ機能が加わった。
- 運用・設定 — Mail.json に SMTP の TLS、タイムアウト、プロキシ、クライアント証明書の設定を追加した。
- API・拡張 — レコード更新、サイト更新のAPIに「新バージョンで保存」機能が加わった。
- その他 — 画像貼り付け時にサイズチェックを行う機能が加わった。
不具合修正
- その他 — 一括更新時、状況による制御が効いてしまう場合がある不具合を修正。
- 利用者・権限 — アクセス権限のないサイトにアクセスした際に、HTMLタイトルにサイトタイトルが表示される不具合を修正。
- その他 — リンク設定した子テーブルのクロス集計で親テーブルの「状況」列を指定するとエラーとなる不具合を修正。
- データ入出力 — データを含むサイトパッケージのエクスポートで、プロセスやビュー等に設定されたフィルタ条件が出力されない不具合を修正。
- その他 — 複数選択に設定した分類項目で、入力値が1024文字を超えると正しく保存できない不具合を修正。
- 画面・表示 — フォームで公開したレコード作成画面にて分類項目の「検索機能を使う」が利用できない不具合を修正。
- 利用者・権限 — URLにサブディレクトリを含む環境でパスキー認証が失敗する不具合を修正。
- 画面・表示 — アンカー項目に対し$p.setを実行した際にビューが更新されない不具合を修正。
- 画面・表示 — UIレイアウトの不具合を修正。
- 利用者・権限 — 特定条件下における権限チェッククエリのパフォーマンスが悪化する不具合を修正。
実装を読む
1.5.5.0 との差分を確認しています。バックグラウンド処理、負荷制御、アクセス時のキャッシュを追加し、SMTP の詳細設定と更新 API を拡張した版です。
| 機能 | 主な設定 | ライセンス判定 |
|---|---|---|
| キューイング | BackgroundJobs.BackgroundQueue | AllowQueue()、Queue オプション |
| レートリミット | RateLimit.Mode | AllowRateLimit()、RateLimit オプション |
| アクセスキャッシュ | Sites.EnableSsCache | AllowSsCache()、AdvancedCache オプション |
各判定は、有効なトライアルライセンスがあればその結果を使い、トライアルがない場合は通常ライセンスと該当オプションで判定します。設定値だけを有効化してもライセンス条件を省略できません(Parameters.cs、Parameters.cs、Parameters.cs)。
エクスポートをバックグラウンドジョブへ渡す
BackgroundJobs.json と BackgroundJobs テーブルが追加されました。配布時のキューは無効です。有効化する例は次のとおりです(BackgroundJobs.json)。
{
"BackgroundQueue": true,
"BackgroundJobDispatcherInterval": 60,
"BackgroundJobTimeout": 3600,
"FallbackLanguage": "ja",
"RecoverAction": "Failed",
"OutputFilePath": "D:\\Pleasanter\\BackgroundJobs"
}キューに登録した処理をバックグラウンドで実行し、出力ファイルと結果をジョブに関連付けます。OutputFilePath はサーバー側の出力先です。ブラウザで指定するダウンロード先のフォルダではありません。ジョブの保持・削除用には BackgroundService.json の DeleteBackgroundJobs、実行時刻、保管日数も追加されました。削除は既定で無効、保管日数は 7 日です(BackgroundService.json)。
この版のキューはエクスポートが対象で、インポートは 1.5.7.0 で追加されます。また、出力ファイルのダウンロード権限には同日公開の 1.5.6.1 の修正があります。
レートリミットのモードとポリシー
RateLimit.json はリクエストの頻度・同時実行数を制御します。全体の Mode は Off、LogOnly、On で、配布時は Off です。LogOnly は制限に該当したことを記録し、On は拒否します。ポリシー側の Inherit は全体のモードに従います(RateLimit.cs、RateLimit.json)。
| ポリシー | 配布時の方式 | 主な上限 |
|---|---|---|
General | トークンバケット | 10 トークン、毎秒 5 補充 |
List | スライディング窓 | 60 秒で 30 件 |
Admin | 固定窓 | 60 秒で 30 件 |
Heavy | 同時実行数 | ユーザーごとに 1 件 |
ApiHeavy | 同時実行数 | API キーごとに 1 件 |
Api | トークンバケット | 30 トークン、毎秒 10 補充 |
設定には対象パス・除外パス・ユーザーの除外もあります。/mcp と /healthz は既定の除外パスに入り、MCP の制限は McpServer.json 側で管理します。ポリシーの定義と実際に各操作へ適用する範囲は レートリミット にまとめています(RateLimit.json)。
サイト設定のアクセスキャッシュ
Sites.EnableSsCache が追加され、テナントのキャッシュには SsCache が加わりました。キャッシュするのはサイト設定(SiteSettings)で、レコード一覧の値をそのまま固定する機能ではありません(Sites_EnableSsCache.json、TenantCache.cs)。
通常の画面アクセスではサイトの EnableSsCache、API の経路では context.ApiSsCache を使ってキャッシュ利用を判定します。利用者の権限は Context 側の権限情報で扱うように変更され、共有するサイト設定と利用者ごとの判定を分けています(SiteSettingsUtilities.cs、Permissions.cs)。
SMTP の TLS・タイムアウト・プロキシ・証明書設定
Mail.json に SMTP 接続の詳細設定が追加されました。OAuth 自体は 1.5.1.0、SES などのプロバイダ選択は 1.5.5.0 の追加機能です。この版では SMTP の接続条件をさらに指定できます(Mail.json)。
| 設定 | 配布時の値 | 用途 |
|---|---|---|
SmtpCheckCertificateRevocation | true | サーバー証明書の失効確認 |
SmtpSslProtocols | null | TLS プロトコルの指定 |
SmtpTimeout | 120000 | SMTP クライアントのタイムアウト(ミリ秒) |
SmtpLocalDomain | null | SMTP クライアントのローカルドメイン |
SmtpRequireTls | false | REQUIRETLS の指定 |
SmtpLocalEndPoint | null | 接続元エンドポイント |
SmtpProxyType / SmtpProxyHost | null | プロキシの種類・接続先 |
SmtpClientCertificate | 証明書ストア指定、検索値は null | クライアント証明書 |
プロキシの認証・証明書検証・失効確認・TLS・クライアント証明書の設定も追加されています。通常の SMTP 接続用と、プロキシ接続用の証明書設定を混同しないようにします(Mail.json)。
API から「新バージョンで保存」する
レコードとサイトの更新 API が VerUp を扱うようになりました。true を指定すると、通常のバージョン更新判定に加えて新バージョンでの保存を要求できます。false は「バージョンを絶対に上げない」という指定ではなく、既存の Versions.MustVerUp() の判定が残ります(IssueUtilities.cs、SiteUtilities.cs)。
{
"ApiKey": "sample-api-key",
"Title": "改訂後のタイトル",
"VerUp": true
}期限付きテーブル・記録テーブル・Wiki の更新処理に同じ判定が追加されています。更新の履歴を残す連携で、画面の「新バージョンで保存」に相当する指定ができます(ResultUtilities.cs、WikiUtilities.cs)。
貼り付け画像のサイズを検査する
BinaryStorage.json に ImageUploadFileSizeLimit(既定 10 MiB)と ImageDecodedSizeLimit(既定 256 MiB)が追加されました。入力ファイルのサイズと、画像を展開した後のサイズを別々に検査します(BinaryStorage.json)。
アップロード前のファイルサイズはブラウザの $p.validateImageUploadFileSize() で検査します。上限が未設定または 0 以下ならこの検査は制限なしとして扱い、超過した場合は TooLargeFile のメッセージを表示します(util.js)。
展開後の推定サイズは幅 × 高さ × フレーム数 × 4 バイトで計算します。上限は設定値 × 1,024 × 1,024 バイトで、超過すると TooLargeFile を返します。圧縮されたファイルが小さくても、解像度やフレーム数が大きい画像はこの制限の対象になります(BinaryValidators.cs)。