Releases: sparckles/Robyn
Releases · sparckles/Robyn
v0.70.0 - Experimental AI Features (agents and mcp server)
What's Changed
Experimental AI Features
First web framework with built-in AI agents and memory.
from robyn import Robyn
from robyn.ai import agent, memory
app = Robyn(__file__)
@app.post("/chat")
async def chat(request):
mem = memory(provider="inmemory", user_id="user")
ai_agent = agent(runner="simple", memory=mem)
result = await ai_agent.run(request.json().get("query"))
return {"response": result["response"]}
MCP Support
Native Model Context Protocol integration.
# MCP Resources
@app.mcp.resource("time://current")
def current_time() -> str:
return f"Current time: {datetime.now().isoformat()}"
@app.mcp.tool(
name="echo",
description="Echo back text",
input_schema={"type": "object", "properties": {"text": {"type": "string", "description": "Text to echo"}}, "required": ["text"]},
)
def echo_tool(args):
return args.get("text", "")
# MCP Prompts
@app.mcp.prompt(
name="explain_code",
description="Generate code explanation prompt",
arguments=[
{"name": "code", "description": "Code to explain", "required": True},
{"name": "language", "description": "Programming language", "required": False},
],
)
def explain_code_prompt(args):
code = args.get("code", "")
language = args.get("language", "unknown")
return f"""Please explain this {language} code:
{language}
{code}
Include:
1. What it does
2. How it works
3. Key concepts used
"""
Note
These features are very much experimental. Checkout the examples/
folder to see the new features in action.
Install: pip install robyn==0.70.0
Full Changelog: v0.69.0...v0.70.0
v0.69.0 - make robyn ~80% faster
v0.68.0 - add python3.13 support
What's Changed
- PyO3 Migration from v0.20.* to 0.24.* by @VishnuSanal in #1168
- fix: robyn builds failing for python v3.13 by @VishnuSanal in #1006
Full Changelog: v0.67.0...v0.68.0
v0.67.0 - flexible CORS configuration
What's Changed
- fix #1138 - Add support for generic types such as List[Object] by @yzutyc in #1139
- ci: fix Codspeed benchmark ci by @k4976 in #1169
- chore: fix typos by @hasansezertasan in #1166
- Flexible CORS Configuration Support by @Charlie-BU in #1159
New Contributors
- @yzutyc made their first contribution in #1139
- @hasansezertasan made their first contribution in #1166
- @Charlie-BU made their first contribution in #1159
Full Changelog: v0.66.2...v0.67.0
v0.66.2
What's Changed
- add BaseRobyn class by @dave42w in #1100
- docs: first version of chinese docs by @sansyrox in #1102
- Reduce imports, minimize variables, and unify code style by @Jonney in #1123
- dev_server should wait until the subprocess is complete by @Jonney in #1127
- docs: fix typo in 'organisation' by @erees-embarkvet in #1135
- fix: Fixed syntax error in mdx file. by @pythonhubdev in #1133
- fix: fix the docs search by @sansyrox in #1144
- ci: Fixing artifact conflict issue in ci by @k4976 in #1153
- ci: Upgrading deprecated actions in workflow by @k4976 in #1156
New Contributors
- @Jonney made their first contribution in #1123
- @erees-embarkvet made their first contribution in #1135
- @pythonhubdev made their first contribution in #1133
- @k4976 made their first contribution in #1153
Full Changelog: v0.65.0...v0.66.2
v0.65.0 - BREAKING 🚨 - deprecate views and some other updates
What's Changed
- docs: fix a typo in the custom exceptions documentation by @sansyrox in #1055
- add_route refactoring by @dave42w in #1060
- Add missing function return types (mostly None) to reloader.py by @dave42w in #1058
- remove redundant else statement in ws.py by @dave42w in #1052
- chore: temporary kludge to make websocket test past on ci by @dave42w in #1070
- chore: drop python 3.8 support by @sansyrox in #1079
- chore: suppress clippy warnings by @sansyrox in #1086
- fix: correction of "Closed" to "closed" in temporary ws test fix by @dave42w in #1078
- ci: update macos to 13 by @sansyrox in #1088
- chore: deprecate views by @sansyrox in #1096
- refactor: openApi made lazy. by @dave42w in #1066
Full Changelog: v0.64.2...v0.65.0
v0.64.2 - fix a bug in allow cors and internal refactors
What's Changed
- Two tiny corrections found by mypy 1.13 by @dave42w in #1032
- Update pyproject.toml by @dave42w in #1037
- Update README.md to encourage all tests are run by @dave42w in #1036
- Router refactor by @dave42w in #1043
- Feat: integrate uv in the ci pipelines and the docs by @Mr-Sunglasses in #1040
- Minimal mypy update to openapy.py, adding dict type by @dave42w in #1048
- Minimum change to SubRouter so get, post etc have same signature as Robyn by @dave42w in #1049
- fix: allow cors in robyn by @sansyrox in #1057
Full Changelog: v0.64.1...v0.64.2
v0.64.1 - fix a bug in `--disable-openapi-path`
What's Changed
- chore: reduce number of mypy warnings by @dave42w in #1023
- fix: disable openapi path by @sansyrox in #1031
Full Changelog: v0.64.0...v0.64.1
v0.64.0 - fix a bug in allow cors
What's Changed
- chore: sync poetry lock by @sansyrox in #1014
- docs: add better docs for local development by @sansyrox in #1018
- docs: fix typos in API Reference documentation by @nicdgonzalez in #1015
- Introducing Robyn Guru on Gurubase.io by @kursataktas in #1016
- fix: allow cors in robyn by @sansyrox in #1019
New Contributors
- @nicdgonzalez made their first contribution in #1015
- @kursataktas made their first contribution in #1016
Full Changelog: v0.63.0...v0.64.0
v0.63.0 - Introduce automatic OpenAPI docs generation
What's Changed
- feat: openapi implementation by @VishnuSanal in #890
- feat: introduce a disable openapi flag by @sansyrox in #929
- feat: openapi response schema by @VishnuSanal in #932
- fix: openapi regressions by @sansyrox in #942
- feat: openapi request bodies by @VishnuSanal in #937
- feat: openapi response schema by @VishnuSanal in #960
- refactor: revamp add OpenAPI route by @kigawas in #979
- feat: openapi config override by @VishnuSanal in #1002
- feat: finalise openapi by @sansyrox in #1010
Full Changelog: v0.58.2...v0.63.0