# Nylas Java SDK v2.16.0

Source: https://developer.nylas.com/docs/changelogs/2026-05-07-nylas-java-v2-16-0/

## Added

- **Expanded [events](/docs/reference/api/events/) coverage** — broader support across the events resource:
  - New `EventResource` model (`email`, `name`) and a `resources` field on `Event`, `CreateEventRequest`, and `UpdateEventRequest`.
  - `textDescription` field on `Event`, `CreateEventRequest`, and `UpdateEventRequest`.
  - `ListEventQueryParams.eventType` now accepts a `List<EventType>` so you can filter by multiple event types in a single call.
  - `select` and `tentativeAsBusy` query params on `ListEventQueryParams`, `FindEventQueryParams`, `CreateEventQueryParams`, and `UpdateEventQueryParams`.
  - `skipNylasEmail` on `SendRsvpQueryParams` for [sending an RSVP](/docs/reference/api/events/send-rsvp/) without the Nylas-generated email reply.
  - Expanded `EventNotetaker.MeetingSettings` and `EventNotetakerRequest.MeetingSettings` with `actionItems`, `summary`, `leaveAfterSilenceSeconds`, and `transcriptionSettings` (plus the nested settings classes those reference).
- **Search [messages](/docs/reference/api/messages/get-messages/) by metadata pair** — `ListMessagesQueryParams` now supports a `metadataPair` map, matching the existing pattern on `ListEventQueryParams`. The field is optional and defaults to `null`, so the change is backward compatible.
- **Google Calendar `color_id` on events** — events on Google Calendar grants expose the `color_id` field for setting and reading event colors. Thanks to [@burtonrhodes](https://github.com/burtonrhodes) for the contribution.

## Fixed

- **Events exception parsing** — corrected a parsing error when handling event-exception responses from the events API.
- **URL-encoded thread IDs** — thread IDs that contain reserved characters are now URL-encoded in request paths instead of being interpolated raw. Thanks to [@SAY-5](https://github.com/SAY-5) for the contribution.
- **Scheduler `Configuration.participants` default** — `participants` defaults to an empty list instead of `null`, removing a `NullPointerException` when building configurations without participants. Thanks to [@SAY-5](https://github.com/SAY-5) for the contribution.
- **[Folder](/docs/reference/api/folders/get-folder/) responses with `select`** — `Folder.id` and `Folder.grantId` no longer crash deserialization when the `select` query parameter omits them. Both fields fall back to an empty string when absent.