* Что это значит? Теперь разработчику не нужно самому лесть в vk api. для того, чтобы допустим получить имя пользователя и вставить его в сообщение. Достаточно в теле сообщения указать %firstname%
* Новый юнит, который позволяет получить какие-то данные за пользователя. Например это позволяет пользователю не ввыодить город, а запрашивать его у вк и уточнять у пользователя актуальность.
* Добавлен новый класс, для хранения терминальных команд от администратора бота
* Некоторые интерфесы переписаны под дженерики
* Архитектура стала более логичной и продуманной
* Рефакторинг
* Добавлен новый класс для вставки слов из List в строку
* Изменена стругтура Unit. Теперь они не хранят MailSend, они хранят BoxAnswer, который может быть преобразован в MailSend (возможно стоит вернуть MailSend)
* Добавленны методы, которые позваляют преобразовать BoxAnswer в MailSend
* Добавлен функциональный интерфейс
* Теперь вся библиотека разбита на модули, нет необходимости использовать ненужные модули
* Автоответчик теперь может присылать простые текстовые ответы или сохранять ответы пользователей (бета версия)
* Множество мелких архитектурных решений
* Добавил родителбскую реализацию юнита с клавиатурой, от нее будут наследоваться все остальные
* Добавил простую реализацию юнита для тестовых ответов
* Добавил новую реализацию юнита для сохранения ответов пользователя
* Добавил дефолтную реализацию Saver
* Переписал action, теперь для активации юнита еще отправляется Mail (нужно было для юнита, который сохраняет ответы пользователя)
* Добавлен новый слой логики приложения. Модуль обращается к этому слою, и только этот слой может обращаться к БД
* Начал связывать таблицы
* Переместил классы
* Добавлен кастомный SQL метод возвращающий сообщения из БД новее запрошеной даты
* Добавлен глобальный обработчик сообщений
* Исрпавлены конфигурации spring, которые приводили к ошибкам в создании бинов
* Добавлен статический класс с методами вк апи
Научил программу работать в двух потоках. Первый поток слушает все сообещния от сервера и записывает их в отдельный класс. Другой поток раз в какое-то время обращается к этому классу и что-то делает
* Все данные для настройки соединения и взаимодествия с вк в отдельном файле
* Научился отлавливать новые сообщения в сообществе и отправлять ответ
* Добавил паттерн Наблюдатель