mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
* Added full support for the Bot API 9.6 * Add support for `managed_bot` updates * Set `description_parse_mode` default to `"parse_mode"` and use `DateTime` for `addition_date` in `PollOption` * Update changelog with features and changes from Bot API 9.6 * Add changelog fragment generator and update poll parameter descriptions
50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
Generate a Bot API changelog fragment for aiogram.
|
|
|
|
Arguments: $ARGUMENTS (format: `<issue_id> <changelog_url>`)
|
|
|
|
## Steps
|
|
|
|
1. Parse `$ARGUMENTS`: the first token is the issue/PR number (e.g. `1792`), the rest is the changelog URL (e.g. `https://core.telegram.org/bots/api-changelog#april-3-2026`).
|
|
|
|
2. Fetch the changelog URL using WebFetch. Extract **all** changes for the Bot API version anchored by that URL: new methods, new types, new/changed fields, new parameters, renamed fields, and any other notable changes.
|
|
|
|
3. Discover which aiogram modules were generated for the new symbols:
|
|
- New methods → search `aiogram/methods/<snake_case_name>.py` via Glob
|
|
- New types → search `aiogram/types/<snake_case_name>.py` via Glob
|
|
- Confirm every referenced module exists before writing it into the RST.
|
|
|
|
4. Create `CHANGES/<issue_id>.misc.rst` (overwrite if it exists) with the following RST structure, following the style used for previous Bot API updates in `CHANGES.rst`:
|
|
|
|
```rst
|
|
Updated to `Bot API X.Y <{url}>`_
|
|
|
|
**{Section heading — e.g. "Feature Area"}**
|
|
|
|
*New Methods:*
|
|
|
|
- Added :class:`aiogram.methods.<module>.<ClassName>` method - <short description>
|
|
|
|
*New Types:*
|
|
|
|
- Added :class:`aiogram.types.<module>.<ClassName>` type - <short description>
|
|
|
|
*New Fields:*
|
|
|
|
- Added :code:`<field>` field to :class:`aiogram.types.<module>.<ClassName>` - <short description>
|
|
|
|
*New Parameters for* :class:`aiogram.methods.<module>.<ClassName>`:
|
|
|
|
- Added :code:`<param>` - <short description>
|
|
```
|
|
|
|
Rules for writing the RST:
|
|
- Use `:class:`` for types and methods, `:meth:`` for shortcuts, `:code:`` for field/parameter names.
|
|
- Module paths must be the full dotted path (e.g. `aiogram.types.poll_option.PollOption`), always verified against real files.
|
|
- If a symbol has a shortcut method on a type, mention it with `:meth:`.
|
|
- Group related changes under bold section headings (e.g. **Polls**, **Managed Bots**).
|
|
- Within each section use italic sub-headings (*New Methods:*, *New Types:*, *New Fields:*, *New Parameters for ...:*) — omit a sub-heading if there is nothing to list under it.
|
|
- Describe each item with a brief, user-facing sentence after the dash.
|
|
- Do not add a trailing newline after the last bullet.
|
|
- Do not include an issue/PR back-reference link (towncrier adds that automatically).
|
|
|
|
5. Print the path of the created file and confirm it is done.
|