cdpfleet Docs Sign up free

Updates / Opera

Opera 140: Chromium 157 underneath, HTTPS-First turned on (and off on cdpfleet)

Stable Opera on the fleet is now 140.0.6074.17, on Chromium 157: HTTPS-First mode (kept off on cdpfleet), Protected Audience gone, TLS unchanged.

Opera stable · 139.0.6053.38 → 140.0.6074.17 · 2026-11-12

Opera released 140 to stable on 2026-11-10, and new opera sessions on the fleet now run 140.0.6074.17, the first 140 stable build in Opera's changelog (2026-11-10), instead of 139.0.6053.38. Opera 140 moves its Chromium base from 155.0.8059.85 to 157.0.8103.39, skipping 156, so web platform changes follow both Chrome 156 (Chrome 156 post) and Chrome 157 (Chrome 157 post). The biggest change for scrapers was that Opera sessions upgraded plain-HTTP URLs to HTTPS, the HTTPS-First mode Chromium 157 turns on; since 2026-11-13 the fleet switches it off for Opera too.

New

Removed or changed

What sites see / detection

For scraping

Measured on the fleet

The same probe ran against 139.0.6053.38 and 140.0.6074.17 on the fleet, each when it went live: identity, TLS and HTTP/2 fingerprint, web platform features, Playwright features and bot checks. Host-dependent values (cores, memory, timings) are left out.

What the site sees: identity

BeforeAfter
User agentMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 OPR/139.0.0.0Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/157.0.0.0 Safari/537.36 OPR/140.0.0.0
Client hint brandsOpera 139, Chromium 155, Not(A:Brand 24Not-A.Brand 99, Opera 140, Chromium 157
Client hint full versionsOpera 139.0.6053.38, Chromium 155.0.8059.85, Not(A:Brand 24.0.0.0Not-A.Brand 99.0.0.0, Opera 140.0.6074.17, Chromium 157.0.8103.39

Web platform features added

Web platform features removed

Plain HTTP pages

BeforeAfter
Plain HTTP loadedtruefalse
Raw diff
{
  "engine": "opera",
  "label": "stable",
  "from": "139.0.6053.38",
  "to": "140.0.6074.17",
  "browser_version": {
    "before": "155.0.8059.85",
    "after": "157.0.8103.39"
  },
  "changes": {
    "identity": [
      {
        "field": "user_agent",
        "before": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 OPR/139.0.0.0",
        "after": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/157.0.0.0 Safari/537.36 OPR/140.0.0.0"
      },
      {
        "field": "client_hint_brands",
        "before": "Opera 139, Chromium 155, Not(A:Brand 24",
        "after": "Not-A.Brand 99, Opera 140, Chromium 157"
      },
      {
        "field": "client_hint_full_versions",
        "before": "Opera 139.0.6053.38, Chromium 155.0.8059.85, Not(A:Brand 24.0.0.0",
        "after": "Not-A.Brand 99.0.0.0, Opera 140.0.6074.17, Chromium 157.0.8103.39"
      }
    ],
    "network": [],
    "features": {
      "added": [
        {
          "key": "css_text_decoration_inset",
          "label": "CSS `text-decoration-inset` (Chrome 157)"
        },
        {
          "key": "stream_append_html",
          "label": "`Element.streamAppendHTML` (Chrome 157)"
        },
        {
          "key": "webtransport_reliability",
          "label": "`WebTransport.reliability` (on stable from Chrome 157; listed for 158)"
        },
        {
          "key": "canvas_srgb_linear",
          "label": "Canvas `srgb-linear` colour space (on stable from Chrome 157)"
        },
        {
          "key": "css_random",
          "label": "CSS `random()` (Chrome 156)"
        },
        {
          "key": "css_scroll_snap_pair",
          "label": "CSS `scroll-snap-type: pair` (Chrome 156)"
        }
      ],
      "removed": [
        {
          "key": "protected_audience",
          "label": "Protected Audience (`navigator.joinAdInterestGroup`)"
        },
        {
          "key": "css_text_decoration_skip_spaces",
          "label": "CSS `text-decoration-skip-spaces` (Chrome 155)"
        }
      ]
    },
    "playwright": {
      "broke": [],
      "fixed": []
    },
    "fingerprint": [],
    "bot_checks": {
      "newly_failed": [],
      "newly_passed": [],
      "failed_before": 1,
      "failed_after": 1
    },
    "plain_http": [
      {
        "field": "plain_http_loaded",
        "before": true,
        "after": false
      }
    ],
    "launch": {
      "before_ms": 530,
      "after_ms": 661
    }
  },
  "host_dependent_ignored": [
    "hardware_concurrency",
    "device_memory",
    "launch/connect/page timings"
  ]
}

Sources