n8n 2.27.4 - Fixes relative imports for allowlisted Python packages
This patch release resolves an issue that prevented allowlisted Python packages from importing their own submodules using relative imports. The fix restores expected import semantics for Python-based nodes and integrations, reducing runtime import errors in workflows that embed Python code.
What changed
Version 2.27.4 addresses a specific integration bug: allowlisted Python packages were being prevented from resolving their own submodules via relative imports. The change corrects import handling so that packages explicitly permitted by the allowlist behave like standard Python packages when used inside n8n's Python execution environment.
Why it matters to businesses
Many organizations rely on Python-based nodes to implement custom logic, data transformations, or to call small, packaged libraries within automation workflows. When relative imports break, those nodes can fail at runtime, causing workflow errors, delayed processes and increased debugging time. Restoring correct import semantics reduces operational risk, improves developer productivity, and preserves investments in in-house Python libraries.
Practical guidance for leaders
- Validate: Run regression tests for all workflows that use Python nodes or internal packages after upgrading to 2.27.4.
- Governance: If you use an allowlist to control runtime packages, confirm that your policy explicitly includes the packages you expect and that dependency trees are accounted for.
- CI/CD: Incorporate smoke tests that exercise Python-based workflows in your continuous delivery pipeline to catch similar issues early.
Adopt the patch promptly in environments that use Python nodes. For larger organizations, treat this as a reminder to formalize testing for language runtimes embedded in automation platforms and to track patch releases on both major and maintenance branches to avoid unexpected regressions.
Original Source
n8n (GitHub)
