Backward-incompatible changes, improvements, bug fixes
- Includes (see example with [many-to-many](https://fastapi-jsonapi.readthedocs.io/en/latest/include_many_to_many.html)) -
any level of includes is now supported (tested with 4);
- View Classes generics (Detail View and List View);
- View Classes now use instance-level methods (breaking change,
previously `classmethods` were used);
- Pydantic schemas now have to be inherited from custom BaseModel
methods (breaking change, previously all schemas were supported). It
uses custom [registry class](https://github.com/mts-ai/FastAPI-JSONAPI/blob/188093e967bb80b7a1f0a86e754a52e47f252044/fastapi_jsonapi/schema_base.py#L33),
so we can collect and resolve all schemas. Maybe there's some
workaround to collect all known schemas;
- Improved interactive docs, request and response examples now have
more info, more schemas appear in docs;
- Reworked schemas resolving and building;
- Fixed filtering (schemas resolving fix);
- Create custom sql filters ([example](https://fastapi-jsonapi.readthedocs.io/en/latest/custom_sql_filtering.html));
- Add linters: black, ruff;
- Add pre-commit;
- Add autotests with pytest;
- Add poetry, configure dependencies groups;
- Add GitHub Action with linting and testing;
- Upgrade examples;
- Update docs.
[mahenzon](https://github.com/mahenzon)