Releases: dymmond/ravyn
Version 0.3.1
Added
- Allow
XORandNORoperators in permissions.
Changed
- Cleanup
gateways.pyto make it maintainable and non redundant.
Fixed
- Duplicate check on Gateway permissions and WebsocketGateway permissions.
- Allowing async operators to work in permissions.
Version 0.3.0
Added
runserver_themetoRavynsettings andrunserverdirective. This allows you to customise the theme of the
ravyn runservercommand.
Changed
- Rewritten the internals for OpenAPI representation models with Pydantic and compatible with Python 3.14+.
Fixed
- Regression in runserver with a path provided.
- Fix permissions operations AND,OR,NOT by @egorvavilov. PR #627.
- Lilya permissions and Ravyn permissions cannot be combined and now Ravyn raises an assertation error when it happens.
Version 0.2.4
Note
This is an exception deployment as the some internals were in conflict
Changed
- Query Parameters documentation updated with generics (list, dict) examples.
Fixed
- Parsing query parameters with multiple datastructures was not parsing it properly
Version 0.2.3
Added
- Support for the new AuthenticationMiddleware from Lilya.
- Extensive documentation for the AuthenticationMiddleware with examples and guides.
Changed
- Deprecate BasicAuthMiddleware in favour of the new
AuthenticationMiddleware from Lilya and it will be removed from
version 0.4.0. - Updated the documentation for Edgy with the new AuthenticationMiddleware.
- Updated the documentation for MongoZ with the new AuthenticationMiddleware.
Fixed
- Overriding the
status_codefor custom encoder types (Pydantic, msgspec...).
Version 0.2.2
Added
- Add response parameter to exception initialization.
Changed
- Simplified
Factoryinternals for cleaner nested provider handling and async consistency. - The Dependency Injection system now supports async providers in nested dependencies.
- GenericAlias was changed since Python 3.9+ to types.GenericAlias.
Fixed
- Exception handler for HTTPException was not properly handling the response from the shortcuts.
Version 0.2.1
Added
- Support for Python 3.14
- Support for contrib shortcuts provided by Lilya.
Version 0.2.0
Added
add_controlleralternative toadd_apiview.
Changed
-
Update
runserverdirective to reflect the new Ravyn colour palette. -
Webhooks are now inside
routing.webhooksand the handlers redundancy was removed. -
Routing apis is now called
controllers. For importing reasons, this is the update:Before
from ravyn.routing.apis
After
from ravyn.routing.controllers
-
has_permissionhas changed signature.**Before
def has_permission(request, apiview)
After
def has_permission(request, controller)
-
The
routing/apiviewURL in the docs is now pointing torouting/controllers.
Version 0.1.0
Why is this happening? Is Esmerald going away? No, absolutely not. Esmerald remains and will remain as is and will keep growing
as it has its own use cases but under a new name, Ravyn.
The reason for the rebranding its because the ecosystem has grown a lot and Esmerald was the first tool being created.
Since then it was released as version 3+.
This happened because of internal dependencies, and we already removed all of them but goes a bit off compared to the rest
of the ecosystem.
This is the reason for Ravyn to come into existence and to keep everything aligned with the future projects coming out.
Please check the migration guide for more details about how to migrate from Esmerald to Ravyn.
Official Ravyn release
We are proud to announce the first official release of Ravyn (0.1.0) —
the async web framework that builds on the strengths of Esmerald while embracing a new identity and future roadmap.
Highlights
- New Identity: Esmerald has been renamed to Ravyn. All imports, documentation, and branding now reflect this change.
Migration from Esmerald
This is not mandatory at all but if you want to start using Ravyn right away, you can simply do:
- Replace all
esmeraldimports withravyn. - No breaking changes in core APIs — projects built on Ravyn should run with minimal adjustments.
Please check the migration guide for more details about how to migrate from Esmerald to Ravyn.
Again, Ravyn is a rebrand of Esmerald with the same concepts, same everything.
Version 3.9.4
Changed
@directive(display_in_cli=True)discovery improved by showing errors and not throw directly
an exception.- Update minimum Sayer version to 0.6.0.
- Custom directives under
@directiveare now displayed in a "Custom directives" group.
Version 3.9.3
Added
- Support for
@directiveto be display when callingesmeraldclient. - display_in_cli to
@directive. - Relay documentation section.