Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
327 lines (226 sloc) 12.6 KB


All notable changes to wuffle are documented here. We use semantic versioning for releases.


Note: Yet to be released changes appear here.


  • FEAT: various performance improvements for logged in board access (2fe40483, de5403da)
  • FEAT: use app APIs to determine user repository access (579743a9)
  • FIX: account for GitHub API changes breaking private repository display (#80)
  • CHORE: bump dependency versions


  • FEAT: be able to specify default column collapsed state
  • FIX: prevent collapsed columns from breaking layout
  • FIX: correct collapsed column layout in Firefox


  • FEAT: support connects to create parent -> child relationship (#78)
  • FEAT: add ability to whitelist enabled organizations (#75)
  • CHORE: add sentry support, inherited from Probot
  • CHORE: board update errors with context
  • CHORE: ensure the app restores before completing startup
  • CHORE: serialize board version on store dump
  • FIX: do not bump updated_at when synchronizing issue details
  • FIX: correct status sync failure on PR open
  • FIX: don't swallow changes on concurrent store updates
  • FIX: prevent accidental double background sync
  • FIX: handle deleted forks in pull request filters (2b40281f)


  • FEAT: improve background synchronization of pull request details (#70)
  • FEAT: make background synchronization configurable via environment variables


  • FEAT: recognize full list of GitHub closes keywords (#73)
  • FEAT: recognize colon in issue links (#73)
  • CHORE: feat with maximum page size during background sync to avoid hitting GitHub rate limits

Special thanks goes to @mjcarroll for contributing #73.


  • FEAT: reindex store on board configuration changes (#69, #49)
  • FEAT: allow to hook into store restore and serialize


  • FIX(app): deduplicate check runs by name (#66)


  • FEAT: integrate pull request checks and statuses (#41)
  • FEAT(board): provide better link titles (77cf5b2d)
  • FEAT(board): add limited offline support
  • FEAT(board): improve error handling and recovery
  • FEAT(board): cache assets in front-end
  • FEAT(board): make header responsive
  • FIX(app): correct label update (3ff74c22)
  • FIX(app): update card on pull_request.synchronize, too

Breaking Changes

  • The app requires read access to checks and statuses as well as the connected event subscriptions in order to display pull request states (#41).


  • DOCS: align app with project documentation


  • FEAT: publish as wuffle to npm
  • FEAT: validate presence of compiled board assets
  • FEAT(app): log working directory when starting
  • CHORE: compile board assets to app
  • CHORE(app): resolve wuffle.config.js in working directory


  • CHORE(board): reduce amount of unused styles


  • CHORE(board): add more a11y hints
  • FIX: correctly handle dismissed reviews


  • FIX(board): ensure long card titles do not kill card layout
  • FEAT(board): give card links full prominence
  • FEAT(board): show assignees collapsed and expand them as needed


  • FEAT(app): integrate reviews (#22)
  • FEAT(app): pick up milestone edits (#46)
  • FEAT(app): pick up label edits
  • FEAT(app): allow partial issue updates
  • FEAT(background-sync): add ability to hook up external behaviors
  • FEAT(background-sync): batch update issues (1958c9d3)
  • FEAT(board): hide merged, non-closing PRs from cards (06794aa5)
  • FEAT(board): add numerous UI hints
  • FEAT(board): improve assignee display
  • FEAT(board): slightly adjust board styles, making it more pleasent to look at
  • FEAT(store): serialize store updates (a5bdcbe5)


  • FEAT(search): include login/org in repository search
  • FEAT(search): use includes to filter labels and repositories
  • FEAT(board): deep link milestone to GitHub
  • FIX(board): correct icon sizes displaying wrong in Firefox (#48)


  • FEAT(app): reduce re-ordering noise on the board by card order, if possible (62bea58d)
  • FEAT(app): do not move referenced issues via board (260d1e8a)
  • FEAT(board): provide card link titles
  • FEAT(board): make card link icons and PR / epic icons clickable
  • FEAT(board): show blocking links first in list
  • FEAT(board): make title read-only
  • FEAT(board): visualize open required by / closes issues as standard link types
  • FIX(app): only move issues to top that move to new column


  • FEAT(board): make click on issue numbers open the issue on GitHub as the default interaction again (#35)
  • FEAT(board): make filtering by issue reference, tag or milestone available as SHIFT / CTRL + click
  • FEAT(board): make consecutive click on reference, tag or milestone toggle the relevant filter
  • FEAT(board): escape card dragging on ESC key


  • DOCS: add troubleshooting document
  • DOCS: document column to state mappings


  • FEAT(app): handle PRs from external like new issues (8e0919d5)
  • FEAT(app): allow alternative column names and explicit state mappings (c2575b32)
  • FEAT(app): validate board configuration (#39)
  • FEAT(app): crash on run failure (2d2ac864)


  • FEAT(app): recognize list of linked issues with the same type
  • DOCS: document login callback url
  • FIX(auth-routes): gracefully handle missing cached data in auth callback


  • FEAT(background-sync): ignore archived repositories
  • FEAT(apps/dump-store): allow usage of local dump store outside dev mode
  • CHORE: di-ify app core

Breaking Changes

  • We restructured internals and made apps expose their own APIs. Things changed.


  • FEAT: connect all repositories connected to GitHub app

Breaking Changes

  • config.repositories is now obsolete
  • The board does not default to a repository for its name, configure a board name via


  • FIX(app): capture requested reviewer changes


  • FEAT(app): mark column as sorting=true to incrementally sort cards based on links (#29)
  • FIX(app): correct GitHub app manifest
  • FIX(board): correctly handle reordering updates


  • DOCS: new setup and run guide 🎉
  • FIX: correct various getting started / configuration glitches
  • FIX: validate BASE_URL in run script


  • FEAT(board): filter by tags
  • FIX(board): de-duplicate attached PR links
  • FIX(app): properly update link sources if linked issue changes (#33)
  • CHORE(app): improve start validation and hints


  • FEAT(board): add powered by link
  • FEAT(app): allow searching by ref
  • FEAT(app): inverse link related to issues
  • FEAT(board): add ability to filter by issue with dependencies
  • FEAT(board): show epic progress bar and completed count (#27)
  • FIX(apps/search): allow more special keys in search


  • FEAT(board): display issue links (#3)
  • FEAT(board): display full issue key on hover
  • FEAT(board): add epic icon and links (#30)
  • FEAT(app): add new/updated issues without order to column top
  • FEAT(project): add docker image
  • FIX(board): allow scrolling while dragging card


  • FEAT(app): add ability to force HTTPS redirect
  • FEAT(project): provide pre-built docker images (#25)
  • FEAT(app): add run script
  • FEAT(app): validate environment configuration before start
  • FIX(app): expose required information for deleted issues
  • DOCS(project): document environment variables


  • FEAT(project): add Procfile
  • FIX(dump-store-s3): correctly handle inbound data
  • CHORE(dump-store-s3): set dump interval to five minutes
  • CHORE(dump-store*): log pre-exit actions and timings


  • FIX(search): recognize _ in search values
  • FIX(automatic-dev-flow): correct branch issue number globbing


  • FIX(search): recognize dashes search values


  • FEAT(background-sync): update only actually changed items
  • FEAT(search): add is:{ open, closed, issue, pull } filters
  • FEAT(search): ignore operators with empty values
  • FEAT(board): focus board filter on CTRL/CMD + F
  • FEAT(board): complete board filter qualifier values


  • FEAT(background-sync): improve sync performance for closed issues
  • FEAT(background-sync): expire and remove closed issues not updated for 60 days
  • FEAT(board): simplify board filter
  • FEAT(board): add initial focus hint to board filter
  • FEAT(search): put negation char before operator
  • FEAT(search): support ! to negate a search operator
  • FIX(dump-store): correct store not dumping on exit


  • FEAT(search): add ability to negate search using -
  • FEAT(links): unlink closed, unmerged PRs from issue
  • FEAT(board): autoresize card titles on focus
  • FIX(board): prevent shrinking of PR and collaborator icons


  • FIX(board): prevent error on card filtering


  • FEAT(app): optimize card fetching
  • CHORE(app): cache board
  • FEAT(board): incrementally render cards
  • FIX(search): recognize colons in search values


  • CHORE: numerous error handling and logging improvements
  • CHORE: propagate board api errors
  • CHORE: recover from background sync failures
  • FIX: correctly handle related to links
  • FIX: update all (including already existing) links
  • FIX: correctly reset org-auth installation cache



  • FEAT: remove issues that failed to synchronize during background sync
  • FEAT: parse and publish issue links


  • FEAT: collapse issue and closing PR into single card
  • FEAT: add pull request icon



  • FEAT: combine front-end and back-end into single app
  • FEAT: migrate front-end to Svelte and Bootstrap
  • FEAT: dump store on exit
  • FEAT: add ability to dump and restore store to/from S3
  • FEAT: enable response compression for public routes
  • FEAT: add ability to configure board via BOARD_CONFIG environment variable
  • FEAT: minimize amout of stored / transfered data
  • FIX: allow moving a card to end of column


  • FEAT: show search hints as you type
  • FEAT: show incremental / partial search results
  • FEAT: add search by reviewer


  • FEAT: hide column labels
  • FEAT: display reviewers
  • FEAT: display all assignees


Initial version.

You can’t perform that action at this time.