- Обновил README с описанием новых возможностей и примерами использования - Добавил детальные заметки о релизе в CHANGELOG - Установил версию 2.2.0
47 lines
3.3 KiB
Markdown
47 lines
3.3 KiB
Markdown
# Журнал изменений
|
||
|
||
Все заметные изменения проекта будут документироваться в этом файле.
|
||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/),
|
||
и этот проект придерживается [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
||
|
||
## [2.2.0] - 2025-06-08
|
||
|
||
### Добавлено
|
||
- Универсальный интерфейс `Identifiable` для всех сущностей с ID
|
||
- Универсальный класс `EntityService` для стандартных CRUD-операций
|
||
- Универсальный интерфейс `Repository<T>` для базовых операций с данными
|
||
- Утилитарный класс `Formatter` с методом `asTable()` для форматирования таблиц
|
||
|
||
### Изменено
|
||
- **[BREAKING]** Обобщение CLI-команд для поддержки разных типов сущностей через `EntityService`
|
||
- Рефакторинг `TaskService` для расширения `EntityService` вместо собственной реализации
|
||
- Переименование `InMemoryTaskRepository` → `InMemoryRepository` с поддержкой generics
|
||
- Унификация работы с моделью `Task` через интерфейс `Identifiable`
|
||
- Вынесение логики форматирования таблиц из `ListCommand` в отдельный utility-класс
|
||
- Обновление `ListCommand` и `SearchCommand` для использования `Formatter.asTable()`
|
||
- Замена метода `list()` на `getAll()` в сервисном слое
|
||
|
||
### Технические улучшения
|
||
- Улучшена типобезопасность через использование generics
|
||
- Повышена переиспользуемость кода за счёт вынесения общей логики
|
||
- Упрощена архитектура через унификацию интерфейсов
|
||
- Удалено дублирование кода форматирования между командами
|
||
|
||
## [2.1.0] - 2025-06-01
|
||
|
||
### Добавлено
|
||
- Команда `search <текст>` для поиска задач по тексту (реализован класс `SearchCommand`)
|
||
- Метод `search(String query)` в `TaskService` для поддержки поиска задач
|
||
- Рефакторинг: вынесение общего функционала отображения задач в отдельный метод `formatWithTable()` в классе `ListCommand`
|
||
|
||
### Изменено
|
||
- Обновлены внутренние зависимости между компонентами CLI (`SearchCommand`, `ListCommand`) и моделью данных (`Task`, `SimpleTask`)
|
||
- Добавлена обработка минимальной длины поискового запроса (3 символа) в `SearchCommand`
|
||
|
||
## [2.0.0] - 2025-05-29
|
||
|
||
### Добавлено
|
||
- Базовая функциональность для управления задачами
|
||
- Команды: create, list, delete, complete
|
||
- Консольный интерфейс для взаимодействия с приложением
|
||
- In-memory хранилище задач |