v2.17.0

umami-software/umamiv2.17.0Mar 8, 2025by mikecao

AI Summary

Introduces batch sending capabilities for the API, allows payload overrides for IP and user-agent, and adds Do Not Track support to respect user privacy settings.

Key Highlights

  • New 'batch' API endpoint for processing multiple payloads
  • Payload overrides for IP, User-Agent, and Timestamp
  • Do Not Track (DNT) parameter support
  • Fixes for filtering errors and missing CORS headers
  • Improved paid ad channel detection

New Features

  • Batch send
  • Payload overrides
  • DNT support
  • CORS header fixes
  • Ad channel detection

Full Release Notes

## Features

### Batch send

You can now send data in batches, for example when trying to import a lot of data through the API. Instead of sending a single payload object, you would send an array of objects. It will be processed by the same logic from `/api/send`. To use this feature, you would make a `POST` request to `/api/batch`.

### Payload overrides

When you send a request to `/api/send`, Umami pulls data from the request such as user-agent and IP address. Now you can provide your own values in the payload. This is useful when you're sending from a server or mobile environment where you are not using a web browser. The values you can provide are:

- **ip**: IP address. Note that when you send a custom IP address, the normal geo headers from hosts like Vercel and Cloudflare are ignored and a local lookup will be made to get the country and city data.
- **userAgent**: User agent string. Note this must be in a valid format or your request might be flagged as a bot.
- **timestamp**: UNIX timestamp in seconds. If passed in, Umami will record the data with the given timestamp instead of the current time.

### Do Not Track

You can respect users DNT setting by adding the parameter `data-do-not-track=true` on your tracker script.

## Fixes
- Error when filtering using referrer #3255 
- CORS headers missing from custom endpoints. #3281 
- Journey report regression #3268
- Hostname is not allowed 127.0.0.1 #3279 
- Grouped referrers shows incorrect values #3257

## Updates
- Improved paid ad channel detection #3270 

## Thanks

@shrutesh1 @harryo @zeroCoder1 @Maxime-J