Skip to content

Latest commit

 

History

History
894 lines (629 loc) · 68.6 KB

CHANGELOG.md

File metadata and controls

894 lines (629 loc) · 68.6 KB

This is a list of new fixes and other changes made to SOUP during its continued development.

SOUP version numbering generally follows the major.minor.patch scheme. Odd minor versions (1.1.x, 1.3.x, 1.5.x, etc.) are reserved for unstable development versions ("devel" branch on GitHub), while even ones denote stable releases ("master" branch on GitHub). The change log below thus only includes even version numbers, as changes between development versions are too numerous to list.

1.56 (2019-08-06)

This release mostly fixes regressions introduced by changes to the SE user interface. The main new feature is the ability to intercept text pasted into the Markdown editor, which is currently used for the mse234680 Unicode URL fix.

New fixes in 1.56.0:

Removed fixes:

Other changes:

  • The mse234680 fix now also fixes IRIs pasted into the edit box.
  • Rewrote the mse153528 fix to work with the new "toast" style notification boxes.
  • The mse74274 fix stopped working after changes to SE code, made it work again.
  • Tweaked the mse172931 fix to correctly hide vote buttons on answers in review again.
  • Tweaked the mse291623 CSS selector to only apply to the mobile view. (Avoids color mismatch for italic text in visited links on Chrome.)
  • Added CSS to stop the mso287222 fix from pushing the new activity indicator on custom question filters to a separate line (issue #44).

Changes in 1.56.2:

  • Temporarily disabled the mso300679 fix due to changes in SE code.

1.54 (2019-03-08)

It's been almost a year since the last SOUP release. With the introduction of the new responsive SE design across the network and the adoption of the Stacks CSS library, a lot of old CSS bugs have finally been fixed (and, I'm sure, new ones have been introduced). As I have not had much time to develop new fixes for SOUP over the past year, this release mostly involves trimming down the code and removing a number of old fixes that have become obsolete.

New fixes in 1.54.0:

Removed fixes:

Other changes:

  • Removed hardcoded maximum comment pixel width from mse154788 styles, as it no longer seems to be needed with the new responsive design.
  • Temporarily disabled math12902 fix due to conflicts with new site CSS.
  • Updated mse234680 fix to work with the new-style "add link" editor dialog.

Removed fixes in 1.54.1:

1.52 (2018-03-10)

New fixes in 1.52.0:

Other changes:

  • Clean up some console noise on chat, SE.com and other non-QA sites that don't have the same StackExchange object as normal QA pages.
  • Add missing "use strict;". SOUP code should already be strict mode compliant, but this ensures it.
  • Use CHAT.addEventHandlerHook() instead of klugy WebSocket hack to apply content filters to new chat events. Remove SOUP.hookChat() as obsolete.
  • Remove vendor prefix fallbacks from mse84296 unicode-bidi CSS to avoid weird breakage on Edge.
  • SOUP now installs a setter on window.jQuery to allow fixes that patch jQuery to run immediately after it has loaded. (Unfortunately some browsers and user script managers have race conditions that make this unreliable; see e.g. Tampermonkey issue #211.)
  • Fix CSS bug in mse217779 fix causing pages with spoilers to have an unnecessary horizontal scroll bar.
  • Update mse213709 fix to work with the new mobile comment HTML.
  • Tweak mse154788 and mse243519 to (try to) avoid a Chrome HTML rendering bug that can trigger spurious scroll bars on comments.
  • The mse266852 fix now uses a pure CSS fallback to hide the separators before the script runs.

Changes in 1.52.1:

  • Added an @exclude line to prevent SOUP from running on SO Teams pages due to reports of breakage. (Thanks, Monica Cellio!) Unfortunately, SOUP is not currently supported on Teams due to the author's inability to test it in that environment.
  • Also added regexp validation for partial HTML element IDs (e.g. editor postfixes) provided by SE code to callbacks before they're fed to jQuery. This should hopefully prevent the same issue from coming up in other contexts.

Changes in 1.52.2:

  • Disable the mso345590 fix on sites using the new responsive design, pending possible removal or reimplementation once the new design stabilizes and is deployed globally. (The new design mostly solves the issue, except on very narrow displays, and the current fix implementation is not fully compatible with it.)

Changes in 1.52.3:

1.50 (2018-01-23)

New fixes in 1.50.0:

Removed fixes:

Other changes:

Changes in 1.50.1:

  • Update mse248646 fix to work with new .remainingCommentsCount() method in SE comments UI.

1.48 (20 Sep 2017)

This release fixes a regression that broke the mhchem MathJax extension on sites that use it, and also contains several updates related to the recent switch to HTTPS and the upcoming top bar redesign. Expect to possibly see a new stable release shortly, after the new top bar has been deployed to all SE sites.

New fixes in 1.48.0:

Removed fixes:

Other changes:

  • Update all URLs in code and documentation to use HTTPS where possible.
  • Per-site metas have moved from meta.*.stackexchange.com to *.meta.stackexchange.com, update URLs and regexps to match.
  • Simplify the mse223725 HTTPS link fix, enable it regardless of current protocol and move it into general fixes.
  • Slightly tweak the rounding algorithm for mso313853 to round the page number up when the page size is decreased (and down when it is increased).
  • Fix: content filters were not always properly applied to content diffs in edit review and post histories.
  • mse217779: Only partially fade out spoilers in diffs, as per https://meta.stackexchange.com/a/300859.
  • math4130: Don't break the loading of other extensions like mhchem on chemistry.SE. (Possible regression due to MathJax upgrade.)
  • Add SOUP.getEventHandlers() utility wrapper for the undocumented jQuery._data() function.

Changes in 1.48.1:

  • Re-enable mso345590 fix after a class name change effectively disabled it.

Changes in 1.48.2:

Changes in 1.48.3:

  • Work around GreaseMonkey 4 bug that breaks scripts ending in a //-style comment with no newline.

Changes in 1.48.4:

1.46 (11 Feb 2017)

It's been over a year since the last stable SOUP release, and this release consists mostly of the backlog of changes accumulated in the development branch during that time.

Unfortunately, I haven't had as much time to devote to maintaining SOUP lately as I had in the past. When I started this project, I was hoping that others would join in to actively contribute patches to SOUP and maybe even become co-developers, so that I could eventually focus my efforts on coordination and quality control. Alas, except for a couple of notable exceptions, this hasn't really happened, and so the development rate of SOUP remains limited by my personal free time and interest. If you'd be interested in contributing to SOUP, or have any suggestions on how to make the project more accessible to new contributors, please let me know!

In particular, I haven't had time to do the extensive cross-browser pre-release testing of each fix that I used to do before each stable release. I'm confident that none of the new fixes should have any major issues on either Chrome or Firefox, since I've been using them personally on both browsers for most of a year, but it's possible and even likely that some of the fixes in this release may have been made redundant in the mean time. The best I can say is that at least this release is more up to date than v1.44. :) Please report any problems or obsolete fixes that you may find, either on GitHub or at Stack Apps.

A major new feature in this release is that SOUP v1.46 will be the first stable SOUP release available as a browser extension on Chrome and Firefox. A snapshot of the v1.45 development branch has been experimentally available as a browser extension for some time, but with this release, SOUP-as-an-extension is finally going official. In particular, this means that you can now install SOUP on Firefox for Android! Expect more mobile-specific fixes in future SOUP releases, and again, please report any and all problems you may observe.

New fixes in 1.46.0:

Removed fixes:

Other changes:

  • SOUP can now be installed as a Firefox / Chrome extension. (Thanks to Peanut for help and for prodding me into actually doing this!)
  • Use a less hacky way to obtain the site and question IDs for realtime update subscription. (Thanks, enki-code!)
  • Improved mse259692 fix by hacking the JS Date constructor and methods to pretend that local time is UTC.
  • Tweaked mse217779 CSS to slightly slow down spoiler fade-in per request and to add a notice text to spoilers per another request.
  • Rewrote the math19650 fix to handle any display math syntax (including e.g. \begin{equation} ... \end{equation}) and to selectively disable display math in elements that should not contain it (currently comments, post summaries, question titles and the sidebar).
  • Update mse240417 fix title.
  • Content filters are now properly applied to the top bar menus (site switcher, inbox and achievements) loaded via Ajax.
  • Re-enable mse22372 HTTPS link rewriting for per-site metas (disabled in v1.42 due to issues with Cloudflare).
  • mse172931 fix now uses DOMParser instead of an ugly jQuery hack to extract answers from the question page HTML.
  • mse234680 fix handles optional link titles correctly (and fixes a bug with non-BMP Unicode characters in URLs as a side effect).
  • Rewrote mse66646 fix for compatibility with new SE code. (The related IME issue seems to have been fixed, but this can still be triggered e.g. by the Firefox spell checker menu.)
  • Disabled the mse207526 fix when the new topbar is enabled, to avoid issues with dialog positioning. (Thanks, mjpieters!)

Changes in 1.46.1:

  • Removed mse221304: Make all i.stack.imgur.com links protocol-relative (no longer needed)
  • Prepare for the renaming of per-site meta hostnames from meta.*.stackexchange.com to *.meta.stackexchange.com, make sure fixes continue to run on the correct sites.
  • Don't auto-rewrite links to the old meta hostnames to use HTTPS, since they have broken certs.

1.44 (5 Feb 2016)

Another somewhat delayed release. A few fixes added, a few removed. I'm trying out a new release strategy that should hopefully make the branch history easier to follow in the future.

New fixes in 1.44.0:

Removed fixes:

Other changes:

  • mse234680: Be less picky about what constitutes a valid hostname, rely on the browser to reject invalid ones.
  • mse153528, mso310158: Avoid a ReferenceError if the StackExchange object is unavailable.
  • mse265889: Move heading to just before the answer text (but after the vote buttons); tweak heading format to emphasize score more. (Thanks to Samuli Kärkkäinen for feedback.)
  • Make the mse115702 fix work in first posts / late answers review again (was broken since v1.38).
  • mse172931: Fix broken MathJax rendering in Ajax-loaded answers.
  • Add optional path regexp to fixes, to allow CSS fixes to be active only on certain pages; edit existing fixes with in-code path filtering to use it.
  • Rewrite mse66646 to accommodate changes to SE code.

Changes in v1.44.1:

  • Add disabled flag to temporarily turn off fixes.
  • Temporarily disable mso306325 fix due to reported issues on Firefox ESR.

Changes in v1.44.2:

Changes in v1.44.3:

  • The mse234680 fix broke on jQuery v1.12.4, fixed. (Reported by DavidPostill, thanks!)

Changes in v1.44.4:

  • Update mse66646 fix for jQuery v1.12.4 compatibility.

1.42 (2 Dec 2015)

New fixes in 1.42.0:

Removed fixes:

Other changes:

  • Don't even try to run late setup and normal script fixes unless jQuery is available; it won't work. Early (and mathjax) script fixes still run.
  • Extended codegolf959 fix (reduce line height in code blocks) also to puzzling.SE.
  • mse22372: Don't rewrite links to per-site metas (meta.*.stackexchange.com) to use HTTPS; they currently return a 403 Forbidden error.

1.40 (25 Oct 2015)

Just a bunch of new fixes, nothing too special this time. The mso308513 issue has already been marked "status-completed" by SE, but it hasn't been deployed quite yet and having the style twice should do no harm, so I'm leaving it in for this release.

New fixes in 1.40.0:

Removed fixes:

Other changes:

  • SOUP no longer injects its code into <iframe>s. While there have been no reported bugs caused by this, it's still useless and unintentional behavior.

1.38 (3 Oct 2015)

This release contains a couple of fixes to the image upload dialog (mse266523, mse264307 and mse266779), a few CSS fixes and one rather interesting accessibility fix (mse265889) which should actually be invisible to everyone, but audible to people using a screen reader. There's also a bunch of changes to the "SOUP framework" that should make certain kinds of fixes faster, more reliable and easier to implement.

New fixes in 1.38.0:

Other changes:

  • Content filters are now (hopefully) applied correctly to edited posts reloaded via Ajax.
  • Content filters applied to new / updated posts no longer need to reprocess all posts on the page.
  • The content filter Ajax hook regexp is no longer exposed as SOUP.contentFilterRegexp (because we now use several hooks with different regexps).
  • Ajax hooks can now receive the result of their regexp match as a fourth parameter.
  • New SOUP.subscribeToQuestion() helper method for subscribing to realtime events (votes, accepts, etc.) on question pages.
  • The mse115702 fix (enable delete link when downvoting an answer to -1) now uses the realtime event feed.
  • The SOUP.forEachTextNode() method now passes the text content of each node as a parameter to the callback, and assigns any returned value back to the node. The implementation should also be more efficient now, using native DOM traversal instead of recursive jQuery calls.

Changes in 1.38.1:

This point release fixes a bug that caused content filters not to run in the Markdown editor preview pane.

Changes in 1.38.2:

Removed the following fixes, as they're no longer needed:

1.36 (13 Sep 2015)

Another incremental release featuring two new fixes (and the expansion of one older fix to all sites).

New fixes in 1.36.0:

Other changes:

  • The graphicdesign2415 CSS fix (for links in post warnings) is now applied globally.
  • Some notable fixes are now highlighted in the README.

1.34 (31 Aug 2015)

Just a couple of new fixes in this release. I'm trying to return to a somewhat faster and more regular schedule for stable releases, hence this second release this month. The reorganization planned for 2.0 is currently on the back burner.

New fixes in 1.34.0:

Other changes:

  • Run content filters on expanded user cards (needed for mse240787), add new usercard content filter type.

1.32 (13 Aug 2015)

This is mainly a cleanup release, removing several obsolete fixes for design bugs that have been quietly fixed by SE. That said, a few new fixes are also included.

New fixes in 1.32.0:

Removed CSS fixes:

Removed JS fixes:

Other changes:

  • Run content filters and the math11036 fix for expanded posts in the user profile activity tab.
  • Tweak the link color for graphicdesign2415 slightly to match the background hue.
  • Extend mse84296 BiDi isolation fix to also apply to usernames under posts.
  • Documentation fix: The mse243519 fix was mistakenly identified as mse240790 (and linked to the wrong post).
  • Tweaked math4130 fix to hopefully be more robust.

Changes in 1.32.1:

This point release fixes a few minor bugs that crept into 1.32.0:

  • mse172931: Strip <script> tags from the async-loaded question page more cleanly, to avoid accidentally parsing their content as HTML.
  • mse229363: Hot question titles from Data Science Stack Exchange are now eligible for MathJax parsing.
  • mso297489: Fix a regexp typo causing the "close" link to sometimes appear only after the review page is reloaded.

1.30 (22 Jun 2015)

This is another late I-forgot-to-release-this-earlier version. :( I've been quite busy since spring and haven't had much time to work on SOUP much, and the big SE redesign earlier this year made too many things into moving targets. Anyway, all these fixes have been in the devel branch for several months, so at least they should be thoroughly tested. :)

My future plans involve doing another big testing session to see which old fixes can be safely removed, now that the new design has mostly stabilized, in preparation for SOUP v2.0. (This is somewhat complicated by the fact that some of the issue have only been fixed partially.) The 2.0 version, planned for sometime in August or September, will feature a more modular design, with the actual user script being built from many individual scriptlet files. This should hopefully simplify editing and contributing new fixes, and also allow e.g. compiling SOUP into a stand-alone Chrome / Firefox extension.

New fixes in 1.30.0:

Other changes:

  • Improved the mse154788 fix by adding word-wrap: break-word to comment styles; this should avoid the need for scroll bars in many cases.

1.28 (3 Feb 2015)

This version mainly features some older styling fixes that didn't make it into 1.26, released in preparation for a bunch of new fixes involving the Stack Overflow redesign.

New fixes in 1.28.0:

Other changes:

  • Tweaked the mse227975 fix to look better on the new login page.
  • Tweaked comment body padding for mse154788 to avoid link underlines sometimes being hidden on meta.SO.

Changes in 1.28.1 (17 Mar 2015):

  • Fixed beta site detection after SE design change.

Changes in 1.28.2 (10 Apr 2015):

1.26 (10 Dec 2014)

It's been a while since the last stable release, again. I'd been meaning to carry out more systematic browser compatibility and regression testing before the next release, and to find and prune away fixes that may have become unnecessary, but I never got around to finishing that. However, I've been using the devel version myself on both Firefox and Chrome long enough that I can probably consider it pretty well tested by now. Opera compatibility is currently untested; if you're using SOUP on Opera and find any issues with it, please let me know!

Most of the changes in this version are back-end tweaks meant to improve performance and stability. I've also partially rewritten the README page, and started documenting the SOUP internal structure and API at the SOUP wiki on GitHub to make third-party contributions easier. Any feedback is welcome!

New fixes in 1.26.0:

Removed fixes:

Other changes:

  • Content filters are now applied to new comments loaded via Ajax.
  • Made the content filter mechanism more flexible, so that filters can be made to run only on specific events.
  • Made Ajax hooks run immediately by default to minimize flicker; let's see if this breaks anything...
  • Content filters are now applied to answers loaded in review by the mse172931 fix.
  • New utility function SOUP.hookChat() for monitoring chat events.
  • Chat content filters now use the page visibility API to only run in active tabs.
  • Removed unused SOUP.requestAnimationFrame() compatibility wrapper.
  • The fix list in README.md is now grouped into sections, just like in the source.
  • The license section now contains an explicit "do whatever you want" license grant to SE, Inc. in addition to the general ISC license.
  • Various other README.md changes, including a direct install link for the devel branch and a link to the SOUP wiki on GitHub.

New fixes in 1.26.1:

This is a quick single-fix releast for the math.SE moderator election.

Changes in 1.26.2:

  • Fixed a silly SOUP bug causing JS fixes to run before DOM was fully loaded on some browsers.

Changes in 1.26.3:

  • The mse217779 spoiler fix no longer breaks clicking the spoiler to toggle visibility.

1.24 (7 Oct 2014)

A relatively fast-track release for mse240485 and mse240486, which both involve loss of UI functionality. Also includes a couple of new lower priority fixes, and one internal fix to a SOUP-induced UI regression on Chrome.

Changes in 1.24.2:

Changes in 1.24.1:

  • Removed the mse240553 fix added in 1.24.0, as it's no longer needed.

New fixes in 1.24.0:

Removed fixes:

Other changes:

1.22 (15 Sep 2014)

This is just an incremental release to push out a few updates that missed v1.20 and were stuck in the devel branch. More active development may or may not resume later in the year. As always, contributions are welcome.

New fixes in 1.22.0:

Other changes:

  • Improved and simplified the stats1987 fix by using max-width instead of table-layout: fixed. This fixes a minor layout issue with large vote counts and adds scroll bars to over-wide comments.
  • Added release dates to change log. Trying out short release notes as well.
  • Added @homepageURL, @copyright and @license metadata lines.

1.20 (28 Jul 2014)

New fixes in 1.20.0:

Removed fixes:

Other changes:

  • SOUP now hooks the WebSocket interface to detect chat events instead of polling for them.
  • mse229363: Hot question titles from the Aviation and Puzzling sites are now eligible for MathJax parsing.

1.18 (5 Jul 2014)

New fixes in 1.18.0:

Other changes:

  • The sidebar question score wrap fix (mse229751) is split into a global part and a site-specific part.
  • The mobile link cursor fix (mse108046) is applied to all links without name attributes.
  • The HTTPS link rewrite fix (mse221304) is now applied also to chat and area51 links.
  • Content filters now work properly on chat (using brute-force 0.5s interval polling, since there's no proper hook for chat updates).
  • SOUP.isChat() and SOUP.isMeta() are now set already during early setup.
  • Devel branch versions should now auto-update properly (and not just when a new master release is made).
  • Update checking is optimized by duplicating the script metadata in SOUP.meta.js and pointing @updateURL to it instead of the main script.

1.16 (26 Jun 2014)

Changes in 1.16.1:

  • The mse229759 fix has been made redundant, only a few hours after v1.16.0 was released.

New fixes in 1.16.0:

Other changes:

  • The mse230607 fix is no longer needed, and has been removed.
  • The mse224628 fix is no longer relevant, since the 10k flag review page no longer exists; the code has been adapted for mse115702 instead.
  • mse229363: MathJax is now also parsed in hot question titles from earthscience.SE.
  • The math12803 fix is now split into two parts, of which one is math.SE specific and the other is applied on all sites.
  • The mse215473 styles are no longer incorrectly applied to links in popups created from the post menu.
  • Fixes can now run scripts early, before the document loads, by specifying them with the early property. Note that jQuery is typically not yet available at that stage.
  • New SOUP.addContentFilter() utility method to simplify fixes that manipulate post content.
  • Fancy new icon.

1.14 (11 May 2014)

Changes in 1.14.1:

  • The mse230607 fix is now applied on academia.SE too.

New fixes in 1.14.0:

Other changes:

1.12 (15 Apr 2014)

New fixes in 1.12.0:

Other changes:

1.10 (10 Mar 2014)

Changes in 1.10.2:

  • Removed workplace2437 CSS fix, no longer needed.
  • The fix for mse223866 caused a formatting regression for moderators, rewrote the code to be more careful. (Thanks, Monica Cellio!)

Changes in 1.10.1:

  • Fixed minor issue with stats1987 causing vote counts on self-posted comments to be misaligned. (Thanks, Jonathan Hobbs!)

New fixes in 1.10.0:

Other changes:

  • JS fixes are now isolated from each other, one fix failing will no longer break others.
  • New utility function SOUP.forEachTextNode() for easier page text manipulation.
  • New SOUP.userRep, SOUP.isBeta and SOUP.isMeta properties for user privilege checking.
  • Bugfix: SOUP no longer leaks variable or runs outside the SE network on Opera.

1.8 (24 Feb 2014)

Changes in 1.8.3:

  • The fix for mse160338 is no longer needed, and has been removed. (Thanks, Manish!)

Changes in 1.8.2:

  • The fix for mse150069 is no longer needed, and has been removed.

Changes in 1.8.1:

  • The fix for mse212372 is no longer needed, and has been removed.
  • The fix for mse104184 is no longer applied in the mobile view; see this feature request for details.
  • The README Markdown has been simplified for better compatibility between GitHub, StackApps and UserScripts.org.

New fixes in 1.8.0:

Other changes:

  • The code has been reorganized into self-contained modules, each corresponding to one bugfix / workaround. Currently, this has little effect on functionality, but it could be used e.g. to allow toggling individual fixes on/off.
  • Utility functions like hookAjax() are now contained in a page-global SOUP object.
  • A new SOUP.hookEditPreview() utility function has been added to allow easier editing fixes.
  • CSS fixes are now injected before the document is loaded, reducing the risk of "flickering". As a side effect, a few selectors had to be adjusted to increase their specificity over conflicting SE default styles.
  • Added a change log, with retroactive logging for earlier releases.

1.6 (10 Feb 2014)

Changes in 1.6.1:

New fixes in 1.6.0:

1.4 (24 Jan 2014)

New fixes in 1.4.0:

1.2 (17 Jan 2014)

New fixes in 1.2.0:

1.0 (12 Jan 2014)

Fixes included in the 1.0.x branch: