Releases: Sunwood-ai-labs/SourceSage
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のバージョン情報を更新し、最新のリリース情報を反映しました。
SourceSage 4.1.0 リリースノート
概要
SourceSage 4.1.0では、以下の主要な機能追加と改善が行われました。
- プロジェクト全体の出力ファイル名と各モジュールの出力フォルダ名の変更
- PyPIのダウンロードバッジとCodacyのクオリティバッジの追加
- setup.pyの更新とバージョンアップ
- アスキーアートの追加によるソースコードの視認性向上
- CLI引数の追加とコアモジュールの修正
- プロジェクトの構成とファイルの変更によるシンプル化
- テストドキュメントの改善とわかりやすい説明の追加
- テストコードの修正とセットアップスクリプトの更新
- README.mdの見出しとビジュアル要素の追加による可読性の向上
- セットアップ手順、実行方法、クイックスタートセクションの更新
変更の詳細
プロジェクト全体の出力ファイル名と各モジュールの出力フォルダ名の変更
- プロジェクト全体の出力ファイル名を "SourceSage" から "DocuMind" に変更
- 関連するディレクトリ名とファイル名を新しいプロジェクト全体の出力ファイル名に合わせて更新
- setup.pyのバージョン番号を '4.0.11' から '4.0.12' に更新
- constants.pyの値を更新し、新しい名称に対応
PyPIのダウンロードバッジとCodacyのクオリティバッジの追加
- README.mdにPyPIの日次ダウンロード数と週次ダウンロード数のバッジを追加
- README.mdにCodacyのクオリティバッジを追加
- README.mdにこのリポジトリ自体がSourceSageを活用していることを明記
- setup.pyのバージョンを4.0.10から4.0.11に更新
- setup.pyにclassifiersを追加し、プロジェクトの状態や対象ユーザー、トピックを明示
setup.pyの更新とバージョンアップ
- setup.pyのバージョン番号を4.0.5から4.0.9へ変更
- パッケージデータの指定方法を修正し、サブディレクトリ以下のファイルも含めるように変更
- 依存ライブラリに
art
を追加
アスキーアートの追加によるソースコードの視認性向上
art
ライブラリをインポートSourceSage
クラスのrun
メソッドの先頭で、tprint
関数を使用して"SourceSage"のアスキーアートロゴを表示するように変更
CLI引数の追加とコアモジュールの修正
sourcesage/cli.py
とsourcesage/core.py
に新しいCLI引数--ignore-file
と--language-map
を追加- デフォルト値はパッケージ内の設定ファイルを使用するように修正
SourceSage
クラスのコンストラクタにignore_file
とlanguage_map_file
の引数を追加SourceSageModule
とStagedDiffGenerator
の初期化時に、追加した引数を渡すように修正tests/test_sourcesage.py
のテストケースを修正し、CLI引数を追加
プロジェクトの構成とファイルの変更によるシンプル化
- 不要なファイルやフォルダを削除
.env.example
ファイルSourceSage.py
ファイルdocs/HTML/timeline_sample.md
ファイルdocs/css/style.css
ファイル
.SourceSageignore
ファイルを更新し、必要なフォルダや一時ファイルが除外対象になるように設定
テストドキュメントの改善とわかりやすい説明の追加
- テストコマンドの説明を「テストの実行」という見出しに変更し、ユニットテストの実行方法を詳しく説明
- 本番環境でのテストについて、新しい章を追加し、
sourcesage
コマンドの使用方法を説明 - リポジトリの指定について、新しい章を追加し、オーナー名とリポジトリ名の指定方法を説明
- コマンドのフォーマットをマークダウンのコードブロックで囲み、視覚的に分かりやすく改善
- 各章の説明文を追加し、内容をより明確化
テストコードの修正とセットアップスクリプトの更新
- テストコードの修正:
test_sourcesage_cli
関数内のsys.argv
に--owner
と--repository
の引数を追加test_sourcesage_core
関数内のSourceSage
クラスのインスタンス化時に、owner
とrepository
の引数を追加- テストコードが指定されたコマンド
sourcesage --owner Sunwood-ai-labs --repository SourceSage
に対応するように変更
- セットアップスクリプトの更新:
setup.py
ファイルにpackage_data
の設定を追加し、sourcesage
パッケージ内のconfig
ディレクトリ以下のファイルがパッケージに含まれるように変更
.gitignore
ファイルにtemp/
ディレクトリを追加し、テスト実行時に生成される一時ディレクトリをGitの管理対象から除外
README.mdの見出しとビジュアル要素の追加による可読性の向上
- プロジェクトの標語「~Transforming code for AI~」を中央揃えの見出しに変更し、周囲に余白を追加
- PyPIでの最新バージョンを示すバッジを挿入し、現在のバージョンを確認しやすく改善
- 不要な空白行を削除してドキュメントを整理し、情報の密度を高める
- PyPIのバージョンバッジを追加し、最新パッケージバージョンを一目で識別できるように改善
セットアップ手順、実行方法、クイックスタートセクションの更新
- セットアップ手順の追加: SourceSageのインストールに必要な手順を追加し、pipを使用したインストール方法を明記
- クイックスタートガイドの導入: 新たにクイックスタートセクションを設け、SourceSageの基本的な使用方法についての手順を追加
- プロジェクトディレクトリへの移動からSourceSageの実行、生成されるファイルの説明までをステップバイステップで説明
- リポジトリのIssue取得方法に関する説明の改善: GitHubのリポジトリIssueを取得する方法の説明を更新し、リポジトリのオーナー名とリポジトリ名をコマンドライン引数で指定する方法を詳述
まとめ
SourceSage 4.1.0では、プロジェクトの構成や出力ファイル名の変更、各種バッジの追加、セットアップ手順やクイックスタートガイドの充実化など、ユーザビリティと視認性の向上に重点を置いた改善が行われました。また、テストコードの修正やドキュメントの改善により、開発者にとってもより使いやすく、メンテナンスしやすいプロジェクトになりました。
今後もSourceSageは、ユーザーと開発者双方のフィードバックを取り入れながら、継続的な改善と機能追加を行っていきます。ご期待ください!
SourceSage v4.0.3 リリースノート
新機能
README.mdの設定手順をセットアップ手順に更新
README.mdにおけるプロジェクト設定手順のセクションを、より簡潔で直接的なセットアップ手順に更新しました。具体的には、pip install sourcesage
によるインストール方法に変更し、ユーザーがプロジェクトをより簡単にセットアップできるようになりました。
README.mdの実行手順の簡素化
README.mdに記載された実行手順を簡素化しました。sourcesage
コマンドを使用するように変更し、ユーザーがコマンドをより容易に記憶し実行できるようにしました。この変更により、ユーザーインターフェースの向上が期待されます。
コマンドライン引数にリポジトリのオーナーと名前を指定可能に
cli.py
に--owner
と--repository
の引数を追加し、ユーザーはリポジトリのオーナーとリポジトリ名をコマンドラインから簡単に指定できるようになりました。これにより、異なるリポジトリに対してのサポートが強化されます。
改善
CLI引数の取り扱いを改善
sourcesage/cli.py
ファイルにて、CLI引数のデフォルト値の設定方法を変更し、argparse
のデフォルト機能を利用するようにしました。この変更により、コードがより簡潔になり、可読性が向上しました。
Constants
クラスのコンストラクタにowner
とrepository
を追加
constants.py
のConstants
クラスのコンストラクタが、リポジトリのオーナーとリポジトリ名を受け取るように変更されました。また、SourceSage
クラスの初期化メソッドにもこれらの引数を追加しました。
ドキュメント
テスト実行方法のドキュメントを更新
tests/README.md
の内容を更新して、テスト実行に関する説明をより明確かつ具体的にしました。これにより、テストプロセスの実行方法が明確になります。
テスト手順のドキュメントを追加
tests/README.md
にテスト手順のドキュメントを新規作成しました。このドキュメントでは、特定のコマンドを使用してテストを実行する方法について説明しています。
バグ修正
DOCS_DIR
のパスが誤ってdocs
フォルダを指していたのを、正しくconfig
フォルダを指すように修正しました。
SourceSage v4.0.3では、ユーザビリティの向上、コードの可読性と保守性の向上、ドキュメントの充実化などに重点を置いて開発を進めました。新機能と改善により、より使いやすく柔軟なツールへと進化しています。
SourceSage v3.1.0 リリースノート
概要
SourceSage V3.1.0では、コードの品質と保守性を向上させるためのリファクタリングと機能改善が行われました。主な変更点は以下の通りです。
新機能
- コミットメッセージのフォーマットとタイプの説明を追加
- タイトルに種類と概要を記載するフォーマットを導入
- コミットメッセージの種類(feat, fix, docs, styleなど)の説明を追加
- ドキュメントテンプレートにコミットメッセージのフォーマットとタイプの説明を追記
機能改善
- コマンドラインからソースコードのリポジトリパスを取得するように修正
StagedDiffGenerator
クラスのコンストラクタ引数repo_path
を、定数const.REPO_PATH
から現在のワーキングディレクトリを取得するos.getcwd()
に変更- これにより、コマンドラインから
SourceSage.py
を実行する際に、ソースコードのリポジトリパスを適切に取得できるようになり、より柔軟に利用可能に
IssuesToMarkdown
クラスにloguru
を使用したログ出力を追加load_data()
メソッド内で、データのロード状況をログ出力するように改善create_markdown_files()
メソッド内で、マークダウンファイルの作成状況をログ出力するように改善- これにより、処理の進行状況や重要な情報がログに記録され、デバッグやモニタリングがしやすくなった
- ドキュメントのフォーマットを改善
- コミットメッセージのフォーマットをマークダウン形式に変更し、種類の説明を追加
- これにより、ドキュメントの読みやすさが向上し、コミットメッセージの作成がより明確に
リファクタリング
- 定数の管理方法を改善
- 環境変数の利用をやめ、定数を一箇所で管理するように変更
config/constants.py
ファイルを新規作成し、定数を定義SourceSage.py
のmain
関数内で定数を使用するように修正- これにより、コードの可読性と保守性が向上し、定数の管理がシンプルになった
- Git関係のモジュールのリファクタリング
GitHubIssueRetrieve.py
とStagedDiffGenerator.py
の重複部分を削除し、GitHubUtils.py
モジュールにまとめたChangelogGenerator.py
とDiffChangelogGenerator.py
の共通部分をChangelogUtils.py
モジュールに抽出- これにより、モジュール間の依存関係が整理され、コードの可読性と保守性が向上
- ドキュメントテンプレートを整理
- ドキュメントのテンプレートファイルを
docs
ディレクトリ下に移動 - テンプレートファイルのパスを定数で管理するように変更
- ドキュメントのテンプレートファイルを
その他の変更
.gitignore
ファイルの更新- パッケージのバージョン番号を3.1.0に更新
以上の変更により、SourceSageの機能性と保守性が向上し、より効率的で使いやすいツールになりました。今後もフィードバックを取り入れながら、継続的な改善を行っていきます。