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

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`` 設定を ``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

  - ``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

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