Releases: AghastyGD/lazy-ninja
v0.6.7
🚀 What's New in v0.6.7
✨ Features
-
Improved UUID support in Django model serialization:
-
UUIDFieldandUUIDAutoFieldare now correctly mapped tostr. -
Foreign keys referencing UUID primary keys are serialized into strings.
-
Enhanced
get_pydantic_typeto prioritizeUUIDFieldbeforeAutoField.
-
🛠️ Fixes
-
Fixed Pydantic validation errors when returning UUID primary keys.
-
Added
parse_model_inthelper to properly convert string path parameters into the correct type for model PKs in CRUD routes. -
Ensured compatibility with projects using
DEFAULT_AUTO_FIELD = "core.fields.UUIDAutoField". -
No breaking changes for projects using standard integer
AutoFieldPKs.
🔗 Links
-
Fix UUID handling in Django models by @AghastyGD in #41
-
Full Changelog: v0.6.5...v0.6.7
v0.6.6
✨ What's Fixed
🐛 Fixed: Added colorama as a dependency.
This ensures that colored output works as expected across different platforms without the need for manual installation.
Full Changelog: v0.6.5...v0.6.6
v0.6.5
🚀 What's New in v0.6.5
✨ Features
-
Enhanced CLI commands:
-
Improved
initcommand with better scaffolding and structure. -
Extended
generate-clientto support more flexible client generation directly from OpenAPI schemas.
-
-
Improved DX: Clearer CLI messages and developer-friendly output.
🧪 Testing
-
Added new test cases for CLI commands.
-
Increased coverage, including edge cases for client generation.
📝 Documentation
-
Added CLI Usage section with practical examples.
-
Updated guide for generating clients and bootstrapping projects.
🔗 Links
- Feature/Enhance CLI Functionality and Update Documentation by @AghastyGD in #37
Full Changelog: v0.6.4...v0.6.5
v0.6.4
🚀 What's New in v0.6.4
✨ Features
-
New CLI command:
lazy-ninja generate-client— Generate client SDKs (like TypeScript, Dart, etc.) directly from your Lazy Ninja-based OpenAPI schema, without needing to run the server. -
Flexible output: Choose your desired generator type and output directory.
🧩 Dependency improvements
-
Optional
jdk4pysupport: You can install Lazy Ninja with thelazy-jdkextra to include a JDK in environments without Java installed.pip install lazy-ninja[lazy-jdk]
If you already have Java installed, no extra installation is needed.
🛠 Issue resolved
- Resolves #20: Auto generate client(js/dart) CRUD
🔗 Links
Full Changelog: v0.6.3...v0.6.4
PR: #35 - Add CLI command to generate client code from OpenAPI schema
v0.6.3
What's Changed
- Refactor into modular architecture by @AghastyGD in #32
- Dev by @AghastyGD in #33
Full Changelog: v0.6.2...v0.6.3
v0.6.2
✨ What's New
-
File Upload Support:
Added robust support for file uploads usingmultipart/form-data. Lazy Ninja now automatically detectsFileFieldandImageFieldin Django models and generates routes for these fields usingmultipart/form-data. Models without file fields continue to useapplication/jsonby default. -
Fine-Grained Upload Control:
Introduced new parameters for upload configuration:file_fields: Specify which fields in a model should usemultipart/form-data.use_multipart: Explicitly define whethercreateandupdateoperations for specific models should usemultipart/form-data.auto_detect_files: Automatically detectFileFieldandImageFieldin your models (default:True).auto_multipart: Automatically enablemultipart/form-datafor models with detected file fields (default:True).
-
Custom Middleware for PUT/PATCH:
AddedProcessPutPatchMiddlewareto handlePUTandPATCHrequests asPOSTfor proper form data processing. This middleware ensures compatibility with both synchronous and asynchronous request handlers, addressing Django's limitations with multipart updates.
v0.6.1
v0.6.0
What's Changed 🚀
- Add Documentation Website with MkDocs and by @AghastyGD in #25
- API Enhancements:
- Pluralized Routes: Automatically pluralize route names for better readability.
- init() Method: Added an init() method to simplify API initialization.
- Exclusion Support: Improved the ability to exclude specific apps or models from route generation.
Full Changelog: v0.5.1...v0.6.0
v0.5.1
What's Changed 🚀
- fix: run model registration in a separate thread in async context by @AghastyGD in #24
Full Changelog: v0.5.0...v0.5.1
v0.5.0
🚀 What's New in v0.5.0
Key Features
-
Async Support:
- Introduced asynchronous route handling with the
is_asyncparameter, allowing users to configure routes as synchronous or asynchronous (default is async). - Ensured compatibility with both sync and async operations for seamless integration.
- Introduced asynchronous route handling with the
-
Global Error Handling:
- Added
ErrorHandlingMiddlewareto provide consistent JSON responses for exceptions. - Supports both synchronous and asynchronous request handling, with detailed logging for unexpected errors.
- Added
-
Enhanced Filtering:
- Improved query parameter parsing to handle advanced filtering scenarios.
- Added dynamic field validation for safer and more robust filtering.
Contributions
- Add Async Support, Global Error Handling, and Enhanced Filtering by @AghastyGD in #21
Full Changelog: v0.3.1...v0.5.0