Ad Muncher v4.94 Changelog Release date: October 19th, 2014 [Build]/[Type] - [Description] ================================================== Key: E = Enhancement F = Fix 34121/F - Small fix to update system. 34118/F - Fixed crash with larger filter lists. 34117/F - Fixed error about missing download source in Install.ini. 34089/E - Implemented an entirely new update system, designed to handle the increased load we're anticipating from our free release. 33900/E - Removed all of the license management and anti-piracy code. Ad Muncher v4.93 Changelog Release date: July 13th, 2012 [Build]/[Type] - [Description] ================================================== 33707/E - Final packaging changes for release. 33705/F - Fixed crashes of some 64bit processes. 33688/E - A few small filtering tweaks and fixes. 33676/F - Many small fixes and tweaks to memory management and filtering code. 33526/F - Fixed dialog display after registration reset. 33514/F - Fixed icon recreation after explorer crash, also fixed the same when running as an administrator. 33502/F - Fixed occasional interference with HTTP protocol switching. 33499/F - Welcome balloon is now not shown if balloons are disabled on the system, which avoids some weirdness when clicking the icon on some versions of Windows. 33482/F - Fixed system tray error message. 33446/E - Several improvements and bug fixes to the new system tray and other interface code. 33333/E - Version number is now displayed in a more compact way. 33332/E - Implemented a better method of handling new list formats in the config file to avoid old types piling up. 33330/E - Removed the recently blocked popup list from the logs tab, as these are now available through the toolbar and reporting them from the browser to the program introduces a small delay in opening all popups. 33317/E - Improved engine behavior when helper files are retrieved and filtering is disabled. 33316/E - Rewrote the system tray handling code from scratch. Now displays an "installation complete" balloon on installation or upgrade instead of opening the browser. Supports high-DPI display setups for the tray icon, allows for easier language translation, and removes another chunk of old ASM code. 33177/F - Removed some old tray icon hiding preferences (now just hide/don't hide). 33176/F - Fixed incorrect behavior when clicking the "Import configuration" button on the registration dialog. 33175/F - Fixed hung installer on some systems when launching URLs. 33163/F - Fixed OS detection code. 33162/E - Many internal improvements to the codebase. 33128/F - Fixed bandwidth saved value shown on "About" tab. 33126/E - The prompt shown when trying to sort the filters by category or keyword now defaults to "No". 33126/F - Fixed version reporting when sending reports from the toolbar. 33109/F - Fixed broken shortcut key combos. 33108/E - Removed the option to open blocked popups from the system tray menu, as this is now available in-browser with the toolbar. 33104/E - Added an option to the "Interface" tab to disable the in-browser toolbar if required. 33103/E - Many more improvements to helper script handling. 33070/E - Improvements to helper script handling. 33068/E - Removed the option to prevent modifications to the browser status bar. No modern browser needs this feature as they have all removed support for status bar modifications. 33053/F - Fixed potential crash when a page was excluded from filtering and then included again. 33033/E - Added hotpatch support to patching engine. 33016/E - Improved the appearance of the system tray icons. 33013/E - Improved tag removal code. 33006/F - Fixed bug where installations that were configured to check for beta updates and had basic licenses were failing to receive non-beta list versions. 33004/E - Finished implementing a new toolbar system for Ad Muncher. This system displays a toolbar inside filtered pages when ctrl or shift is pressed while right-clicking on a page, or when a popup is blocked or other information needs to be displayed. This system has replaced the old browser extension system and means we don't need a different version of the extensions for every browser type, and will allow us to expose much more complex functionality in the future. 32986/F - Fixed crashes under Windows XP. 32954/E - Improvements to mutex handling in the config code. 32935/F - Fix to the beta update check frequency. 32934/E - Improved handling of MP4 videos. 32932/E - The "about" tab of the configuration window now shows the last four characters of the registration code to help users see which code is in use. 32930/E - More improvements to exclusion handling and helper script embedding. 32888/E - Made browser extension compatible with recent Firefox releases. 32886/E - Vastly improved handling of external content on excluded pages so that excluded pages should rarely need extra filters to exclude them completely from filtering. 32869/F - Fixed possible loss of licensing details when retrieving updates. 32864/E - Improvements to helper script insertion. 32852/E - Moved the helper script and CSS to external files so that the amount of code inserted into filtered pages is reduced substantially. 32836/E - Implemented the ability to supply extra content via the server supplied filter list. This is currently used for the helper scripts but can be extended to allow us to package icons/etc for use in a web interface. 32805/E - Improved method used for replacing script tags to avoid problems on some sites. 32803/F - Fixed possible breaking of the helper script if the user switches between different versions of the betas. 32800/E - Reduced the number of changes Ad Muncher's helper script needs to make to certain anchor tags to avoid conflicts with some sites, eg: Vimeo. 32799/F - Fixed lack of filtering on some sites. 32792/F - Fixed possible crash when exporting configuration. 32791/E - Improved removal statistic recording. 32790/E - Many improvements to how the helper script is packaged and inserted, for example it can now be updated via the filter list. 32746/E - Added option to the list for "Automatic check frequency" named "Automatic", which will let the server decide how often updates should be checked for based on recent release schedules. 32739/E - Implemented code to allow us to release list updates as betas for testing before going out to a wider audience. To receive these, enable the option to "Load development versions..." on the "Updates" tab. 32731/F - Fixed potential crash from 64-bit patches under Windows XP. ================================================================================= Ad Muncher v4.92 Changelog Release date: June 11th, 2011 Most significant changes: A few important bug fixes and improvements. [Build]/[Type] - [Description] ================================================== 32700/F - Opera still haven't fixed a bug that was causing the Opera extension to misread link targets. Implemented an alternative solution (thanks AkbarRi). 32686/E - Improved reliability of RSS advert removal. 32684/E - Finished implementing a new diagnostic logging system, optimized so the performance hit from logging everything doesn't affect diagnostic results, and also designed to efficiently handle the multi-threading of the new engine. 32682/E - Modified the installer to not show a confirmation screen at the end of installing or upgrading. Instead it will now launch Ad Muncher immediately and display a page in the browser that will notify the user if a newer version is available and display the change log. 32680/E - Implemented a system for swapping new filtering engines into Ad Muncher as needed. Currently being used for testing and development of a new upcoming engine. 32595/F - Fixed URL opening code in the installer so it won't launch browsers in the administrator context (where Ad Muncher can't filter them). 32591/E - Added extra checks to ensure the ad removal counter is saved when shutting down the computer. 32585/F - Fixed Ad Muncher browser extension under Firefox 4.0.1 and newer. 32584/E - Many improvements to the memory management code. ================================================================================= Ad Muncher v4.91 Changelog Release date: March 24th, 2011 Most significant changes: Many small bug fixes and improvements. [Build]/[Type] - [Description] ================================================== 32562/E - Recompiled with latest server list. 32560/F - Added code to the installer's manifest so it doesn't show a warning about the installation failing under Windows 7. 32509/F - Fixed occasional error message when using the context menu extensions in IE9. 32503/F - Fixed error message under IE9 on some pages. 32500/F - Fixed error message about server-supplied filters under IE9 sessions embedded inside external apps (eg: FeedDemon). 32495/F - Fixed error messages about missing "Object" under IE9 on some pages. 32489/F - Fixed potential crash when relocation certain kinds of x64 jmps and calls. 32487/F - Fixed potential lack of filtering in 64-bit processes if Ad Muncher was closed and launched again. 32449/E - Added code signing to the hook DLLs and 64-bit hook launcher for a little extra security. 32445/E - Implemented smaller blank SWF replacement. 32442/F - Fixed possible stalled connections when a browser tried to connect the same socket again after it was already connected. 32437/F - Fixed possible browser crash when Ad Muncher was closed. 32424/F - Fixed bug in handling of disabled connections. 32415/E - Added a checkbox option to the "Options" / "Filtering" tab allowing filtering to be disabled on intranet connections. 32410/F - Fixed possible corrupted connection when filtering is disabled. 32406/F - Fixed conflict with some 64-bit patching systems that could cause patched 64-bit browsers to crash. 32385/F - Fixed bug in keyboard shortcuts. 32384/E - Improved helper script handling of mouse interference prevention. 32380/E - Removed old IP Scramble code to make way for a faster method of routing connections. 32353/E - Implemented blank SWF replacement. 32334/F - Tracked down a very difficult bug in the hook handling code that could result in aborted outbound connections. 32326/E - Improved the load time of the hook DLL. 32322/E - Extended the timeout for creating the configuration directories from 10 to 30 seconds to help avoid problems with delayed network connections on system startup. ================================================================================= Ad Muncher v4.9 Changelog Release date: November 10th, 2010 Most significant changes: An entirely new patching system, with full support for filtering 64-bit applications. Many small bug fixes and improvements. [Build]/[Type] - [Description] ================================================== 32300/E - Several improvements to the helper script. 32267/F - Small fix to helper script formatting. 32265/E - The installer will now check all parent folders are present when creating new directories, and if not create them. 32260/F - 64-bit patching has been temporarily disabled under Windows XP x64 edition until we can figure out why it's causing some programs to crash. The crash doesn't appear to affect newer versions of Windows. 32258/F - Rewrote some of the patching functions, minimizing the number of patches needed and improving the reliability in several places. 32228/F - Fixed occasional directory creation errors in the installer. 32227/E - Several improvements to the installer and uninstaller. 32209/E - Improved overlap correction on RSS content. 32204/E - Improved video ad replacement. 32201/E - Improved stability of patching system. 32200/F - Fixed lack of filtering for WebSite-Watcher. 32199/F - Fixed possible failure to correctly hook winsock functions. 32196/F - Fixed unnecessary file left behind from old installations when upgrading to v4.9. 32195/F - Fixed incorrect reporting of last program update. 32194/F - Fixed occasional duplicate license validations when only one is needed. 32193/E - Improved error reporting when failing to load hook code into Winsock DLL. 32189/E - Improved error reporting in automatic update system. 32188/E - Improved XML overlap correction. 32187/F - Fixed possible failure to filter content. 32183/E - Improved UAC handling in the installer. 32166/E - Changed the arrangement of the installer and main program files, resulting in a 5% reduction in installer size and a 59% reduction in installation size. 32150/E - Added authenticode signature to the installer and main Ad Muncher program file to help our users tell when the installer has been modified by third parties. 32130/F - Fixed crash under XP. 32121/E - Finished implementing the new patching system. The new system is a great improvement on the old one, and should result in more reliable and stable connection intercepts. It also fully supports filtering of 64-bit applications (for example, Internet Explorer 64), and will allow us to filter some functions that we couldn't previously. The latter capability is planned to enable Ad Muncher to deal with more system annoyances in the future. ================================================================================= Ad Muncher v4.81 Changelog Release date: February 4th, 2010 Most significant changes: Several important bug fixes. [Build]/[Type] - [Description] ================================================== 31376/E - Added workaround to avoid conflict with Softros LAN Messenger. 31375/E - Added provision in the helper script for server-supplied filters to tweak popup blocking parameters as needed. 31364/E - If Ad Muncher is unable to access its configuration folders on startup, it will now retry once a second for ten seconds, to avoid problems with storing configuration files on a network drive which is inaccessible on startup. 31362/E - Improved error reporting when a script error is detected in a server-supplied script filter. 31357/E - Switched to a new method of isolating errors in user-supplied JS filters that uses much fewer browser resources and minimizes any impact on page load times. 31352/E - Added code to isolate exactly which filter any JavaScript errors occurred in so it can be reported to the user. 31343/F - Removed code designed to check for very very old browsers because a conflict with some third-party software that injected scripts into websites could not be resolved and the check would only be useful extremely rarely. 31337/F - Fixed occasional blank source URLs in log entries. 31325/F - Added an interface so we can disable certain parts of the helper script as necessary, which was required to fix a conflict with the most recent version of Facebook's web site. 31319/F - Fixed erroneous "0" that was displayed in the browser status bar under some circumstances when it should have been blank. ================================================================================= Note that log entries from here on are in the reverse order (last change last, rather than first) Ad Muncher v4.8 Changelog (called v4.73 during testing) Release date: October 21st, 2009 Most significant changes: A completely new system has been implemented for filtering JavaScript content, which provides much more reliable popup filtering and significantly reduces the chances of unwanted interference with web sites. Significant filtering performance improvements have also been made, along with other minor fixes and improvements. This release also makes Ad Muncher compatible with Microsoft's new Windows 7. [Build]/[Type] - [Description] ================================================== 30408/E - Improved helper script behavior to avoid possible interference with "onmousedown" event handling. This change also fixes the broken drag/drop handling in Opera. 30410/E - Changed "Allow filtering enable/disable when locked" option to "Allow Ad Muncher to be closed or disabled when locked". Ad Muncher will now require a password to be closed if this option is disabled. 30440/E - Improved handling of winsock errors in hook DLL code. 30463/E - Improved hook loading code so that the hook DLL will be loaded more quickly into processes which do not have any GUI showing. 30519/E - Modified Ad Muncher's library loading code so it is compatible with Microsoft's new Windows 7 betas. 30527/E - Improved the blank FLV replacement used to replace advert FLV content. 30541/E - Improved automatic popup removal code. 30542/F - Fixed a minor bug in the "prevent interference with mouse usage" option. 30547/E - Fixed missing URL in page reports sent from the Opera browser extension. Also improved the options available under the "Frame" context menu. 30552/E - Added an option to the right-click system tray menu to check for updates. 30553/E - When blocking the retrieval of an MP3 file, Ad Muncher will now substitute a very short blank MP3 file. This will allow the adverts on some streaming services to be blocked. 30562/E - Added an extra winsock hook so Ad Muncher can be notified immediately if a connection is aborted before it connects to Ad Muncher. This should avoid excessive resource usage and error messages in certain situations. 30603/E - Ad Muncher's browser extensions for Firefox (v1.5+), Flock and SeaMonkey (v2.0+) are now installed and updated automatically by the installer. The "Browser extensions" tab of Ad Muncher's configuration window has now been removed because it is now not needed. 30604/F - Fixed filtering of Website Watcher. 30615/F - Fixed chrome error message from Firefox when the v2.0 browser extensions are first installed and when Firefox doesn't have write access to the installation directory. 30622/E - Added a mailing list signup field to the last screen of the installer. 30627/F - Fixed XML validation errors when removing 512KB) to certain sites. 26137/E - Added code to the fault reporting HTML form to urge the user to enter their email address and a description if not already done. We were getting far too many fault reports with no contact information, which can make finding the fault cause difficult or impossible in some situations. 26153/E - Implemented workaround to a conflict with certain McAfee programs that would block internet access when Ad Muncher and the McAfee programs were loaded. Thanks to the McAfee developers for their help in tracking this down. 26164/E - Improved the management of Ad Muncher's import tables, preventing some unexpected Ad Muncher shutdowns. 26166/F - Fixed incorrect window.open replacement in certain situations. 26177/F - Fixed incorrect formatting of context menus under the latest IE 7 beta. 26187/F - Fixed crash when copying log entries to the clipboard under Windows 95 (note to other developers: LB_GETSELITEMS maximum is 16383 under 95, not 32767 as stated in the MS documentation). 26199/E - Made the version information on the "about" tab selectable, by request. 26225/F - Fixed lockup when IP scramble options were configured in a certain order. 26228/F - Fixed false triggering of new lockup detector if system was placed into standby while Ad Muncher was in the middle of certain code sections. 26233/F - Fixed potential lockup in javascript filtering code. 26235/F - Improved HTML comment tag handling. 26245/F - Fixed repeated execution of Ad Muncher's helper script initialization code on some sites, which could cause the site's content to disappear. 26289/F - Fixed memory leak on thread creation. 26307/F - Changed the comment tags around Ad Muncher's helper scripts to avoid problems with XML pages and reinstated filtering of the "application/xhtml+xml" content type. 26413/F - Fixed possible lockup in filtering code. 26420/E - Reduced memory usage in the filter list scanning code. 26930/E - Finished implementing a new update retrieval protocol and registration management system. Some highlights include: - New retrieval protocol optimized for minimum transfer size. - Compression of updates to further reduce transfer size. - RSA encryption of registration details to help keep them private. - RSA signing of retrieved updates to ensure they aren't altered. 26947/F - Fixed configuration loading failure message in the new update system. 26983/F - Fixed several issues in the new update and registration system. 26999/F - Fixed bug in HTTP module that could cause post data sent in update requests to become corrupted if the request was retried. 27002/F - Fixed taskbar icon flickering under certain conditions. 27005/F - Fixed memory leak in update code. 27025/F - Fixed bug in popup removal that was damaging several major sites (Huge thanks to Jeff :-) 27028/E - Implemented time limit on recorded function names to decrease false positives in popup removal code. 27050/F - Fixed bug that could cause updates to not automatically be shown to the user after upgrading from earlier v4.7 betas. 27060/E - Modified the routing code so that if the option to "avoid binding to loopback" is off, AM actually will bind to loopback (rather than previously when it would bind to inaddr_any and simply connect to loopback). 27063/F - Fixed broken browser extensions when Ad Muncher was closed and reopened while an extended browser was running (Ad Muncher was regenerating the browser extension password on each load unnecessarily). 27068/E - Added feedback form option to "uninstallation complete" dialog. 27100/E - Several reliability improvements to configuration loading. 27101/F - Fixed incorrect formatting of statistics when using the "Copy statistics to clipboard" button on the "About" tab. 27105/F - Removed a limitation on the update frequency that was added for later betas and slipped into the final build. ================================================================================= Ad Muncher v4.6 Changelog Release date: August 26th, 2004 Most significant changes: This release includes many usability improvements designed to make the Ad Muncher interface easier to use. This release also fixes two recent problems Ad Muncher has been experiencing; firstly a conflict with Windows XP SP 2 that could cause general protection faults to occur in patched programs, secondly a conflict with the newly launched "gmail" service. Version note: This version was originally titled v4.53, but was changed to v4.6 during development. Additional release note: A silent update was done to build 10270 approximately two hours after release to correct a minor help launching problem. [Build]/[Type] - [Description] - E=Enhancement / F=Fix ========================== 9100/E - Added a new filter category, "Minimal filtering on site", which reduces the filtering done to only matching against the filter lists and the safer checkbox options. This category is then used by the "Global filters" to work around the gmail conflict. 9130/F - Modified the way Ad Muncher creates patch relocation segments to avoid conflicts with the upcoming Windows XP SP 2. Specifically, the segments are now marked PAGE_EXECUTE_READWRITE to keep the new DEP (Data Execution Prevention) system happy. 9160/E - Added "size grip" control to the bottom right corner of the config window, making it clear that the window actually can be resized. (suggestion by several people) 9172/E - Various buttons around the configuration window are now disabled when they have no use, eg: the "modify" button is disabled when no filter is selected. xxxx/E - At various stages in development the wording and layout throughout the dialogs was revised to increase clarity, a few examples are: - The "custom filter list" was renamed to "Your filters", and the "server-supplied list" was renamed to "Global filters"; hopefully new users should find these labels a little easier to understand. - "Your filters" was later renamed to "My filters" for consistency with other applications ("My computer" / "My documents" / etc). - "Global filters" were later renamed to "Default filters" - so far this is the least complained-about name ;-) - The IP Scramble dialog was rearranged in an attempt to make the system a little easier to navigate. - Renamed most of the filter categories and "recent lists" names so they make sense for people who don't write HTML for a living ;-) - The system tray menu text was changed from "Blocked popups" to "Open blocked popups" to avoid the confusion some users experienced. - The "pause" button on the recent lists was changed to "freeze"; as some people were clicking it in an attempt to "pause" Ad Muncher's filtering. - Also related to the above, implemented a checkbox to "Enable filtering" on the configuration dialog itself (to save you having to do it from the system tray). - Rearranged the tabs in the "options" section into increasing order of complexity (simplest ones on the left). - Moved the recent lists onto their own tab. This was partly done as it vastly cleans up the "my filters" tab, and partly because this is how it will be required to be for the upcoming v5 (due to the new filter layouts). - Renamed the "Advanced Filters" tab to "Replace Text", to help people more readily understand exactly what an "advanced" filter does. - The icon used by the configuration window now also changes to indicate whether filtering is currently enabled or not. - Many other changes throughout the dialogs, mostly self-explanatory. 9351/E - Added code to remember the column sizes on your filter list and the global filter list. Also renamed a lot of the filters (again) after seeing suggestions from people who tried the first version. 9380/F - Fixed bug where, if a certain sequence of actions was taken beforehand, adding new URL-based filters from the recent lists would result in blank filter entries being added. 9500/E - The custom filter list can now be sorted by clicking on the column headers. This also allows you to sort primarily by keyword or category as you prefer. 9540/E - You can now right-click on entries in your filter list to show a menu with options to copy them to the clipboard. 9576/E - Added a field to the helper script to show the IP/port of the site the page was retrieved from. This is especially useful when IP Scramble is enabled as you can then see which proxy was used to retrieve which page. 9686/F - The recents listbox now won't scroll your selected items down just past the bottom of the list when updating. 9715/F - Fixed occasional crash when more than 8 ident requests were processed by the inbuilt chat client. 9760/F - Fixed misalignment of some dialog text when viewed with certain font sizes. 9795/E - Added option to log options to "Enable logging system", which can of course be disabled to turn off all logging. 9821/F - Added code to check for non-http URLs before trying to retrieve by JS image object creation (fixes stall in opera under certain conditions). 9834/E - Ad Muncher's popup removal system now correctly deals with popups generated using the showHelp() and createPopup() functions. 9842/F - Fixed a problem with how Ad Muncher was handling certain incorrectly terminated HTML comments. 9897/E - Added an option to the right-click menu in the log lists to allow you to open highlighted URLs in your browser. 9960/F - *Finally* found out what was causing the mysteriously reproducing "Add filter" dialogs (hint: site needs to be loading while the "add filter" dialog is open) - thanks again to shan for finding that one :-) 10034/E - Added "Search" button to the logs, custom filter and default filter lists, of course now allowing you to search these lists. 10065/E - Rewrote the scrolling routine for the logs tab so automatic scrolls due to auto-updates or searching behave in a more predictable fashion. 10072/F - Fixed bug in javascript spacer handling that could damage certain spacer types. 10087/F - Fixed some problems with the behavior of buttons on the "Replace text" dialog. 10128/E - Several enhancements to the html deobfuscation systems; some to prevent certain page damage, and some to reformat certain types of html/js layouts for more reliable filtering. 10160/F - Fixed several minor formatting and grammatical errors on the interface which were noticed while writing the new help file. Also renamed the "System tray" tab to "Interface", which describes its contents a lot better. 10166/F - Fixed a crash which could occur when attempting to enable IP Scramble with an empty "Verified proxy list". 10180/E - Implemented a new option on the "Interface" tab to "Remember which section of the configuration window was last open", due to popular demand. 10187/E - Went through all the dialogs and made the single-line edit boxes a uniform height (about time). 10190/F - Fixed a few minor bugs with the handling of tab changing and invalid filter prompts. 10204/E - Rewrote the system tray icon handling code. It now doesn't block code paths if the icon can't be created immediately, and doesn't show an error message if the icon cannot be created immediately. 10231/F - Fixed long-standing bug that caused the user's guide to be displayed behind the active windows when first opened. Ad Muncher v4.52 Changelog Release date: May 6th, 2004 [Build]/[Type] - [Description] - E=Enhancement / F=Fix ========================== 8440/F - Fixed focus() removal issue which was causing problems with certain MSN and hotmail pages. 8460/E - Implemented new cleaner icon designs. 8466/E - The registration reminder screen now no longer appears as a top-most window, making it easier to keep it open while visiting the registration web page. 8481/F - Fixed problem where window.open could be replaced with a shorter function name, leading to problems with the white space introduced in certain tag structures. 8483/F - Fixed bug in meta-reload target URL detection code, where it could be analyzed incorrectly if the refresh time value contained a period. 8486/F - Import/export "browse" function now correctly appends the .AMC extension when it is absent. 8487/F - Import/export system now automatically shows the "browse" dialog if you click the "import"/"export" button without selecting a file. 8499/F - Fixed bug where the IRC chat client could leave a connection open under certain conditions. 8696/E - Completed the final touches on an cosmetic overhaul including: - Realignment of all dialogs to maximize use of available space. - Greatly improved window resizing code, allowing most tabs on the config window to be resized while maintaining control spacing and generally giving a far more usable layout. - Config window now remembers its sizing to take full advantage of the new window resizing code. - Child windows on the config window are now automatically centered. 8708/F - Fixed lingering problem with hotmail pages. 8710/F - Fixed minor filter-related problem which could remove large chunks of content from certain yahoo pages. 8711/F - Fixed possible crash when an insane number of connections (512+) were routed through Ad Muncher. 8721/E - Whipped up a program to scan through Ad Muncher's source code to detect any redundant code or buffers, managed to cut a few hundred KB off Ad Muncher's memory usage as a result. 8722/F - Ad Muncher's fault handling now doesn't trigger on stack overflows, preventing unnecessary fault reports when a large degree of recursion was taking place. 8723/E - Enhanced patching system so it can now correctly detect the opcode length of "mov e?x, ???, jmp e?x" patches as installed by some other programs. 8728/F - Fixed possible crash when recovering from faults in external closesocket patches. 8731/F - Fixed possible crash when extremely long entries were added to the custom list from the "recent items" lists. 8742/F - Modified calling of the Sleep() API to silently handle GPFs within the function - have had quite a few fault reports which indicated this fault (perhaps a driver issue?) and this should at least allow them to continue working. 8746/E - Ad Muncher now displays a message to the user when there is insufficient memory available, instead of just generating a fault report. 8759/F - Fixed bug where AMAFstring.dat and AMAFstringsa.dat could appear for no reason in Ad Muncher's start menu group. 8777/F - Fixed bug where in certain situations Ad Muncher's URL reconstituter could incorrectly include single-quotation marks, which could then not be filtered due to automatic filter-conversions to double-quotes. 8778/F - Fixed minor bug which could corrupt javascript content when attempting to circumvent certain content spacer types. 8809/E - Made several enhancements to the way Ad Muncher writes/reads to/from sockets, which will result in better utilization of available buffers, and should produce slightly faster transfers on very fast connections or low-spec computers. 8931/E - Spent a while performance-tuning the dialog resizing system to avoid flickering as much as possible while resizing, and also to shorten initial dialog display times. 8939/E - When Ad Muncher aborts filtering of a page due to unrecognized content encodings it will now display a message stating that in the "triggered filters" recent list. 8940/E - The "Remove background music and sound files" option now also prevents mp3s from playing in the background. 8953/E - Param tag analysis now treats name=src the same way as name=movie 8956/E - Ad Muncher will now automatically load the default server list included in its .exe file if the list build number is higher than the one stored in the ServerStrings.dat file. 8981/E - After many requests, and 5 years of intensive development, we are very pleased to announce... *drum roll* ...the Ad Muncher system tray icon now makes cute little munching faces when it blocks an advert! A mostly useless option, but we've had so many requests for it over the years that including it is bound to make some (admittedly strange) people happy :-) It can of course be disabled if required, but when active it will "munch" once for each advert removed, but for no more than a few seconds after the page has been loaded (so it's not munching continuously long after an advert-heavy page has loaded). 9000/E - Removed the code to remove title= specs under Opera, as all recent versions (since 7.2) handle it in the same way as IE/Netscape. Ad Muncher v4.51a Changelog Release date: December 17th, 2003 [Build]/[Type] - [Description] - E=Enhancement / F=Fix ========================== 8416/F - The only change in this version was a small fix to restore hotmail.com to working order. The site was considered important enough to justify a quick release to correct the issue. Ad Muncher v4.51 Changelog Release date: September 13th, 2003 Most significant changes: New filter scanning system which has improved filtering speed on some sites by as much as 30 times, should make a noticeable difference in browsing speed, especially on faster connections. Plus the usual round of bug fixes and filtering enhancements. Note: a small update was done after v4.51 release, to build number 8415, which only included some additions to the server-supplied list. [Build]/[Type] - [Description] - E=Enhancement / F=Fix ========================== 7000/E - New format for changelog so people can see what's new to each specific beta build, due to popular demand ;-) 7015/E - Added new "Recent requests" section to the fault reporting module, as people generally had a lot of trouble remembering the sites they were on when a fault had occurred. 7033/E - Added code to change: "64kb warning dialog) 7060/E - Added "suggest" button to the filter targets dialog (when the server- supplied list is displayed). 7106/E - Extended filter targets matching so +process:80 also matches against common proxy ports like 1080, 3128, 8080, etc. 7113/F - Fixed the mozilla warnings that window.events, document.onmousedown and document.layers weren't defined. 7150/F - Fixed bugs in previous v4.51 betas which were causing some popups to be blocked when they shouldn't be, and certain onload structures to be not executed correctly. 7163/E - Improved filtering performance by minimizing unnecessary checks of the custom/server filter list. 7168/F - Changed the blank image replacement setup so it replaced 468x60 images with a blank 468x60 image (rather than a 1x1 image) to avoid problems when a page only had a width or height spec in its ... (with the ">" immediately following
"); which wouldn't correctly remove the open(). 7652/E - Implemented brand new filter list scanning system using a new scanning method. Significantly reduces CPU usage in this portion of the filtering code (by a factor of several hundred times), should noticeably improve filtering speed. 7675/E - Significantly improved performance of recent list maintenance and duplicate checks using a new buffer format. 7691/F - Override filter entries which match against src= attributes can now stop removal based on alt tag keyword matches. 7724/E - Completed complete re-write of advanced filter internals, making use of the new filter list scanning system to dramatically improve filtering speed, and a new format for the advanced list to improve memory usage. 7786/E - More performance enhancements, filtering speed of a test page now 28 times that of v4.5. 7791/F - Fixed crash in new CharLower proc. 7792/E - More specific detection of what filenames might be images to avoid problems with certain yahoo sites being blocked incorrectly. 7800/F - Fixed crash in AppendRecentLists.DoQAllocBCCheck when recent items list buffer size was 1kb and certain sites were loaded. 7819/E - Ad Muncher now patches WSAConnect properly - allowing it to correctly filter the new Opera 7.2 betas (and presumably the final). My apologies to anyone given the mistaken impression that this problem was being caused by remaining breakpoints in the betas, while this was the case (on my system, due unfortunately to something else) it wasn't the cause of the problem. 7821/F - Fixed bug in recent betas where the "adverts removed" counter would lose the last 30 seconds of increments when the config window was opened. 7825/E - Added button to reset the recent filter targets lists. 7830/E - Better detection of advanced filter match/replacement text length, preventing crashes when a filter entry something like: match: a**b replacement: a*bc was used. 7831/E - Added check to warn user when there were mismatched numbers of asterisks in match/replacement texts of advanced filters. 7836/F - Fixed incorrect removal of X=MoveTo; 7845/E - Fixed filter targets process name detection to properly convert 8.3 filenames to their full names. 7853/E - Implemented a new command line option on the installer, /R, to install without the "Chat with other Ad Muncher users" dialog, useful in corporate installations etc. 7861/F - Fixed bug in new filter scanning system where the entries: Src keyword: /banners/ Override filter: /banners/*x.gif Would still prevent the /banners/ keyword from matching against anything (x.gif or not). 7862/E - Changed the default settings so the "prevent messenger service popups" is enabled by default - as I was getting far too many complaints from new users saying that Ad Muncher doesn't block those popups ;-) 7889/F - Fixed problem with incorrect replacement of onmousedown tags. 7893/F - Fixed mishandling of ""). - Improvements to overlap correction when filtering javascript files (.js) - Added option to "Prevent mouse-trail visual effects". - Later the above mouse-trail option was moved into the "Prevent interference with mouse behaviour" option. - Added new filter category, "Remove div tags with text", to help combat floating CSS adverts. - Sorting of the custom list is now done based on the order of the filter categories in the drop-down category box, instead of simply the alphabetical order of the category prefixes in the CustomStrings.dat file. - Recent items div/script/table lists now remove white space before and after the asterisks. - Extended option to "prevent status bar modifiers" so it also removes "defaultstatus" modifications. Originally this was intentionally left alone because it doesn't obscure the targets of links etc, but too many people didn't like the behaviour so out it goes :-) - Improvements to overlap correction in regards to dealing with brackets inside of scripts, resulting in more reliable script filtering. - Lots more improvements to overlap correction in regards to alignment of script functions in tags to surround the helper script when they shouldn't have. - Fixed jerky horizontal scrolling in IRC chat text entry box. - Fixed adult image removal so it now properly checks whether other characters precede/follow the trigger words, preventing triggering on sites like "www.analogx.com". - Moveto and Resizeto commands are now only removed if they reference a window to avoid problems with layered documents. - Moveto/Resize to removal now also works if there's no context preceding it, ala "ResizeTo(...);". - Fixed fault in the fault handler (lol) which prevented it from generating a debug log under certain conditions (Ad Muncher would just appear to freeze). - Fixed fault when scanning proxies in the new "automatic mode" when you weren't connected to the internet. - When importing a .amc config file, if the new custom list is shorter than the old custom list there now isn't remnants of the old list left behind immediately after importing (until Ad Muncher is reset). - Improved mouse interference code removal; it now only removes code which changes the mouse behaviour variables, rather than anything which references them at all. - Javascript filtering now correctly deals with javascript "with (xxx) {...}" structures. - Very much improved html tag interpreting code which fixes misinterpretation of certain html tag formattings, for example when a tag includes a URL with < / > brackets inside it, or when a tag immediately followed a comment ("//") - bug was causing problems submitting to ebay and getting maps from mappoint.msn.com. - The user-agent replacement code now doesn't replace the user agent field if it contains the string "LiveUpdate" - as doing so would cause flashfxp to have problems updating itself. - Fixed bug in advanced filters where if you had two filters named "bob" and "bob2" Ad Muncher would not display the match/replacement text for bob2 correctly (rep cmpsb was not including the null character). - Clicking the "about" option in the right-click status bar icon menu now works correctly even when the configuration window is already open. - Changed from HeapAlloc to GlobalAlloc to prevent crash when closing certain programs (eg: the game Deus X) - it seems that these programs have some kind of automatic heap deallocation system, whatever happens by the time Ad Muncher tries to deallocate its buffers the pointers are no longer valid, GlobalAlloc at least doesn't crash with invalid handles ;-) - Modified filtering engine's referrer-change code so it doesn't take effect on any yahoo.com pages (as these pages often don't load properly when the referrer is changed). - Fixed interpretation of http replies so no space characters are assumed after each header field; fixes misinterpretation of content length on a few sites (eg: oracle.com). - Fixed bug in in-line popup removal, in-line removal would not work at all in beta 20, heh, I goofed up a pointer and it was giving up after a single character check. - The http request interpretation code now doesn't rely on double-byte crlfs (interpreting single 0x0a's properly) - fixing stalls in certain clients, eg: yahoo chat's java applets. - Script interpreter now properly interprets multi-line comments (ie /* */) - Nullify routine now properly removes functions of the type: foo['text'].function Ad Muncher v4.3d Changelog Release date: 19th September 2001 ===FEATURES=== - Extended image/script/iframe src filtering to include scanning object, embed and applet tags (eg: java and flash banners), the embed tag scanning also now allows you to remove specific midi tags (as apposed to all midis), just add the appropriate entry to your src filter list. - Removed limitation in image removal code, images can now be removed regardless of whether they are part of an anchor (link) or not. ===BUGS=== - Fixed minor bug in nullify routine (the one that voids suspect javascript commands), several sites no longer reporting script errors in IE. - Wrote our own GlobalAlloc replacement to avoid a fault which would crash Ad Muncher under Windows 98 SE when in heavy use (eg: high-speed internet connection using small packets), a slight speed increase may also be noticed. - Fixed bug in IPC module involving incorrect maximum buffer sizes, would crash Ad Muncher on slower systems (eg: 486 and below) under certain conditions; Also implemented stack checksums on all rep-mov instructions. - Fixed bug that would corrupt the src filter list from the server-supplied lists, also implemented code to reset the lists if the corrupted entry is found; would usually only occur if the user had blank custom lists. - Added seti@home client to the default filter target list (exclude), Ad Muncher was causing some problems with the seti chunk updates. Ad Muncher v4.3c Changelog (third minor bug-fix release) Release date: 12th September 2001 ===BUGS=== - Fixed bug in launching system, occasionally would cause no filtering to occur on windows 98 SE or windows ME systems. - Created our own wsprintfA function to avoid several bugs caused by limitations in the Microsoft version (user32.dll) under certain versions of windows (eg: some early versions limit the length of %s fields to stupidly short lengths). Ad Muncher communication system now working properly on all systems; several other systems using the new function also a little more bullet-proof. Ad Muncher v4.3b Changelog (second minor bug-fix release) Release date: 11th September 2001 ===BUGS=== - Fixed major bug in new launching system, if Ad Muncher were launched on a system without winsock 2 installed, it and every other program on the system would crash simultaneously (quite a spectacular crash really). Implemented appropriate checks. - Modified automatic-update mechanism to work in its own thread - problems arose when programs like Zone Alarm would delay socket calls resolution (pending user acceptance) in the update system initialisation; Ad Muncher would normally pause socket filtering while this was taking place, hence Ad Muncher and Zone Alarm would block each other, locking the system. Ad Muncher v4.3a Changelog (bug-fix release) Release date: 8th September 2001 ===BUGS=== - Fixed bug in patching memory allocation, some programs would crash while Ad Muncher was loaded (specifically when the program made 256 or more sequential winsock calls before the first one resolved). - Bug in new overlap system would cause some very short pages to lose the last quarter or so of their transmission. A small number of pages (mainly consisting of pages with small frame files, for example) were affected. - Optimised memory allocation for socket call working buffers, footprint reduced significantly. - Fixed bug in the Ad Muncher communication system, people using v4.3 are strongly advised to upgrade as some messages to our staff are lost depending on the system used. - Removed cookies from the cull list for "savage" mode, also the content-length field of POST requests. Some web-based email sites now working again. - Fixed adult-image detection code, many false positives corrected. - Fixed bug in new popup removal system caused by too restrictive maximum size on javascript function names, some news sites (eg: CNET, TechTV, etc) are now free of problems. Ad Muncher v4.3 Changelog (skipped straight to v4.3 from v4.21 due to amount of work on this release) Release date: 31st August 2001 ===FEATURES=== - Major overhaul of launching mechanism to finally get rid of most browser compatibility problems, Ad Muncher now runs in its own process and does not automatically launch with browsers. It also now by default filters all HTTP transfers from any program on your computer (obviously only affecting things when something matches the custom/server advert lists). - New installer rewritten from scratch, hopefully easier to use and more reliable. - Adapted new launching mechanism to work with other non-browser programs, eg: advert windows and information windows in instant messengers etc. - Memory footprint reduced significantly. - Changed javascript command removal code so it no longer triggers script error alerts under Internet Explorer. Script debugging is hence no longer disabled on install. - Improved overlap correction algorithm significantly, problems with adverts being removed inconsistently on highly fragmented internet connections appear to be aided a great deal by this. - Adapted HTTP request monitoring to filter the URL of the requests, this is integrated automatically with your current custom/server lists and simply disables any image requests which might have been missed in the HTML filtering (eg: if the HTML were obfuscated with piles of javascript). As a side effect this also means that non-html adverts such as advertising windows in some programs are now able to be disabled. - Implemented exclude list feature. - Implemented new popup removal system, using basic heuristics to determine if an open() command will execute automatically or not. - Added option to specify the referrer when enabling the "Disable HTTP referrer when changing domains" checkbox. - Implemented new Ad Muncher Communication System, basically an integrated email system tailored to user feedback, for example has option to export and include your current ad muncher configuration with certain error reports/queries. - Implemented necessary code to make all windows properly resizable (ie: all child controls are resized appropriately as well), people may scoff at how long this took to get around to, but it's a pain to code this particular behaviour in win32asm. - Introduced new "savage" mode into HTTP request filter to avoid occasional problems with corrupted requests; automatically enabled when insufficient space is present in the request to add required fields, for example, the fields for IP Scramble, or the user-agent replacement requested by the user (if it is larger than the one present my default). Savage mode will remove non-essential fields, eg: language and regional indicators, specific accept rules, and cookies if required. - Re-worked the registration reminder screen so it doesn't flicker anymore, also designed a new image which is a little easier on the eyes. - Modified referrer-altering code to use only the primary domain name (eg: domain.com in www.domain.com) when checking if the referrer is from a different domain. ===BUGS=== - Fixed bug with some form posts being corrupted under netscape browsers. - Fixed bug with javascript alert removal code, many pages experienced minor formatting problems. - Fixed many small bugs (especially in IP Scramble code/proxy test mechanism), changed proxy scan timeout from 10 to 15 seconds. - Fixed several annoying bugs in the fault trapping system (eg: two trap notices could be displayed simultaneously if multiple threads use the same code). - Fixed bug in server-file retrieval code (which retrieves the advanced server lists/proxy lists when the user clicks the update/retrieve buttons) to avoid problem with Ad Muncher's main dialog and taskbar icon spontaneously disappearing if browser traffic filtering occurred while retrieving the files. - Fixed many (many) minor bugs in the send/receive filter code. - Fixed bug in the code which checks whether the "Change user-agent to:" text has changed from default (it would not save it if it was thought to be the default "Ad Muncher vx.x" one), would sometimes detect it as unchanged default when it had been. - Fixed bug in javascript command nullifier (ie: the bit that replaced them with void();), some pages (many forums apparently) were affected by the bug. - Fixed problem in several dialogs where content could be lost from edit boxes when saving configuration. Note to other programmers: GetDlgItemTextA will truncate nMaxCount to 16 bits (max 0FFFFh) on some windows 9x systems before parsing, so specifying 10000h as the max would result in an interpreted maximum of 0, not documented but was causing this particular problem. Note: This change log was not initiated until v4.3 (due to many user requests for one). Entries will describe changes made including and since v4.3.