Merged
Conversation
- n8n community node v2.0.0 with full v1 backward compatibility - 18 resources, 60+ operations, Pachca Trigger with auto-webhook - VersionedNodeType pattern (V1/V2), SharedRouter, Simplify, pagination - Unit tests (309), CI workflow with version check and npm publish - README, CHANGELOG, DEVELOPMENT, CONTRIBUTORS docs - English OpenAPI overlay (openapi.en.yaml) with apply/validate scripts - n8n docs on dev.pachca.com: setup, resources, trigger, workflows, advanced, migration, troubleshooting (8 pages) - New n8n screenshots and workflow examples - C# SDK: improved examples structure - Regenerated SDKs (TypeSpec changes) - turbo.json: generate-n8n, overlay tasks
…ve scenarios.json
- Fix do-while + continue retry bug in makeApiRequestAllPages (inner for-loop) - Add PachcaTrigger node with webhook signature verification, IP allowlist, replay protection - Add credentials fields: signingSecret, webhookAllowedIps, botId - Add resolveBotId for automatic bot detection via token/info API - Add sanitizeBaseUrl with protocol validation - Add 25 error-path tests covering retries, pagination, validation errors - Improve generator: better field descriptions, display names, Content-Type handling - Various V2 description fixes across all resources
n8n fixes: - Fix filename sanitization: filter control chars + null bytes, truncate to 255 - Fix resolveResourceLocator: throw on null/undefined/empty values - Fix splitAndValidateCommaList: reject floats in int mode (Number.isInteger) - Fix replay protection: reject far-future timestamps (>1min), not just old n8n tests (3 new files, 77 tests): - trigger.test.ts: event filtering, signature verification, IP allowlist, replay protection - webhook-lifecycle.test.ts: checkExists, create, delete lifecycle methods - load-options.test.ts: formatUserName, searchChats, searchUsers, searchEntities, getCustomProperties SDK: - Remove hardcoded versions from SDK READMEs and docs (use latest/latest.release) - Fix SDK CI: skip commit/tag/release when no SDK files changed (any_changed output)
- trigger.mdx: add IP allowlist, replay protection, signature header details - setup.mdx: add Webhook Allowed IPs credential field - CHANGELOG.md: add Security and Bug Fixes sections to 2.0.0 - README.md: add Webhook Allowed IPs to credentials table
- Update pagination to use cursor-based approach with next_page detection - Regenerate all SDK clients (TypeScript, Python, Go, Swift, C#, Kotlin) - Update CLI list commands with cursor pagination support - Update n8n node with pagination fixes and new features - Add array-no-brackets and date-format generator tests - Update docs and SDK guides with pagination details
…ults - Remove FORM_TEMPLATES and template builder mode from n8n node (reviewer requirement) - Add CLI changelog entry for 2026.4.1 (avatars, sorting) - Fix CLI sort/order defaults for chats and messages list - Regenerate docs (updates.md, llms-full.txt)
- turbo.json: add ^build to generate-n8n to prevent parser race condition - sdk.yml: add concurrency group, --provenance for TS SDK, pin bun 1.3.4 - n8n.yml: add concurrency group, pin bun 1.3.4 - check.yml: add concurrency (cancel-in-progress for PRs) - deploy.yml: add concurrency (no cancel for production deploys) - gitlab.yml: add concurrency (no cancel for sync)
- Remove manual version check, auto-calculate patch from npm registry - Base version (major.minor) stays in package.json for manual control - Add --provenance for supply chain security - Add E409 handler for publish idempotency - Fix concurrency: cancel-in-progress only for PRs
- Auto-calculate patch from npm registry (base major.minor from package.json) - Remove package.json/changelog.json version match check - changelog.json stays for manual release notes, no longer blocks publish - Add E409 handler for publish idempotency
- Add change detection to skip publish when only tests/scripts/docs change - Auto-increment patch version from npm (base major.minor from package.json) - Gate version/build/scan/publish/release steps on real source changes - Add fetch-depth: 0 for git history in publish job
isolated-vm (transitive dep of n8n-workflow) fails to compile on CI. It is only needed at n8n runtime, not for build/check/test. Setting trustedDependencies to empty array prevents all lifecycle scripts from running during bun install.
trustedDependencies: [] blocked all postinstall scripts including esbuild (platform binary), sharp (image processing), and unrs-resolver (eslint). Whitelist these while still blocking isolated-vm native compilation.
generateEnumOptions used its own title-case logic which produced 'Id' instead of 'ID'. n8n linter requires uppercase abbreviations. Now reuses formatDisplayName which already handles Id→ID, Url→URL.
n8n-node build detects npm as package manager and runs npx tsc, which fails because typescript is not hoisted to root node_modules. Direct bun run tsc resolves tsc from the local n8n workspace.
n8n-node build also copies *.png and *.svg into dist/. Since we replaced it with direct tsc, need to copy assets manually for scan-community-package and npm publish.
Avoid copying e2e/screenshots into dist. Only icons from nodes/, icons/, and credentials/ directories are needed for the npm package.
Auto-versioning from npm will assign 2026.4.0 (no 2026.4.x published yet). Changelog had 2026.4.1 which would mismatch.
Python maps date-time to `datetime` with fromisoformat/isoformat serialization. Kotlin maps date-time to `OffsetDateTime` with custom KSerializer. Swift/C# simplified to treat date-only as plain strings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ry params Add @serializable(with = OffsetDateTimeSerializer::class) to union variant datetime fields. Add OffsetDateTime import to Client.kt. Convert datetime query params to string via .toString(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Python: datetime, Kotlin: OffsetDateTime, C#: DateTimeOffset, Go: time.Time, Swift/TypeScript: String. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Step 0 fetches a chat and prints created_at/last_message_at with their runtime types across all 6 SDK examples. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.