docs: update CHANGELOG.md

pull/107/head
yupix 9 months ago
parent c3763504cb
commit 6dcbe15fae
No known key found for this signature in database
GPG Key ID: 2FF705F5C56D9C06

@ -2,16 +2,74 @@
## [Unreleased]
### New Features ✨
## [0.5.99] 2023-12-03
このリリースは最新の Misskey 向けに最適化された `develop` ブランチの物となります。インスタンスで `v11``v12` を利用している場合は更新しないことをおすすめします。
### Breaking changes 💔
#### v13 に合わせてメソッドやモデルを整理しました
主に削除されたモデルはチャットです。その他にも `admin` 向けのエンドポイントで既に削除されている物を削除しました。
v13 でのリクエストボディーに合わせて引数の追加なども行っています。
#### pypi からダウンロードできる MiPAC は最新の Misskey のみをサポートするようになります。
詳しくは[こちらの Issue](https://github.com/yupix/MiPAC/issues/94)を御覧ください。
今まで通りの全てのバージョンをサポートした MiPAC を利用したい場合は以下のコマンドで `shared` ブランチの物をご利用いただけます。
今後 `v11``v12` のブランチを作成しそれぞれの最新のバージョンをサポートする予定です。そのため、`shared` ブランチは保守モードに入り、基本的にはバグの修正のみを提供します。機能追加も行う可能性はありますが、v11 や v12、最新の Misskey のサポートが終わってからになります。
```bash
pip install git+https://github.com/yupix/Mi.py.git@shared
```
#### `Lite*` から始まるモデルの名前が `Partial*` に変更されます。
今まで Lite と Partial が混在していましたが、今回のアップデートを期に `Partial` に統一されます
### メソッドの変更
| v0.5.0 | v0.6.0 |
| -------------------------------- | ------------------------------------ |
| `ClientNoteActions.get_children` | `ClientNoteActions.get_all_children` |
| `ClientNoteActions.get_reaction` | `ClientNoteActions.get_reactions` |
### Drive周りの作り直し
Driveに関するManagerやActionsを全て作り直しました。詳細に記述してるといつまでも終わらないので、ご迷惑をおかけしますが、確認していただけると幸いです🙏
### モデルの変更
一部のモデルがより良い形で再実装されました。結果的にモデル名が変わっています。以下がその変更後の表になります。
| v0.5.0 | v0.6.0 | 変更理由 |
| -------- | ----------- | ---------------------------------------------------------------------------------- |
| UserRole | PartialRole | Role と共通していた為 User よりも Role の Partial クラスにする方が適切だと考えた為 |
|PartialNote|Note|分ける必要性が無かったため(実際どこにも使用していなかった)|
### 非推奨になったモデル/クラス
| 名前 | 削除されるバージョン | 理由 |
| -------- | -------------------- | ------------------ |
| UserRole | 0.7.0 | PartialRole に変更 |
### Other notable changes 📜
- `mipac.util` モジュールが削除されました
- 例外 `CredentialsError` が追加されました
## [0.5.1] 2023-10-03
### New Features ✨
#### `MeDetailed` モデルが追加され、自身に関する情報より多く扱えるようになりました
今後はAPIを使用した際に自動でユーザーが自分自身かを判断し、自身であった場合は `UserDetailed` ではなく、 `MeDetailed` を返すようになります。
今後は API を使用した際に自動でユーザーが自分自身かを判断し、自身であった場合は `UserDetailed` ではなく、 `MeDetailed` を返すようになります。
`MeDetailed``UserDetailed` の共有体型の場合は `isinstance` を用いて判断が行えます。
また、`RoleUser` 等のように専用のユーザーモデルがある場合は `MeRole` のようなモデルを作成し、どちらかを返すようになります。
※まだ全てのメソッドに適応されたわけではなく、ごく一部のみの適応となっています。
```py
@ -28,20 +86,20 @@ async def main():
#### 以下のエンドポイントがサポートされました
|エンドポント|MiPACでのメソッド|
|---|---|
|`/api/admin/invite/create`|`api.admin.invite.action.create_invite`|
|`/api/admin/invite/list`|`api.admin.invite.action.get_invite_list`|
|`/api/roles/list`|`api.role.action.get_list`|
|`/api/roles/show`|`api.role.action.get`|
|`/api/roles/users`|`api.role.action.get_users`|
|`/api/roles/notes`|`api.role.action.get_notes`|
| エンドポント | MiPAC でのメソッド |
| -------------------------- | ----------------------------------------- |
| `/api/admin/invite/create` | `api.admin.invite.action.create_invite` |
| `/api/admin/invite/list` | `api.admin.invite.action.get_invite_list` |
| `/api/roles/list` | `api.role.action.get_list` |
| `/api/roles/show` | `api.role.action.get` |
| `/api/roles/users` | `api.role.action.get_users` |
| `/api/roles/notes` | `api.role.action.get_notes` |
### Fixed 🛠️
- `RoleUser` モデルで `LiteUser` を使用していましたが、正しくは `UserDetailed`
### 依存関係の更新📦
### 依存関係の更新 📦
- `aiohttp`: `3.8.4` => `3.8.5`
@ -51,9 +109,9 @@ async def main():
理由としては `axblack` の更新が止まっており、また移行先である `blue` も更新が止まっているからです。今後は 通常の `black` を使用したフォーマット使用するようにお願いします。
##### Modelには `AbstractModel` を継承してください
##### Model には `AbstractModel` を継承してください
`pagination_iterator` 関数が新規に追加され、paginationの処理を楽に使えるようになりました。その際にModel以外のクラスを受け取らないよう識別するのに使用します。
`pagination_iterator` 関数が新規に追加され、pagination の処理を楽に使えるようになりました。その際に Model 以外のクラスを受け取らないよう識別するのに使用します。
## [0.5.0] 2023-07-26
@ -70,10 +128,10 @@ async with Client('server url', 'token') as client:
print(emoji)
```
#### 一意のIDを持つモデルで比較演算がサポートされました
#### 一意の ID を持つモデルで比較演算がサポートされました
サポートされた演算は `__eq__``__ne__` の2つです。一意のIDと判断しにくい物は現状サポートしていません。
一意のIDがあるにもかかわらず、サポートされていないモデルがある際はIssueを作成してください。
サポートされた演算は `__eq__``__ne__` 2 つです。一意の ID と判断しにくい物は現状サポートしていません。
一意の ID があるにもかかわらず、サポートされていないモデルがある際は Issue を作成してください。
```py
note_one = await api.note.action.get('note one')
@ -85,7 +143,7 @@ print(note_one == note_three, note_one != note_three)
#### File モデルに `api` プロパティーが追加されました
今まではモデルに `api` プロパティーが無かったため、 `api` プロパティーからアクションにアクセスし、対象のメソッドに対してファイルIDなどといった引数を自分で渡す必要がありましたが、今後はモデルから直接実行できます。
今まではモデルに `api` プロパティーが無かったため、 `api` プロパティーからアクションにアクセスし、対象のメソッドに対してファイル ID などといった引数を自分で渡す必要がありましたが、今後はモデルから直接実行できます。
```diff
-async for file in api.drive.file.action.get_files(get_all=True):
@ -94,17 +152,18 @@ print(note_one == note_three, note_one != note_three)
+ await file.api.action.remove()
```
#### `FileActions``save` メソッドが追加されました
指定したパス、またはBufferにファイルをダウンロードできるようになりました。
指定したパス、または Buffer にファイルをダウンロードできるようになりました。
パスを指定する場合
```py
async for file in api.drive.file.action.get_files(get_all=True):
await file.api.action.save(f'./test/{file.name}')
```
Bufferを指定する場合:
Buffer を指定する場合:
```py
async for file in api.drive.file.action.get_files(get_all=True):
with open(f'./test/{file.name}', mode='mb') as f:
@ -157,15 +216,15 @@ async for file in api.drive.file.action.get_files(get_all=True):
#### `NoteManager.get` メソッドが削除されました
何故あったのか分かりませんが、Managerの責務から逸脱しているためです
何故あったのか分かりませんが、Manager の責務から逸脱しているためです
#### NoteActionsに関する変更
#### NoteActions に関する変更
- `NoteActions.get` `NoteActions.fetch` メソッドにおいて `note_id` が optionalになっているのはおかしいため必須の引数に変更しました
- `NoteActions.get` `NoteActions.fetch` メソッドにおいて `note_id` が optional になっているのはおかしいため必須の引数に変更しました
### Fixed 🛠️
- 一部 `all` 引数が存在しないが、 built-inの `all` が存在することで動作していた箇所が修正されました
- 一部 `all` 引数が存在しないが、 built-in `all` が存在することで動作していた箇所が修正されました
- `ClientNoteActions` において `note_id` が無かった場合の例外処理が無かった為追加
### Other notable changes 📜
@ -174,9 +233,9 @@ async for file in api.drive.file.action.get_files(get_all=True):
- クリップがサポートされました
- ロールの作成時に `is_explorable` を使用できるようになりました。
- 最新のインスタンス等で無いと使用できない可能性があります
- update_metaのリクエスト時に `server_rules` パラメータが使用できるようになりました
- update_meta のリクエスト時に `server_rules` パラメータが使用できるようになりました
- このパラメータは `13.11.3` 以降のバージョン(`13.11.3`は含みません)を使用している場合は必須であり、それ以前のバージョンを使用している場合は指定するとエラーが発生する可能性があります。
- `NoteActions.get_replies``ClientNoteActions.getriplies` に移動され、 `ClientNoteActions` でも使用可能になりました。NoteActionsはClientNoteActionsを継承しているため今後とも使用できます
- `NoteActions.get_replies``ClientNoteActions.getriplies` に移動され、 `ClientNoteActions` でも使用可能になりました。NoteActions ClientNoteActions を継承しているため今後とも使用できます)
- 全取得が以下のメソッドでサポートされました。それに伴い、一部のメソッドがジェネレーターになっています。
- `FederationActions.get_followers`
- `FederationActions.get_following`

Loading…
Cancel
Save