Releases: Sunwood-ai-labs/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
メソッドがリファクタリングされ、各機能の実行処理が分離されました。また、不要なログ出力が削除されました。
SourceSage v4.4.0 リリースノート
🎉 新機能
🤖 Gaiahに対応したコミットメッセージ生成
- ソースコードの変更差分からGaiahフォーマットのコミットメッセージ生成をサポート
- 効果的で意味のあるコミットメッセージを作成するためのベストプラクティスに従ったガイドラインを提供
- 主要な変更とその目的に焦点を当て、コミットで行われた変更を明確かつ簡潔に説明
🛠️ 改善
🌐 READMEの更新
- 更新内容セクションに最新のリリース情報を追加
- クイックスタートセクションを改善し、より詳細な手順を記載
🐛 バグ修正
- なし
📦 その他の変更
🔧 設定ファイルの更新
config/constants.py
に定数STAGE_INFO_SIMPLE_OUTPUT_MD_GAIAH_B
とSTAGE_INFO_SIMPLE_TEMPLATE_MD_GAIAH_B
を追加
📝 ドキュメントの更新
- README.mdの更新内容セクションとクイックスタートセクションを更新
- Gaiahに対応したコミットメッセージ生成のサンプルを追加
🚀 今後の予定
- より多様なフォーマットのコミットメッセージ生成への対応
- ユーザビリティの向上とパフォーマンスの最適化
- AIとの連携強化によるさらなる自動化の推進
SourceSage v4.4.0では、Gaiahフォーマットのコミットメッセージ生成をサポートし、より効果的で意味のあるコミットメッセージの作成を可能にしました。今後も、SourceSageは開発者の生産性向上のため、AIとの連携を深めながら継続的に進化していきます。
SourceSage v4.3.0 リリースノート
概要
SourceSage v4.3.0では、リリース間の差分を自動的に生成するGit Diff レポート機能を追加しました。また、プロジェクトの構成を整理し、コードの可読性と保守性を向上させました。
新機能
Git Diff レポート生成
- 最新のリリースと前回のリリースの間の差分を自動的に取得し、マークダウン形式のレポートを生成する機能を追加しました。
- レポートには、バージョン比較情報と変更されたファイルの詳細な差分が含まれます。
- この機能により、リリース間の変更点を簡単に把握できるようになりました。
改善点
プロジェクト構成の整理
demo
ディレクトリをexample
ディレクトリに変更し、サンプルコードをわかりやすく整理しました。.SourceSageignore
ファイルと.gitignore
ファイルを更新し、不要なファイルやディレクトリを無視するようにしました。setup.py
を更新し、新しい依存関係としてtermcolor
を追加しました。
コードの可読性と保守性の向上
cli.py
を更新し、ログ出力のフォーマットを改善しました。ReleaseDiffReportGenerator.py
を新たに追加し、Git Diff レポート生成機能のコードを分離しました。constants.py
を更新し、出力ディレクトリの名前を.SourceSageAssets
に変更しました。
その他の変更
example
ディレクトリにREADME.md
を追加し、サンプルコードの説明を記載しました。setup.py
のバージョン番号を4.3.0
に更新しました。
インストール方法
pip を使って最新バージョンの SourceSage をインストールします。
pip install sourcesage==4.3.0
まとめ
SourceSage v4.3.0では、Git Diff レポート機能の追加により、リリース間の変更点を簡単に把握できるようになりました。また、プロジェクト構成の整理とコードの改善により、開発効率とメンテナンス性が向上しました。
今後も SourceSage の機能拡充と改善を続けていきますので、ご期待ください。ご意見やご要望がありましたら、Issue や Pull Request でお知らせください。
SourceSage v4.2.1 リリースノート
新機能と改善点
🛠 ChangelogGenerator.pyのチェンジログ生成ロジック改善
- チェンジログ生成時のコミットフィルタリングを強化し、マージコミットが特定のブランチ(例えば 'release/' ブランチ)に関連している場合は、それ以降のコミットの処理を停止する新たな条件を追加しました。
- この変更により、不要なマージコミットをチェンジログから除外し、生成されるチェンジログのクリーンアップを図ります。
- 各コミットの後には区切り線('---')を追加することで、チェンジログの可読性が向上し、各エントリの区分が明確になります。
🔧 sourcesage/core.pyのステージ情報ジェネレーター機能拡張
- StageInfoGeneratorクラスに新たなステージ情報生成プロセスを追加しました。
- issueファイル、ステージされた差分ファイル、テンプレートファイル、出力ファイルのパスを指定して、GAIAH対応のステージ情報ファイル
STAGE_INFO_SIMPLE_OUTPUT_MD_GAIAH
を生成する機能を実装。 - この変更により、ユーザーが異なるテンプレートを利用してステージ情報をより柔軟に生成できるようになります。
その他の変更
- リファクタリングとコードの最適化を行い、全体的なパフォーマンスと保守性が向上しました。
SourceSage v4.2.1では、チェンジログ生成とステージ情報生成の機能が拡張され、ユーザーにとってより使いやすく柔軟なツールになりました。今後もフィードバックを取り入れながら、継続的な改善を行ってまいります。
SourceSage v4.2.0 リリースノート
ハイライト:
- ステージング情報のテンプレートに絵文字対応を追加し、視覚的な表現力を向上
- GAIAHに対応したテンプレートを追加
- コミットメッセージのベストプラクティスに関する説明を追記し、意味のあるコミットの作成をサポート
- 新機能の追加と既存機能の強化により、SourceSageの利便性と柔軟性が向上
主な変更点:
-
ステージング情報のファイル名とテンプレートに絵文字を導入
constants.py
に新しい定数STAGE_INFO_SIMPLE_OUTPUT_MD_EMOJI
とSTAGE_INFO_SIMPLE_TEMPLATE_MD_EMOJI
を追加core.py
のstage_info_generator
メソッドを更新し、絵文字を含むファイル名に対応- 新しいテンプレートファイル
STAGE_INFO_TEMPLATE_EMOJI.md
を追加し、絵文字を活用したステージング情報の表示が可能に
-
コミットメッセージのベストプラクティスに関するドキュメントを更新
STAGE_INFO_TEMPLATE_GAIAH.md
ファイルにコミットメッセージの例とタイプ別の説明を追記- 意味のあるコミットメッセージを書くためのガイドラインを提供
-
その他の改善点
- バージョン番号を4.1.5から4.1.6に更新
- 定数ファイルにGitステージ情報の処理と表示をカスタマイズするための新しいファイル名を定義
SourceSage v4.2.0は、絵文字対応のステージング情報テンプレートとコミットメッセージのベストプラクティスに関する改善を中心としたマイナーアップデートです。
これらの変更により、SourceSageはよりわかりやすく意味のあるコミット管理を実現し、開発者の生産性向上に貢献します。
ぜひアップデートしてご活用ください。
今後も皆さまのフィードバックを参考に、SourceSageの改善を進めてまいります。
引き続きSourceSageをよろしくお願いいたします。
SourceSage v4.1.6 リリースノート
SourceSage v4.1.6がリリースされました。このリリースでは、ステージング情報の生成機能の強化に焦点を当てています。主な変更点は以下の通りです。
新機能
- 絵文字対応のステージ情報テンプレートファイルを追加しました。これにより、絵文字を含むステージング情報のテンプレートをサポートすることが可能になりました。
core.py
にステージング情報生成機能を追加しました。問題ログからステージング情報を自動的に生成し、Markdown形式で出力できるようになりました。
ドキュメントの更新
STAGE_INFO_TEMPLATE_EMOJI.md
に新しいテンプレートを追加しました。このテンプレートは、絵文字を用いた見やすいコミットメッセージのフォーマット案を提供します。
その他の変更
constants.py
ファイルに新しい定数STAGE_INFO_SIMPLE_TEMPLATE_MD_EMOJI
を追加しました。新しいテンプレートファイル名はSTAGE_INFO_TEMPLATE_EMOJI.md
です。
SourceSage v4.1.6では、ステージング情報の生成プロセスを改善し、より表現力のあるコミットメッセージの作成をサポートします。絵文字を含むテンプレートの導入により、コミットメッセージの可読性と視覚的なわかりやすさが向上しました。
ぜひ新しいバージョンをお試しいただき、フィードバックをお寄せください。今後もSourceSageの機能拡張と改善に取り組んでいきます。
SourceSage v4.1.5 リリースノート
主な更新内容
- README.mdに「開発者向け」セクションを新規追加
- 単体テストの実行方法とコマンドラインの説明を追加
- GitHub Actions CI/CDを使用したPyPIへの自動公開ガイドを追加
- パッケージリリースガイドを全面改訂
- PyPIへの自動公開プロセスを詳細に説明
- 前提条件、PyPIの設定、GitHub Actionsワークフローの設定、手動ビルド&テスト、自動リリース実行の各セクションを追加
- テストドキュメントの画像リンクを修正
- GitHub Actionsのトリガー条件を変更
- mainブランチへのpushをトリガーから削除。タグプッシュ時のみ実行
- ドキュメントのビジュアル強化
- 新アイコン
package_icon.png
とtest_icon.jpeg
を追加 - テストドキュメントにテストアイコン画像を追加
- 新アイコン
- GitHub Actionsの設定を更新
- 既存パッケージのスキップオプション
skip-existing: true
を追加し、重複投稿を防止
- 既存パッケージのスキップオプション
その他の変更点
- 開発者向けドキュメントの改善により、プロジェクトへの参加がより容易に
- 自動化プロセスの最適化でリリース管理を明確化
- ドキュメントの視覚的魅力向上による情報伝達力の強化
SourceSage v4.1.5では、特に開発者向けのドキュメントとCI/CD設定の改善に注力しました。単体テストの実行方法やPyPIへの自動公開プロセスを詳しく解説することで、プロジェクトへの参加ハードルを下げました。
また、ドキュメントにビジュアル要素を取り入れることで、より直感的に内容を理解できるようになりました。GitHub Actionsの設定も微調整し、パッケージ公開の自動化をさらに洗練させました。
v4.1.5リリースにより、SourceSageはより協調性が高く、メンテナンス性に優れたプロジェクトへと進化を遂げました。今後もコミュニティからのフィードバックを活かし、SourceSageの改善を続けていきます。
SourceSage v4.1.2 リリースノート
機能強化
- setup.pyのバージョンを4.1.1から4.1.2に更新し、最新の変更が反映されるようになりました。
- setup.pyに説明コメントを追加し、各設定項目の目的を明確にしました。これにより、他の開発者がコードを理解しやすくなります。
- setup.pyの依存関係を
requirements.txt
から動的に読み込むように変更し、依存関係管理の透明性と更新の容易さを向上させました。 requirements.txt
に新しいPythonライブラリ(loguru、GitPython、requests、art)を追加し、開発の効率と体験を向上させました。- GitHub Actionsを通じてPyPIへの自動パブリッシュ設定を追加し、ソフトウェアのリリースプロセスを自動化しました。
リファクタリング
- setup.pyのインデントを調整し、コードの可読性を向上させました。
ドキュメントの改善
- ドキュメント内のリンクを修正し、正しい参照先にアクセスできるようになりました。
- README.mdのバージョン情報を更新し、最新のリリース情報を反映しました。