Skip to content

Releases: ekkx/yaylib

v2.0.0

18 May 10:14

Choose a tag to compare

最初の安定版。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

Full Changelog: v1.4.0...v2.0.0

ts-v2.0.1

18 May 11:10

Choose a tag to compare

  • 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

18 May 11:10

Choose a tag to compare

  • 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

23 May 03:09
91b31c5

Choose a tag to compare

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

16 May 15:26
b640b98

Choose a tag to compare

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

Full Changelog: v1.4.0...v1.5.3

v1.3.0

24 Nov 23:34

Choose a tag to compare

「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 yaylib

v1.2.0

30 Aug 15:33

Choose a tag to compare

「yaylib」のバージョンが1.2.0になりました!

以下に追加された機能を紹介します。

🌟 アップデート内容

  • 連続してリクエストを送信する際には、ランダムな遅延が挿入されるようになりました。
    Clientクラスの引数から無効化できます。)

  • レート制限を待機する機能を追加しました。
    Clientクラスの引数から無効化できます。)

  • 利用規約に同意していない場合、自動的に同意するようにしました。

  • デバイスUUIDが固定されるようになりました。

  • リクエストヘッダーをアップデートしました。

  • GIF画像が静止画像になってしまう不具合を修正しました。

バグや改善点を発見した場合は、Issuesから報告するか、Pull Requestをお願いします!

最新バージョンにアップデート

py -m pip install -U yaylib

v1.1.0

13 Aug 11:06

Choose a tag to compare

「yaylib」のバージョンが1.1.0になりました!

バージョン 1.0.0 からの変更点を以下に紹介します。

🌟 アップデート内容

  • サークルの更新や個人チャットをリアルタイムに取得できるようにするため、WebSocket 通信に対応しました。

  • 認証情報を暗号化して保存するかどうかを選択できるようになりました。
    (他人に見られる可能性のある開発環境下などで作業を行う場合を想定)

  • upload_image メソッドの仕様を変更しました。
    (返り値の変更、一度に複数のファイルアップロードに対応)

  • プロキシを設定する際の不具合を修正しました。

バグや改善点を発見した場合は、Issuesから報告するか、Pull Requestをお願いします!

最新バージョンにアップデート

py -m pip install -U yaylib