github appium/appium @appium/http-server@1.0.0

one hour ago

1.0.0 (2026-11-15)

⚠ BREAKING CHANGES

  • base-driver: a command result shaped like {protocol, value} is no longer unwrapped. It is returned as the command value. {protocol, error} is still thrown when error is an Error and protocol is W3C or MJSONWP.
  • @appium/tsconfig now sets noImplicitOverride: true. Extensions extending this config must mark overriding members with override, otherwise tsc fails with TS4114.
  • base-driver: POST body has to be a JSON object, otherwise the server returns invalid argument error.
  • http-server: clients that send an Origin header must enable the CORS feature (--allow-insecure=*:cors).
  • http-server: Library callers that depended on the implicit CORS default must now pass allowCors: true
  • storage-plugin: the storage routes (and the stream/events websocket paths) were always mounted at the server root, ignoring --base-path. They are now prefixed with the base path, e.g. /wd/hub/appium/storage/add.
  • base-driver: @appium/base-driver no longer exports server, normalizeBasePath, configureServer, ServerOpts, ConfigureServerOpts, ConfigureHttpOpts, or StartServerOpts, and no longer depends on express/morgan/body-parser/ method-override/path-to-regexp. Use the new @appium/http-server package instead.
  • base-driver: appium/driver.js and driver.d.ts no longer re-export server/normalizeBasePath/configureServer/ServerOpts (or their types), and no longer use a blanket export *. Import from @appium/http-server directly if you were relying on this undocumented path.

Features

  • enable noImplicitOverride in the shared tsconfig (#23143) (421cc21)

Bug Fixes

  • base-driver: keep command results that contain a protocol field (#23121) (1abd4a4)
  • base-driver: preserve optional WebDriver error data (#22974) (df417a3), closes #22966 #22966
  • base-driver: reject command POST bodies that are not JSON objects (#23007) (643342e)
  • base-driver: reject implicit HEAD command routing (#22992) (971b81e)
  • base-driver: return protocol errors for null rejections (#22869) (7808465)
  • centralize URL hostname formatting and bracket IPv6 hosts (#22914) (68d0739)
  • http-server: contain WebSocket upgrade failures (#22944) (88c1532)
  • http-server: reject browser-origin requests unless CORS is enabled (#22990) (c9f5faf)
  • http-server: reject invalid JSON only after the route is known (#23057) (c96bc2b)
  • http-server: return unknown method for a known command url (#22991) (5760915)
  • http-server: return WebDriver errors for the root path (#22969) (eb9ed92)
  • http-server: set no-cache on WebDriver responses (#22971) (49379b9)
  • storage-plugin: mount routes under the server base path (#22906) (1b07819)

Code Refactoring

  • base-driver: extract the HTTP/Express server into @appium/http-server (#22800) (4a8c553)

Don't miss a new appium release

NewReleases is sending notifications on new releases.