Последняя версия aiogram: проверка, обновление и переход с 2.x

Команда pip show aiogram в терминале показывает, какая версия библиотеки установлена у вас прямо сейчас, — и именно с этой проверки стоит начинать, прежде чем искать «последнюю версию aiogram». Номер актуального релиза меняется регулярно: разработчики выпускают обновления с исправлениями и поддержкой новых методов Telegram Bot API, поэтому любая конкретная цифра, записанная в статье, быстро устаревает.

На момент написания материала активно развивается ветка aiogram 3.x — именно она получает новые функции и исправления. Ветка aiogram 2.x считается устаревшей и новых возможностей не получает. Точный номер свежего релиза всегда стоит сверять на странице проекта в PyPI или в репозитории на GitHub — это единственные источники, где данные гарантированно актуальны.

Как узнать установленную версию aiogram

Самый быстрый способ — выполнить в терминале или командной строке одну команду. Она работает одинаково в Windows, Linux и macOS, если библиотека установлена через pip:

pip show aiogram

В выводе найдите строку Version: — рядом будет номер установленной версии, а также путь к файлам пакета. Если у вас несколько виртуальных окружений, убедитесь, что команда запускается из того окружения, где работает бот: версии в разных окружениях могут отличаться.

Альтернативный вариант — проверка из самого Python-кода. Это удобно, когда нужно вывести версию в лог при запуске бота:

import aiogram

print(aiogram.__version__)

Где смотреть номер последней версии

Чтобы узнать, какой релиз сейчас самый свежий, используйте официальные источники. Сторонние сайты и статьи часто содержат устаревшие цифры.

  • 📦 PyPI — страница пакета aiogram показывает номер последнего опубликованного релиза и историю версий;
  • 🐙 GitHub-репозиторий проекта — раздел Releases с описанием изменений в каждой версии (changelog);
  • 📖 Официальная документация — соответствует актуальной ветке 3.x;
  • 💬 Команда pippip index versions aiogram (в свежих версиях pip) покажет доступные версии без установки.

Если номер на PyPI новее вашего — пора обновляться. Если совпадает, но бот работает странно, проблема, скорее всего, не в версии библиотеки, а в коде или конфигурации.

📊 Какая версия aiogram установлена у вас сейчас?
aiogram 3.x — последняя
aiogram 3.x — старая, надо обновить
aiogram 2.x
Ещё не устанавливал

Как обновить aiogram до последней версии

Обновление выполняется стандартной командой pip с флагом -U. Перед этим активируйте виртуальное окружение проекта, если оно используется:

pip install -U aiogram

После завершения установки снова выполните pip show aiogram и убедитесь, что номер версии изменился. Затем перезапустите бота и проверьте его основные сценарии: обработку команд, отправку сообщений, работу клавиатур.

☑️ Безопасное обновление aiogram

Выполнено: 0 / 5
⚠️ Внимание: обновление внутри ветки 3.x обычно проходит безболезненно, но мажорные и даже минорные релизы иногда меняют поведение отдельных функций. Перед обновлением на боевом сервере прочтите changelog к новой версии и опробуйте её на тестовом боте.

Если проект должен работать стабильно и внезапные изменения нежелательны, зафиксируйте версию в requirements.txt, например: aiogram==3.x.x (подставьте проверенный номер). Так все окружения получат одинаковую версию.

Чем aiogram 3.x отличается от 2.x

Переход с второй на третью ветку — это не просто обновление, а миграция: фреймворк был существенно переработан. Код, написанный под aiogram 2.x, на третьей версии без правок не запустится.

Аспектaiogram 2.xaiogram 3.x
ДиспетчерDispatcher создаётся с bot внутриDispatcher отделён, bot передаётся при запуске
Фильтры хендлеровПараметры в декораторе (commands, state)Объекты-фильтры: Command(), F.text и др.
Запуск pollingexecutor.start_polling()dp.start_polling(bot)
Клавиатурыtypes.ReplyKeyboardMarkup с add()Билдеры KeyboardBuilder или явные списки кнопок
Статус развитияУстаревшая веткаАктивно развивается

Главное: если вы начинаете новый проект — ставьте только aiogram 3.x. Писать нового бота на второй ветке означает сознательно выбирать устаревший инструмент без поддержки новых возможностей Telegram Bot API.

Миграция с aiogram 2.x на 3.x

Если у вас рабочий бот на второй ветке, переход потребует переработки кода. Объём правок зависит от размера проекта: у небольшого бота это замена декораторов и способа запуска, у крупного — ещё и переработка клавиатур, middleware и машины состояний.

Типовые изменения, которые встречаются почти в каждом проекте:

  • 🔧 Замена executor.start_polling(dp) на асинхронный запуск через dp.start_polling(bot) внутри asyncio.run();
  • 🎯 Переход с параметров декораторов на фильтры: @dp.message(Command("start")) вместо @dp.message_handler(commands=["start"]);
  • ⌨️ Пересборка клавиатур через ReplyKeyboardBuilder / InlineKeyboardBuilder;
  • 🧠 Обновление работы с FSM — импорты и привязка состояний изменились.
⚠️ Внимание: не обновляйте aiogram 2.x до 3.x командой pip install -U в работающем проекте напрямую — бот перестанет запускаться из-за несовместимости API. Сначала адаптируйте код в отдельной ветке или копии проекта, и только потом меняйте версию на сервере.
Что делать, если миграция пока невозможна

Если бот критичен для бизнеса и времени на переписывание нет, можно временно зафиксировать версию aiogram 2.x в requirements.txt и продолжать её использовать. Учтите, что новые функции Telegram Bot API в этой ветке появляться не будут, поэтому миграцию стоит запланировать.

Типичные проблемы после обновления

После смены версии разработчики чаще всего сталкиваются с ошибками импорта и запуска. Возможная причина большинства из них — смешение кода разных веток: старый синтаксис встречает новую библиотеку.

Ошибка вида ImportError: cannot import name 'executor' почти всегда означает, что код написан под 2.x, а установлена 3.x. Обратная ситуация — TypeError при вызове dp.start_polling() — говорит о том, что код под третью ветку запускается на второй. Проверьте версию командой pip show aiogram и приведите код в соответствие с ней.

Ещё один сценарий: в системе несколько интерпретаторов Python, и пакет обновился не в том окружении. Признак — pip show показывает новую версию, а бот ведёт себя по-старому. Убедитесь, что бот запускается тем же интерпретатором, в который ставился пакет: команда python -m pip show aiogram покажет версию именно для используемого Python.

FAQ: частые вопросы о версиях aiogram

Какая версия aiogram сейчас последняя?

Актуальный номер смотрите на странице пакета в PyPI или в разделе Releases GitHub-репозитория проекта — цифры меняются с каждым релизом. Активно развивается ветка 3.x.

Как установить конкретную версию aiogram?

Командой pip install aiogram==3.x.x, где вместо 3.x.x подставьте нужный номер из списка версий на PyPI.

Работает ли код aiogram 2.x на версии 3.x?

Нет, ветки несовместимы: изменились диспетчер, фильтры, запуск polling и клавиатуры. Код нужно адаптировать под новый API.

Как откатиться на предыдущую версию после неудачного обновления?

Установите нужную версию явно: pip install aiogram==номер_версии. Поэтому перед обновлением полезно зафиксировать текущий номер через pip show aiogram.

Нужно ли обновлять aiogram сразу после выхода релиза?

Для боевого бота — не обязательно. Разумная практика: прочитать changelog, проверить обновление на тестовой копии и только потом ставить на сервер.