The Stack Overflow Unofficial Patch (SOUP) is a project to collect various minor client-side bug fixes, work-arounds and usability improvements for Stack Overflow and other Q&A sites on the Stack Exchange Network into a single user script.
The intent of SOUP is not to make any substantial or controversial changes to the Stack Exchange user interface, but to fix minor problems and omissions that the SE developers have overlooked or haven't got around to fixing yet. By combining these minor patches into a single user script, they become easier to install and maintain.
SOUP has been mainly developed and tested on Firefox and Chrome. It may also run on other browsers with user script support (via Tampermonkey or other compatible extensions), but has not been fully tested on them. Any reports of cross-browser issues are welcome.
Installing as a browser extension
Users of Chrome or Firefox (including Firefox Mobile) can install SOUP as a browser extension:
Note that updates to the extension packages available at Firefox Add-ons and Chrome Web Store may take a few days to appear, even after a new stable user script version is released, due to review and other delays.
Installing as a user script
To install SOUP as a user script, you first need to install a user script manager such as Greasemonkey (for Firefox), Tampermonkey or Violentmonkey. (Other Greasemonkey compatible user script managers should also work.) After installing the extension, clicking the "download / install" button below should bring up a dialog asking you if you want to install SOUP. Answer "yes".
NOTE: SOUP is compatible with Firefox 57 / Greasemonkey 4. However, due to a known bug, installing SOUP (or any other user scripts) from GitHub may fail. Until the bug is fixed (and until GM4 stabilizes more generally) I recommend using another user script manager (such as Tampermonkey or Violentmonkey) or the stand-alone SOUP extension for Firefox instead.
NOTE 2: Tampermonkey on Chrome suffers from a race condition that can cause some fixes that rely on early loading to fail to apply properly. To avoid this, you should either use the stand-alone SOUP Chrome extension or set Inject Mode to "Instant" in Tampermonkey preferences (in the Experimental section, only visible when Config Mode is set to "Advanced" above). Other user script managers on Chrome may also be subject to similar issues.
Installing the development version
If you like living on the edge, you can also install the development version of SOUP, which gets all the latest fixes and updates as soon as they're written. Of course, it also gets all the latest bugs, too. If you do install the development version, please report any bugs or regressions you may find in it below!
Note that the development version of SOUP is currently only available as a user script.
The list of issues fixed by the latest version of SOUP is available on GitHub (also for the development branch). You can also browse the change log (development) to see which fixes have been added and removed in recent versions of SOUP.
SOUP is distributed under the ISC license, a permissive BSD-style open source license.
In addition, permission is given to Stack Exchange, Inc. to make use of SOUP code in any way they see fit, including but not limited to incorporating all or parts of it within the Stack Exchange codebase, with or without credit.
If you know a user script or stylesheet patch for SO or other SE sites that would be suitable for inclusion in SOUP, or an unfixed issue that you believe might be worth patching, please let me know (e.g. by posting a comment or an answer the SOUP page on Stack Apps).
If you'd like to help me out by contributing new fixes directly to SOUP, the SOUP wiki on GitHub has some useful tips. Any and all contributions will be appreciated!