# Every Adwarp release, newest first.

Adwarp is an open-source MCP server and CLI for LinkedIn Ads and Google Ads that runs from your terminal. Each release ships to npm, the official MCP Registry and GitHub, and lands here the same day.

- [Releases on GitHub](https://github.com/adwarp-dev/adwarp/releases)
- [RSS feed](https://github.com/adwarp-dev/adwarp/releases.atom)

## Adwarp 0.4.0

v0.4.0, released Oct 19, 2026. [Release notes on GitHub](https://github.com/adwarp-dev/adwarp/releases/tag/v0.4.0)

Adwarp can now build LinkedIn matched audiences straight from HubSpot, the same way it already does from Salesforce.

### HubSpot audiences

- New MCP tool `audience_from_hubspot` and CLI command `adwarp audience from-hubspot`. Point it at a HubSpot list or a set of property filters, pick contacts or companies, and it uploads the result as a LinkedIn matched audience.
- It reads HubSpot with a private app token you create in your own HubSpot account, with read-only scopes for contacts, companies and lists. Put the token in `~/.adwarp/hubspot.json` or `ADWARP_HUBSPOT_TOKEN`.
- Contacts go through the same cleaning as CSV uploads, and only SHA-256 hashes of the emails leave your machine. `--dry-run` shows the counts and a masked sample, and uploads nothing.
- It runs locally only. The hosted endpoint doesn't register it.
- Setup and examples: https://adwarp.dev/docs/hubspot

### Docs and the hosted endpoint

- The docs now live at https://adwarp.dev/docs, with new setup pages for Claude Code, Claude Desktop, Codex, Cursor and the CLI, and a LinkedIn Ads overview.
- `docs/tools.json` now marks the tools that need your machine (CSV and Salesforce uploads, HubSpot audiences and the change journal) as not hosted.
- The hosted app at mcp.adwarp.dev is now just the MCP endpoint. Its old pages redirect to adwarp.dev, and `https://mcp.adwarp.dev/api/mcp` works as before.

### Other changes

- Company list uploads now check LinkedIn's 300,000 row limit, as contact lists already did.
- `docs/tools.json` lists 37 tools: 28 for LinkedIn Ads and 9 for Google Ads.

## Adwarp 0.3.0

v0.3.0, released Oct 18, 2026. [Release notes on GitHub](https://github.com/adwarp-dev/adwarp/releases/tag/v0.3.0)

Adwarp can now pause, resume and archive a single LinkedIn ad, without touching the rest of its ad group.

### What changed

- New MCP tool `update_ad` sets an ad's status to `PAUSED`, `ACTIVE` or `ARCHIVED`. It accepts a numeric creative id or a full `urn:li:sponsoredCreative`, and it works on the hosted endpoint too. The status is required, so leaving it out can never switch an ad on.
- New CLI commands `adwarp ad pause <creativeId>`, `adwarp ad resume <creativeId>` and `adwarp ad archive <creativeId>`. Each previews the change and sends it only with `--apply`. Resume says that it starts spend, and warns when the ad is still a draft.
- The change journal now records ads by their numeric id, so `adwarp lift creative <id>` finds ad creations and status changes.
- `docs/tools.json` lists 36 tools, 27 of them on the hosted endpoint.

Setting an ad to `ACTIVE` starts spend, so your assistant does it only when you explicitly ask. An active ad serves only while its ad group is active, and LinkedIn refuses to pause an ad that is still in review.

## Adwarp 0.2.0

v0.2.0, released Oct 18, 2026. [Release notes on GitHub](https://github.com/adwarp-dev/adwarp/releases/tag/v0.2.0)

Liam is now Adwarp, the open-source ad agent for LinkedIn Ads and Google Ads. This is its first release on npm and in the official MCP Registry.

### Install

- `npx -y adwarp --help` runs the CLI without installing anything.
- `claude mcp add adwarp -- npx -y adwarp mcp` registers the local MCP server with Claude Code. Other MCP clients run `npx` with the arguments `-y adwarp mcp`.
- `npm install -g adwarp` installs the `adwarp`, `adwarp-mcp` and `liam` commands.
- The Dockerfile at the root of the repo builds an image that runs the MCP server on stdio.

### What changed

- Commands, the MCP server name, setup prompts and links now say Adwarp. `liam` keeps working as an alias.
- Every internal name now says adwarp too: the `~/.adwarp` folder, `ADWARP_*` variables and `X-Adwarp-Linkedin-*` headers. Your setup carries over unchanged, because the old `~/.liads` folder, `LIADS_*` and `GADS_*` variables and `X-Liads-*` headers all still work.
- The hosted endpoint is `https://mcp.adwarp.dev/api/mcp`. `https://liam-mcp.vercel.app/api/mcp` keeps working.
- The docs live as Markdown in `docs/`, and `docs/tools.json` lists all 35 tools and which ones the hosted endpoint serves.
- Adwarp is listed in the official MCP Registry as `io.github.adwarp-dev/adwarp`, with the npm package and the hosted endpoint.

Everything Adwarp creates on LinkedIn starts as a draft and goes live only when you explicitly ask. Google Ads campaigns are created paused and can only be switched on in Google Ads.

Adwarp was called Liam before 0.2.0, and the 0.2.0 release lists every pull request back to the first one.

Unofficial. Not affiliated with or endorsed by LinkedIn or Google.

Canonical page: https://adwarp.dev/changelog
Last updated: 2026-10-18
