Skip to content

Conversation

@github-actions
Copy link

@github-actions github-actions bot commented Nov 19, 2025

SDK update

Versioning

Version Bump Type: [patch] - 🤖 (automated)

Typescript SDK Changes Detected:

  • gustoembedded.timeOffPolicies.get(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.update(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.getAll(): response.[].employees.[].balance Added
  • gustoembedded.timeOffPolicies.create(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.addEmployees(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.removeEmployees(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.updateBalance(): response.employees.[].balance Added
  • gustoembedded.timeOffPolicies.deactivate(): response.employees.[].balance Added
OpenAPI Change Summary
├─┬Paths
│ └─┬/v1/contractors/{contractor_uuid}/address
│   └─┬PUT
│     ├──[🔀] summary (6582:16)
│     └──[🔀] description (6592:20)
└─┬Components
  └─┬Time-Off-Policy
    └─┬employees
      ├──[🔀] description (21576:24)
      └─┬Schema
        ├──[+] properties (21582:15)
        └─┬uuid
          ├──[+] format (21584:25)❌ 
          └──[+] description (21585:30)
Document Element Total Changes Breaking Changes
paths 2 0
components 4 1

TYPESCRIPT CHANGELOG

core: 3.26.9 - 2025-11-20

🐝 New Features

  • forwardCompatibleEnumsByDefault is now configurable via gen.yaml. When true, any enum which is used on a response will be automatically open/forward compatible - i.e. unknown values will be tolerated. Single value enums won't be automatically opened. Individual enums can be controlled with x-speakeasy-unknown-values: allow/disallow. (commit by @mfbx9da4)

core: 3.26.8 - 2025-11-18

🐝 New Features

  • Support for lax mode deserialization. Configurable via gen.yaml laxMode: lax | strict. Missing required fields will not throw zod response validation errors but instead fallback to a zero value. eg for a string the zero value is "". Lax mode also introduces non-lossy coercion where possible eg a boolean field will tolerate the string "true". (commit by @mfbx9da4)

core: 3.26.6 - 2025-11-12

🐛 Bug Fixes

  • regression to date/datetime deserialization (commit by @mfbx9da4)
  • handle application/* encoding in multipart forms (commit by @danielkov)

Based on Speakeasy CLI 1.660.0

@github-actions github-actions bot added the patch Patch version bump label Nov 19, 2025
@github-actions github-actions bot force-pushed the speakeasy-sdk-regen-1763511308 branch 2 times, most recently from 229f073 to 49edade Compare November 21, 2025 00:16
@dryrunsecurity
Copy link

dryrunsecurity bot commented Nov 21, 2025

DryRun Security

This pull request introduces or maintains a schema that validates the balance field as z.string().optional(), allowing arbitrary strings for a value that should be a float, which may cause backend errors, logic flaws, or injection risks if not strictly converted or sanitized. The finding recommends tightening validation for the balance field (e.g., use a numeric schema or stricter parsing) to prevent potential issues.

Insufficient Input Validation in gusto_embedded/src/models/components/timeoffpolicy.ts
Vulnerability Insufficient Input Validation
Description The balance field, intended to represent a float (e.g., "40.0"), is validated using z.string().optional() in both the TimeOffPolicyEmployees schema and the API request body for updating time off policy balances. This validation is insufficient as it allows arbitrary strings to be submitted, which could lead to backend errors, logic flaws, or injection vulnerabilities if the value is used in sensitive contexts (e.g., database queries, mathematical calculations) without further strict type conversion or sanitization.

unknown
> = z.object({
uuid: z.string().optional(),
balance: z.string().optional(),
});
export function timeOffPolicyEmployeesFromJSON(


All finding details can be found in the DryRun Security Dashboard.

@github-actions github-actions bot force-pushed the speakeasy-sdk-regen-1763511308 branch 2 times, most recently from 312ab70 to b6cfbc4 Compare November 23, 2025 00:18
* `gustoembedded.timeOffPolicies.get()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.update()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.getAll()`:  `response.[].employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.create()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.addEmployees()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.removeEmployees()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.updateBalance()`:  `response.employees.[].balance` **Added**
* `gustoembedded.timeOffPolicies.deactivate()`:  `response.employees.[].balance` **Added**
@github-actions github-actions bot force-pushed the speakeasy-sdk-regen-1763511308 branch from b6cfbc4 to 59e92c6 Compare November 24, 2025 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch Patch version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants