‹ Reports
The Dispatch

OSS Report: n8n-io/n8n


n8n Development Team Embraces Modernization with Composition API Refactor

n8n, a workflow automation tool supporting over 200 integrations, is undergoing significant modernization as the development team refactors components to use Vue's composition API, enhancing maintainability and performance.

Recent Activity

The recent activity in the n8n project has been heavily focused on refactoring existing components to utilize the composition API, as seen in PRs like #10538 and #10530. This shift indicates a strategic move towards modernizing the codebase. Additionally, there is a strong emphasis on improving user experience through bug fixes and feature enhancements, such as PR #10528 addressing node position updates and PR #10523 improving the Wait Node.

Development Team Activities

Of Note

  1. The transition to the composition API is a major theme, reflecting a commitment to modern coding practices.
  2. The integration of AI capabilities through LangChain highlights a forward-looking approach towards automation with machine learning.
  3. Persistent issues with nodes like Google Sheets and PostgreSQL suggest areas needing attention for improved reliability.
  4. The high number of open pull requests and issues indicates active development but also potential challenges in resource allocation or prioritization.
  5. The project's extensive branching suggests ongoing experimentation and feature development, pointing to a dynamic development environment.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 9 6 25 0 1
30 Days 40 24 150 7 1
90 Days 118 91 409 46 1
1 Year 344 200 1468 172 1
All Time 1716 1519 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Ricardo Espinoza 3 1/1/0 4 224 22795
Iván Ovejero 10 35/30/0 68 529 11941
Tomi Turtiainen 4 28/27/0 34 275 7562
Elias Meire 5 7/5/0 11 52 7495
Milorad FIlipović 6 10/8/1 36 87 6251
कारतोफ्फेलस्क्रिप्ट™ 5 21/19/1 44 154 5236
Michael Kret 6 12/11/0 38 93 4664
Mutasem Aldmour 3 9/6/2 19 74 4157
Jon 4 7/6/0 19 641 3730
oleg 4 6/5/0 14 55 3338
Csaba Tuncsik 2 0/0/0 9 75 3168
Alex Grozav 5 23/20/0 33 63 2478
Shireen Missi 2 5/5/0 7 42 2416
Eugene 4 2/1/0 17 51 1761
jeanpaul 4 1/0/0 11 24 1614
Bram Kn 1 0/0/0 1 16 902
Val 1 2/2/0 4 25 611
CodeShakingSheep 1 2/1/0 2 2 589
github-actions[bot] 2 12/12/0 4 14 256
pemontto 1 2/0/0 1 3 223
Oz Weiss 2 1/1/0 3 5 175
Ria Scholz 2 1/1/0 3 5 133
Cornelius Suermann 1 1/1/0 1 2 37
feelgood-interface 1 0/0/0 1 1 36
Mickaël Andrieu 1 0/0/0 1 2 20
Marcus 1 0/0/0 1 1 13
Giulio Andreini 1 0/0/0 1 2 4
Javier Ferrer González 1 0/0/0 1 1 3
aya 1 0/0/0 1 1 2
Lotto (Lotto) 0 1/0/0 0 0 0
Jan Oberhauser 0 0/0/0 0 0 0
Nihaal Sangha (nihaals) 0 1/0/0 0 0 0
RONALDO ANDRADE (rondweb) 0 1/0/1 0 0 0
Hào Huỳnh (h40huynh) 0 1/0/0 0 0 0
Saad A. Bazaz (SaadBazaz) 0 1/0/0 0 0 0
Miguel Prytoluk (mprytoluk) 0 2/0/1 0 0 0
Pedro Solá (p3drosola) 0 1/0/0 0 0 0
None (ijunxyz123) 0 1/0/1 0 0 0
None (steveotherr) 0 1/0/1 0 0 0
Valentina Lilova (valentina98) 0 1/0/0 0 0 0
Jörn Bungartz (reikjarloekl) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The n8n project has seen a considerable amount of recent activity, with 197 open issues currently logged. Notably, there are several recurring themes in the reported issues, particularly concerning node functionality and integration problems. A significant number of issues relate to specific nodes, such as the Google Sheets and PostgreSQL nodes, indicating potential areas for improvement in their implementations. Additionally, there are several reports of bugs related to error handling and execution statuses that do not align with user expectations.

Several issues exhibit anomalies that could impact user experience significantly. For instance, the Google Sheets node's inability to handle multi-line headers correctly and the PostgreSQL node's failure to manage date serialization consistently highlight critical usability concerns. Moreover, the presence of unresolved issues regarding webhook handling and execution timeouts suggests that some workflows may not be functioning as intended, leading to frustration among users.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #10541: HTTP Request Tools: Subsequent AI calls with different parameters return identical responses

    • Priority: High
    • Status: Open
    • Created: 0 days ago
    • Updated: 0 days ago
  2. Issue #10522: Jira node list custom fields not working

    • Priority: High
    • Status: Open
    • Created: 1 day ago
    • Updated: 1 day ago
  3. Issue #10515: Wait node doesn't allow removing attribution for "form submission"

    • Priority: Medium
    • Status: Open
    • Created: 2 days ago
    • Updated: 2 days ago
  4. Issue #10505: Webhook pinned data is shown in already executed workflow

    • Priority: Medium
    • Status: Open
    • Created: 2 days ago
    • Updated: 1 day ago
  5. Issue #10503: Google BigQuery Node Returns Integer Values as String Instead of Number

    • Priority: High
    • Status: Open
    • Created: 3 days ago
    • Updated: 3 days ago
  6. Issue #10470: GMail Trigger: Fetching duplicate emails again

    • Priority: Medium
    • Status: Open
    • Created: 5 days ago
    • Updated: 5 days ago
  7. Issue #10459: AuthorizationHeaderMalformed on a custom AWS HTTP request

    • Priority: High
    • Status: Open
    • Created: 8 days ago
    • Updated: 4 days ago
  8. Issue #10446: Chat Trigger does not work well with Respond to Webhook

    • Priority: Medium
    • Status: Open
    • Created: 9 days ago
    • Updated: 9 days ago

These issues reflect ongoing challenges with various integrations and functionalities within n8n, particularly around nodes that interact with external services (e.g., Google APIs, Jira). The urgency of these issues varies, but many have been marked as high priority due to their potential impact on users' workflows.

Summary of Themes and Commonalities

  • Several issues revolve around specific nodes failing to perform as expected when interacting with external APIs (e.g., Google Sheets, Jira).
  • There are multiple reports of bugs related to error handling and execution statuses that do not align with user expectations.
  • Issues regarding data types being incorrectly handled (e.g., integers returned as strings) indicate a need for better data validation within nodes.
  • The presence of numerous unresolved issues related to webhooks suggests that this area may require additional attention from the development team.

Overall, while n8n continues to evolve and expand its capabilities, addressing these persistent issues will be crucial for maintaining user satisfaction and ensuring the platform's reliability.

Report On: Fetch pull requests



Report on Pull Requests

Overview

The n8n project has a total of 155 open pull requests (PRs) and has recently seen significant activity, with many PRs focused on enhancing features, fixing bugs, and improving the overall performance and usability of the platform. The latest PRs include improvements to existing nodes, migration to composition API, and enhancements in error handling.

Summary of Pull Requests

  1. PR #10539: feat(Pushover Node): Add support for Pushover TTL

    • State: Open
    • Created: 1 day ago
    • Summary: Introduces support for the TTL parameter in the Pushover node. Notable for lacking documentation updates and tests.
  2. PR #10538: refactor(editor): Migrate MainSidebar.vue to composition API (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Migrates the MainSidebar component to the composition API. Lacks descriptive summary and tests.
  3. PR #10533: ci: Ignore certain paths for e2e tests for PRs (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Aims to reduce unnecessary end-to-end testing time by ignoring certain paths in PRs.
  4. PR #10530: refactor(editor): Convert credential related components to composition API (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Converts credential-related components to use the composition API.
  5. PR #10528: fix(editor): Fix node positions update event in new canvas (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Addresses issues with node movement in the new canvas interface.
  6. PR #10527: refactor(core): Standardize filename casing for environments and eventbus (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Focuses on standardizing filename casing across various components.
  7. PR #10526: refactor(editor): Convert ResourceLocator to composition API (no-changelog)

    • State: Open
    • Created: 1 day ago
    • Summary: Converts ResourceLocator components to use the composition API.
  8. PR #10525: fix(editor): Ensure Datatable component renders All option

    • State: Open
    • Created: 1 day ago
    • Summary: Fixes rendering issues in the Datatable component.
  9. PR #10523: fix(Wait Node): Prevent waiting until invalid date

    • State: Open
    • Created: 1 day ago
    • Summary: Addresses edge cases where invalid dates could cause execution failures.
  10. PR #10518: feat(core): Switch to MJML for email templates

    • State: Open
    • Created: 2 days ago, edited 1 day ago
    • Summary: Migrates email templates to MJML format for improved styling and deliverability.

Analysis of Pull Requests

Themes and Commonalities

The recent pull requests reflect a strong focus on refactoring existing components to utilize Vue's composition API, which is indicative of a broader trend towards modernizing the codebase for better maintainability and performance. This is evident from multiple PRs such as #10538, #10530, #10526, and others that aim to convert various components to this new paradigm.

Additionally, there is a notable emphasis on improving user experience through bug fixes and feature enhancements across various nodes, such as in PRs #10528 (node position updates) and #10523 (Wait Node improvements). This suggests an active effort by contributors to refine existing functionalities based on user feedback or identified issues.

Anomalies

Several PRs are marked as "no-changelog," indicating that they may not be significant enough for release notes or that their changes are internal refactors rather than user-facing features. This could lead to confusion if users are not aware of these changes impacting their workflows indirectly.

Moreover, some PRs lack essential elements such as tests or documentation updates, which raises concerns about the robustness of these changes when merged into the main branch. For instance, PRs like #10539 and #10538 have noted missing tests or documentation, which could lead to regressions or misunderstandings about usage.

Lack of Recent Merge Activity

Despite the high number of open PRs, there seems to be a consistent pattern of merging activity with several recent merges into master, particularly concerning bug fixes and minor enhancements. However, some older PRs remain unaddressed or stagnant, which could indicate resource allocation challenges within the development team or prioritization issues regarding feature requests versus bug fixes.

Conclusion

The n8n project continues to evolve with a clear focus on modernizing its codebase while enhancing user experience through targeted improvements across its nodes and UI components. However, attention must be given to ensuring that all contributions are adequately tested and documented before merging to maintain stability and clarity within the project. The community's engagement remains strong, as evidenced by the volume of contributions and discussions surrounding ongoing developments.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Activities

  1. Ricardo Espinoza (RicardoE105)

    • Recent Activity:
    • Refactored App.vue and MainSidebar.vue to use the composition API.
    • Standardized component sections in the editor.
    • Collaborations: Worked closely with Milorad Filipović on UI components.
  2. Elias Meire (elsmr)

    • Recent Activity:
    • Converted several components, including Node.vue and credential-related components, to the composition API.
    • Made improvements to the ParameterInputList.vue.
    • Collaborations: Engaged with other developers for refactoring tasks.
  3. Bram Kn (bramkn)

    • Recent Activity:
    • Added new credentials for various API nodes including Datadog and Elastic Security.
    • Collaborations: Co-authored with Jonathan Bennetts and Shireen Missi.
  4. Tomi Turtiainen (tomi)

    • Recent Activity:
    • Implemented multiple features related to benchmarking, including reporting results and fixing API token handling.
    • Refactored benchmark scripts and CI configurations.
    • Collaborations: Frequently collaborates with Iván Ovejero and others on CI/CD improvements.
  5. Milorad Filipović (MiloradFilipovic)

    • Recent Activity:
    • Conducted extensive testing on new design system components and implemented unit tests.
    • Refactored multiple components to improve performance and maintainability.
    • Collaborations: Worked with multiple team members on UI/UX enhancements.
  6. Iván Ovejero (ivov)

    • Recent Activity:
    • Focused on core functionality improvements, including performance optimizations and security enhancements.
    • Refactored various internal services to decouple from hooks.
    • Collaborations: Collaborated with various team members on core functionalities.
  7. Michael Kret (michael-radency)

    • Recent Activity:
    • Addressed bugs across multiple nodes, including Google Sheets and Invoice Ninja nodes.
    • Improved error handling in various components.
    • Collaborations: Worked with Shireen Missi on bug fixes.
  8. Oleg Ivaniv (OlegIvaniv)

    • Recent Activity:
    • Added features related to AI nodes and improved existing node functionalities.
    • Contributed to the LangChain integration for AI capabilities.
    • Collaborations: Collaborated with multiple developers on AI-related features.
  9. Shireen Missi

    • Recent Activity:
    • Co-authored several feature additions for different nodes, particularly focusing on improving existing functionalities.
    • Collaborations: Worked alongside Bram Kn and Michael Kret.
  10. Jon (Joffcom)

    • Recent Activity:
    • Fixed issues across various nodes, ensuring better integration with external APIs.
    • Collaborations: Collaborated with other developers for bug fixes.
  11. Aditya (netroy)

    • Recent Activity:
    • Focused on CI/CD improvements and refactoring efforts across the project.
    • Collaborations: Worked closely with Iván Ovejero on core functionalities.

Patterns, Themes, and Conclusions

  • The recent activities reflect a strong emphasis on refactoring components to utilize the composition API, indicating a shift towards more modern coding practices within the team.
  • There is a notable collaboration among team members, particularly in feature development and bug fixing, which enhances code quality and project coherence.
  • The integration of AI capabilities through LangChain is a significant theme, showcasing the project's direction towards advanced automation features that leverage machine learning.
  • Frequent updates to CI/CD processes suggest an ongoing commitment to improving deployment efficiency and reliability.
  • The focus on testing, especially unit tests for new components, indicates a proactive approach to maintaining code quality as new features are added.

Overall, the development team is actively engaged in enhancing both the functionality and maintainability of the n8n project while embracing modern development practices.