# Legacy Components

A list of components that were removed, replaced, or changed as part of our ongoing work to make pipelines easier to build, maintain, and debug. Use this page to find out what changed and how to update your pipelines.

***

These components are hidden in Builder's component library by default, but if you're still using them in your pipelines, they'll continue to work. You can also show them in the library by clicking **More actions** next to the search field and choosing **Show deprecated components**. 

To learn how to update your pipelines and remove these components, see [Simplify Your Pipelines with Smart Connections](/docs/how-to-guides/designing-your-pipeline/simplify-pipelines.mdx).

To access these components in YAML:
1. Go to *Pipelines* and find the pipeline that uses the component.
2. Click **More actions** next to the pipeline and choose *Edit*. The pipeline opens in Builder.
3. In Builder, switch to the YAML editor. 

### Joiners

As components now accept connections from multiple outputs of the same list type, the following Joiners are no longer necessary:

- `DocumentJoiner`
- `ListJoiner`

For more information, see [Smart Connections](/docs/concepts/about-pipelines/about-pipelines.mdx#smart-connections).

### OutputAdapter

With automatic type conversion from `string` to `ChatMessage` and the other way around, you can skip the `OutputAdapter` component in most cases. You'll still need it for:
- Converting types that are not supported by automatic type conversion.
- Explicit control over formatting or ordering.

For details, see [Smart Connections](/docs/concepts/about-pipelines/about-pipelines.mdx#smart-connections).

### DeepsetChatHistoryParser

You can now connect the `Agent` directly to `Input`'s `messages` connection. `messages` is augmented with the chat history and the user's query.

### AnswerBuilder

You can connect `LLM` or `Agent` directly to `Output`'s `messages` connection, without the helper component `AnswerBuilder`.
