OpenAI’s Python SDK shipped v3.42.0 on October 31, and the release notes read like a changelog from a company that has stopped pretending agents are a demo. Nine feature commits, one bug fix, no new model, no new endpoint family that makes a headline on its own. What the release actually contains is the unglamorous plumbing that separates a chat toy from a system that runs unattended for hours: agent context compaction settings (#4209), agent session review and tool settings (#4217), and an experimental agent time awareness flag (#4211).

That trio is the story. Everything else in the release is infrastructure around it.

What compaction actually implies

Context compaction is the admission that the context window is a budget, not a room. Any agent that runs long enough will fill it, and the two ugly options have been to truncate (losing state) or to summarize with a second model call (losing fidelity and paying for it). Shipping compaction settings in the API surface means OpenAI is moving the policy decision from the application layer into the platform. The SDK now exposes knobs for when and how an agent’s accumulated context gets squeezed.

That is a real shift in where the hard part of agent engineering lives. A year ago, teams like Cognition and the LangChain crowd wrote their own compaction heuristics because the API gave them nothing. Now the vendor is standardizing it. The upside is fewer bespoke bugs. The downside is that the compaction policy becomes a black box you tune with parameters instead of code you own, and when an agent loses a critical fact two hours into a session, debugging gets harder, not easier.

The session review and tool settings commit (#4217) reads as the companion piece. If you are compacting context, you need a way to review what a session did and what tools it called. The pairing suggests OpenAI is building toward an audit trail for agent runs, which is the thing every enterprise buyer asks about and almost nobody has a clean answer for.

Time awareness is the weird one

The experimental flag for agent time awareness (#4211) is the most interesting and least explained item in the release. The notes give no detail beyond the label. Read it plainly: an agent that knows what time it is can reason about deadlines, staleness, and elapsed duration. An agent that does not will happily cite a “recent” document from eight months ago as if it were current.

Why does this need to be an API feature at all? Because models have no clock. The wall-clock time is not in the weights, and injecting it reliably into a long-running session is exactly the kind of thing that breaks when compaction rewrites the context. If you summarize a conversation and drop the timestamp, your agent loses its grip on when “now” is. Time awareness and compaction are the same problem wearing two hats, and OpenAI shipped them in the same release. That is not a coincidence.

It is also a small tell about where the product is going. Time-aware agents are agents that can be trusted with scheduled work, with monitoring, with the “check this every morning and tell me if something changed” use case that every operations team wants and few have shipped cleanly.

The WebSocket work is the real bet

Four of the eleven commits touch WebSockets: improved recovery and delivery reporting (#4213), warmup plus preserved cleanup cancellation (#4215), and a bug fix to preserve refusal output and authentication in the WebSocket helpers (#4214). Plus SIP DTMF commands and delivery events (#4208), which is telephony signaling.

This is the part most coverage will skip, and it is the part that matters most. WebSockets are how you get low-latency, bidirectional, streaming interaction, which is what real-time voice and real-time agent control require. The refusal-output fix is telling: if a model refuses mid-stream over a WebSocket and the helper drops the refusal, you have a silent failure in production. The warmup commit suggests connection establishment latency was a real complaint. The recovery and delivery reporting work suggests connections were dying and nobody knew why.

OpenAI is hardening the transport layer for always-on agents. The SIP DTMF additions point at voice agents that interact with phone systems, pressing keys, handling delivery events. That is not a research feature. That is a product for call centers and phone-based workflows, and it needs the WebSocket plumbing to be boring before anyone will trust it.

What the smaller commits say

Two commits are pure security hygiene and worth naming because they get ignored. Callable API keys are now scoped to each request (#4216), and there is new organization external key management (#4205). The first closes a class of bug where a key passed as a callable could leak across requests in a shared process. The second is the enterprise key-rotation story, the thing that gets a procurement deal unstuck.

Response format updates and local output types (#4212) and image edit markup overlays (#4210) round out the release. The image overlay work is the only multimodal item, and it is narrow: markup on edits, not generation.

The release is a bet that the next year of AI competition is won on session management, transport reliability, and audit trails, not on benchmark scores.

The take

Tessera’s read: this is a platform maturing its agent story without saying so. The absence of a model launch is the point. OpenAI is competing on the developer experience of running agents at length, and the SDK is where that competition is fought now. Compaction, session review, time awareness, WebSocket recovery, scoped keys: each one removes a reason a team would build its own harness or reach for a competitor’s runtime.

The open question is whether standardizing these behaviors inside the SDK helps or hurts the ecosystem. When compaction policy lives in the API, every agent built on openai-python inherits the same blind spots. The teams that wrote their own heuristics had bugs, but they also had control. The teams that adopt the defaults get reliability and give up the ability to reason about exactly what got dropped from context.

For builders, the practical move is to read the compaction and session-review parameters before wiring them into anything long-running, and to treat the time-awareness flag as experimental until OpenAI documents what it actually injects. The transport fixes are safe to adopt today; the policy features deserve a test harness first.

The release shipped October 31 at 00:26 UTC, tagged 0dcd904, signed with OpenAI’s SDK GPG key. Eleven commits, no fanfare. The agents are getting more capable on the model side every quarter. This release is the less visible half: making the scaffolding around them sturdy enough to leave running overnight.