Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openai/openai-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.48.0
Choose a base ref
...
head repository: openai/openai-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.49.0
Choose a head ref
  • 3 commits
  • 17 files changed
  • 5 contributors

Commits on Nov 10, 2026

  1. fix: encode microphone recordings as valid PCM WAV (#3900)

    - [x] I understand that this repository is auto-generated and my pull
    request may not be merged
    
    ## Changes being requested
    
    `Microphone.record()` writes every capture dtype directly into an
    integer PCM WAV file. For `float32`, the IEEE float bytes are
    consequently interpreted as signed integers. For `int8`, silence (`0`)
    is interpreted as the most negative sample because 8-bit WAV PCM is
    unsigned.
    
    Convert float32 recordings to 16-bit PCM and offset signed 8-bit
    recordings to unsigned PCM before writing the WAV, using the converted
    sample width. Preserve the existing int16, int32, and uint8 encodings
    and the original dtype/data when `return_ndarray=True`.
    
    ## Additional context & links
    
    Regression tests drive the public `record()` method through a mocked
    input device and decode the resulting WAV. They cover all five supported
    capture dtypes, stereo metadata, and ndarray returns. The float32 and
    int8 WAV cases fail before the fix; the other eight cases pass.
    
    Validation on the latest main (3.16.1):
    
    - `.venv/bin/python -m pytest -n 0 tests/lib/test_microphone.py
    tests/lib/test_audio.py -q`: 14 passed.
    - Ruff lint and format checks on both changed files: passed.
    - Pyright on both changed files with the pinned repository tooling: 0
    errors, 0 warnings.
    
    Format references: [sounddevice sample
    types](https://python-sounddevice.readthedocs.io/en/0.5.3/api/streams.html),
    [WAV PCM sample
    ranges](https://learn.microsoft.com/en-us/windows/win32/multimedia/devices-and-data-types).
    
    ---------
    
    Co-authored-by: Marcus Wood <[email protected]>
    HaokaiDing and marcuswood-oai authored Nov 10, 2026
    Configuration menu
    Copy the full SHA
    13c000d View commit details
    Browse the repository at this point in the history
  2. feat(api): add typed async function tools (#4264)

    ## Changes being requested
    
    This update has been adding optional `async` settings to function-tool
    request dictionaries for sessions and persisted agents. Response models
    have been exposing the field as `async_`.
    
    ## Additional context & links
    
    Callers that have been reading the undeclared response extra through
    `getattr(tool, 'async')` or `tool.model_extra['async']` have been
    needing to use `tool.async_`. Serialization with
    `model_dump(by_alias=True, exclude_unset=True)` has been preserving
    `true`, `false`, and omission. Plain `model_dump(by_alias=True)` has
    been including `async: None` for omitted values.
    
    Co-authored-by: markstuart-oai <[email protected]>
    markstuart-oai and markstuart-oai authored Nov 10, 2026
    Configuration menu
    Copy the full SHA
    ea07983 View commit details
    Browse the repository at this point in the history
  3. release: 3.49.0 (#4263)

    Automated Release PR
    ---
    
    
    ##
    [3.49.0](v3.48.0...v3.49.0)
    (2026-11-10)
    
    
    ### Features
    
    * **api:** add typed async function tools
    ([#4264](#4264))
    ([ea07983](ea07983))
    
    
    ### Bug Fixes
    
    * encode microphone recordings as valid PCM WAV
    ([#3900](#3900))
    ([13c000d](13c000d))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    
    Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com>
    openai-sdks[bot] authored Nov 10, 2026
    Configuration menu
    Copy the full SHA
    3d573c0 View commit details
    Browse the repository at this point in the history
Loading