# Changelog

## 0.7.1 - 2025-03-10

### Исправлено

- Критическая ошибка генерации синхронного кода, приводящая библиотеку в неработоспособное состояние

## 0.7.0 - 2025-03-10

### Добавлено 

- Метод `.search_in_contour_iter(...)`, позволяющий искать объекты в контуре без ограничений
- Метод `.search_at_coords(lat, lng, layer_def)` для поиска по координатам
- Методы `.find(...)`, `.find_in_layer(...)`, `.find_zu(...)`, `.find_oks(...)` для поиска исключительно одного объекта

### Изменено

- Методы поиска, принимающие id слоя, переведены в приватные методы (например, `.search_at_point` -> `._search_at_point`); методы, принимающие определение слоя, переименованы (например, `.search_at_point_by_model` -> `.search_at_point`) и рекомендованы к использованию по умолчанию
- Текстовые поисковые методы (`search`) выдают массив вместо одного объекта
- Изменено отображение (`repr`) для класса `NspdFeature`

### Устарело

- Методы с суффиксом `_by_model` (например, `.search_at_point_by_model(...)`) будут убраны в следующей версии (используйте методы без суффикса вместо него)
- Метод `.search_in_theme` будет убраны в следующей версии (используйте `.find` вместо него)

## 0.6.1 - 2025-02-28

### Исправлено

- Нестандартные кейсы, когда на один к/н API выдается несколько результатов, 
а на сайте отображается один (например, 77:04:0004018:3371) 

### Добавлено 
- Ошибка `AmbiguousSearchError`, если поиск не дает однозначный результат

## 0.6.0 - 2025-02-18

### Добавлено 

- Поддержка кэширования результатов благодаря [Hishel](https://github.com/karpetrosyan/hishel)
- [Пользовательская документация](https://yazmolod.github.io/pynspd/)

### Устарело

- Будут убраны в версии `0.7.0` методы:
    - `api.search_by_theme()` - заменится на `api.search_in_theme()`
    - `api.search_by_layers()` - заменится на `api.search_in_layer()`
    - `api.search_by_model()` - заменится на `api.search_in_layer_by_model()`

### Изменено

- Статический анализатор теперь понимает вывод метода `NspdFeature.by_title(...)` 
  и приводит его к типу конкретного слоя

### Удалено

- Методы `api.search_many_zu()` и `api.search_many_oks()`


## 0.5.4 - 2025-02-07

### Исправлено

- Обновление схем ответа от НСПД


## 0.5.3 - 2025-02-04

### Исправлено

- Исправлен некорректный тип для площадей (несоответствие схемы НСПД и реальных данных)


## 0.5.2 - 2025-02-04

### Устарело

- Методы `api.search_many_zu()` и `api.search_many_oks()` будут убраны в версии `0.6.0`  

### Исправлено

- Обновление схем: добавлено свойство "Учетный номер"
- Исправлен некорректный тип для `specified_area`


## 0.5.1 - 2025-02-04

### Исправлено

- Доработана обработка исключений при запросах (разрыв соединения со стороны сервера, таймауты, многочисленные запросы)


## 0.5.0 - 2025-02-04

- Добавлена возможность получения информации из вкладок объекта ("Объекты", "Части ЗУ" и т.д.)