From cb5f6abdd0e59b08728cb9b3a429b9517ac65539 Mon Sep 17 00:00:00 2001 From: Jeremiah Lowin <153965+jlowin@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:51:43 -0400 Subject: [PATCH] Pin burner-redis below the Windows-crashing 0.1.7 release (#4618) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Pin burner-redis below the Windows-crashing 0.1.7 release burner-redis 0.1.7 crashes the interpreter (native fault, no Python traceback) running the memory:// task backend under pytest-xdist on Windows — reproduced on GitHub Actions windows-latest via the 'Upgrade checks' workflow, confirmed absent on macOS/Linux with the identical dependency versions. pydocket only floors burner-redis at >=0.1.6, so capping pydocket's own version is not enough: a resolver remains free to pick the newest burner-redis satisfying that floor. fastmcp-tasks previously pinned pydocket>=0.20.0 with no upper bound, so a fresh 'pip install fastmcp[tasks]' today can resolve straight into the broken combination for a real Windows user on the default backend. Pin burner-redis<0.1.7 directly, which in turn caps pydocket to <0.20.2 (the last release that doesn't itself require burner-redis>=0.1.7). Verified the pin holds under both locked and --upgrade (highest) resolution. * Scope the burner-redis pin to Windows only burner-redis 0.1.7 is confirmed fine on macOS/Linux (full suite green there with the identical upgraded dependencies) - only Windows crashes. The previous unconditional pin blocked every platform from newer pydocket/burner-redis releases unnecessarily. Add sys_platform == 'win32' to the burner-redis constraint so only Windows installs are capped. Verified via uv pip compile --python-platform: macOS/Linux resolve to burner-redis 0.1.7 / pydocket 0.23.0 (unblocked); Windows resolves to burner-redis 0.1.6 / pydocket 0.20.1 (still capped). --- fastmcp_tasks/pyproject.toml | 11 +++++++++++ uv.lock | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/fastmcp_tasks/pyproject.toml b/fastmcp_tasks/pyproject.toml index bed6d05f0..a491aaaa8 100644 --- a/fastmcp_tasks/pyproject.toml +++ b/fastmcp_tasks/pyproject.toml @@ -54,4 +54,15 @@ fallback-version = "0.0.0" dependencies = [ "fastmcp-slim[server]=={{ version }}", "pydocket>=0.20.0", + # burner-redis 0.1.7's Windows build crashes the interpreter (native fault, + # no Python traceback) running the memory:// backend under pytest-xdist — + # reproduced on GitHub Actions windows-latest, confirmed absent on + # macOS/Linux with the same versions (full suite green there under the + # identical upgraded dependencies). pydocket only floors it at >=0.1.6, so + # capping pydocket alone is not enough: a resolver is free to pick the + # newest burner-redis satisfying that floor regardless. Pin burner-redis + # directly on Windows only (which in turn caps pydocket to <0.20.2 there, + # the last release that doesn't itself require burner-redis>=0.1.7) until + # upstream ships a fix — other platforms are unaffected and stay unpinned. + "burner-redis<0.1.7; sys_platform == 'win32'", ] diff --git a/uv.lock b/uv.lock index e235a7c2b..7bf07c4f6 100644 --- a/uv.lock +++ b/uv.lock @@ -10,7 +10,7 @@ resolution-markers = [ ] [options] -exclude-newer = "2026-07-17T00:06:59.485533Z" +exclude-newer = "2026-07-17T00:42:32.518243Z" exclude-newer-span = "P1W" [options.exclude-newer-package] @@ -1087,12 +1087,14 @@ provides-extras = ["anthropic", "apps", "azure", "client", "code-mode", "gemini" name = "fastmcp-tasks" source = { editable = "fastmcp_tasks" } dependencies = [ + { name = "burner-redis", marker = "sys_platform == 'win32'" }, { name = "fastmcp-slim", extra = ["server"] }, { name = "pydocket" }, ] [package.metadata] requires-dist = [ + { name = "burner-redis", marker = "sys_platform == 'win32'", specifier = "<0.1.7" }, { name = "fastmcp-slim", extras = ["server"], editable = "fastmcp_slim" }, { name = "pydocket", specifier = ">=0.20.0" }, ]