Releases: probot/probot
v7.0.1
v7.0.0
Improvements
-
Probot has been rewritten in TypeScript. Overall, you should see no significant difference between 6.2.0 and 7.0.0 and you can continue writing your apps in plain ol' JavaScript if you'd like. Writing Probot apps in TypeScript is still experimental, but if you'd like to help us improve the experience, please check out #512 and open pull requests to improve TypeScript support.
-
Rename robot to app (#542)
-
A lot of documentation improvements, including docs on Environment Configuration
See the blog post for more info about this release.
Fixes
-
Fix path to GraphQL API when using GitHub Enterprise. Now you can use Probot to make GraphQL requests against your GitHub Enterprise instance (#580)
-
Fix deprecation warning from Octokit.js for response.meta (#550)
Migrating from 6 to 7
If you're using the probot run
command, then there should only be one major breaking change for your test suite. createRobot
is now a class, Application
:
// probot@6.x.x
const { createRobot } = require('probot')
const robot = createRobot()
// probot@7.0.0
const { Application } = require('probot')
const app = new Application()
You can also use app.load(myProbotApp)
instead of myProbotApp(robot)
, which is common in tests.
v6.2.1
v6.2.0
Heads Up!: There's a regression in octokit/rest.js that causes an error when Probot starts up and may break some apps. An upstream fix is in progress and we'll push out a new release as soon as it's ready. #537
New Features
- 🎉 Support for the Checks API thanks to the latest @octokit/rest (
^15.6.0
). Check out the API docs and look to move your app to this awesome new API (#533) - ⛔️ Add
IGNORED_ACCOUNTS
environment variable to ignore spammy/abusive users. (#513)
Improvements
- 💥 Fixes to allow receiving events like
installation.deleted
andmarketplace_purchase
aren't associated with an active installation. See unauthenticated events for more information (#475, #536) - 🙉 Move webhook event logs to debug level since you may not find these helpful once your app is humming along in production. (#478)
- 🔬 Allow initializing the GitHub client without options for those loading the client directly. (#479)
- 🕵️♀️ Throw informative error if payload is missing repository when calling
context.repo()
(#508) - 👌 Add a favicon to the
https://localhost:3000/probot
default page. It's the little things. (#483)
v6.1.0 – 2018-03-21
Enhancements
-
Do you love Probot and GraphQL? Well good news for you! Now you can use them together! Be warned: this is experimental. See the docs to get started and share your feedback. (#472)
-
An error will now be raised if there are several
.pem
files in your app directory. SetPRIVATE_KEY_PATH
to specify which one you want to use. (#441) -
Updated Node.js minimum version required to 8.3.0. This was a requirement for apps to run before, but the check was only looking for 7.7. (#464)
-
Switched from github-webhook-handler to @octokit/webhooks. You shouldn't notice any changes, but let us know if your app has any weird symptoms (#462)
-
Updated @octokit/rest to version 15.2.0
v6.0.0 – 2018-02-28
Breaking Changes
- Migrate to @octokit/rest.js, which is the latest version of the
node-github
client. There shouldn't be any noticeable changes, but since@octokit/rest
is a complete rewrite of thenode-github
internals, we're marking this a breaking change just to be safe. (#400)
Improvements
-
Allow setting
name
on logger components. (#355)robot.on('issues.opened', context => { const log = context.log.child({name: 'my-issue-thingy'}); });
Community
-
Need persistence in your app? We've got some docs to help you out! (#242)
-
Looking to contribute to Probot? We've started labeling issues
good-first-issue
, so check them out.
v5.0.0 – 2018-01-18
Breaking Changes
-
The new webhook proxy introduced in 4.0 is now the default (#391). Support for localtunnel has been removed and will no longer work in development. To update your existing Probot app to use the new webhook proxy in development:
- Go to smee.io and click Start a new channel. Set
WEBHOOK_PROXY_URL
in your.env
to the URL that you are redirected to. - Update your GitHub App to deliver webhooks to the webhook proxy URL.
- Run
$ npm install --save-dev smee-client
to install the new client - Run
$ npm uninstall localtunnel
to remove the old client - Run
$ npm start
and your app should work just like it did before! 🎉
See the development docs for more information. If you still want to use localtunnel, you can install it manually and run
lt --port 3000
. - Go to smee.io and click Start a new channel. Set
Enhancements
- Properly handle async errors in express. (#384)
- Add
DISABLE_STATS
option to disable the/probot/stats
endpoint that is available by default. For popular apps, this endpoint can be expensive to generate. (#392)
Extensions
- Check out the Config extension for sharing configs between between repositories from the team at Sentry. (#390)
v4.1.0 – 2018-01-11
Improvements
- Add early termination to paginate method (#329). Check out the pagination docs for more information.
v4.0.0 – 2017-12-13
Improvements
-
GitHub Enterprise Support (#331). See the docs on using GitHub Enterprise docs to get started.
-
Lots of logging improvements (#320), including adding
context.log
for logging in your event handlers (#321),req.log
for logging in HTTP requests (#322), and improved logging of GitHub API requests (#351). See the logging docs for more information. -
Add support for a new and experimental webhook proxy (#359). Go to https://smee.io and click Start a new channel. Use that URL as your Webhook URL in your GitHub App, and set
WEBHOOK_PROXY_URL
to that URL in your.env
(along withDISABLE_TUNNEL=true
). This new webhook proxy service will likely replace localtunnel in 5.0. -
Update the node-github client to version 12.0.3 (#340)
Breaking Changes
-
The default log level is now
info
forrobot.log(msg)
. SetLOG_LEVEL=debug
ortrace
in your.env
to see more verbose logging from Probot internals. -
Probot now uses hbs internally instead of ejs (#325). If you are using
res.render('my-ejs-file')
and depending on probot for the ejs setup, you'll now need to pull in ejs yourself.
View the full changelog