{"id":34605608,"url":"https://github.com/patrickjaja/n8n-latest-node-extraction","last_synced_at":"2026-05-27T15:31:49.819Z","repository":{"id":326271252,"uuid":"1104825753","full_name":"patrickjaja/n8n-latest-node-extraction","owner":"patrickjaja","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-26T19:17:27.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-29T15:44:11.366Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrickjaja.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-26T18:37:39.000Z","updated_at":"2025-11-26T19:17:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/patrickjaja/n8n-latest-node-extraction","commit_stats":null,"previous_names":["patrickjaja/n8n-latest-node-extraction"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/patrickjaja/n8n-latest-node-extraction","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickjaja%2Fn8n-latest-node-extraction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickjaja%2Fn8n-latest-node-extraction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickjaja%2Fn8n-latest-node-extraction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickjaja%2Fn8n-latest-node-extraction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrickjaja","download_url":"https://codeload.github.com/patrickjaja/n8n-latest-node-extraction/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickjaja%2Fn8n-latest-node-extraction/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33573248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T13:44:17.553Z","updated_at":"2026-05-27T15:31:49.814Z","avatar_url":"https://github.com/patrickjaja.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# n8n Node Version Updater\n\nA set of Node.js scripts to extract the latest node versions from an n8n source repository and automatically update workflows in your n8n instance to use those versions.\n\n## Overview\n\nThis project solves the problem of keeping n8n workflows up-to-date with the latest node versions. When n8n releases new node versions with bug fixes, features, or improvements, existing workflows continue using their original node versions. This toolset allows you to:\n\n1. **Extract** the latest node versions from the n8n source code\n2. **Analyze** your n8n workflows to find outdated nodes\n3. **Update** workflows to use the latest node versions (with backup)\n\n## Scripts\n\n### `generate_latest_versioning.js`\n\nScans the n8n source code repository to extract the latest version of each node.\n\n**Usage:**\n```bash\nnode generate_latest_versioning.js [path-to-n8n] \u003e versions.json\n```\n\n**Output:** JSON array of node versions:\n```json\n[\n  { \"node\": \"httpRequest\", \"version\": \"4.3\", \"package\": \"nodes-base\" },\n  { \"node\": \"agent\", \"version\": \"3\", \"package\": \"nodes-langchain\" }\n]\n```\n\n### `update-workflows.js`\n\nConnects to your n8n instance via the REST API and updates workflow nodes to their latest versions.\n\n**Usage:**\n```bash\n# Dry-run (preview changes without modifying)\nnode update-workflows.js \u003cversions-json-file\u003e\n\n# Apply changes (creates backups first)\nnode update-workflows.js \u003cversions-json-file\u003e --apply\n```\n\n**Features:**\n- Dry-run mode by default (safe preview)\n- Automatic backup of workflows before updating\n- Paginated API calls for large instances\n- Detailed console output showing all changes\n- Summary statistics\n\n## Setup\n\n### 1. Clone the repository\n\n```bash\ngit clone \u003crepo-url\u003e\ncd n8n-latest-node-extraction\n```\n\n### 2. Configure environment\n\nCopy the environment template and add your credentials:\n\n```bash\ncp .env.dist .env\n```\n\nEdit `.env` with your n8n instance details:\n- `N8N_API_KEY`: Your n8n API key (generate in n8n Settings \u003e API)\n- `N8N_INSTANCE`: Your n8n instance URL\n\n### 3. Generate version manifest\n\nClone or download the n8n source repository, then generate the versions file:\n\n```bash\n# If you have n8n source locally\nnode generate_latest_versioning.js /path/to/n8n \u003e latest-versions.json\n\n# Or use default path\nnode generate_latest_versioning.js \u003e latest-versions.json\n```\n\n### 4. Run the update script\n\n```bash\n# Preview changes first\nnode update-workflows.js latest-versions.json\n\n# Apply changes when ready\nnode update-workflows.js latest-versions.json --apply\n```\n\n## Output Example\n\n```\nDRY-RUN MODE (use --apply to make changes)\n\nLoading version manifest: latest-versions.json\nLoaded 543 node versions\n\nFetching workflows from n8n...\nFound 32 workflows\n\n● \"Employee RAG\" (RcuuNzarLb6HTg64) - 13 node(s) to update:\n  - AI Agent (agent): 1.9 → 3\n  - HTTP Request (httpRequest): 4.2 → 4.3\n  - Default Data Loader (documentDefaultDataLoader): 1 → 1.1\n\n✓ \"Error Handler\" (XAUr37GtiMhgmhzz) - all nodes up-to-date\n\n==================================================\nSUMMARY\n==================================================\nWorkflows checked:        32\nWorkflows with changes:   26\nTotal nodes to update:    120\nErrors:                   0\n\nRun with --apply to save changes.\n```\n\n## Backups\n\nWhen running with `--apply`, the script automatically creates JSON backups of each workflow before updating:\n\n```\n./backups/\n  workflow-abc123-My_Workflow-2025-11-26T19-43-00-000Z.json\n  workflow-def456-Another_Flow-2025-11-26T19-43-01-000Z.json\n```\n\n## Requirements\n\n- Node.js 18+ (uses native `fetch`)\n- n8n instance with API access enabled\n- n8n source repository (for version extraction)\n\n## Supported Node Packages\n\n- `nodes-base` - Core n8n nodes\n- `nodes-langchain` - AI/LangChain nodes\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickjaja%2Fn8n-latest-node-extraction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickjaja%2Fn8n-latest-node-extraction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickjaja%2Fn8n-latest-node-extraction/lists"}