# v3.0.0 pre リリースノート ## v3.0.0 (Dec 02, 2025) v3.0.0を正式にリリースしました!! ### Remove * `python -m ebilab` による呼び出し機能を削除しました。 ## v3.0.0a4 (Dec 01, 2025) ### Feat * プロット表示にmatplotlibのナビゲーションツールバーを追加しました * 拡大縮小や移動ができるようになります。 * 実験インスタンスに `is_running` を追加しました * 例えばPlotterで実験中と履歴表示のプロットメカニズムを変更したい際などに活用できます。 * K34411A (Keysight 34411A)にmeasure_currentを追加しました * K34465A (Keysight 34465A)を追加しました * デバイスのアドレスに `addr` プロパティからアクセスできるようにしました。 * デバイスのインスタンスを作成する際に `addr` 引数を指定することで、アドレスを指定してVISAデバイスに接続できるようにしました。 * 同種のデバイスを複数台接続する際や自動検出が上手く動作しない際などに利用できます。 ### Change * VISAデバイスの検出方法を変更しました ### Fix * 実験履歴データ表示時に、Plotterのパラメータの値にアクセスできないバグを修正しました。 * 実験履歴が最新順で表示されるように修正しました。 * 実験履歴データ表示時に、 `Plotter.experiment` にアクセスできないバグを修正しました。 ## v3.0.0a3 (Sep 07, 2025) ### Feat * デバッグモード時に、警告を表示するようにしました。 * 実験履歴で、コメントを保存できるようにしました。 * syncボタンを押してからの時間を保存する `sync_t` 列を追加しました。 ### Changes * 開始・終了ボタンのデザインを変更しました。 * UIのレイアウトを変更し、実験履歴を下部に移動しました。 * デバッグモードではログファイルを保存しないようにしました。 ## v3.0.0a2 (Aug 06, 2025) ### Feat * 実験の設定などが、メタデータとしてJSONファイルで保存されるようになりました。 * GUIから過去の実験データが見れるようになりました。 * `await` 中でも実験を中断できるようになりました。 * Plotter から Experiment インスタンスにアクセスできるようになりました。 * これで実験パラメータやインスタンスプロパティに応じてプロットを変更できるようになります。 * `self.experiment` でインスタンスにアクセスできます。 * GUI上でのログ表示機能を改善しました。 * ログレベルによるフィルタリングを実装しました。既定のログレベルはINFOになります。 * `ebilab` ライブラリ自体のログは既定で表示しないようにしました。 * エラーで実験が終了した際にダイアログで通知するようにしました。 ### Bug fixes * サンプルスクリプトを新APIに準拠したものに更新しました。 * 実験終了時にログファイルが正常にCloseされないバグを修正しました。 * GUIのログ画面に、 `logger.exception` で出力されたtracebackが表示されないバグを修正しました。 ## v3.0.0a1 (Jul 31, 2025) ### Breaking Changes **API changed drastically!!!!!** * `ebilab.experiment.devices` 以下のVISAデバイスドライバは `ebilab.visa` へ移動しました。 * `ebilab.analysis` `ebilab.analysis2` `ebilab.experiment` は削除されました。 * v3 UIを実装しました。 * オプションの指定が、 `options` 辞書への登録からモデルフィールドを用いた定義となりました。 * データを記録しないデバッグ実行機能が追加されました。 * `steps()` は `setup()` `steps()` `claenup()` へ分割されました。 * `setup()` `steps()` `claenup()` 関数は `async` 関数になりました。 * 実験データは `ctx.send_row` ではなく `yield` で記録するようになります。 * 実験ログがPython標準の `logger` へ統合されました。 ### New Feature * 実験中にボタンを押したタイムスタンプを記録できる `sync` 機能を実装しました。 * ショートカットキーを追加しました。 * F5→実験開始、F6→デバッグ実行、F9→実験終了、F12→sync ### Fix * Keysight IO Librariesは存在する場合のみ読み込むようにしました(必須ではなくなります)。 ## v3.0.0a0 (Jul 25, 2025) ### Refactor * `setup.py` から `pyproject.toml` による管理へ移行しました。 * これに伴い、ビルドに `uv` を用いるようにしました。