* Regenerate corresponding to Bot API 5.1
* Added base of FSM. Markup constructor and small refactoring
* Fix dependencies
* Fix mypy windows error
* Move StatesGroup.get_root() from meta to class
* Fixed chat and user constraints
* Update pipeline
* Remove docs pipeline
* Added GLOBAL_USER FSM strategy
* Reformat code
* Fixed Dispatcher._process_update
* Bump Bot API 5.2. Added integration with MagicFilter
* Coverage
Upgrade architecture + 5.0 Bot API (#469)
* Moved `methods`, `types` and `client` to root package
* Removed update handler from routers to dispatcher
* Reworked events propagation mechanism to handlers
* Reworked inner middlewares logic (very small change)
* Updated to Bot API 5.0
* Initial migration from MkDocs to Sphinx + config for readthedocs
* fix(aiohttp-session): respect UNSET sentinel
check if value is `UNSET` while building http request.
* Cover UNSET by tests
Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
* feat(helpers): implement new descriptor with default value getter
* perf(descriptor): use weakref
refuse weak reference to a value in WeakRefDict instead of polluting instance namespace
* chore(descriptor): rename descriptor class
rename `DefaultProperty` to `Default`
* style(fmt): lint code
* feat(proxy): proxy for aiohttp,base sessions
Add support for proxies in aiohttp session with aiohttp_socks library,
edit BaseSession class to support proxies for other sessions in future.
* fix(annotation): missing underscore before "private" typevar
* chore: remove redundant of proxy_url schema for socks version
* test: add missing test
Add missing test, remove BaseSession.cfg and switch to
implementing class' "private" traits, add aiohttp_socks in dependency list as
optional and extra.
* feat(session):
Implement asyncio session for requests [wip]
* feat(proxy chain): Chained proxy support in aiohttp session
Add ChainProxyConnector support, !pin pydantic to "1.4", add
documentation on aiohttp connector.
* style(mypy): apply linter changes
* tests(mock): remove await for magic mock
* fix dangling dependency
* refactor(generic):
get rid of generic behaviour for base session
Resolves#302. We decided to use sentinel pattern (https://python-patterns.guide/python/sentinel-object/) as a solution, but got a few problems with plain `object()`, so instead we use unittest.mock.sentinel and we hope it won't cause side effects.
Most of work done via tg-codegen (https://github.com/aiogram/tg-codegen/pull/1), so it's good to review only implementation of sentinel, processing sentinel in `prepare_parse_mode`, changes in base method model and little test fixes.