- Standardized event status handling on
maybe- Added
EventStatus.MAYBEas the primary SDK value for this status - Deprecated
EventStatus.TENTATIVEas a legacy alias and serialize it asmaybe - Normalize both API values
maybeandtentativetoEventStatus.MAYBE - Fall back to
nullfor unknown event status values instead of failing deserialization
- Added
- Added request-body support to booking cancellation via
Bookings.destroy()andNylasClient.executeDelete(), allowingcancellation_reasonto be sent while keeping the legacy no-body booking destroy overload unchanged
- Multi-credential authentication support allowing multiple provider credentials per Connector
CreateCredentialRequest.Connectorclass for creating connector credentials withclient_id,client_secret, and optional extra properties liketenantcredentialIdfield inUrlForAuthenticationConfigfor hosted auth URL generation viaurlForOAuth2andurlForOAuth2PKCEcredentialIdfield inCreateGrantRequestfor custom authenticationcredentialIdfield inGrantresponse modelactiveCredentialIdfield inConnectorresponse modelactiveCredentialIdfield inUpdateConnectorRequestfor setting the active credential on a Connector
- Enhanced
CredentialData.ConnectorOverrideto support optionalclientIdandclientSecretfields - Support for
specific_time_availabilityandonly_specific_time_availabilityfields inAvailabilityParticipantto override open hours configurations for specific dates and time ranges smtpRequiredfield inUrlForAuthenticationConfigto ensure users enter their SMTP settings during hosted authentication
CreateCredentialRequest.Override- UseCreateCredentialRequest.Connectorinstead
- Client-side validation for
CreateEventRequest.When.TimespanandUpdateEventRequest.When.Timespanto ensureendTimeis afterstartTime, preventing confusing API errors validationErrorsfield toNylasApiErrorto capture field-level validation errors from the API- Enhanced error messages in
NylasApiError.toString()to display validation errors, provider errors, and request IDs for easier debugging
- Improved error handling in
NylasClientto provide more descriptive error messages when API responses cannot be parsed, including response body preview and status codes
is_plaintextsupport inSendMessageRequestandCreateDraftRequestto control plain text vs HTML message formatting
SendMessageRequest.sendAtfield changed fromInt?toLong?to support Unix timestamps beyond 2038. Maintains backward compatibility through method overloading - existingIntparameters are automatically converted toLong. Note: Kotlin users passing integer literals may need to specify type explicitly (e.g.,1620000000Lor1620000000 as Int).
- Added missing
Skype for Consumeras a conferencing provider to ConferencingProvider - Added missing
Skype for Businessas a conferencing provider to ConferencingProvider
CreateEventAutoConferencingProviderenum for autocreate conferencing providers in event creationCreateEventManualConferencingProviderenum for manual conferencing providers in event creationUpdateEventAutoConferencingProviderenum for autocreate conferencing providers in event updatesUpdateEventManualConferencingProviderenum for manual conferencing providers in event updates
- Enhanced
CreateEventRequest.Conferencingto use dedicated provider enums while maintaining backward compatibility - Enhanced
UpdateEventRequest.Conferencingto use dedicated provider enums while maintaining backward compatibility
CreateEventRequest.Conferencing.Autocreate.fromConferencingProvider()- UseCreateEventAutoConferencingProviderinsteadCreateEventRequest.Conferencing.Details.fromConferencingProvider()- UseCreateEventManualConferencingProviderinsteadUpdateEventRequest.Conferencing.Autocreate.fromConferencingProvider()- UseUpdateEventAutoConferencingProviderinsteadUpdateEventRequest.Conferencing.Details.fromConferencingProvider()- UseUpdateEventManualConferencingProviderinstead
unknownas a conferencing provider
- Upgraded OkHttp dependency from 3.14.5 to 4.12.0
- Support for
unknownas a conferencing provider.
- Support for
logofield inEmailTemplateclass to specify a custom logo URL for booking emails - Support for
show_nylas_brandingfield inEmailTemplateclass to control Nylas branding visibility in booking emails - Support for
metadatafield type inAdditionalFieldTypeenum for scheduler additional fields - Support for
include_hidden_foldersquery parameter inListFoldersQueryParamsfor Microsoft accounts to control whether hidden folders are included in the response
- Support for
include_tracking_optionsandraw_mimevalues inMessageFieldsenum - Support for
tracking_optionsfield inMessagemodel to access message tracking settings - Support for
raw_mimefield inMessagemodel to access Base64url-encoded message data - Support for query parameters in
Messages.find()method to specify fields likeinclude_tracking_optionsandraw_mime - Added
Builderpattern toFindMessageQueryParamsfor consistency with other query parameter classes - Support for
single_levelquery parameter inListFoldersQueryParamsfor Microsoft accounts to control folder hierarchy traversal - Added folder examples demonstrating the new
single_levelparameter usage in both Java and Kotlin
- Fixed
ListThreadsQueryParams.inFolderparameter to properly handle single folder ID filtering as expected by the Nylas API. The API only supports filtering by a single folder ID, but the SDK was incorrectly accepting a list and only using the last item. Now the SDK uses the first item from a list if provided and includes overloadedinFolder(String)method in the Builder for new code. The list-based method is deprecated and will be changed to String in the next major version for backwards compatibility.
ListThreadsQueryParams.Builder.inFolder(List<String>)is deprecated in favor ofinFolder(String). The Nylas API only supports filtering by a single folder ID. In a future major version, this parameter will be changed to accept only a String.
- Support for
nameattribute in Scheduler Configuration class to allow custom naming of Scheduling Pages
- ListEventQueryParams to use a more specific type for orderBy parameter and correct JSON name.
- Added support for Notetaker APIs
- Added support for Notetaker via the calendar and event APIs
- Added
original_start_timeproperty to the Event model
- Added support for listing import events via
events.listImportEvents() - Added sandbox to the Environment Enum
- Made
NylasClientand its methods open to enable mocking in tests - Added pagination support for folders
- Fixed issue where reminders were not being updated correctly when updating an event
- Added support for
skypeForConsumeras conferencing provider
- Fixed response type for returning list of scheduled messages
2.5.0 - Released 2024-09-25
- Added new error class
NylasSdkRemoteClosedErrorfor when the remote connection is closed - Added support for new filter fields for listing events
- Added response headers to Nylas API error objects
2.4.1 - Released 2024-07-26
- Added missing
masterEventIdfield inEventmodel - Added missing
EWSprovider inProviderenum - Fixed issue where the revoke OAuth token function was not working correctly
2.4.0 - Released 2024-06-28
- Added webhook validation support
- Fixed issue where from field was not accessible when sending messages
2.3.2 - Released 2024-06-26
- Fixed default When type
- Fixed issue where from field was not accessible when creating drafts
2.3.1 - Released 2024-06-10
- Fixed code exchange response for scope value
2.3.0 - Released 2024-04-30
- Added missing webhook triggers
- Added provider field to token exchange response
- Added support for clean messages endpoint
- Added support for custom headers field for Drafts and Messages
- Added support for overriding various fields of outgoing requests
- Fixed issue where attachments < 3mb were not being encoded correctly
2.2.1 - Released 2024-03-05
- Added support for
providerfield in code exchange response
- Improved message sending and draft create/update performance
- Change default timeout to match API (90 seconds)
2.2.0 - Released 2024-02-27
- Added support for
roundTofield in availability response - Added support for
attributesfield in folder model - Added support for icloud as an auth provider
- Fixed builder for FindAttachmentQueryParams
- Fixed scopes to be optional for IMAP grants
- Fixed typo in updating grant schema
- Fixed endpoint for rotating webhook secrets
- Fixed response type for returning webhook IP addresses
- Removed unnecessary
clientIdfrom detectProvider params
2.1.0 - Released 2024-02-12
- Add support for getting OAuth token info
- Fix schema issues in the
Event,Message,Draft, andCodeExchangeResponsemodels
2.0.0 - Released 2024-02-05
- Renamed artifact from
nylas-java-sdktonylas. - Nylas SDK v2 supports the Nylas API v3 exclusively, dropping support for any endpoints that are not available in v3.
- Removed all REST calls from models and moved them directly into resources
- Full Kotlin support
- Created models for all API resources and endpoints, for all HTTP methods to reduce confusion on which fields are available for each endpoint
- Created error classes for the different API errors as well as SDK-specific errors
- Leveraged Moshi annotations for JSON serialization/deserialization as opposed to manually writing JSON maps
- Removed all REST calls from models and moved them directly into resources
- Non-builder ways for initializing
NylasClient - Local Webhook development support is removed due to incompatibility with the new API version
- Added support for querying events using customer event ID
- Added support for overriding the Event ID when updating, for recurring events
- Added support for
reply_to_message_idfield inMessage
1.21.0 - Released 2023-02-14
- Added missing
content_dispositionfield inFile - Added toJSON() and toMap() support to account owned models
- Added scheduler support for the EU region
- Fixed NullPointerException sporadically occurring when calling
Message.toString()
1.20.1 - Released 2023-02-09
- Provide default implementations for
WebhookHandlermethodsonOpen,onClose, andonError
- Fix
Tunnel.onMessagenot emitting individual deltas - Change
java-websocketdependency toapiconfiguration
1.20.0 - Released 2023-02-06
- Added local webhook testing support
- Added new enums for
Webhook.TriggersandWebhook.State
1.19.2 - Released 2023-01-24
- Fix
Event.hide_participantsnot serializing - Fix
Event.visibilitynot serializing - Fix
FreeBusynot having acalendar_idfield
1.19.1 - Released 2023-01-18
- Added missing setters for
FreeBusy
- Fixed typo in
Event.hide_participants
1.19.0 - Released 2022-11-18
- Added support for calendar colors (for Microsoft calendars)
- Added support for rate limit errors
- Set
Content-TypeandAcceptheaders on outgoing calls
- Fixed revoke access token always throwing an error
- Fixed participant status not serializing on Event creation
1.18.0 - Released 2022-10-06
- Added hide participants field for the
Eventclass - Added support for provider detection
- Added an enum for all known providers for native authentication
- Improved webhook notification support with the addition of more notification attributes and event metadata fields
- NylasAccount.revokeAccessToken() returns a boolean value now
- Fix error when updating occurrence of a recurring event
1.17.0 - Released 2022-09-22
- Add support for getting a single expanded message and thread
- Fixed issue where
Eventparticipants could never be entirely removed once set
1.16.0 - Released 2022-07-29
- Add missing event query parameters
- Add support for Event reminders
- Add support for additional Event fields
1.15.0 - Released 2022-07-15
- Add
interval_minutesfield in Scheduler booking config - Add
metadatafield toJobStatus
1.14.0 - Released 2022-06-14
- Add missing fields in Scheduler
- Add support for collective and group events
- Add support for calendar free-busy scope
- Add
redirect_on_errorparameter for Hosted Authentication
- Fixed enum value for
Scheduler.Config.Booking.OpeningHours.Days.Sunday
1.13.1 - Released 2022-04-22
- Add missing
orderandemailsfields inAvailabilityandTimeSlot
- Fixed
Participantstatus not being sent to the API when set
1.13.0 - Released 2022-03-31
- Added support for Delta
- Added support for new (beta) Integrations authentication (Integrations API, Grants API, Hosted Authentication for Integrations)
- Added
authentication_typefield toAccount
- Bump supported API version to v2.5
- Fixed incorrect property name for
Event.Notification.minutes_before_event
1.12.0 - Released 2022-03-08
- Added Outbox support
- Added support for Component CRUD
- Added support for Neural Categorizer
- Added support for
calendarfield in free-busy, availability, and consecutive availability queries - Added field for
phone_numberinParticipant
- Bump supported API version to v2.4
- Deprecated
checkFreeBusy(Instant, Instant, List<String>)andcheckFreeBusy(Instant, Instant, String)in favour ofcheckFreeBusy(FreeBusyQuery)
- Fix null error message when
HostedAuthentication.fetchToken()returns an API error
1.11.2 - Released 2022-02-01
- Remove use of
okhttp3.internallibrary
1.11.1 - Released 2022-01-24
- Fixed bug where an
IllegalArgumentExceptionis thrown when deserializingDraftwithmetadata
1.11.0 - Released 2022-01-20
- Added support for
Eventto ICS file generation - Added support for calendar availability
- Added support for modifying
Folder - Added support for Scheduler API
- Expanded metadata support for
Calendar,Account,Message, andDraft
1.10.3 - Released 2022-01-05
- Added support for the
forced_passwordHosted Auth setting - Added missing
EMAILscope
- Fixed bug where saving an event without participants threw a
NullPointerException
1.10.2 - Released 2021-12-23
- Added
falseparameter whennotifyParticipantsis false
- Address major
log4jvulnerability, updatedlog4jto v2.17.0
1.10.1 - Released 2021-12-13
- Address major
log4jvulnerability, updatedlog4jto v2.15.0
1.10.0 - Released 2021-12-08
- Add support for automatic meeting details
- Add support for Event notifications
- Fix bug where updating an event resulted in an API error
1.9.1 - Released 2021-09-22
- Workaround for Send Raw MIME where server gives an error when charset is specified
1.9.0 - Released 2021-08-30
- Add support for Event conferencing
- Add support for Account deletion
- MicrosoftExchangeProviderSettings easServerHost in favor of exchangeServerHost
1.8.0 - Released 2021-07-30
- Enabled support for Nylas API v2.2
- Add Event Metadata support
- Add support for new
RoomResourcefields - Add missing getters for Event.Recurrence fields
- Add support for Neural API Sentiment Analysis, OCR, Signature Extraction, and Clean Conversations
- Add getters for Time.timezone, Timespan.start_timezone, Timespan.end_timezone
1.7.0 - Released 2021-05-19
- Calendar.isPrimary field is now available
- Event timezones will be checked for valid IANA zone names when created with ZonedDateTime objects
- Deprecated Threads.setLabelIds method that takes an Iterable in favor for a Collection
- Fixed Threads.setLabelIds to convert to JSON list properly
- Fixed NullPointerException when deleting event from a virtual calendar
1.6.0 - Released 2021-04-24
RequestFailedExceptionnow creates aThrowabledetail message with the details of the request failure.
- Deprecated
RequestFailedExceptionmethodsgetResponseBodyandgetStatusin favor ofgetStatusCode,getErrorTypeandgetErrorMessage
1.5.0 - Released 2021-02-25
- Support for creating and updating Event timezones
- Deprecated public use of
RestfulQuerymethodsaddParametersandcopyAtNewOffsetLimit. They are for internal use only and will be removed from the public API in the future.
1.4.0 - Released 2020-12-11
- Calendar create, update, and delete support.
- Job status support. Many objects returned by the server from create and update operations will now include a job status id which can be used to track the status of syncing those changes back to the provider. Similarly, delete operations will directly return job status ids.
- Fix duplicate http logging when using NylasClient constructors (GH Issue #7)
1.3.0 - Released 2020-09-17
- Added Drafts.delete support
- NylasClient.Builder for better customization of NylasClient
- Default NylasClient to use HTTP/1.1 to workaround OkHttp 3 bug.
- Deprecated non-default NylasClient constructors
1.1.0 - Released 2020-07-28
Release 1.1.0 to customize client HTTP configuration
- Allow customizing configuration of the HTTP client passed to NylasClient constructor.
1.0.1 - Released 2020-06-17
Release 1.0.1 to address a major bug.
- Constructor for com.nylas.Event.Recurrence to allow creation of event recurrences. (GH Issue #4)
1.0.0 - Released 2020-06-13
Release 1.0.0 after users have been using it successfully.
- [BREAKING] Moved AuthenticationUrlBuilder to nested class HostedAuthentication.UrlBuilder
0.2.0 - Released 2020-04-27
This second release aims toward API stability so that we can get to v1.0.0.
- Build artifact now includes a build.properties file and transmits a build id in X-Nylas-Commit-Hash http header
- Webhooks collection now supports pagination
- [BREAKING] List/query methods now return objects of type com.nylas.RemoteCollection (instead of java.util.List) which support lazy iteration of results fetched from the server in batches of 100 (by default), or eagerly fetching all via fetchAll method
- [BREAKING] Updated timestamp/date apis to use standard java.time.Instant and java.time.LocalDate
- Other minor fixes
- [BREAKING] Removed unsupported AccessToken.token_type field
0.1.0 - Released 2020-02-25
Initial preview release