# Connector Development Kit (CDK) - Enhancements to DDLs and Enums (Version 1.14.0)

### **What’s New in CDK v1.14.0?**

We're thrilled to introduce new, dynamic features to the Connector Development Kit (CDK), making your development experience more intuitive and powerful.

* **DDLs with Authentications**: Dynamic Drop Down Lists (DDLs) are now more versatile. Seamlessly integrate lists from external APIs, ensuring that your dropdowns are always up-to-date and relevant. To work with authenticated endpoints, you can now pass along tokens effortlessly for secure and seamless operations.
* **Enumerations with Custom Labels**: Enhance the readability and user-friendliness of your enums. Customise display names in dropdowns with simple annotations, making your connector cleaner and more intuitive.

📚 Documentation for all new features is available in our public \[**npm repo**]\(npm repo) and will soon be featured in our Developer Portal.

Detailed Feature Insights:DDLs (Dynamic Drop Down Lists)DDLs bridge the gap between your connector and external data sources. Imagine needing to display user names in a dropdown, sourced directly from another API. With DDLs, you can create a dynamic list where selections are linked to specific IDs or other data elements.

* **Enhanced with Authentication**

  * Securely connect to authenticated endpoints by passing tokens directly within your operation.
* **Simplified Syntax**

  * Utilise the \*\*`@lookupOperation `\*\*and  \*\*`@lookupInput `\*\*annotations to define your DDL operations and inputs with ease.

Example Syntax:

`typescriptCopy codeexport type ExampleOperationInput = \&#123;
    workspaceId: string;
    // ...    userId: string; // Defined with @lookupOperation and @lookupInput\&#125;;`

\`\`

Enumerations (Static Drop Down Lists)Enums are now more customisable. By default, they generate user-friendly display names. You can now customise these names to suit your connector’s tone and style with our new annotation feature.

* **Custom Labeling**

  * Use **`@enumLabels`** to provide distinct, custom labels for your enums, enhancing the user experience.

Example Syntax:

`typescriptCopy codeexport type ExampleOperationInput = \&#123;
    type: ActionType; // Enum with custom labels\&#125;;`
