Releases: sparckles/Robyn
Releases · sparckles/Robyn
v0.48.0 - add dependency injections
What's Changed
- feat: add dependency injections by @DarrenSeng @Frodriguez116 @sansyrox in #569
New Contributors
- @DarrenSeng made their first contribution in #569
- @Frodriguez116 made their first contribution in #569
Full Changelog: v0.47.0...v0.48.0
Sample Usage
https://robyn.tech/documentation/api_reference/dependency_injection
v0.47.0 - [BREAKING 🚨] - Replace `headers` dict with a custom `multimap`
What's Changed
New headers object
class Headers:
def __init__(self, default_headers: Optional[dict]) -> None:
pass
def set(self, key: str, value: str) -> None:
"""
Sets the value of the header with the given key.
If the key already exists, the value will be appended to the list of values.
Args:
key (str): The key of the header
value (str): The value of the header
"""
pass
def get(self, key: str) -> Optional[str]:
"""
Gets the last value of the header with the given key.
Args:
key (str): The key of the header
"""
pass
def populate_from_dict(self, headers: dict[str, str]) -> None:
"""
Populates the headers from a dictionary.
Args:
headers (dict[str, str]): The dictionary of headers
"""
pass
def contains(self, key: str) -> bool:
"""
Returns:
True if the headers contain the key, False otherwise
Args:
key (str): The key of the header
"""
pass
def is_empty(self) -> bool:
pass
Full Changelog: v0.46.0...v0.47.0
v0.46.0 - [BREAKING 🚨] - Replace `queries` with `query_params` and replace `dict` with a custom `multimap`
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #683
- Fix a few typos in documentation by @danielhoherd in #689
- docs: replace beta community link with new link by @sansyrox in #690
- Fix typo in file uploads docs by @Abdur-rahmaanJ in #694
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #692
- docs: add docs for v0.45.0 - improve create robyn app by @sansyrox in #700
- fix: add a multi map data structure to query parameters by @sansyrox in #699
New Contributors
- @danielhoherd made their first contribution in #689
Full Changelog: v0.45.0...v0.46.0
v0.45.0 - Create Robyn App on steroids!
What's Changed
- feat: add ability in robyn cli to scaffold example programs with various DBs by @bwdq in #584
- fix: .gitignore fix for docs_src by @Mr-Sunglasses in #673
- style: add better log message for route population by @sansyrox in #682
Doc Updates
- docs: update metadata by @sansyrox in #674
- docs: Changing from bash to python for authentication script by @jeasoft in #677
- docs: fix pip install command for strawberry and Robyn by @jeasoft in #676
- docs: fix import error in plugin docs by @Mr-Sunglasses in #681
- docs: Fixing Future Roadmap path by @jeasoft in #675
- docs: add Daniel's testimonial by @sansyrox in #670
New Contributors
Full Changelog: v0.44.2...v0.45.0
Sample Usage
python3 -m robyn --create
? Directory Path: .
? Need Docker? (Y/N) Y
? Please select project type (Mongo/Postgres/Sqlalchemy/Prisma): Postgres
Creating a new Robyn project '/Users/sanskar/test_dumpster/robyn-new'...
New Robyn project created in '/Users/sanskar/test_dumpster/robyn-new'
v0.44.2 - support Python 3.12 and minor fixes in main cli
What's Changed
- Add robyn env docs by @sansyrox in #655
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #660
- migrate to new docs by @sansyrox in #661
- style: adopt ruff format by @sansyrox in #665
- docs: update docs link by @sansyrox in #666
- chore: adopt python 3.12 by @sansyrox in #668
Full Changelog: v0.44.1...v0.44.2
v0.44.1 - fix import-error in --create robyn app and other fixes
What's Changed
- docs: Docs suggestions by @elliotwaite in #650
- fix broken links in docs readme by @Daksh in #652
- docs: New docs fixes by @elliotwaite in #651
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #649
- ci: use nox by @IdoKendo in #623
- fix: import-error and broken docs by @Mr-Sunglasses in #658
New Contributors
- @elliotwaite made their first contribution in #650
- @Daksh made their first contribution in #652
Full Changelog: v0.44.0...v0.44.1
v0.44.0 - [🚨BREAKING] - Add a new way of using websockets - implement broadcasts and sends
What's Changed
- fix: websockets by @sansyrox in #620
- docs: add docs for request.json by @sansyrox in #641
- docs: add docs for architecture by @sansyrox in #645
- docs: add docs for framework performance comparison by @sansyrox in #647
- docs: add docs for plugins by @sansyrox in #648
@websocket.on("message")
async def message(ws: WebSocketConnector, msg: str) -> str:
global websocket_state
websocket_id = ws.id
state = websocket_state[websocket_id]
resp = ""
if state == 0:
resp = "Whaaat??"
await ws.async_broadcast("This is a broadcast message")
ws.sync_send_to(websocket_id, "This is a message to self")
elif state == 1:
resp = "Whooo??"
elif state == 2:
resp = "*chika* *chika* Slim Shady."
websocket_state[websocket_id] = (state + 1) % 3
return resp
Full Changelog: v0.43.0...v0.44.0
v0.43.0 - Breaking 🚨 - Replace `url` parameter in the `app.start` and fix app router headers
What's Changed
- fix: pass response headers from app to router by @IdoKendo in #625
- Replace
url
parameter in theapp.start
by @carlosm27 in #614
Full Changelog: v0.42.2...v0.43.0
v0.42.2 - fix minor issue with --create flag
Full Changelog: v0.42.1...v0.42.2
- Fix Typo - bb0b8e2
v0.42.1 - expose Url objects for test clients and performance improvements
What's Changed
- Update README.md by @tushar5526 in #634
- feat: enable lazy evaluation for logger by @IdoKendo in #633
- feat: add Request and Url objects constructors to enable easier testing by @IdoKendo in #630
New Contributors
- @tushar5526 made their first contribution in #634
Full Changelog: v0.42.0...v0.42.1