Skip to content

Release v2.18.1 - #339

Merged
googsvg merged 1 commit into
mainfrom
TW-6494-java-sdk-deploy-v-2-18-1
Aug 18, 2026
Merged

Release v2.18.1#339
googsvg merged 1 commit into
mainfrom
TW-6494-java-sdk-deploy-v-2-18-1

Conversation

@googsvg

@googsvg googsvg commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

[v2.18.1] - Release 2026-08-18

Added

  • Optional TrackingOptions.domainName support for custom link and open tracking hostnames in regular sends, Transactional Send, drafts, and scheduled sends. The field serializes as tracking_options.domain_name and is omitted when unset.

Fixed

  • metadata_pair (calendars, events, messages) is now sent as a single key:value query parameter using the first map entry, instead of one repeated parameter per entry. The API accepts exactly one pair, so maps with more than one entry previously had all but one entry silently ignored. Public types are unchanged (Map<String, String>); single-entry and empty maps produce the same request as before.
  • to, from, cc, bcc, and in (messages, threads, drafts) are now sent as a single query parameter using the first list entry, instead of as repeated parameters. The API binds each as a scalar string and validates to/from/cc/bcc as one email address, so repeated parameters meant the API silently kept just one value — whichever its parser happened to keep last. Sending one parameter makes that deterministic and matches the behavior inFolder already documented. Public types are unchanged (List<String>); passing a single-element list produces the same request as before. These parameters will change type to String in a future major version.
  • attendees (events) and any_email (messages, threads, drafts) are now sent as a single comma-delimited query parameter instead of repeated parameters. The API parses both as comma-delimited strings, so passing more than one value previously caused the API to keep only the last one, returning silently incorrect, order-dependent results. Public types are unchanged (List<String>), and null, empty, and single-element values produce the same request as before. Note that any_email accepts at most 25 addresses; over-long lists now surface an API validation error instead of silently filtering on a single address. event_type is unaffected — the API genuinely supports repeating it.

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 83.72%. Comparing base (6b29bb3) to head (ad0f058).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #339   +/-   ##
=========================================
  Coverage     83.72%   83.72%           
  Complexity      486      486           
=========================================
  Files            44       44           
  Lines          1358     1358           
  Branches        115      115           
=========================================
  Hits           1137     1137           
  Misses          149      149           
  Partials         72       72           

☔ 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 5e0890b into main Aug 18, 2026
6 checks passed
@googsvg
googsvg deleted the TW-6494-java-sdk-deploy-v-2-18-1 branch August 18, 2026 12:33
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