Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 27, 2025

This PR contains the following updates:

Package Change Age Confidence
probot (source) 13.4.7 -> 14.2.1 age confidence

Release Notes

probot/probot (probot)

v14.2.1

Compare Source

Bug Fixes

v14.2.0

Compare Source

Features

v14.1.0

Compare Source

Features
  • remove sourcemaps, ensure only erasableSyntaxOnly is enforced (#​2253) (94b8929)

v14.0.6

Compare Source

Bug Fixes

v14.0.5

Compare Source

Bug Fixes

v14.0.4

Compare Source

Bug Fixes

v14.0.3

Compare Source

Bug Fixes

v14.0.2

Compare Source

Bug Fixes

v14.0.1

Compare Source

Bug Fixes
  • add explicit undefined to optional types, and update webhooks types (#​1979) (05179ff)

v14.0.0

Compare Source

BREAKING CHANGES
  • Probot is now an ESM only library
  • drop Node > 20.17 and Node 21 support
  • Switch to GitHub's OpenAPI specification for Webhooks (from @octokit/webhooks v13)
  • Remove legacy REST enpoint method access. Users will now have to use the octokit.rest.* methods
  • Remove express server from within Probot.
  • All properties marked as private in Typescript, including Probot#state, are now private class fields.
  • createNodeMiddleware() is now an async function
  • @sentry/node needs to be installed separately if needed
  • ioredis needs to be installed separately if needed
  • The built-in server now listens on localhost by default instead of 0.0.0.0.

Probot v14 Migration Guide

ESM Only Package

Probot is now exclusively an ESM package. Either migrate to ESM (recommended), or use `require(esm).

Migrating to ESM:

  1. Update package.json:
{
  "type": "module"
}
  1. Replace all CommonJS require() statements with ESM import syntax
  2. Update your TypeScript configuration:
{
  "compilerOptions": {
    "module": "node16",
    "moduleResolution": "node16"
  }
}

For require(esm):

  • For TypeScript 5.7-5.8: Use "module": "nodenext" and "moduleResolution": "nodenext"
  • For TypeScript 5.9+: Use "module": "node20" and "moduleResolution": "node20"

Node.js Version Requirements

  • Minimum supported version: Node.js 20.18+ and 22+
  • Node.js 21 support has been dropped

Webhook Type Definitions

Replace webhook type imports:

// Before
import { WebhookEvent } from "@​octokit/webhooks-types";

// After
import { WebhookEvent } from "@​octokit/openapi-webhooks-types-migration";

REST API Access Pattern

Legacy endpoint methods have been removed:

app.on("issues.opened", async (context) => {
  // Before
  // const issue = await context.octokit.issues.get(context.issue());

  // After
  const issue = await context.octokit.rest.issues.get(context.issue());
});

Express Server Removal

The built-in Express server has been removed. To use Express:

  1. Install Express:
npm install express
  1. Update your Probot setup:
import Express from "express";
import { createNodeMiddleware, createProbot } from "probot";

const express = Express();

const app = (probot) => {
  probot.on("push", async () => {
    probot.log.info("Push event received");
  });
};

const middleware = await createNodeMiddleware(app, {
  webhooksPath: "/api/github/webhooks",
  probot: createProbot({
    env: {
      APP_ID,
      PRIVATE_KEY,
      WEBHOOK_SECRET,
    },
  }),
});

express.use(middleware);
express.use(Express.json());
express.get("/custom-route", (req, res) => {
  res.json({ status: "ok" });
});

express.listen(3000, () => {
  console.log(`Server is running at http://localhost:3000`);
});

HTTP Server no longer listens on 0.0.0.0 by default

The built-in HTTP server will now listen on localhost by default, instead of listening on all available interfaces.
If you wish to change this behaviour, you can use the HOST environment variable, or the --host variable for the probot run command.

env HOST=0.0.0.0 <start script>
probot run --host=0.0.0.0 app.js

Asynchronous Middleware Initialization

createNodeMiddleware() is now asynchronous:

import { createNodeMiddleware } from "probot";
import app from "../app.js";

// Before
// const middleware = createNodeMiddleware(app);

// After
const middleware = await createNodeMiddleware(app);

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@socket-security
Copy link

socket-security bot commented Oct 27, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedprobot@​13.4.7 ⏵ 14.2.195 +11008899 +1100

View full report

@renovate renovate bot changed the title fix(deps): update dependency probot to v14 chore(deps): update dependency probot to v14 Oct 27, 2025
@FabianLars FabianLars marked this pull request as draft October 27, 2025 13:41
@renovate renovate bot force-pushed the renovate/probot-14.x branch 6 times, most recently from 3ece40c to e8ce428 Compare October 27, 2025 16:43
@renovate renovate bot force-pushed the renovate/probot-14.x branch from e8ce428 to ffbb362 Compare October 27, 2025 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant