Releases: ekkx/yaylib
v2.0.0
最初の安定版。Go / TypeScript / Python の 3 言語で同一の API 契約を提供します。
Python は旧 1.x 系からの全面書き換えで、破壊的変更を含みます。
インストール
go get github.com/ekkx/yaylib/v2 # Go (module path に /v2 が必要)
npm install yaylib # TypeScript / JavaScript (ESM)
pip install yaylib # Python (>=3.10)ハイライト
- フラットなクライアント: 全オペレーションを
client.<operation>で直接呼び出し(3 言語共通の命名) - 透過的なセッション:
login_with_emailがセッションをキャッシュし、トークンの自動リフレッシュに対応 - 署名ヘルパー:
signed_info/signed_version/x_jwt/ 通話アクション署名を内蔵 - リアルタイム: 多重化された
EventStream(複数チャンネル購読・自動再接続) - メディアアップロード: 用途別アップロード API(アバター / 投稿画像 / 動画 ほか)
- 堅牢なトランスポート: 自動リトライ(指数バックオフ + ジッタ)、必須ヘッダ自動付与
- 緩い wire 許容: 数値↔文字列カーソル、未知 enum、2xx 揺れを吸収しデコード失敗を回避
- エスケープハッチ: 任意の呼び出しを生バイトで受け取る raw 実行
破壊的変更(Python 1.x からの移行)
- クライアントは
async withでの利用を推奨(基盤接続を確実にクローズ) - API バージョンは SDK バージョンと分離(
APIVersionName定数で別管理) - メソッド名を動詞ファーストの統一命名へ変更
バージョニング方針
major のみ 3 言語を揃え、minor / patch は言語ごとに独立して上げます。
What's Changed
- 1.4.1 from Qvco dev by @ekkx in #54
- 1.4.2 from Qvco dev by @ekkx in #56
- 1.4.3 from Qvco dev by @ekkx in #59
- Popo dev in #64
- add: storage in #65
- fix: rename post_id to thread_id by @sonnnnnnp in #76
- fix: Await get_email_verification_presigned_url in send_verification_… by @sonnnnnnp in #83
- feat(ts): upload(13カテゴリ+UploadVideo) / event_stream / executeRaw by @ekkx in #86
- feat(py): yaylib Python ポート — 手書き層 + 47 シナリオ parity by @ekkx in #87
- test(python): behavior-parity suite against the shared contract server by @ekkx in #88
- test: behavior parity against a shared contract server by @ekkx in #89
- feat(python): upload layer + behavior parity by @ekkx in #90
- fix(python): tolerate server-added enum values by @ekkx in #91
- fix(python): accept any 2xx status, not only the documented one by @ekkx in #92
- docs: contribution guide + generated-file PR guard by @ekkx in #93
- test: complete §15 behavior-parity coverage (Go/TS/Python) by @ekkx in #94
- docs+test: complete §15 contract + ID traceability + close audit gaps by @ekkx in #95
- refactor: login wrapper uses each language's call idiom by @ekkx in #96
- feat(event-stream): symmetric raw/catch-all + terminal-cause contract by @ekkx in #97
- feat(mockd): bundle the test/dev mock server by @ekkx in #98
- ci: build + test every language and assert behavior parity by @ekkx in #99
- chore: containerized development environment by @ekkx in #100
- docs+pkg: READMEs, Python public surface, distribution metadata by @ekkx in #101
New Contributors
- @sonnnnnnp made their first contribution in #76
Full Changelog: v1.4.0...v2.0.0
ts-v2.0.1
- TypeScript / Python の
Clientに署名・JWT ヘルパーをメソッドとして追加
(generateXJwt/generateSignedVersion/generateSignedInfoAt/
generateSignedInfo/generateCallActionSignature/
validateCallActionSignature)。クライアントが保持している API キーや
UUID を呼び出し側で渡す必要がなくなり、Go と同じ使い心地になりました
(従来のスタンドアロン関数も引き続き利用できます)。 - 実行できるサンプルを全言語ぶん追加し、
examples/に集約しました。
Go の API に変更はありません(このリリースでの新規追加は TypeScript /
Python のみ)。
Full Changelog: v2.0.0...ts-v2.0.1
py-v2.0.1
- TypeScript / Python の
Clientに署名・JWT ヘルパーをメソッドとして追加
(generateXJwt/generateSignedVersion/generateSignedInfoAt/
generateSignedInfo/generateCallActionSignature/
validateCallActionSignature)。クライアントが保持している API キーや
UUID を呼び出し側で渡す必要がなくなり、Go と同じ使い心地になりました
(従来のスタンドアロン関数も引き続き利用できます)。 - 実行できるサンプルを全言語ぶん追加し、
examples/に集約しました。
Go の API に変更はありません(このリリースでの新規追加は TypeScript /
Python のみ)。
Full Changelog: v2.0.0...py-v2.0.1
v1.5.4
What's Changed
- fix: Await get_email_verification_presigned_url in send_verification_… by @sonnnnnnp in #83
- Release v1.5.4 by @ekkx in #84
Full Changelog: v1.5.3...v1.5.4
v1.5.3
What's Changed (from v1.4.0)
- 1.4.1 from Qvco dev by @ekkx in #54
- 1.4.2 from Qvco dev by @ekkx in #56
- 1.4.3 from Qvco dev by @ekkx in #59
- Popo dev in #64
- add: storage in #65
- fix: rename post_id to thread_id by @sonnnnnnp in #76
- Release yaylib v1.5.3.dev1 by @ekkx in #79
- chore: change the way to specify yaylib version by @ekkx in #81
- Release yaylib v1.5.3 by @ekkx in #82
New Contributors
- @sonnnnnnp made their first contribution in #76
Full Changelog: v1.4.0...v1.5.3
v1.3.0
「yaylib」のバージョンが1.3.0になりました!
以下に追加された機能を紹介します。
🌟 アップデート内容
-
http2を強制化し、socksプロキシに対応しました。PRから→
(Special thanks to @KohnoseLami) -
X-Jwtの計算方法をAPI Version Keyを使用する方法に変更しました。 PRから→
(Special thanks to @coco-check)
バグや改善点を発見した場合は、Issuesから報告するか、Pull Requestをお願いします!
最新バージョンにアップデート
py -m pip install -U yaylibv1.2.0
「yaylib」のバージョンが1.2.0になりました!
以下に追加された機能を紹介します。
🌟 アップデート内容
-
連続してリクエストを送信する際には、ランダムな遅延が挿入されるようになりました。
(Clientクラスの引数から無効化できます。) -
レート制限を待機する機能を追加しました。
(Clientクラスの引数から無効化できます。) -
利用規約に同意していない場合、自動的に同意するようにしました。
-
デバイスUUIDが固定されるようになりました。
-
リクエストヘッダーをアップデートしました。
-
GIF画像が静止画像になってしまう不具合を修正しました。
バグや改善点を発見した場合は、Issuesから報告するか、Pull Requestをお願いします!
最新バージョンにアップデート
py -m pip install -U yaylibv1.1.0
「yaylib」のバージョンが1.1.0になりました!
バージョン 1.0.0 からの変更点を以下に紹介します。
🌟 アップデート内容
-
サークルの更新や個人チャットをリアルタイムに取得できるようにするため、WebSocket 通信に対応しました。
-
認証情報を暗号化して保存するかどうかを選択できるようになりました。
(他人に見られる可能性のある開発環境下などで作業を行う場合を想定) -
upload_image メソッドの仕様を変更しました。
(返り値の変更、一度に複数のファイルアップロードに対応) -
プロキシを設定する際の不具合を修正しました。
バグや改善点を発見した場合は、Issuesから報告するか、Pull Requestをお願いします!
最新バージョンにアップデート
py -m pip install -U yaylib