================================================================================= Note regarding Ad Muncher v5.0: Previously we mentioned that we were working on rewriting Ad Muncher in C for the sake of porting, maintenance and stability. This rewrite was originally planned as a single large release named v5.0. The plan has since changed to releasing several interim versions on the way to v5.0, each with progressively more C code replacing the existing assembly codebase. Ad Muncher v4.7 will be the first of these interim releases. ================================================================================= Note regarding beta distribution: In order to minimize the impact of any bugs on our users, betas are released for testing in the following order: 1. In-house testing performed by the Ad Muncher developers. 2. If no problems are found, the beta is then posted to the Ad Muncher chat channel (#AdMuncher on EFnet). The URL of the beta will include the text "DO_NOT_DISTRIBUTE" at this point. 3. If no problems are found, the beta is then released on the automatic update system in Ad Muncher for people who have the option enabled to "Load development versions of Ad Muncher". We kindly ask that people not post betas to beta news sites when their URL includes the "DO_NOT_DISTRIBUTE" text, as in the past this has resulted in serious bugs being experienced by a far larger audience than was needed. ================================================================================= Ad Muncher v4.81 Changelog Release date: February 4th, 2010 Most significant changes: Several important bug fixes. [Build]/[Type] - [Description] ================================================== Key: E = Enhancement F = Fix 31319/F - Fixed erroneous "0" that was displayed in the browser status bar under some circumstances when it should have been blank. 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. 31337/F - Fixed occasional blank source URLs in log entries. 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. 31352/E - Added code to isolate exactly which filter any JavaScript errors occurred in so it can be reported to the user. 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. 31362/E - Improved error reporting when a script error is detected in a server-supplied script filter. 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. 31375/E - Added provision in the helper script for server-supplied filters to tweak popup blocking parameters as needed. 31376/E - Added workaround to avoid conflict with Softros LAN Messenger. ================================================================================= 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] ================================================== Key: E = Enhancement F = Fix 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.