v0.54.4 - fix trailing slash issue in urls
What's Changed
- chore: pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/812
- ci: fix linux cross builds by @sansyrox in https://github.com/sparckles/Robyn/pull/814
- chore: pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/815
- fix: trailing slash issue by @VishnuSanal in https://github.com/sparckles/Robyn/pull/819
New Contributors
- @VishnuSanal made their first contribution in https://github.com/sparckles/Robyn/pull/819
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.54.3...v0.54.4
v0.54.2 - fix: request.json to remove the extra double quotes in string types
What's Changed
- docs: fix path params docs by @sansyrox in https://github.com/sparckles/Robyn/pull/794
- docs: remove redundant imports from js code by @sansyrox in https://github.com/sparckles/Robyn/pull/790
- docs: fix documentation about middlewares by @sansyrox in https://github.com/sparckles/Robyn/pull/795
- chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/798
- chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/803
- chore: update setup.py by @jeffwidman in https://github.com/sparckles/Robyn/pull/806
- fix: request.json by @sansyrox in https://github.com/sparckles/Robyn/pull/808
New Contributors
- @jeffwidman made their first contribution in https://github.com/sparckles/Robyn/pull/806
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.54.1...v0.54.2
v0.54.1 - fix before request middleware for file uploads
What's Changed
- ci(commitizen): enforce conventional-commit syntax by @iiian in https://github.com/sparckles/Robyn/pull/776
- feat: add a default type in Query Params get by @sansyrox in https://github.com/sparckles/Robyn/pull/787
- fix: before request middleware for file uploads by @sansyrox in https://github.com/sparckles/Robyn/pull/785
New Contributors
- @iiian made their first contribution in https://github.com/sparckles/Robyn/pull/776
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.54.0...v0.54.1
v0.54.0 - add form data handling and file handling
What's Changed
- feat: add form data handling and file handling by @sansyrox in https://github.com/sparckles/Robyn/pull/778
- tests: add tests for form data by @sansyrox in https://github.com/sparckles/Robyn/pull/781
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.53.2...v0.54.0
v0.53.2 - add __contains__ in headers
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.53.2...v0.53.2
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/774
- fix: add contains in headers by @sansyrox in https://github.com/sparckles/Robyn/pull/775
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/779
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.53.1...v0.53.2
v0.53.0 - [BREAKING 🚨] - add a tuple return type and dict return cast to json
What's Changed
- docs: fix serve html and html docs by @sansyrox in https://github.com/sparckles/Robyn/pull/770
- feat: allow dictionary being returned directly by @sansyrox in https://github.com/sparckles/Robyn/pull/768
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.52.3...v0.53.0
v0.52.3 - fix the export namespace for websockets
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/762
- chore(deps): bump the github-actions group with 1 update by @dependabot in https://github.com/sparckles/Robyn/pull/760
- fix release ci by @sansyrox in https://github.com/sparckles/Robyn/pull/764
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/766
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.52.1...v0.52.3
v0.52.2 - Fix a typo in sqlalchemy and CI fixes
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/751
- Keep GitHub Actions up to date with GitHub's Dependabot by @cclauss in https://github.com/sparckles/Robyn/pull/754
- chore(deps): bump the github-actions group with 7 updates by @dependabot in https://github.com/sparckles/Robyn/pull/757
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/752
- Distutils is removed in Python 3.12 so switch to setuptools by @cclauss in https://github.com/sparckles/Robyn/pull/753
- fix: typo in sqlalchemy scaffold by @sansyrox in https://github.com/sparckles/Robyn/pull/759
New Contributors
- @dependabot made their first contribution in https://github.com/sparckles/Robyn/pull/757
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.52.0...v0.52.1
v0.52.0 - Add sqlmodel in Robyn scaffolds!
What's Changed
- Added sqlmodel scaffold by @leogregianin in https://github.com/sparckles/Robyn/pull/749
New Contributors
- @leogregianin made their first contribution in https://github.com/sparckles/Robyn/pull/749
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.51.3...v0.52.0
v0.51.3 - fix Dockerfile in robyn scaffolds
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/747
- fix: requirements.txt order in robyn scaffolds by @sansyrox in https://github.com/sparckles/Robyn/pull/750
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.51.2...v0.51.3
v0.51.1 - fix --dev reloading bug
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/739
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/740
- fix: robyn dev loading bug by @sansyrox in https://github.com/sparckles/Robyn/pull/743
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.51.0...v0.51.1
v0.51.0 - add a way to serve html strings
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/736
- feat: add a way to serve htmls by @sansyrox in https://github.com/sparckles/Robyn/pull/730
- fix(releases.jsx): docs' heading colors by @sansyrox in https://github.com/sparckles/Robyn/pull/737
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.50.0...v0.51.0
v0.50.0 - add direct rust imports!
What's Changed
- feat: add rust imports by @sansyrox in https://github.com/sparckles/Robyn/pull/717
- fix: rust imports by @sansyrox in https://github.com/sparckles/Robyn/pull/733
- docs: fix web sockets docs by @sansyrox in https://github.com/sparckles/Robyn/pull/732
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.49.3...v0.50.0
Docs - https://robyn.tech/documentation/api_reference/using_rust_directly
A detailed thought process here - https://sanskar.wtf/posts/future-of-web-apis
v0.49.3 - fix cli invocation
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/715
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/719
- Add argument 'origins' to Cors docs by @carlosm27 in https://github.com/sparckles/Robyn/pull/710
- docs: fix docs color scheme by @sansyrox in https://github.com/sparckles/Robyn/pull/720
- docs: fix headers docs by @sansyrox in https://github.com/sparckles/Robyn/pull/721
- feat: make startup link log clickable by @sansyrox in https://github.com/sparckles/Robyn/pull/722
- fix: cli invocation for Robyn by @sansyrox in https://github.com/sparckles/Robyn/pull/723
Sample Usage
robyn --version
works now. No need forpython -m robyn --version
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.49.0...v0.49.3
v0.49.0 - [BREAKING 🚨] - make `--dev` command a module only command
What's Changed
- docs: fix broken link for di page by @sansyrox in https://github.com/sparckles/Robyn/pull/707
- feat: make the cli the entry point by @sansyrox in https://github.com/sparckles/Robyn/pull/713
- docs: add docs for --dev flag by @sansyrox in https://github.com/sparckles/Robyn/pull/714
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.48.0...v0.49.0
Now, --dev
mode only works as a module command, e.g. python -m robyn --dev
We had to make --dev
command as a module only command to add support for file deletion. Deletion of files would break the module imports otherwise.
v0.48.0 - add dependency injections
What's Changed
- feat: add dependency injections by @DarrenSeng @Frodriguez116 @sansyrox in https://github.com/sparckles/Robyn/pull/569
New Contributors
- @DarrenSeng made their first contribution in https://github.com/sparckles/Robyn/pull/569
- @Frodriguez116 made their first contribution in https://github.com/sparckles/Robyn/pull/569
Full Changelog: https://github.com/sparckles/Robyn/compare/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
- feat: add multimap headers by @sansyrox in https://github.com/sparckles/Robyn/pull/704
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: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/683
- Fix a few typos in documentation by @danielhoherd in https://github.com/sparckles/Robyn/pull/689
- docs: replace beta community link with new link by @sansyrox in https://github.com/sparckles/Robyn/pull/690
- Fix typo in file uploads docs by @Abdur-rahmaanJ in https://github.com/sparckles/Robyn/pull/694
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/692
- docs: add docs for v0.45.0 - improve create robyn app by @sansyrox in https://github.com/sparckles/Robyn/pull/700
- fix: add a multi map data structure to query parameters by @sansyrox in https://github.com/sparckles/Robyn/pull/699
New Contributors
- @danielhoherd made their first contribution in https://github.com/sparckles/Robyn/pull/689
Full Changelog: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/584
- fix: .gitignore fix for docs_src by @Mr-Sunglasses in https://github.com/sparckles/Robyn/pull/673
- style: add better log message for route population by @sansyrox in https://github.com/sparckles/Robyn/pull/682
Doc Updates
- docs: update metadata by @sansyrox in https://github.com/sparckles/Robyn/pull/674
- docs: Changing from bash to python for authentication script by @jeasoft in https://github.com/sparckles/Robyn/pull/677
- docs: fix pip install command for strawberry and Robyn by @jeasoft in https://github.com/sparckles/Robyn/pull/676
- docs: fix import error in plugin docs by @Mr-Sunglasses in https://github.com/sparckles/Robyn/pull/681
- docs: Fixing Future Roadmap path by @jeasoft in https://github.com/sparckles/Robyn/pull/675
- docs: add Daniel's testimonial by @sansyrox in https://github.com/sparckles/Robyn/pull/670
New Contributors
- @bwdq made their first contribution in https://github.com/sparckles/Robyn/pull/584
- @jeasoft made their first contribution in https://github.com/sparckles/Robyn/pull/677
Full Changelog: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/655
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/660
- migrate to new docs by @sansyrox in https://github.com/sparckles/Robyn/pull/661
- style: adopt ruff format by @sansyrox in https://github.com/sparckles/Robyn/pull/665
- docs: update docs link by @sansyrox in https://github.com/sparckles/Robyn/pull/666
- chore: adopt python 3.12 by @sansyrox in https://github.com/sparckles/Robyn/pull/668
Full Changelog: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/650
- fix broken links in docs readme by @Daksh in https://github.com/sparckles/Robyn/pull/652
- docs: New docs fixes by @elliotwaite in https://github.com/sparckles/Robyn/pull/651
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/sparckles/Robyn/pull/649
- ci: use nox by @IdoKendo in https://github.com/sparckles/Robyn/pull/623
- fix: import-error and broken docs by @Mr-Sunglasses in https://github.com/sparckles/Robyn/pull/658
New Contributors
- @elliotwaite made their first contribution in https://github.com/sparckles/Robyn/pull/650
- @Daksh made their first contribution in https://github.com/sparckles/Robyn/pull/652
Full Changelog: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/620
- docs: add docs for request.json by @sansyrox in https://github.com/sparckles/Robyn/pull/641
- docs: add docs for architecture by @sansyrox in https://github.com/sparckles/Robyn/pull/645
- docs: add docs for framework performance comparison by @sansyrox in https://github.com/sparckles/Robyn/pull/647
- docs: add docs for plugins by @sansyrox in https://github.com/sparckles/Robyn/pull/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: https://github.com/sparckles/Robyn/compare/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 https://github.com/sparckles/Robyn/pull/625
- Replace
url
parameter in theapp.start
by @carlosm27 in https://github.com/sparckles/Robyn/pull/614
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.42.2...v0.43.0
v0.42.1 - expose Url objects for test clients and performance improvements
What's Changed
- Update README.md by @tushar5526 in https://github.com/sparckles/Robyn/pull/634
- feat: enable lazy evaluation for logger by @IdoKendo in https://github.com/sparckles/Robyn/pull/633
- feat: add Request and Url objects constructors to enable easier testing by @IdoKendo in https://github.com/sparckles/Robyn/pull/630
New Contributors
- @tushar5526 made their first contribution in https://github.com/sparckles/Robyn/pull/634
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.42.0...v0.42.1
v0.42.0 - add `request.json()` with startup performance improvements
What's Changed
- DOCS: fixes broken link to resources on README by @github-education in https://github.com/sparckles/Robyn/pull/628
- fix: remove redundant Arc by @IdoKendo in https://github.com/sparckles/Robyn/pull/626
- feat: add request.json() method by @IdoKendo in https://github.com/sparckles/Robyn/pull/629
New Contributors
- @github-education made their first contribution in https://github.com/sparckles/Robyn/pull/628
Full Changelog: https://github.com/sparckles/Robyn/compare/v0.41.1...v0.42.0