# Release 3.1.1
Name: "mozzarella stick pink plane"
See the upgrade documentation here.
# Webhooks (incubating)
Much anticipated and maximally useful.. Webhooks have landed in Rundeck! This new incubating feature empowers Rundeck to receive JSON events and direct them to jobs. Check out the Webhook Docs for instructions on enabling the feature and full details.
# Job Options
Job options display has been enhanced in the activities list and execution view. This should provide better visual separation between the option names and option values.
- Allow notification to use workflow exported variables #5139
- API to list installed plugins #5259
- Externalize Vue in webpack builds #5217
- Added ldap nestedGroups setting to remco template #5100
- 🌈 Upgrade font awesome to 5.10.2 #5269
- Execution log parsing has been speed up to improve log loading speed #5253
scm_exportACLs for job writers #5176
# Bug Fixes
- Fix exception on average duration exceeded notification #5153
- Plugin uninstaller can now uninstall manually installed plugins #5258
- Fix error when editing jobs option with enforced values #5146
- Display correct time on job activity page #5125
- cleanup argstring display in activity list and exec page
- Fix i18n in plugin repository UI
- Fix mispelled word. Fixes #5241.
- Upgrade font awesome to 5.10.2. Fixes #4756
- Fix #5261. Do not set not null constraint on AuthToken type.
- (3.1.1-snapshot) db error on upgrade due to webhooks
- Turn off autocomplete on password field
- Fix #5193. Plugin uninstaller can now uninstall manually installed plugins
- Fix #5248. Option validator error
- Improve execution log parsing speed with CompileStatic
- Unable to restrict option to allowed values when using options provider plugin
- JSCH Documentation Plugin Broken
- Fix #5232 by adding the display attribute to PluginMeta.
- Docker - Add webhooks feature flag to template
- not able to install plugins from "plugin repository" UI
- Add creation date to project list on api
- Externalize Vue
- Fix #5125. Correct timezone offset on execution node status.
- Replaces job Status notification email using Pine Email Framework
- Tour plugin project configuration
- Tour plugins can't be configured at the project level
- Fixes #5147 Allow quotes in the middle of arguments to be interpreted as a single argument
- Update versions for plugins and libraries with reported vulnerabilities.
- New ACL for job writers #5078
- Attempt to fix #4286 by putting a sync lock around the service loader.
- Fix: Job mail notifications respect allow unsanitized property
- Dedupe setps on stepctx
- Execution steps not fully loading
- Fix proxy initialization exception for avg duration notifications
- Avg Duration Exceeded Notification Triggers Exception
- Resource model generator with quoted args
- Load full option object with lazy values on session object #5131
- fixing Scheduling using crontab displays warning
- Allow notification to use workflow exported variables #5061
- Scheduling using crontab displays warning
- Upon saving the job after editing option, encounter error "failed to lazily initialize a collection of role: rundeck.Option.values, could not initialize proxy - no Session"
- Upgrade to 3.1.0 on ubuntu overwrites realm.properties
- Incorrect time on job activity page
- Improves readability of options in job executions, answers #5044
- Docker - add ldap nestedGroups setting to remco template
- Bump mockito-all from 1.8.5 to 1.10.19
- Bump commons-httpclient from 3.0.1 to 3.1
- Bump asset-pipeline-grails from 2.14.7 to 3.0.10
- Bump commonmark from 0.10.0 to 0.11.0
- Bump sass-asset-pipeline from 3.0.5 to 3.0.10
- Bump jaxb-api from 2.3.0 to 2.3.1
- API to list installed plugins
- Consider plugin title in search
- Fix Rundeck ignoring custom config file
- Alberto Hormazabal
- Daniel Fernández (danifr)
- Deyan Stoykov (deyanstoykov)
- Greg Schueler (gschueler)
- Jaime Tobar (jtobard)
- Jesse Marple (jessemarple)
- Luis Toledo (ltamaster)
- Rune Philosof (runephilosof)
- Stephen Joyner (sjrd218)
- carlos (carlosrfranco)
# Bug Reporters
- Daniel Fernández (danifr)