Releases: Sunwood-ai-labs/SourceSage
🚀 SourceSage v5.5.1 リリースノート
📋 概要
SourceSage v5.5.1では、リリースノート生成機能が大幅に強化され、より詳細で有益な情報を提供するようになりました。また、コミットメッセージ生成プロセスにおけるガイダンスも改善されました。
✨ 新機能
- 🎉 リリースノート生成機能の改善 (commit: e933246)
- 新しいフォーマットと絵文字の使用ガイドラインを導入し、視覚的に分かりやすく魅力的なリリースノートを作成できるようになりました。
- コミットハッシュ、新機能、改善点、バグ修正、重要な変更、アップグレード手順、謝辞など、より多くの情報を提供するようにプロンプトを改良しました。
🛠 改善点
- 🚀 Stage情報生成処理の差分確認項目を追加 (commit: 89e9062)
- 差分の確認項目として「どの機能が消えてどの機能が増えたのかを正確に把握すること」を追加しました。
- 🚀 v5.4.0 リリースノート設定更新 (commit: d53cd31)
- SourceSage v5.4.0 のリリースに伴い、リリースノート生成の設定を更新しました。
🐛 バグ修正
- 🐛 不要なコマンドラインオプションを削除 (commit: 3724f7d)
- 誤って追加された不要なコマンドラインオプションを削除しました。
- 🐛 Traceback (most recent call last) エラーの修正 (commit: 143e0c0)
- ファイルが見つからないエラーを修正しました。
📦 アップグレード手順
pipを使用してSourceSageを最新バージョンにアップグレードしてください。
pip install --upgrade sourcesage
👏 謝辞
SourceSageの開発にご協力いただきありがとうございます。
- Maki
皆様のご協力に感謝いたします 🙏!
SourceSage リリースノート v5.4.0
このリリースでは、主にCLIの機能強化と設定の柔軟性向上に焦点を当てています。
変更点
- 新機能:
.env
ファイルから環境変数をロードする機能を追加しました。これにより、開発およびデプロイ時に環境変数をより柔軟に指定できるようになりました。 - 改善: GAIAH_B設定で使用するテンプレートを英語バージョン(
STAGE_INFO_TEMPLATE_GAIAH_B_EN.md
)に切り替えました。これにより、さまざまな設定間で言語とフォーマットの一貫性が確保されます。 - ドキュメント:
- STAGE_INFOテンプレートの英語版を追加し、一貫性とアクセシビリティを向上させました。これにより、英語圏のユーザーもテンプレートを利用できるようになります。
- コミットメッセージのフォーマットを修正し、ユニークな絵文字の使用を推奨するようにしました。
修正
- CLI: CLIが正しく初期化されない問題を修正しました。
- その他: いくつかのマイナーなバグ修正と改善を行いました。
既知の問題
- 特になし
アップグレード方法
SourceSageを最新バージョンにアップグレードするには、次のコマンドを実行します。
pip install --upgrade sourcesage
SourceSageのご利用ありがとうございます!
SourceSage リリースノート v5.3.0
SourceSage v5.3.0 をリリースしました!このリリースでは、YAML設定ファイルの読み込みの改善、Markdownからのコミットメッセージ生成の自動化、不要な依存関係の削除など、多くの改良と新機能が追加されました。
新機能
- YAML設定ファイルのサポート: コマンドライン引数の代わりにYAMLファイルを使用してSourceSageを設定できるようになりました。これにより、複雑な設定をより簡単に管理できます。
- Markdownからのコミットメッセージ生成の自動化: CommitCraftモジュールに、Markdownから
commit-craft
ブロックの内容を抽出し、整形する機能が追加されました。これにより、LLMが生成したコミットメッセージを自動的に抽出できます。
改良点
- 不要な
load_dotenv
関数の呼び出しを削除: DocuMindモジュールとIssueWizeモジュールから不要になったload_dotenv
関数の呼び出しを削除しました。 - コミットメッセージテンプレートの修正: コミットメッセージテンプレートを修正し、より詳細な情報を提供するように変更しました。
- 不要な改行を削除:
sourcesage/core.py
ファイルと.aira/config.dev.yml
ファイルから不要な改行を削除しました。 .gitignore
の更新: 生成されたファイルや一時ファイルをgitの管理から除外するために、.gitignore
にllm_output.md
とoutput.html
を追加しました。.aira/config.dev.commit.yml
の設定を更新: AIRAの設定ファイルであるconfig.dev.commit.yml
を更新し、リポジトリ情報、コミットメッセージのパス、ブランチ名などを適切に設定しました。.ipynb_checkpoints
を.SourceSageignore
に追加: Jupyter Notebook のチェックポイントファイルが誤ってステージングされるのを防ぐため、.ipynb_checkpoints
を無視ファイルに追加しました。- README.md の DocuMind の使用方法を更新: README.md の DocuMind の使用方法を更新し、YAML ファイルを使用した設定例を追加しました。
- バージョンを 5.3.0 に更新し、依存関係を追加: SourceSage のバージョンを 5.3.0 に更新しました。新しい機能で必要な
beautifulsoup4
、markdown
、html2text
パッケージを依存関係に追加しました。 - リリースノートのバージョンとパスを修正: リリースノートのバージョンを v5.2.1 に更新し、ファイルパスを修正しました。
修正された問題
特になし
既知の問題
特になし
貢献
SourceSageの改善にご協力ください!バグの報告や機能追加の提案がある場合は、GitHubリポジトリでIssueを開くかプルリクエストを送信してください。
開発者向けの情報は貢献ガイドを参照してください。
ライセンス
このプロジェクトはMITライセンスの下で公開されています。
SourceSage v5.2.1 リリースノート
SourceSage v5.2.1では、安定性の向上と軽微な不具合の修正に焦点を当てた更新を行いました。このリリースでは、主にバグ修正と内部処理の改善が含まれています。
🐛 バグ修正
-
IssueWizeモジュールのimportエラーを修正
- SourceSage CLIから実行時に発生するパスエラーを解決しました。
- GitCommanderモジュールのimport文に例外処理を追加し、より柔軟なモジュール読み込みを実現しました。
-
ChangelogGeneratorの出力ディレクトリ処理を改善 (#40)
- 統合された変更履歴を生成する前に、出力ディレクトリが存在しない場合は自動的に作成するようになりました。
- これにより、
FileNotFoundError
の発生を防ぎ、より安定した動作を実現しています。
🛠️ その他の変更
-
.SourceSageignoreファイルを更新
issue_creator.log
とissue_response.txt
をignoreリストに追加しました。- これにより、バージョン管理対象外のログファイルを明確に指定しました。
-
setup.pyのバージョンを更新
- パッケージバージョンを5.2.1に更新しました。
📝 ドキュメント
- ドキュメントのリリースノート設定を更新
- リリース報告書、変更ログ、リリースノート、およびプロンプトの出力ファイルのパスをv5.2.0用に更新しました。
- これは今後のv5.2.1のリリースノート生成のための準備です。
開発者向け情報
- このリリースでは、主に内部的な安定性の向上と軽微なバグ修正に焦点を当てています。
- IssueWizeモジュールの改善により、SourceSage CLIからの実行時の安定性が向上しています。
- ChangelogGeneratorの改善により、変更履歴の生成プロセスがより堅牢になりました。
今後のリリースでは、これらの改善をベースにさらなる機能拡張や性能向上を目指していきます。ユーザーの皆様からのフィードバックを歓迎いたします。
ご不明な点やご質問がございましたら、お気軽にIssueを立ててください。今後とも SourceSage をよろしくお願いいたします。
SourceSage v5.2.0 リリースノート
SourceSage v5.2.0 をリリースしました。このリリースでは、IssueWizeの機能強化、CommitCraftとDocuMindのドキュメント追加、およびいくつかのバグ修正が行われています。
新機能
- IssueWizeの機能強化:
- IssueWize.pyをSourceSageのCLIコマンドから実行できるようにコマンドを追加しました。
- SourceSageのCLIコマンドからIssueWizeのパラメータを指定できるようにしました。
ドキュメント
- CommitCraftとDocuMindのドキュメントを追加しました。
バグ修正
- いくつかのマイナーなバグを修正しました。
変更点
- CLIコマンドにIssueWize用のオプションを追加しました。
--issue-summary
: Issueの概要を指定します。--project-name
: IssueWizeのプロジェクト名を指定します。--milestone-name
: IssueWizeのマイルストーン名を指定します。--repo-overview-file
: リポジトリ概要のマークダウンファイルパスを指定します。--issuewize-model
: IssueWizeで使用するモデル名を指定します。
- .gitignoreに
issue_response.txt
を追加しました。
既知の問題
- IssueWizeは、GitHub CLIがインストールされている環境でのみ動作します。
今後の予定
- 今後もIssueWize、CommitCraft、DocuMindの機能強化を進めていきます。
- より多くのAIモデルをサポートする予定です。
- ユーザーインターフェースを改善する予定です。
貢献
SourceSageの開発にご協力いただきありがとうございます。バグレポート、機能リクエスト、プルリクエストは大歓迎です。
SourceSage v5.1.1 リリースノート
SourceSage v5.1.0 リリースノート
変更点
-
- changelog開始タグと終了タグをパラメータとして受け取るように変更しました。
- 指定されたタグが存在しない場合はエラーメッセージを表示するように修正しました。
- タグが2つ未満の場合は警告メッセージを表示するように修正しました。
- changelog生成範囲を指定できるように変更しました。
- "Merge"で始まるコミットメッセージをスキップするように修正しました。
- 処理の可読性を向上しました。
-
処理の改善 (#30)
- YAMLファイルの読み込みで、キーと値を適切に処理するように修正しました。
-
YAML設定ファイルの追加
- リリースノート生成に必要な情報をYAMLファイルから読み込めるようにしました。
docs/.sourcesage_releasenotes.yml
を参照してください。
-
パッケージバージョンの更新
- パッケージバージョンを 5.0.2 から 5.1.0 に更新しました。
修正されたissue
その他
- ログ出力の改善
使用方法
SourceSage CLI を使用してリリースノートを生成するには、以下のコマンドを実行してください。
sourcesage -f docs/.sourcesage_releasenotes.yml
docs/.sourcesage_releasenotes.yml
ファイルには、リリースノート生成に必要な情報が記述されています。
謝辞
SourceSageの開発にご協力いただきありがとうございます!
SourceSage v5.0.3 リリースノート
更新内容
-
ドキュメント生成機能の改善
- SourceSage が生成するファイルやフォルダが
.SourceSageignore
で正しく除外されるように修正しました。(#28)
- SourceSage が生成するファイルやフォルダが
-
リリースプロセス改善
-
チェンジログ統合機能の堅牢性向上(#28)
- Unicodeデコードエラーを処理する例外処理を追加
- チェンジログファイルの読み込みをより堅牢にするためのロギングを改善
-
DocuMindクラスにファイル存在チェックと警告ログ機能を追加(#25)
- リリースレポートおよび変更履歴ファイルが存在しない場合に警告をログに記録
tprint
関数の重複呼び出しを削除し、初期化時の表示を改善- ファイルが見つからない場合の処理を追加し、エラーハンドリングを強化してユーザーへの通知を明確化
-
DocuMindデータベースファイルのデフォルトパスを修正(#25)
- DocuMindデータベースファイルのデフォルトパスを
.SourceSageAssets/DocuMind.md
から.SourceSageAssets/DOCUMIND/Repository_summary.md
に変更
- DocuMindデータベースファイルのデフォルトパスを
その他
- SourceSage v5.0.3 をご利用いただきありがとうございます!
SourceSage v5.0.1 リリースノート
このリリースでは、パフォーマンスの改善と安定性の向上に重点を置いています。
主な変更点:
- .SourceSageignore の更新:
.Gaiah.md
と.env
ファイルを無視リストに追加しました。これにより、これらのファイルは SourceSage の処理対象から除外されます。
バグ修正:
- DocuMind と CommitCraft のメッセージ:
DocuMind
とCommitCraft
の初期化時に処理の開始を明確に示すメッセージを追加しました。
その他:
- 依存関係の更新:
google-generativeai
とlitellm
を依存関係に追加しました。これらのライブラリは、コード生成機能をサポートします。 - README の更新: 新しい機能である
Sage
モードの使用手順を追加しました。
今後の計画:
- AI によるコード生成機能の強化
- 新機能の追加
このリリースにより、SourceSage はより安定し、使いやすいものになっています。ご意見やご要望がございましたら、お気軽にご連絡ください。
SourceSage v5.0.0 リリースノート
新機能
- AIRA と Harmon.AI の設定を追加: プロジェクトの自動化とコード生成を強化するために、AIRA と Harmon.AI の設定ファイルを追加しました。これにより、リポジトリ情報、コミットメッセージ、ブランチ名、LLM モデル、README 生成の設定、そして Harmon.AI の環境変数、製品情報、開発設定などを指定できるようになりました。
リファクタリング
source_sage
モジュールのリファクタリング: 出力ファイルのディレクトリが存在しない場合に作成する処理を追加し、ログ出力を改善しました。ReleaseDiffReportGenerator
クラスのリファクタリング: subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、エラー処理を追加しました(#22)。GitCommander
モジュールの追加: Git コマンドを実行するための GitCommander モジュールを追加しました。このモジュールは、subprocess を使用して Git コマンドを実行し、ログ出力とエラー処理を提供します。DocuMind
クラスの追加: リリースノートを生成する DocuMind クラスを追加しました。このクラスは、指定された LLM モデルを使用して、DocuMind ファイル、リリースレポート、変更履歴に基づいたリリースノートを生成します(#24)。DiffChangelogGenerator
クラスのリファクタリング: GitPython の代わりに subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、より詳細な情報を表示するように変更しました。さらに、日本語の出力に対応しました。CommitCraft
クラスの追加: ステージ情報からコミットメッセージを生成する CommitCraft クラスを追加しました。このクラスは、指定された LLM モデルを使用して、ステージ情報に基づいたコミットメッセージを生成します(#23)。
その他
config/STAGE_INFO/STAGE_INFO_TEMPLATE_GAIAH_B.md
のフォーマットを更新し、commit messages title
の項目を追加しました。これにより、より詳細なコミットメッセージを生成できるようになります。config/constants.py
の定数を整理し、DocuMind に関する定数と SourceSage markdown ファイルのパスに関する定数を追加しました。config/language_map.json
に.h
を追加し、C++ ファイルとして認識するように修正しました。これにより、C++ プロジェクトの解析精度が向上します。core.py
のrun
メソッドをリファクタリングし、各機能の実行処理を分離しました。また、不要なログ出力を削除しました。
詳細
AIRA と Harmon.AI の設定
このリリースでは、AIRA と Harmon.AI の設定ファイルを追加しました。これらのファイルは、aira/config.dev.yml
にあります。これらの設定を使用することで、SourceSage をより効率的に使用できます。
source_sage
モジュールのリファクタリング
source_sage
モジュールは、プロジェクトのソースコードとファイル構成を単一のマークダウンファイルに統合する機能を提供します。このリリースでは、出力ファイルのディレクトリが存在しない場合に作成する処理を追加し、ログ出力を改善しました。
ReleaseDiffReportGenerator
クラスのリファクタリング
ReleaseDiffReportGenerator
クラスは、リリース間の差分をマークダウン形式のレポートとして生成します。このリリースでは、subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、エラー処理を追加しました。
GitCommander
モジュールの追加
GitCommander
モジュールは、Git コマンドを実行するためのユーティリティを提供します。このモジュールは、subprocess を使用して Git コマンドを実行し、ログ出力とエラー処理を提供します。
DocuMind
クラスの追加
DocuMind
クラスは、リリースノートを生成します。このクラスは、指定された LLM モデルを使用して、DocuMind ファイル、リリースレポート、変更履歴に基づいたリリースノートを生成します。
DiffChangelogGenerator
クラスのリファクタリング
DiffChangelogGenerator
クラスは、変更履歴を生成します。このリリースでは、GitPython の代わりに subprocess を使用して Git コマンドを実行するように変更しました。これにより、GitPython の依存関係が不要になり、より軽量な実装になりました。また、ログ出力を改善し、より詳細な情報を表示するように変更しました。さらに、日本語の出力に対応しました。
CommitCraft
クラスの追加
CommitCraft
クラスは、ステージ情報からコミットメッセージを生成します。このクラスは、指定された LLM モデルを使用して、ステージ情報に基づいたコミットメッセージを生成します。
その他の変更
config/STAGE_INFO/STAGE_INFO_TEMPLATE_GAIAH_B.md
のフォーマットが更新され、commit messages title
の項目が追加されました。これにより、より詳細なコミットメッセージを生成できるようになります。
config/constants.py
の定数が整理され、DocuMind に関する定数と SourceSage markdown ファイルのパスに関する定数が追加されました。
config/language_map.json
に .h
が追加され、C++ ファイルとして認識するように修正されました。これにより、C++ プロジェクトの解析精度が向上します。
core.py
の run
メソッドがリファクタリングされ、各機能の実行処理が分離されました。また、不要なログ出力が削除されました。