Skip to content

Releases: probot/probot

v14.0.2

07 Aug 00:30
6f2d021
Compare
Choose a tag to compare

14.0.2 (2025-08-07)

Bug Fixes

  • deps: update @probot/octokit-plugin-config (6f2d021)

v14.0.1

31 Jul 01:04
05179ff
Compare
Choose a tag to compare

14.0.1 (2025-07-31)

Bug Fixes

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

v14.0.0

30 Jul 23:23
97c4057
Compare
Choose a tag to compare

14.0.0 (2025-07-30)

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);

v14.0.0-beta.31

30 Jul 14:08
b74bbf9
Compare
Choose a tag to compare
v14.0.0-beta.31 Pre-release
Pre-release

14.0.0-beta.31 (2025-07-30)

Bug Fixes

  • update @octokit/webhooks to allow trailing slashes (#2228) (b74bbf9)

v14.0.0-beta.30

29 Jul 19:38
76b3c45
Compare
Choose a tag to compare
v14.0.0-beta.30 Pre-release
Pre-release

14.0.0-beta.30 (2025-07-29)

Bug Fixes

  • probot createNodeMiddleware respects expressjs next functionality (#2227) (76b3c45)

v14.0.0-beta.29

25 Jul 15:32
0a24cbb
Compare
Choose a tag to compare
v14.0.0-beta.29 Pre-release
Pre-release

14.0.0-beta.29 (2025-07-25)

Bug Fixes

v14.0.0-beta.28

11 Jul 12:50
6cd6494
Compare
Choose a tag to compare
v14.0.0-beta.28 Pre-release
Pre-release

14.0.0-beta.28 (2025-07-11)

Bug Fixes

  • update @octokit/auth-app and @octokit/core to fix logger binding issues (058878b)
  • update @octokit/webhooks, remove internal rebindLog() function (#2220) (c4c67c3), closes #2062

v14.0.0-beta.27

11 Jul 12:03
1dcac85
Compare
Choose a tag to compare
v14.0.0-beta.27 Pre-release
Pre-release

14.0.0-beta.27 (2025-07-11)

Bug Fixes

v13.4.7

11 Jul 08:48
c4c67c3
Compare
Choose a tag to compare

13.4.7 (2025-07-11)

Bug Fixes

  • update @octokit/webhooks, remove internal rebindLog() function (#2220) (c4c67c3), closes #2062

v13.4.6

11 Jul 00:42
058878b
Compare
Choose a tag to compare

13.4.6 (2025-07-11)

Bug Fixes

  • update @octokit/auth-app and @octokit/core to fix logger binding issues (058878b)