✨ feat(constants.py): update display name and description of the custom component to improve clarity and user experience
🔧 chore(custom_components.py): update display name of the custom component to improve clarity and user experience
🐛 fix(custom_component.py): handle case when code is empty in is_check_valid method to avoid potential error
🐛 fix(types.py): change field_value parameter type from str to Any in add_new_custom_field function to allow any value type
✨ feat(__main__.py): add support for components_path command line option to specify the directory containing custom components
🐛 fix(endpoints.py): rename settings.component_path to settings.components_path to match the updated attribute name in Settings class
🐛 fix(settings.py): rename component_path attribute to components_path for consistency and clarity
✨ feat(directory_reader.py): add methods to check if a specific type hint is imported and used in function arguments
✨ feat(directory_reader.py): add method to check if a type hint is used but not imported in the code
✨ feat(directory_reader.py): add check for usage of 'Optional' type hint without importing it in the process_file method
🔧 fix(custom_component.py): add return type hint to 'load_flow' method for better code documentation
🔧 fix(custom_component.py): add return type hint to 'list_flows' method for better code documentation
✨ feat(types.py): add validation check for custom component before building field config to ensure only valid components are processed
🐛 fix(types.py): handle empty function_args case to prevent errors when adding extra fields to the frontend node
🐛 fix(types.py): handle exceptions when creating custom component to prevent crashes and log errors
✨ feat(types.py): add support for advanced field configuration in add_new_custom_field function
🐛 fix(types.py): fix issue with incorrect assignment of field_advanced variable in add_code_field function
✨ feat(types.py): add support for advanced field configuration in add_code_field function
🐛 fix(types.py): fix issue with incorrect sorting of function_args in add_extra_fields function
✨ feat(types.py): add sorting of function_args in add_extra_fields function
🐛 fix(types.py): fix issue with incorrect usage of field_config in add_code_field function
✨ feat(types.py): add support for field_config in add_code_field function
🐛 fix(types.py): fix issue with incorrect usage of field_config in build_langchain_template_custom_component function
✨ feat(types.py): add support for field_config in build_langchain_template_custom_component function
🔀 refactor(custom_component.py): add optional `tweaks` parameter to `load_flow` method to allow for processing tweaks on the graph data
🔀 refactor(custom_component.py): rename `data_graph` variable to `graph_data` for consistency and clarity
🔀 refactor(custom_component.py): add logic to process tweaks on the `graph_data` if `tweaks` parameter is provided
🔧 fix(constants.py): update import statement for CustomComponent to reflect new location
🔧 fix(constants.py): update field_config to build_config to match changes in CustomComponent class
🔧 fix(constants.py): update build method signature to match changes in CustomComponent class
🔧 fix(test_custom_component.py): fix formatting issues in test_custom_component.py for better readability
✨ feat(test_custom_component.py): add import statements for 'patch' and 'MagicMock' to enable mocking in tests
🔬 test(test_custom_component.py): add test for the 'get_function' method of the Component class with valid code and function_entrypoint_name
🔬 test(test_custom_component.py): add test for the 'parse_assign' method of the CodeParser class
🔬 test(test_custom_component.py): add test for the 'get_code_tree' method of the Component class when given incorrect syntax
🔬 test(test_custom_component.py): add test for the '_class_template_validation' method of the CustomComponent class when the code is None
🔬 test(test_custom_component.py): add test for the 'get_function_entrypoint_args' method of the CustomComponent class
🔬 test(test_custom_component.py): add test for the 'get_function_entrypoint_return_type' method of the CustomComponent class
🔬 test(test_custom_component.py): add test for the 'get_main_class_name' method of the CustomComponent class when there is no main class
🔥 refactor(test_custom_component.py): remove commented out code and unused fixtures to improve code readability and maintainability
🔧 refactor(tests): remove commented out test cases and unused imports
✨ feat(tests): add new test case for list_flows method when there are no flows in the database
✨ feat(tests): add new test case for build_config method when code is not provided
✨ feat(tests): add new test case for list_flows method when there are multiple queries to the database
🔧 fix(custom_component.py): update return_type_valid_list to use CUSTOM_COMPONENT_SUPPORTED_TYPES dictionary
🔧 fix(types.py): update add_base_classes function to use CUSTOM_COMPONENT_SUPPORTED_TYPES dictionary instead of LANGCHAIN_BASE_TYPES
🐛 fix(custom_component.py): handle case when code is None in is_check_valid method of CustomComponent class
🐛 fix(custom_component.py): handle case when code is None in get_function_entrypoint_args property of CustomComponent class
🐛 fix(custom_component.py): handle case when code is None in get_function_entrypoint_return_type property of CustomComponent class
🐛 fix(custom_component.py): change flow_id parameter type from UUID to str in load_flow method of CustomComponent class
🐛 fix(util.py): ignore type error for multiprocess import in langflow.utils.util module
🐛 fix(util.py): handle case when _type is a type object in remove_optional_wrapper function of langflow.utils.util module
🐛 fix(agents.py): change variable name from fileTypes to file_types for consistency and readability
🐛 fix(documentloaders.py): change variable name from fileTypes to file_types for consistency and readability
🐛 fix(llms.py): change variable name from fileTypes to file_types for consistency and readability