Skip to content

TW-5409: Java Release 2.17.0#328

Merged
googsvg merged 1 commit into
mainfrom
TW-5409-new-java-sdk-release-v-2-17-0
Jun 15, 2026
Merged

TW-5409: Java Release 2.17.0#328
googsvg merged 1 commit into
mainfrom
TW-5409-new-java-sdk-release-v-2-17-0

Conversation

@googsvg

@googsvg googsvg commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

[v2.17.0] - Release 2026-06-15

Added

  • Application administration updates
    • Applications.update() for PATCH /v3/applications
    • Application updates support sparse branding fields and callback_uris, including callback URI IDs for preserving existing callback URIs
    • Redirect URI updates use PATCH /v3/applications/redirect-uris/{id}
    • Manage Domains admin CRUD and verification endpoints on client.domains() via /v3/admin/domains; these support ServiceAccountSigner for Nylas Service Account request-signing auth without Bearer auth, canonical signed wire bodies, manually signed headers in RequestOverrides.headers, base64-encoded PEM service-account keys, and request-only verification types
    • Workspaces resource via client.workspaces(): CRUD, paginated listing with limit and page_token, autoGroup, manualAssign, default, policyId, explicit clearPolicyId, and ruleIds; CreateWorkspaceRequest validates that domain is present when autoGroup is true; WorkspaceAutoGroupRequest.invalidAlso includes invalid grants in auto-grouping when enabled
  • Transactional email support via Domains.sendTransactionalEmail()
    • SendTransactionalEmailRequest model (and fluent Builder) for composing transactional messages from a verified domain — supports to, from, cc, bcc, reply_to, subject, body, send_at, reply_to_message_id, tracking_options, use_draft, custom_headers, and is_plaintext
    • NylasClient.domains() accessor returning the new Domains resource
    • Automatic multipart/form-data upload when the total attachment size exceeds the JSON limit
    • Examples: TransactionalEmailExample.java and KotlinTransactionalEmailExample.kt
  • Administration API — Policies, Rules, and Lists (app-level, nylas provider only)
    • Policies resource via client.policies(): full CRUD (list, find, create, update, destroy) with CreatePolicyRequest / UpdatePolicyRequest and supporting models (Policy, PolicyLimits, PolicyOptions, PolicySpamDetection)
    • Rules resource via client.rules(): full CRUD plus listEvaluations for grant rule-evaluation audit records; handles the nested /v3/rules list envelope returned by the API
    • NylasLists resource via client.lists(): full CRUD plus listItems, addItems, and removeItems for managing list contents; NylasList, NylasListItem, NylasListType, ListItemsRequest models
    • NylasLists.create() for POST /v3/lists with CreateNylasListRequest (name, type, and optional description)

License

I confirm that this contribution is made under the terms of the MIT license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.81%. Comparing base (0ca8626) to head (c81e61d).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #328   +/-   ##
=========================================
  Coverage     81.81%   81.81%           
  Complexity      450      450           
=========================================
  Files            44       44           
  Lines          1292     1292           
  Branches        111      111           
=========================================
  Hits           1057     1057           
  Misses          168      168           
  Partials         67       67           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@googsvg googsvg merged commit 2c33e4b into main Jun 15, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants