Releases: FROWNINGdev/django-orm-lens
Release list
v0.18.0
Full Changelog: v0.17.0...v0.18.0
v0.17.0
v0.16.0
v0.15.0
v0.14.0
v0.13.1
v0.13.0
What's Changed
- chore(deps)(deps-dev): update mcp requirement from <2,>=1.0 to >=1.0,<3 in /cli by @dependabot[bot] in #71
- chore(deps)(deps-dev): bump @types/node from 26.1.2 to 26.2.0 in the types group by @dependabot[bot] in #75
- chore(deps)(deps): bump @xyflow/react from 12.11.2 to 12.11.3 by @dependabot[bot] in #76
- chore(deps)(deps-dev): bump esbuild from 0.28.1 to 0.28.2 by @dependabot[bot] in #77
Full Changelog: v0.12.2...v0.13.0
v0.12.2
What's Changed
- chore(glama): declare maintainer so the catalog entry can be claimed by @FROWNINGdev in #73
New Contributors
- @FROWNINGdev made their first contribution in #73
Full Changelog: v0.12.1...v0.12.2
py-v1.13.0 - The MCP server runs on mcp 2.x, and 3.9 keeps mcp 1.x
Added
-
The MCP server runs on mcp 2.x, and 3.9 keeps mcp 1.x. mcp 2.0.0 deleted
mcp.server.fastmcp, the only namemcp_server.main()knew, so the extra
installed cleanly and then told the userrequires the 'mcp' packageabout a
package sitting in site-packages. The bound was capped at<2to stop that;
this lifts the cap by teaching the bootstrap both SDKs rather than by
widening a version range and hoping._load_server_class()prefersMCPServerfrommcp.serverand falls back
toFastMCP. The decorator andrun()halves are identical between the two,
so that import is the whole difference — except for one improvement: 2.x
takesversion=at construction, which is exactly what
_advertise_our_version()exists to fake on 1.x, so on 2.x the version now
reachesinitializethrough supported API instead of a private attribute.The extra splits on an environment marker rather than dropping a Python:
mcp>=1.0,<2below 3.10 andmcp>=2.0,<3at 3.10 and up. mcp 2.0 requires
3.10, and this package supports 3.9 — dropping 3.9 across a CLI whose whole
pitch is working against old, broken checkouts, to satisfy one optional
extra, would be the tail wagging the dog. Both ceilings stay closed, so a 3.0
that removesMCPServerthe way 2.0 removedFastMCPfails a test rather
than a user's terminal.Verified against a real mcp 2.0.0 install, not only against the import logic:
all thirteen tools register through the 2.x decorator,workspace_root
appears in everyinputSchema, andinitializereports this package's
version.
Fixed
-
CI never once constructed the MCP server against a real SDK. The
dev
extra does not pullmcp, so every test touching it hit itsFastMCP is Nonesentinel and skipped — twelve green matrix legs, zero coverage of the
bootstrap. That is precisely how an SDK deleting the module this server
imports became a user-visible failure instead of a red build. One leg
(3.12 / Django 5.2, where the marker resolves mcp 2.x) now installs the
extra. The SDK path does not vary by Django version, so one leg buys the
coverage and the other eleven buy only install time. -
_advertise_our_version()silently did nothing on mcp 2.x. It looked for
_mcp_server, the FastMCP handle;MCPServercalls it_lowlevel_server
and raisesAttributeErrorfor the old name. Measured, not assumed. The
handle is now resolved through_lowlevel_handle(), which tries both and
degrades to leaving the version alone rather than throwing if a third SDK
names it something else again.