変更履歴
*********

v3.17
=====

* v3.17.12 (2021-04-05)

  - [バグ] [AD] 多くのメンバーを持つグループを表示する時、表示に時間がかかる問題を修正。

* v3.17.11 (2021-02-02)

  - パッケージング方法の記載場所変更
  - [バグ] セルフメンテナンス画面のread only属性のマルチバリュー表示時の、入力追加と削除ボタンの消去

* v3.17.10 (2021-01-18)

  - Header認証有効時、一般ユーザーパスワード変更画面/属性更新画面のログアウトボタンを表示しないようにした
  - [バグ] Header認証有効時、パスワードリセット画面で認証が求められてしまう問題を修正
  - [バグ] キャッシュされていないユーザーで属性変更画面を表示した時、エラーが出力されてしまう問題を修正

* v3.17.9 (2020-11-30)

  - :envvar:`self_modify_message_path` が追加された
  - [LDAP] :envvar:`password_hash` に ``PASSMOD`` が指定できるようになった
  - 一般ユーザーパスワード変更画面で、認証エラーが発生した場合のみ、操作履歴に記録されるようになった

* v3.17.8 (2020-10-21)

  - [バグ] ADバックエンドでグループのメンバーが1500人以上存在する場合、メンバー一覧取得に失敗する問題を修正

* v3.17.7 (2020-09-10)

  - `unicornidm-tool` の ``listmembers`` を利用する際、特定のバックエンドを指定できるようになった
  - ユーザー名/グループ名に /(半角スラッシュ)か／(全角スラッシュ)が含まれていた場合、登録に失敗するようにした
  - [バグ] `unicornidm-tool` の ``--all-attributes`` オプションが常に指定されている状態になっていた問題を修正
  - [バグ] MySQLバックエンドへの接続がタイムアウトエラーになる問題を修正

* v3.17.6 (2020-08-11)

  - [バグ] [ldap] v3.17.4から過剰にログが出力されるようになっていた問題を修正

* v3.17.5 (2020-08-06)

  - [バグ] [google] ``DirectoryAPI`` の仕様変更でユーザー/グループの追加が利用不可能になっていた問題を修正

* v3.17.4 (2020-07-28)

  - unicornidm-devtool を追加
  - [バグ] ログローテート時に実行中のユーザー/グループ処理が中断されてしまう問題を修正
  - [バグ] Web UI: 現在のところユーザー変更 CSV データはグループの一括変更をサポートしていないが、それを意図した CSV データが投入されたときに変更操作をキャンセルするだけでなく適切なエラーを提示するようにした
  - [バグ] MongoDB へのキャッシュデータ格納用コレクション作成処理が競合して Web UI 操作や `unicornidm-tool` コマンドの実行が失敗する問題を修正
  - [バグ] RHEL8 版パッケージの uWSGI が PCRE やルーティング設定をサポートしていなかった問題を修正
  - uWSGI の HTTPS の TLSv1.0, TLSv1.1 をデフォルトで無効化
  - uWSGI 2.0.17 → 2.0.18 にバージョンアップ
  - [ドキュメント] 各バックエンドの制限事項を追記
  - Azure ライセンス名を Unicorn ID Manager から取得
  - AzureADバックエンド、ActiveDirectoryバックエンドのメンバー登録処理が失敗した際にどのメンバーの処理が失敗したかを分かるようにした
  - 操作対象を選択するチェックボックスの判定範囲を調整

* v3.17.3

  - ``Create User/Group`` を ``Add User/Group`` へ表記を統一

* v3.17.2

  - [バグ] ユーザー/グループ一覧画面がuser/group_viewable_attributesで指定された順番に表示されるように修正
  - :envvar:`backends_add` が追加された
  - MongoDBのアップデート時に時間がかかる旨を表示するようになった

* v3.17.1

  - 内部で利用しているMongoDBのバージョンを4.2.1へアップデート

* v3.17.0

  - RHEL8に対応
  - 内部で利用しているMongoDBのバージョンを4.2.0へアップデート

  .. note::

    このバージョンにアップデートする際に、内部DBのバックアップ・リストアを行うため、バージョンアップに時間がかかる場合があります。

v3.16
=====

* v3.16.24
  - パスワードリセットページにカスタムメッセージが追加出来るようになった
  - :envvar:`self_password_reset_message_path` が追加された

* v3.16.23

  - [バグ] csvファイルに空白のヘッダーが含まれていた場合、エラーになる問題を修正
  - ログインページのラベルを 名前 から ユーザー名 グループ名 に変更
  - パスワード変更ページの ``Weak Strong`` となっていた所を ``弱い 強い`` とした

* v3.16.22

  - [google] ``DirectoryAPI`` の仕様変更でグループ操作が利用不可能になっていた問題に対応
  - ``random_password`` というテンプレート関数が追加された
  - ユーザー/グループ一覧画面で内部で更新処理が動いてる時に、 ``最新の情報に更新`` ボタンが点滅するようになった

* v3.16.21

  - [バグ] CSV一括処理時に空行があるとエラーになっていた問題を修正
  - [バグ] ユーザーパスワード変更画面で、パスワード変更実施前に全バックエンドへ接続確認をするようになった

* v3.16.20

  -  `unicornidm-tool` の ``list`` コマンドに全属性を取得する ``--all-attributes`` オプションを追加

* v3.16.19

  - ユーザー/グループの一括処理画面でCSVプレビューの文字コードを変更するボタンを追加
  - [バグ][LDAP] ``LDAPPrimaryGroup`` 属性更新時にエラーが発生していた問題を修正
  - [Samba-LDAP] Samba-LDAPバックエンドでも特殊属性として ``LDAPPrimaryGroup`` が利用可能になった

* v3.16.18

  - [Google] `unicornidm.conf` の ``domain`` の項目にサブドメインを指定出来るようになった

* v3.16.17

  - [バグ] ユーザーパスワード変更画面でユーザー名にASCIIでない文字を入力するとエラーメッセージが出力されるように修正
  - [バグ] 結果詳細画面にも表示形式を切り替えるボタンが表示されてしまっていたのを修正

* v3.16.16

  - 結果一覧画面に表示形式を切り替えるボタンを追加

* v3.16.15

  - [バグ] googleバックエンドでパスワード変更を行うと エイリアスがすべて削除されてしまう問題を修正
  - [バグ] ユーザーの入力した ``userName`` や ``groupName`` の前後の空白を除去する

* v3.16.14

  - [バグ] ユーザー/グループのリネーム変更画面でシステムエラーが出る問題を修正
  - [バグ] ユーザー/グループのステータス変更画面でシステムエラーが出る問題を修正
  - [バグ] `unicornidm-tool` の ``list`` を用いてユーザーやグループを取得するとき、出力の日本語が文字化けする問題を修正

* v3.16.13

  - [LDAP, AD] ``groupName`` にASCIIでない文字を含めてもよくなった

* v3.16.12

  - [バグ] IPv6 で接続しているクライアントがどの操作も実行できなかったバグを修正
  - [バグ] 一般ユーザーがパスワード変更時にユーザー名の大文字小文字を変えるとエラーになるバグを修正

* v3.16.11

  - [バグ] パスワードリセット画面で入力されるメールアドレスの一致確認で、大文字小文字を区別しないように修正

* v3.16.10

  - :envvar:`password_print_message_path` が追加された

* v3.16.9

  - [バグ] ``ADPrimaryGroup`` を更新時に更新前のグループがユーザーの補助グループとして残ってしまうのを修正


* v3.16.8

  - :program:`unicornidm-tool` を ``root`` ユーザー以外も実行できるように修正
  - [バグ] `uidNumber`, `gidNumber` の自動採番機能が :envvar:`assign_auto_uid_number_min`, :envvar:`assign_auto_gid_number_min` 以下の番号を採番する場合があったバグを修正
  - [バグ] [AD] accountExpires 属性が更新できなかったのを修正
  - [バグ] バックエンド操作エラー時にエラーメッセージが空文字列の場合に操作結果が実行中のままになるのを修正

* v3.16.7

  - [バグ] 一括処理CSVプレビュー画面で ISO-2022-JP 文字を含む CSVファイルが文字化けする問題を修正

* v3.16.6

  - [バグ] [AD] リソースの所属ツリーを変更できなかったバグを修正

* v3.16.5

  - [バグ] ブラウザから ``uidNumber``, ``gidNumber`` の値を変更できなかったのを修正
  - [バグ] :envvar:`authentication_backends` パラメータがあるバックエンドの名前が他のバックエンド名の部分文字列になっていた場合に正しく設定できなかったのを修正
  - tar形式のパッケージに Apache 設定のサンプル（ ``httpd.conf``, ``ssl.conf`` ）を含めるようになった

* v3.16.4

  - :envvar:`authentication_backends` パラメータが追加された。
  - :envvar:`client_ip_address_http_header` パラメータが追加された。

  .. note::

    この変更には後方互換性がありません。
    Apache などのリバースプロキシサーバーを利用した構成を使っている場合、このパラメータを必ず `X-Forwarded-For` などに設定してください。

  - デフォルトのログローテート設定を1週間ごと、約半年間保管に変更
  - [バグ] :program:`unicornidm-tool admin changepassword` が標準入力からパスワードを受け取る場合にエラーになっていたのを修正
  - [バグ] ユーザー一覧画面で、バックエンドとの接続に問題がある場合に 500 エラーが表示されていたのを修正
  - [バグ] 結果詳細画面でバックエンド名が ``undefined`` になっていたのを修正（v3.16.3 から）
  - [バグ] 一般ユーザーがパスワード変更をするとログアウト状態になっていたのを修正
  - [バグ] ログローテート時にログが欠損する可能性があったのを修正
  - [バグ] クライアントのIP **v6** アドレスが操作結果に載らなかったのを修正


* v3.16.3

  - [LDAP] :envvar:`user_rdn_attribute`, :envvar:`group_rdn_attribute` パラメーターが追加された
  - コマンドバックエンドに :envvar:`UIDM_OPERATION_NAME` 環境変数が渡されるようになった
  - [バグ] コマンドバックエンドに :envvar:`UIDM_USERNAME`, :envvar:`UIDM_GROUPNAME` 環境変数が渡っていなかったバグを修正
  - パスワード変更操作時にコマンドバックエンドが失敗した場合にもパスワードがロールバックされるようになった
  - [バグ] [LDAP] `uidNumber`/`gidNumber` の削除ができなくなっていた （v3.14.0 以降）のを修正
  - [バグ] :program:`unicornidm-tool result2` の出力が JSON じゃなかったのを修正
  - [バグ] HTTPヘッダーに不正なフォーマットの IPアドレスが入っていたときにエラーになっていたのを修正

* v3.16.2

  - [バグ] 一括処理で渡される CSV ファイルのエンコーディングが UTF-8 でないときにプレビュー画面で文字化けする問題を修正
  - 選択した操作に関係のない CSV のカラムは無視するようになった
  - [バグ] ユーザー有効化/無効化一括操作の CSV に `backend.group` カラムがあるとグループへのメンバー追加処理が実行されてしまうのを修正

* v3.16.1

  - [仕様変更] コマンドバックエンドの標準入力に渡されるJSON の形式が変わった（ :ref:`command-json-format` 参照）
  - コマンドバックエンドに環境変数が渡されるようになった（:ref:`command-environment-variables` 参照）
  - :envvar:`readonly_by_self_attributes` パラメータが追加された
  - 一般ユーザーのプロファイル（自己属性変更）画面で、更新処理で発生したエラーのメッセージが日本語の場合には一般ユーザーに表示されるようになった
  - [バグ] パスワード変更操作時に更新操作のコマンドバックエンドが実行されるバグを修正
  - [バグ] [LDAP系バックエンド] `uidNumber`, `gidNumber` が更新できなくなっていたのを修正

* v3.16.0

  - 属性の表示名・説明を指定できるようになった。 :ref:`attribute-names-descriptions` 参照
  - 一括処理ページで CSV の内容を先頭1000行しか表示しないようになった
  - [バグ] 一括処理ページで CSV を表示した表のヘッダーがおかしかったバグを修正

v3.15
=====

* v3.15.1

  - CSV一括処理画面で CSV の内容を画面に表示するようになった
  - [バグ] :program:`unicornidm-tool result2` が不正な入力に対して HTML を（標準エラー出力に）吐く問題を修正
  - [バグ] :program:`unicornidm-tool result2` に対して誤ったフィルターを指定すると無視されるのを修正
  - [バグ] :program:`unicornidm-tool admin/role` が管理者パスワードファイルがない場合（これらのコマンドでは管理者パスワードが要らないにも関わらず）エラーになっていた問題を修正
  - :program:`unicornidm-tool admin/role` から `--remote` フラグを廃止

* v3.15.0

  - :program:`unicornidm-tool result2` コマンドを追加
  - unicornidm-tool result コマンドを廃止予定としてマークした
  - 一部の :program:`unicornidm-tool` コマンドで標準入力からもパスワードを読めるように修正
  - :program:`unicornidm-tool resource-type operation-name` が *submissionID* を返すように修正
  - unicornidm-tool resource-type get コマンドを作成
  - [バグ] :program:`unicornidm-tool resource-type operation-name` の ``operation-name`` が ``modify`` のときの JSON が正しくなかったバグを修正

v3.14
=====

* v3.14.7

  - [バグ] :doc:`unicornidm-tool` の `result` コマンドの `--filter` オプションがいくつかの条件でうまく動かなかった
  - [バグ] ターゲットの表示名でなくターゲットIDが表示されていた
  - [仕様変更] [AD] `proxyAddresses` 属性を表示するときに値の先頭の `smtp:` を表示しないようになった
  - [仕様変更] [コマンドバックエンド] リソース更新操作のときに渡ってくる JSON の形式が変わった

* v3.14.6

  - [バグ] 一般ユーザーが間違ったパスワードを入力した場合に内部エラーになっていた
  - [バグ] Web UI で複数地属性に重複した値を入れて更新すると属性の値が全て消えた

* v3.14.5

  - [バグ] **v3.14.4 のRPMパッケージが壊れていたのを修正**
  - [バグ] 一般ユーザー認証が1つのバックエンドしか行われないバグを修正
  - [バグ] :envvar:`self_password_reset_smtp_login_password_file` がない場合に起動できないバグを修正
  - 設定ミスがあったときに `osstech-uniornidm` サービスがすぐに止まるようになった

* v3.14.4

  - [G Suite] HTTPリトライの条件が嚴しくなった
  - [G Suite] エイリアスに対応
  - [G Suite] ``userName`` がエイリアスでなく ``primaryEmail`` （ユーザー）や ``email`` （グループ）の場合にしか操作を実行しないようになった
  - ログインページで最初からユーザー名欄にカーソルが当たるようになった
  - 結果の表の幅がブラウザの幅に応じて変わるようになった
  - ユーザー詳細ページでパスワード欄を表示しないようになった
  - [バグ] [G Suite] グループに101名以上メンバーがいた場合に無限ループする可能性があった
  - [バグ] [G Suite] ユーザーの所属グループを201名以上表示できなかった
  - [バグ] [LDAP] [AD] [Samba-LDAP] ユーザーの所属グループが表示できなかった
  - [バグ] リソース検索画面で正規表現として不正な入力をすると内部エラーが発生していた
  - [バグ] [Samba AD] 単一値属性が更新できなかった（Samba のバグが原因）
  - [バグ] 連携先からのエラーメッセージが結果画面でエスケープされていなかった
  - [バグ] Web UI からメンバーを追加するときに空文字をメンバーとして追加する可能性があった

* v3.14.3

  - [AD] ``sAMAccountName`` と ``cn`` の値が一致していなければならなかったのを撤廃
  - 仮パスワードが多様な文字を含むようになった
  - [バグ] IE11 で結果画面が表示されないバグを修正
  - [バグ] IE11 で処理実行ボタンが2回以上押せてしまうバグを修正
  - [バグ] ユーザーの大文字小文字を間違えるとユーザーが閲覧できないバグを修正
  - [バグ] ``unicornidm-tool result`` コマンドで得られる結果の時刻が常に GMT だったバグを修正

* v3.14.2

  - [バグ] samba-ldap バックエンドで追加、更新ができなかったバグ （v3.14.1 から）を修正

* v3.14.1

  - バックエンドの設定ミスで起動に失敗したときのエラーメッセージを出すようにした
  - 処理実行ボタンを2回以上押せなくなるようにした
  - [AD] ``ADPrimaryGroup`` バックエンド属性機能を追加した

* v3.14.0

  - 結果一覧ページが大幅に変わった
  - [Breaking Change] ``unicornidm-tool`` コマンドでこのバージョンより前に行われた操作結果を取るときには ``--old`` オプションをつけないといけなくなった
  - [LDAP, AD, samba-LDAP] ``uidNumber`` , ``gidNumber`` の自動採番が高速になった
  - [LDAP, AD, samba-LDAP] ``uid_number_must_unique`` , ``gid_number_must_unique`` 設定の追加
  - [バグ] ``unicornidm-tool`` が関係のない :file:`unicornidm.conf` の設定ミスで異常終了していたバグを修正

v3.13
=====
* v3.13.2

  - [バグ] ``parentOu`` 属性が LDAP, AD, Samba-LDAP バックエンドで使えなかったバグを修正
  - [バグ] 管理者によるブラウザからのランダムパスワード生成が 500 エラーになっていたバグを修正

* v3.13.1

  - [バグ] ``samba-ldap`` バックエンドでリソースの追加ができなかったバグを修正

* v3.13.0

  - uWSGI, MongoDB が異常終了したときに自動でそれらを再起動するように変更
  - 設定ファイルの再読み込み機能を廃止
  - ``systemctl reload`` コマンドで設定ファイルの再読み込みがされるように変更
  - [バグ] 重複するリソース名のリソースがバックエンドに存在する場合にキャッシュに全リソースのうちの一部しか載らないバグを修正
  - [バグ] ``unicornidm-tool user/group list`` コマンドがリソースが存在しない場合に10分かかるのを修正

v3.12
=====
* v3.12.2

  - [バグ] ``gidNumber`` が変更できなかったバグを修正
  - リソース一覧ページのパフォーマンスを改善

* v3.12.1

  - [バグ] rpm によるアップデート処理が多くのケースで失敗するバグを修正
  - [バグ] リソースキャッシュの更新ができなかったバグを修正

* v3.12.0

  - ``userName`` / ``groupname`` の大文字小文字の差が無視されるように仕様変更

  .. caution::
      このバージョン (3.12.0) は使用しないでください。

v3.11
=====
* v3.11.18

  - [バグ] ``password_policy_complexity`` の判定が甘かったバグを修正

* v3.11.17

  - [バグ] Azure バックエンドがエラーレスポンスを返したときにレスポンスの解析に失敗するバグを修正

* v3.11.16

  - [バグ] AD 上の 特定のユーザーがたまに消せなくなるバグを修正

* v3.11.15

  - [バグ] v3.11.4 で Azure AD, G Suite Directory バックエンドでリソース更新操作ができなくなっていたバグを修正
  - [バグ] Active Directory に対する名前変更処理で ``userPrincipalName`` が変更されなかったバグを修正
  - LDAP, Active Directory バックエンドに対する名前更新処理で ``userName`` , ``groupName`` に対応するバックエンド属性が更新されるようになった。

* v3.11.14

  - [バグ] ユーザー自身によるユーザー情報更新が、値が空の属性があると失敗していたバグを修正
  - [バグ] SQL バックエンドで値がないことが ``NULL`` ではなく ``None`` あるいは空文字列で表現されていたバグを修正
  - 結果の CSV エクスポートでも検索フィルターが使えるようになった（v3.11.0 で消えた機能だったが復活させた）

* v3.11.13

  - [バグ] ユーザー自身によるユーザー情報更新画面が、値が空の属性があるとエラーで見れなかったバグを修正
* v3.11.12

  - [バグ] 結果を日時でフィルターするときに日時のタイムゾーンが GMT と決めつけられていたバグを修正

* v3.11.11

  - [バグ] 依存ライブラリのメモリリークを緩和
  - [バグ] エクスポートしたユーザー、グループのCSV ファイルのカラムがおかしくなっていたのを修正

* v3.11.10

  - [バグ] 依存ライブラリのメモリリークを緩和

* v3.11.9

  - [バグ] CSVに複数値属性を書いたときに場合によって空文字が値に含まれてしまうバグを修正
  - ユーザーのパスワードのハッシュ化方式に ``PLAIN`` （ハッシュ化しない）を追加

* v3.11.8

  - ブラウザからの 1リソース閲覧時の属性の順序をテンプレートファイルに従うように修正

* v3.11.7

  - [バグ] 1リソースに対する同時アクセスが発生すると内部エラーになる不具合を修正
  - 内部エラー発生時に表示するページをカスタマイズ

* v3.11.6

  - [バグ] v3.11.5 で多くのパスワードポリシーがブラウザ上で機能しなくなっていたバグを修正
  - [バグ] CSV一括処理時の ``--`` 接頭辞が使えなくなっていたバグを修正
  - [バグ] 一般ユーザーのパスワード変更画面からパスワードリセットページへのリンクが消えていたバグを修正
  - [バグ] Apache を経由した構成時にパスワードリセットメール上の URL が間違っていたバグを修正
  - ``use_x_forwarded_host`` 設定を :file:`unicornidm.conf` に追加

* v3.11.5

  - アルファベット数（大文字小文字区別なし）のパスワードポリシーの追加
  - 適用していないパスワードポリシーは一般ユーザーに表示しない
  - ヘッダー認証が ``enable`` のときには他の認証方式では認証できないように変更
  - [バグ] フォーマットの間違った CSV ファイルが転送されたときにシステムエラーになるバグを修正
  - [バグ] ``header_auth_require_old_password`` が ``on`` の場合にヘッダー認証したユーザーのユーザー名が埋まらないバグを修正

* v3.11.4

  - [バグ] ヘッダー認証が有効かつパスワード変更に古いパスワードが要らない場合にパスワードが変更できなかったバグを修正
  - [バグ] バックエンド毎に必須か否かが違う属性が単一リソースページで2つ表示されるバグを修正

* v3.11.3

  - [バグ] リソース名が URL-safe でない場合に リソース詳細画面で操作ボタンが表示されなかったバグを修正
  - パスワード変更操作はパスワード欄が空のときには実行されないようになった。
  - パスワード変更操作時にパスワード欄に ``#random#`` と記入するとパスワードがランダムに生成されるようになった。

* v3.11.2

  - [バグ] ブラウザからのユーザー追加後の画面でユーザーのパスワードが表示されなかったバグを修正
  - ブラウザからのリソース追加、更新後の画面で実行結果を表示
  - ブラウザからのリソース更新時に属性に変化がなければ更新操作成功という結果ログを出さない

* v3.11.1

  - [バグ] CSV によるパスワード変更ができなかったのを修正
  - [脆弱性] パスワード変更にセットされたコマンド実行時にログに生パスワードが出力されるバグを修正

* v3.11.0

  - ユーザー情報閲覧画面でユーザーの所属グループを各バックエンド毎に表示するように変更
  - CSV, ブラウザ画面からのユーザー登録、更新時にそのユーザーの所属グループも変更できる機能を追加
  - 1 リソースのキャッシュ更新処理を高速化

v3.10
=====

* v3.10.11

  - ``parentOu`` を変えると同じ名前のユーザー、グループが登録できてしまう不具合を修正
  - 名前が重複しているリソースを閲覧時に 500 エラーでなく 404 エラーを返すように修正
  - ブラウザからのリソース更新時にどの属性も変更されていなかった場合更新操作を実行しないように修正

* v3.10.10

  - LDAPバックエンドの属性に ``LDAPPrimaryGroup`` 特殊属性を追加。


* v3.10.9

  - :file:`unicornidm.conf` のコマンドバックエンド設定で設定されていないコマンドが実行結果に表示されないようにした。
  - リソース名に URL-safe でない文字が入っているときに個々のリソースのページで操作ボタンが表示されない不具合を修正
  - ``add_members`` , ``delete_members`` 操作実行時にコマンドが実行されない不具合を修正


* v3.10.8

  - ユーザー無効化操作を複数回行うとLDAPの ``userPassword`` 属性に ``!`` が回数分付与されるのを修正

* v3.10.7

  - パスワード変更、一時生成の処理の高速化

* v3.10.6

  - LDAP バックエンドの uidNumber/gidNumber 自動アサイン処理の不具合を修正

  - ユーザー自身による属性変更ページの不具合を修正

* v3.10.5

  - 古い世代のバックアップファイル削除処理のエラーを修正

* v3.10.4

  - ユーザーによるパスワード変更の際の認証処理不具合を修正

* v3.10.3

  - コマンドバックエンドの不具合を修正

* v3.10.2

  - メンバーや所属グループのデータキャッシュに関する不具合を修正

* v3.10.1

  - 各バックエンドのデータキャッシュに関する不具合を修正

* v3.10.0

  - 各バックエンドのデータをキャッシュする処理のパフォーマンスを向上

v3.9
=====

* v3.9.15

  - 複数属性値以外の属性を削除可能にする

  - オープンリダイレクト脆弱性を修正

  - テンプレート関数に default_hidden を追加

  - パスワード変更時のロールバックの不具合を修正

  - 名前が空のリソースをバックエンドから取得した場合にエラーとなる問題を修正

* v3.9.14

  - unicornidm-tool に **test** サブコマンドを追加

    + *unicornidm-tool test all* などのように実行することで、
      設定ファイルやテンプレートファイルの検証を可能にする

  - ad-example.py テンプレートファイルのデフォルト構成を変更

  - 管理画面でパスワード変更を行う際、「パスワードをランダムにする」チェックボックスを
    入れた状態でユーザー名を変更した際にボタンが押せなくなる問題を修正

  - LDAP バックエンドで操作属性を取得する (memberOf などを表示・変更可能にする)

  - 結果画面のタイトルに表示するターゲット名をターゲットの displayName に変更

  - リソース追加直後の結果画面に、リソース個別ページへのリンクを追加

  - 結果画面でリソースタイプ別の検索を可能にする

    + *resource_type:User* と検索することで User リソースのみ表示

* v3.9.13

  - ALLOWED_HOSTS 及び ENABLE_PPOLICY 環境変数を廃止し、
    allowed_hosts 及び enable_ppolicy というパラメーターを新設

  - パスワード変更画面でバックスラッシュを新しいパスワードに入力できない問題を修正

* v3.9.12

  - CSV による一括操作時に必須属性のチェックを行う

  - 検索結果表示画面で検索方法のヘルプを表示

  - unicornidm-tool のインターフェース修正

    + unicornidm-tool user result と unicornidm-tool group result
      を unicornidm-tool result に統合

  - パスワード変更画面のエラーメッセージ修正

* v3.9.11

  - Azure からユーザー取得時にライセンス名が不適切な問題を修正

* v3.9.10

  - SQL バックエンドで複数値を適切に扱えない問題を修正

* v3.9.9

  - Azure AD 上のユーザー及びグループをリネームできない問題を修正

* v3.9.8

  - ブラウザーからエクスポートする際、 CSV に BOM を付与

* v3.9.7

  - クレデンシャル情報がログに出力される問題を修正

* v3.9.6

  - Azure バックエンドでライセンス指定の際に無効にするプランを
    指定できるようにする

* v3.9.5

  - デバッグログのメッセージを修正

* v3.9.4

  - パスワードリセット画面のエラーを修正

* v3.9.3

  - unicornidm-tool backup の -b オプションを -d オプションに変更

    + ロングオプション (--backup-directory) は変更なし

* v3.9.2

  - LDAP バックエンドでパスワードポリシーを取得できない場合に発生するバグを修正

* v3.9.1

  - バックアップ・リストアのドキュメントを追記

* v3.9.0

  - デフォルトのロギングをすべてファイル出力にする

v3.8
=====

* v3.8.5

  - password_policy_complexity が最大値 (4) を超える場合、 4 をセット

* v3.8.4

  - ターゲットの表示名を [target:...] セクションで指定できるようにする

* v3.8.3

  - 管理者、ロール及び監査ログのバックアップ・リストア機能の追加

* v3.8.2

  - カスタムパスワードポリシーメッセージに HTML を利用可能とする修正

    + カスタムパスワードポリシーメッセージのファイル名を .html にすることで
      HTML ファイルとみなす

* v3.8.1

  - 画面のデザインに関する修正

* v3.8.0

  - キャッシュ用データベースサーバーの実行ユーザーを変更

    + v3.7.27 以前のバージョンからアップデートする場合、
      キャッシュ用データベースサーバーのディレクトリー以下の
      所有者変更及びグループ変更が必要
      (詳細はオープンソース・ソリューション・テクノロジにお問い合わせください)

v3.7
=====

* v3.7.27

  - エンドユーザーが自身の属性を変更可能にする画面たけではなく、
    パスワードを変更する画面においても、ロックアウトをする機能を追加

* v3.7.26

  - ブラウザーからのユーザー及びグループの個別画面の見栄えを修正

    + オプション属性の表示を変更

* v3.7.25

  - ユーザー自身のパスワード変更時に、 500 エラーの場合、
    パスワードを元に戻すように修正

* v3.7.24

  - ブラウザーからのリソース更新時にポップアップを表示

* v3.7.23

  - リバースプロキシー配下で動作時に、適切にクライアントの IP アドレスを取得する

* v3.7.22

  - パスワードに使用可能な文字を制限する

    + 英大文字、英小文字、数字、印字可能な記号 (ただし空白は除く)

* v3.7.21

  - 一括更新時にパスワードが変更されないようにする

* v3.7.20

  - /unicornidm/admin/TARGET/Users/_password での操作後に、
    ユーザー名が None になる問題を修正

* v3.7.19

  - command バックエンドのロギング表示を修正

* v3.7.18

  - Azure バックエンドで accountEnabled バックエンド属性が
    テンプレートに定義されていない際のバグを修正

* v3.7.17

  - 一括処理のリファクタリング

* v3.7.16

  - 管理者によるパスワードリセットの際は、
    長さのポリシーのみがチェックされる

* v3.7.15

  - password_policy_dictionary_path パラメーターを削除

* v3.7.14

  - Fix: AD 認証処理修正 (どの OU のユーザーも認証できるようにする)

* v3.7.13

  - Fix: Samba LDAP バックエンドで parentOu が考慮されない問題を修正

* v3.7.12

  - Fix: LDAP バックエンドでのメンバー存在確認処理を修正

* v3.7.11

  - テンプレートファイルのビルトイン関数に
    validate_number と validate_regex を追加

* v3.7.10

  - 認証失敗情報をデバッグログに出力

* v3.7.9

  - ロール作成時、 **actions** に * を含めることで、すべてのアクションを
    操作可能にする機能を実装

  - unicornidm-tool の role サブコマンドに関するドキュメントを更新

* v3.7.8

  - ALLOWED_HOSTS 環境変数により、アクセス可能なホスト名を
    追加できるようにする機能を実装

* v3.7.7

  - 403 エラー等のデザインを変更

* v3.7.6

  - ユーザーやグループ登録時の 404 エラーを修正

* v3.7.5

  - ユーザーのステータス変更の表示を修正

* v3.7.4

  - エンドユーザーのログイン画面で一定時間内に一定回数の認証失敗で
    該当ユーザーをロックアウトする機能を実装

* v3.7.3

  - Unicorn ID Manager のテスト環境を更新

* v3.7.2

  - v3.7.1 の機能に加えて、パスワード変更画面で古いパスワードの入力を
    要求するかどうかを指定できるようにする機能を実装

* v3.7.1

  - HTTP ヘッダーにユーザー名が含まれている場合、ユーザーはログイン済み状態
    とみなす機能を実装

        + デフォルトでこの機能は無効化
        + 信頼できるソース IP からのリクエストの場合のみに、
          ログイン状態になる

* v3.7.0

  - エンドユーザーが自身の属性を変更可能にする機能を追加
    (デフォルトでこの機能は無効化)

v3.6
=====

* v3.6.0

  - ダッシュボードに、ユーザー名やグループ名を必要としない操作画面へのリンクを追加

v3.5
=====

* v3.5.5

  - 依存ライブラリの更新

* v3.5.4

  - ターゲットに表示名を指定できるようにする

* v3.5.3

  - 管理画面にログイン中の管理者の名前を表示

* v3.5.2

  - パスワードリセットのデフォルト本文に名前を追加

* v3.5.1

  - 翻訳を修正

* v3.5.0

  - ユーザー及びグループのリネームを実装

v3.4
=====

* v3.4.6

  - ドキュメントに FAQ ページを追加

* v3.4.5

  - 起動時に失敗した場合のエラーメッセージを追加

* v3.4.4

  - グループへのメンバー追加・削除フォーマットをドキュメントに追記

* v3.4.3

  - Fix: v3.3.2 の修正が groupName に適用されていなかったための修正

* v3.4.2

  - フロントエンド属性の制限をドキュメントに追記

* v3.4.1

  - グループ個別画面の自身の URL リンク間違いを修正

* v3.4.0

  - ユーザー自身によるパスワードリセット機能を追加

v3.3
=====

* v3.3.4

  - 自動生成パスワードの保存・取り出しの内部処理を修正

* v3.3.3

  - バックエンドの内部インターフェースを整理

* v3.3.2

  - Fix: v3.3.1 の userName 及び groupName フロントエンド属性の readOnly 化を
    すでに存在するリソースに限定

* v3.3.1

  - userName 及び groupName フロントエンド属性の表示を readOnly にする

* v3.3.0

  - LDAP 系バックエンドでユーザーやグループの OU 間移動機能を実装
        + parentOu バックエンド属性をテンプレートファイルに
          定義することで OU 間移動が可能

v3.2
=====

* v3.2.20

  - LDAP 系バックエンドで LDAP_NOT_ALLOWED_ON_RDN 例外が発生しうる問題を修正

* v3.2.19

  - 接続チェック処理の修正 - refresh 時も接続チェックを実行

  - AD バックエンド利用のための証明書サービスのインストール手順を修正

* v3.2.18

  - AD バックエンド利用のための証明書サービスのインストール手順を記載

* v3.2.17

  - unicornidm-tool admin に changepassword と changerole コマンドを追加

* v3.2.16

  - test パッケージをプロダクションに含めない

  - 不要なデバッグ処理を削除

* v3.2.15

  - AD バックエンドにおいて accountExpires をユーザーフレンドリーな
    値で設定できるようにする

* v3.2.14

  - テンプレートファイル内に指定可能な関数を追加

  - テンプレートファイル内にユーザー定義関数を指定できるようにする

* v3.2.13

  - ドキュメント追加: クラウドサービスの利用方法を記載

* v3.2.12

  - 複数値属性のみ、存在しないキーは削除されたものとして扱う

* v3.2.11

  - Fix: azure バックエンドの modify 時ライセンス付与処理を修正

* v3.2.10

  - ドキュメント更新: 管理者のロールに指定可能なアクション一覧を掲載

  - ドキュメント更新: user_list か group_list のアクションが
    許可されていないロールで操作する場合の URL を掲載

* v3.2.9

  - 翻訳の更新: パスワード -> 新しいパスワード

* v3.2.8

  - リクエスト処理の際のログが UTC になるのでタイムゾーンを予め設定

  - CSV ファイルの UTF-8 BOM 対応

* v3.2.7

  - CSV ファイルのエンコーディングエラーをログに出力

* v3.2.6

  - バックエンドに渡すデータをログに出力

* v3.2.5

  - SCIM: /ResourceTypes エンドポイントは ListResponse で返却

  - Google アカウントのパスワードを変更すると無効状態になる問題を修正

  - 名前の指定無しで開ける画面を追加

* v3.2.4

  - 管理者画面向けロックアウト機能の追加

  - 一覧表示でバックエンドのカラム文字フォントを小さくする

* v3.2.3

  - メンバー追加の際に、重複するメンバーをユニークにする

  - グループ削除時に、メンバー情報が削除されない問題を修正

  - sql バックエンドで MySQL を指定した際、 charset を指定できるようにする

  - 検索機能の強化 (属性を指定した検索、など)

* v3.2.0

  - SQLバックエンドを追加

v3.1
======

* v3.1.51

  - modify 時、 samba_ldap バックエンドで sambaPwdLastSet を更新

* v3.1.50

  - LDAP バックエンドでパスワードハッシュ化時にエラーになる問題を修正

* v3.1.49

  - 不要なメソッドを削除/ CLI で Content-Type を設定

* v3.1.48

  - パスワード変更時、パスワード以外の属性を更新しない

* v3.1.47

  - オブジェクトの差分取得時、 存在しないキーは無視する

* v3.1.46

  - ファイルアップロード時、ファイル選択を必須にする

* v3.1.45

  - コマンドラインツールでトレースバックをそのまま出力しない

* v3.1.44

  - パスワード変更画面でエラー時にステータスコードを設定
