#518 516725f Thanks @sameelarif! - act() can now use observe() under the hood, resulting in significant performance improvements. To opt-in to this change, set slowDomBasedAct: false in ActOptions.
#483 8c9445f Thanks @seanmcguire12! - When using textExtract, you can now do targetted extraction by passing an xpath string into extract via the selector parameter. This limits the dom processing step to a target element, reducing tokens and increasing speed. For example:
const weatherData = await stagehand.page.extract({
instruction: "extract the weather data for Sun, Feb 23 at 11PM",
schema: z.object({
temperature: z.string(),
weather_description: z.string(),
wind: z.string(),
humidity: z.string(),
barometer: z.string(),
visibility: z.string(),
}),
modelName,
useTextExtract,
selector: xpath, // xpath of the element to extract from
});
#556 499a72d Thanks @kamath! - You can now set a timeout for dom-based stagehand act! Do this in act with timeoutMs as a parameter, or set a global param to actTimeoutMs in Stagehand config.
#544 55c9673 Thanks @seanmcguire12! - you can now deterministically get the full text representation of a webpage by calling extract() (with no arguments)
#538 d898d5b Thanks @sameelarif! - Added gpt-4.5-preview and claude-3-7-sonnet-latest as supported models.
#523 44cf7cc Thanks @kwt00! You can now natively run Cerebras LLMs! cerebras-llama-3.3-70b and cerebras-llama-3.1-8b are now supported models as long as CEREBRAS_API_KEY is set in your environment.
#542 cf7fe66 Thanks @sankalpgunturi! You can now natively run Groq LLMs! groq-llama-3.3-70b-versatile and groq-llama-3.3-70b-specdec are now supported models as long as GROQ_API_KEY is set in your environment.
#506 e521645 Thanks @miguelg719! - fixing 5s timeout on actHandler
#535 3782054 Thanks @miguelg719! - Adding backwards compatibility to new act->observe pipeline by accepting actOptions
#508 270f666 Thanks @miguelg719! - Fixed stagehand to support multiple pages with an enhanced context
#559 18533ad Thanks @seanmcguire12! - fix: continuously adjusting chunk size inside act
#554 5f1868b Thanks @seanmcguire12! - fix targetted extract issue with scrollintoview and not chunking correctly
#555 fc5e8b6 Thanks @seanmcguire12! - fix issue where processAllOfDom doesnt scroll to end of page when there is dynamic content
#552 a25a4cb Thanks @seanmcguire12! - accept xpaths with 'xpath=' prepended to the front in addition to xpaths without
#534 f0c162a Thanks @seanmcguire12! - call this.end() if the process exists
#528 c820bfc Thanks @seanmcguire12! - handle attempt to close session that has already been closed when using the api
#520 f49eebd Thanks @miguelg719! - Performing act from a 'not-supported' ObserveResult will now throw an informed error
Fetched April 11, 2026