Releases: browserbase/stagehand
v1.14.0
Minor Changes
-
#518
516725fThanks @sameelarif! -act()can now useobserve()under the hood, resulting in significant performance improvements. To opt-in to this change, setslowDomBasedAct: falseinActOptions. -
#483
8c9445fThanks @seanmcguire12! - When usingtextExtract, you can now do targetted extraction by passing an xpath string into extract via theselectorparameter. 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
499a72dThanks @kamath! - You can now set a timeout for dom-based stagehand act! Do this inactwithtimeoutMsas a parameter, or set a global param toactTimeoutMsin Stagehand config. -
#544
55c9673Thanks @seanmcguire12! - you can now deterministically get the full text representation of a webpage by callingextract()(with no arguments) -
#538
d898d5bThanks @sameelarif! - Addedgpt-4.5-previewandclaude-3-7-sonnet-latestas supported models. -
#523
44cf7ccThanks @kwt00! You can now natively run Cerebras LLMs!cerebras-llama-3.3-70bandcerebras-llama-3.1-8bare now supported models as long asCEREBRAS_API_KEYis set in your environment. -
#542
cf7fe66Thanks @sankalpgunturi! You can now natively run Groq LLMs!groq-llama-3.3-70b-versatileandgroq-llama-3.3-70b-specdecare now supported models as long asGROQ_API_KEYis set in your environment.
Patch Changes
-
#506
e521645Thanks @miguelg719! - fixing 5s timeout on actHandler -
#535
3782054Thanks @miguelg719! - Adding backwards compatibility to new act->observe pipeline by accepting actOptions -
#508
270f666Thanks @miguelg719! - Fixed stagehand to support multiple pages with an enhanced context -
#559
18533adThanks @seanmcguire12! - fix: continuously adjusting chunk size insideact -
#554
5f1868bThanks @seanmcguire12! - fix targetted extract issue with scrollintoview and not chunking correctly -
#555
fc5e8b6Thanks @seanmcguire12! - fix issue where processAllOfDom doesnt scroll to end of page when there is dynamic content -
#552
a25a4cbThanks @seanmcguire12! - accept xpaths with 'xpath=' prepended to the front in addition to xpaths without -
#534
f0c162aThanks @seanmcguire12! - call this.end() if the process exists -
#528
c820bfcThanks @seanmcguire12! - handle attempt to close session that has already been closed when using the api -
#520
f49eebdThanks @miguelg719! - Performing act from a 'not-supported' ObserveResult will now throw an informed error
v1.13.1
Patch Changes
- #509
a7d345eThanks @miguelg719! - Bun runs will now throw a more informed error
v1.13.0
Minor Changes
-
#486
33f2b3fThanks @sameelarif! - [Unreleased] Parameterized offloading Stagehand method calls to the Stagehand API. In the future, this will allow for better observability and debugging experience. -
#494
9ba4b0bThanks @pkiv! - Added LocalBrowserLaunchOptions to provide comprehensive configuration options for local browser instances. Deprecated the top-level headless option in favor of using localBrowserLaunchOptions.headless -
#500
a683fabThanks @miguelg719! - Including Iframes in ObserveResults. This appends any iframe(s) found in the page to the end of observe results on any observe call. -
#504
577662eThanks @sameelarif! - Enabled support for Browserbase captcha solving after page navigations. This can be enabled with the new constructor parameter:waitForCaptchaSolves. -
#496
28ca9fbThanks @sameelarif! - Fixed browserbaseSessionCreateParams not being passed in to the API initialization payload.
Patch Changes
-
#459
62a29eeThanks @seanmcguire12! - create a11y + dom hybrid input for observe -
#463
e40bf6fThanks @seanmcguire12! - include 'Scrollable' annotations in a11y-dom hybrid -
#480
4c07c44Thanks @miguelg719! - Adding a fallback try on actFromObserveResult to use the description from observe and call regular act. -
#487
2c855cfThanks @seanmcguire12! - update refine extraction prompt to ensure correct schema is used
v1.12.0
Minor Changes
-
#426
bbbcee7Thanks @miguelg719! - Observe got a major upgrade. Now it will return a suggested playwright method with any necessary arguments for the generated candidate elements. It also includes a major speedup when using a11y tree processing for context. -
#452
16837ecThanks @kamath! - add o3-mini to availablemodel -
#441
1032d7dThanks @seanmcguire12! - allow act to accept observe output
Patch Changes
-
#458
da2e5d1Thanks @miguelg719! - Updated getAccessibilityTree() to make sure it doesn't skip useful nodes. Improved getXPathByResolvedObjectId() to account for text nodes and not skip generation -
#448
b216072Thanks @seanmcguire12! - improve handling of radio button clicks -
#445
5bc514fThanks @miguelg719! - Adding back useAccessibilityTree param to observe with a deprecation warning/error indicating to use onlyVisible instead
v1.10.1
Patch Changes
- #422
a2878d0Thanks @miguelg719! - Fixing a build type error for async functions being called inside evaulate for observeHandler.
v1.10.0
Minor Changes
-
#412
4aa4813Thanks @miguelg719! - Includes a new format to get website context using accessibility (a11y) trees. The new context is provided optionally with the flag useAccessibilityTree for observe tasks. -
#417
1f2b2c5Thanks @sameelarif! - Simplify Stagehand method calls by allowing a simple string input instead of an options object. -
#405
0df1e23Thanks @seanmcguire12! - in ProcessAllOfDom, scroll on large scrollable elements instead of just the root DOM -
#373
ff00965Thanks @sameelarif! - Allow the input of custom instructions into the constructor so that users can guide, or provide guardrails to, the LLM in making decisions.
Patch Changes
v1.9.0
Minor Changes
-
#374
207244eThanks @sameelarif! - Pass in a Stagehand Page object into theon("popup")listener to allow for multi-page handling. -
#367
75c0e20Thanks @kamath! - Logger in LLMClient is inherited by default from Stagehand. Named rather than positional arguments are used in implemented LLMClients. -
#385
5899ec2Thanks @sameelarif! - Moved the LLMClient logger paremeter to the createChatCompletion method options. -
#364
08907ebThanks @kamath! - exposed llmClient in stagehand constructor
Patch Changes
-
#383
a77efccThanks @sameelarif! - Unified LLM input/output types for reduced dependence on OpenAI types -
#353
5c6f14bThanks @kamath! - Throw custom error if context is referenced without initialization, remove act/extract handler from index -
#360
89841fcThanks @kamath! - Remove stagehand nav entirely -
#379
b1c6579Thanks @seanmcguire12! - dont require LLM Client to use non-ai stagehand functions -
#382
a41271bThanks @sameelarif! - Added example implementation of the Vercel AI SDK as an LLMClient -
#344
c1cf345Thanks @kamath! - Remove duplicate logging and expose Page/BrowserContext types
v1.8.0
Minor Changes
-
#324
cd23fa3Thanks @kamath! - Move stagehand.act() -> stagehand.page.act() and deprecate stagehand.act() -
#319
bacbe60Thanks @kamath! - We now wrap playwright page/context within StagehandPage and StagehandContext objects. This helps us augment the Stagehand experience by being able to augment the underlying Playwright -
#324
cd23fa3Thanks @kamath! - moves extract and act -> page and deprecates stagehand.extract and stagehand.observe
Patch Changes
v1.7.0
Minor Changes
-
#316
902e633Thanks @kamath! - rename browserbaseResumeSessionID -> browserbaseSessionID -
#296
f11da27Thanks @kamath! - - Deprecate fields ininitin favor of constructor options- Deprecate
initFromPagein favor ofbrowserbaseResumeSessionIDin constructor - Rename
browserBaseSessionCreateParams->browserbaseSessionCreateParams
- Deprecate
-
#304
0b72f75Thanks @seanmcguire12! - add textExtract: an optional, text based approach to the existing extract method. textExtract often performs better on long form extraction tasks. By defaultextractuses the existing approachdomExtract. -
#298
55f0cd2Thanks @kamath! - Add sessionId to public params
Patch Changes
-
#283
b902192Thanks @sameelarif! - allowed customization of eval config via .env -
#299
fbe2300Thanks @sameelarif! - log playwright actions for better debugging
v1.6.0
Minor Changes
#279 d6d7057 Thanks @navidkpr, @sameelarif, @kamath! - Add support for o1-mini and o1-preview in OpenAIClient
#282 5291797 Thanks @sameelarif! - Added eslint for stricter type checking. Streamlined most of the internal types throughout the cache, llm, and handlers. This should make it easier to add new LLMs down the line, maintain and update the existing code, and make it easier to add new features in the future. Types can be checked by running npx eslint . from the project directory.
Patch Changes
#286 9605836 Thanks @navidkpr! - minor improvement in action + new eval case
#270 6b10b3b Thanks @sameelarif! - add close link to readme
#288 5afa0b9 Thanks @tan-z-tan! - add multi-region support for browserbase
#284 474217c Thanks @kamath! - Build wasn't working, this addresses tsc failure.
#236 85483fe Thanks @seanmcguire12! - reduce chunk size