| 1 |
August 31st, 2009
|
| 2 |
- spam.module
|
| 3 |
o bug #531214: fix feedback form, properly call drupal_process_form()
|
| 4 |
|
| 5 |
August 9th, 2009 (6.x-1.0)
|
| 6 |
- spam.module
|
| 7 |
o bug #531528: simplify debug logic, cleanup code
|
| 8 |
|
| 9 |
August 6th, 2009 (6.x-1.0-rc1)
|
| 10 |
- spam.module
|
| 11 |
o bug #531528: add additional debug when scanning spam content
|
| 12 |
o bug #531528: calculate spam score even if the content has no id
|
| 13 |
- spam_node.inc
|
| 14 |
o bug #541950: scan node content before it is posted
|
| 15 |
- spam_comment.inc
|
| 16 |
o bug #541950: scan comments before they are posted
|
| 17 |
- spam_user.inc
|
| 18 |
o bug #541950: scan users before they are created
|
| 19 |
|
| 20 |
August 5th, 2009
|
| 21 |
- custom.module
|
| 22 |
o bug #531524: don't alter score if no matching custom filters
|
| 23 |
- spam.module
|
| 24 |
o bug #532158: log results of filter in normal logging mode
|
| 25 |
o feature #539508: display link to spam logs, if existing
|
| 26 |
- node_age.module
|
| 27 |
o bug #540830: don't log nid if no nid is found
|
| 28 |
- spam_node.inc
|
| 29 |
o feature #539508: display author of filtered node
|
| 30 |
- spam_comment.inc
|
| 31 |
o feature #539508: display author of filtered comment
|
| 32 |
|
| 33 |
June 21, 2009
|
| 34 |
- spam_comment.inc
|
| 35 |
o bug #351280: comment admin pages wouldn't commit changes
|
| 36 |
|
| 37 |
June 17, 2009
|
| 38 |
- spam.module
|
| 39 |
o bug #351250: anonymous access for /spam/denied
|
| 40 |
o bug #351245: incorrect breadcrumbs in spam logs
|
| 41 |
o bug #351141: couldn't commit changes to content types to filter
|
| 42 |
o bug #352185: errors in spam feedback form
|
| 43 |
o bug #404694: couldn't mark as not spam in /admin/content/spam
|
| 44 |
o bug #494502: let spam modules use spam_theme
|
| 45 |
- spam_node.inc
|
| 46 |
o bug #352255: node_operations_(un)publish functions no longer exist
|
| 47 |
- spam_user.inc
|
| 48 |
o bug #351138: remove dependency on profile module
|
| 49 |
- custom.module
|
| 50 |
o bug #351373: failed to load custom filter
|
| 51 |
- content modules
|
| 52 |
o bug #351247: missing url, custom, node age filter admin pages
|
| 53 |
|
| 54 |
June 16, 2009
|
| 55 |
- spam.module
|
| 56 |
o bug #352719: bad "not spam" link
|
| 57 |
|
| 58 |
February 13, 2009
|
| 59 |
- spam.module
|
| 60 |
o bug #362106: flush cache after manually marking content spam/notspam
|
| 61 |
o bug #342915: bulk updates not working due to kludge-loop prevention
|
| 62 |
|
| 63 |
October 13, 2008
|
| 64 |
- spam.module
|
| 65 |
o bug #320550: make spam logs accessible to 'administer spam' permission
|
| 66 |
|
| 67 |
October 11, 2008
|
| 68 |
- custom.module
|
| 69 |
o bug #319866: remove reference to non-existent "extra" field
|
| 70 |
|
| 71 |
October 2, 2008
|
| 72 |
- custom.module
|
| 73 |
o bug #316158: rename custom module hook which clashed with spam hook
|
| 74 |
|
| 75 |
October 1, 2008
|
| 76 |
- duplicate.module
|
| 77 |
o bug #1039032: do not block users if have 'bypass filters' permission
|
| 78 |
|
| 79 |
September 29, 2008 (5.x-3.0-beta1)
|
| 80 |
- spam.module
|
| 81 |
o move log defines to top of file, report undesired looping
|
| 82 |
- custom.module
|
| 83 |
o feature #287759: implement back end for custom filter rules
|
| 84 |
upgrade custom filters from 5.x-1.x spam module
|
| 85 |
- duplicate.install, bayesian.install
|
| 86 |
o bug #282062: cleanup PostgreSQL support (patches thanks to jaydub)
|
| 87 |
|
| 88 |
September 26, 2008
|
| 89 |
- spam.module
|
| 90 |
o bug #313729: replace call to nonexistent db_log() with intended spam_log()
|
| 91 |
- custom.module
|
| 92 |
o feature #287759: initial support for custom filters, they can be created
|
| 93 |
and managed, but they're not currently actually used
|
| 94 |
|
| 95 |
September 20, 2008
|
| 96 |
- spam.module
|
| 97 |
o feature #248307 make it possible to customize spam comments in theme
|
| 98 |
o provide configuration option to automatically delete old spam logs
|
| 99 |
|
| 100 |
September 20, 2008 (5.x-3.0-alpha8)
|
| 101 |
- spam.install
|
| 102 |
o bug #289164: support upgrades from the 5.x-1.x version of the spam module
|
| 103 |
|
| 104 |
September 19, 2008 (5.x-3.0-alpha7)
|
| 105 |
- spam.install
|
| 106 |
o feature #302469: update spam_filters_errors table to support feedback
|
| 107 |
- spam.module
|
| 108 |
o feature #302469: introduce support for spam filter feedback
|
| 109 |
o ^^ bypass filter if admin submitted comment reviewing filter feedback
|
| 110 |
o ^^ introduce spam feedback administration pages
|
| 111 |
o ^^ fix link generation when custom message is set
|
| 112 |
o ^^ update spam overview page so can filter by feedback
|
| 113 |
o ^^ delay content creation by saving form data for review
|
| 114 |
- spam_comment.inc
|
| 115 |
o feature #302469: provide admin form for comment spam feedback
|
| 116 |
- spam_node.inc
|
| 117 |
o feature #302469: provide admin form for node spam feedback
|
| 118 |
- spam_user.inc
|
| 119 |
o feature #302469: provide admin form for user spam feedback
|
| 120 |
- bayesian.module
|
| 121 |
- duplicate.module
|
| 122 |
- url.module
|
| 123 |
o feature #302469: centralize loading of content to allow overloading
|
| 124 |
|
| 125 |
September 17, 2008
|
| 126 |
- node_age.module
|
| 127 |
o bug #302472: call spam_range to support PHP4
|
| 128 |
- spam.module
|
| 129 |
o bug #287751: allow editing of visitor action and filtered message
|
| 130 |
- spam_user.inc
|
| 131 |
o feature #171780: scan user profile fields if filtering users
|
| 132 |
|
| 133 |
July 24, 2008 (5.x-3.0-alpha6)
|
| 134 |
- spam.module
|
| 135 |
o bug #274209: support php4, implement form_alter outside of standard adapi
|
| 136 |
o bug #284336: only display spam links if filtering content type
|
| 137 |
- spam_comment.inc
|
| 138 |
o bug #274209: support php4, implement form_alter outside of standard adapi
|
| 139 |
o bug #284336: only display spam links if filtering content type
|
| 140 |
- spam_node.inc
|
| 141 |
o bug #284336: only display spam links if filtering content type
|
| 142 |
- spam_user.inc
|
| 143 |
o bug #284336: only display spam links if filtering content type
|
| 144 |
- bayesian.module
|
| 145 |
o bug #284389: validate that tokens exist before using them
|
| 146 |
|
| 147 |
July 10, 2008
|
| 148 |
- bayesian.install
|
| 149 |
o bug #273398: file never got checked in, thus bayesian schema not created
|
| 150 |
- spam.module
|
| 151 |
o bug #275614: be sure that we don't divide by zero
|
| 152 |
- spam.install
|
| 153 |
o bug #275315: add missing {}'s
|
| 154 |
|
| 155 |
May 31, 2008
|
| 156 |
- spam.install
|
| 157 |
o bug #262618: called spam_install() when meant to call spam_upgrade_0()
|
| 158 |
o added index, addressing a query showing up in my slow query logs
|
| 159 |
|
| 160 |
|
| 161 |
May 19, 2008 (5.x-3.0-alpha5)
|
| 162 |
- spam.module
|
| 163 |
o provide menu hook to spamapi
|
| 164 |
o allow modules to change forms within spamapi
|
| 165 |
- spam.install
|
| 166 |
o change all spam comments to a special status code
|
| 167 |
- spam_comment.inc
|
| 168 |
o change all spam comments to a special status code, so comments don't
|
| 169 |
appear in the administrative 'Approval queue'.
|
| 170 |
o provide administrative overview page for bulk editing spam comments
|
| 171 |
o add in-line spam-control options to other administrative comment pages
|
| 172 |
|
| 173 |
April 30, 2008
|
| 174 |
- spam.install
|
| 175 |
o don't generate errors on upgrade from 2.x spam module
|
| 176 |
o properly install the spam_statistics table
|
| 177 |
- spam.module
|
| 178 |
o improved debugging when content type support is not properly implemented
|
| 179 |
o sort spam overview by lid, not timestamp
|
| 180 |
- spam_user.inc
|
| 181 |
o tell spam module to scan users when enabled
|
| 182 |
|
| 183 |
April 30, 2008 (5.x-3.0-alpha4)
|
| 184 |
- spam.module
|
| 185 |
o provide spam statistics admin page
|
| 186 |
o implement 'bypass filters' permission
|
| 187 |
- spam.install
|
| 188 |
o first pass at supporting upgrades from 2.x version of module
|
| 189 |
|
| 190 |
April 29, 2008
|
| 191 |
- spam.module
|
| 192 |
o introduce spam statistics
|
| 193 |
- spam.install
|
| 194 |
o introduce spam_statistics table
|
| 195 |
|
| 196 |
April 29, 2008 (5.x-3.0-alpha3)
|
| 197 |
- spam.module
|
| 198 |
o implement spam overview page with filters and actions
|
| 199 |
o comment out unsupport content groups
|
| 200 |
o disable error reporting link, not yet fully functional
|
| 201 |
- spam_comment.inc
|
| 202 |
o implement spam comment overview filtering
|
| 203 |
- spam_user.inc
|
| 204 |
o implement spam user overview filtering
|
| 205 |
- spam_node.inc
|
| 206 |
o implement spam node overview filtering
|
| 207 |
|
| 208 |
April 28, 2008
|
| 209 |
- spam.module
|
| 210 |
o provide ability to trace logs generated from a single page load
|
| 211 |
o cleanup paths and administration pages for viewing spam logs
|
| 212 |
o make log level configurable
|
| 213 |
o move tokenizer function into bayesian module
|
| 214 |
- spam.install
|
| 215 |
o introduce trid (trace id) column
|
| 216 |
- url.module
|
| 217 |
o always log type and id if available
|
| 218 |
- node_age.module
|
| 219 |
o improve configuration help text
|
| 220 |
- bayesian.module
|
| 221 |
o always log type and id if available
|
| 222 |
o define local tokenizer function
|
| 223 |
o allow usage of external tokenizer functions
|
| 224 |
|
| 225 |
April 24, 2008
|
| 226 |
- spam.module
|
| 227 |
o implement administrative pages for viewing spam logs
|
| 228 |
- duplicate.module
|
| 229 |
o provide page for viewing blocked ip addresses
|
| 230 |
o include local implementation of arg() which isn't always available to us
|
| 231 |
|
| 232 |
April 24, 2008 (5.x-3.0.alpha2)
|
| 233 |
- spam.install
|
| 234 |
o add PostgreSQL support, patch thanks to Roderik Muit
|
| 235 |
- duplicate.install
|
| 236 |
o add PostgreSQL support, patch thanks to Roderik Muit
|
| 237 |
- spam.module
|
| 238 |
o bug #200866, support PHP4, based on patch by Roderik Muit
|
| 239 |
o turn string extraction into function, usable by plug-ins
|
| 240 |
- bayesian.module
|
| 241 |
o remove unnecessary debug noise
|
| 242 |
o improve debug logging when updating tokens
|
| 243 |
- spam_comment.inc
|
| 244 |
o scan anonymous (name, mail, homepage) fields if set
|
| 245 |
- spam_user.inc
|
| 246 |
o add spam management interface when viewing users
|
| 247 |
o implement redirect, load, publish and unpublish spamapi hooks
|
| 248 |
o spam module now can filter user accounts
|
| 249 |
|
| 250 |
April 22, 2008 (5.x-3.0.alpha1)
|
| 251 |
- spam.module
|
| 252 |
o add additional logging
|
| 253 |
o be sure content is blocked or updated when determined to be spam
|
| 254 |
o provide form for users to report when their content is mismarked as spam
|
| 255 |
- spam.install
|
| 256 |
o provide field for feedback on filter errors
|
| 257 |
- url.module
|
| 258 |
o don't throw errors if there are no urls in the post
|
| 259 |
- bayesian.module
|
| 260 |
o add additional logging
|
| 261 |
- spam_comment.inc
|
| 262 |
o implement improperly filtered comment report form
|
| 263 |
- spam_node.inc
|
| 264 |
o implement improperly filtered node report form
|
| 265 |
o filter nodes before they are inserted
|
| 266 |
- node_age.module
|
| 267 |
o new filter: comments posted to very old nodes are more likely to be spam
|
| 268 |
o implement configuration options
|
| 269 |
|
| 270 |
April 21, 2008
|
| 271 |
- spam.module
|
| 272 |
o add tokenizer to spam module
|
| 273 |
o implement logging, add some debug logging
|
| 274 |
o allow filter to tell spam engine to skip it
|
| 275 |
o remove url extraction from tokenizer logic
|
| 276 |
- spam.install
|
| 277 |
o define proper spam_log table
|
| 278 |
- bayesian.module
|
| 279 |
o implement bayesian filter, integrate with spam module
|
| 280 |
o add some debug logging
|
| 281 |
- duplicate.module
|
| 282 |
o make it possible to register the module
|
| 283 |
- url.module
|
| 284 |
o implement url filter, integrate with spam and bayesian modules
|
| 285 |
|
| 286 |
April 20, 2008
|
| 287 |
- spam.module
|
| 288 |
o only filter enabled content types
|
| 289 |
o only run enabled filters
|
| 290 |
o pass content type everywhere
|
| 291 |
o properly update tables if update applied to content not seen before
|
| 292 |
o properly update tables even if redirected away during scanning
|
| 293 |
- duplicate.module
|
| 294 |
o pass content type everywhere
|
| 295 |
o properly update tables if update applied to content not seen before
|
| 296 |
- spam_comment.inc
|
| 297 |
o cache the cid in a static so that it's always available
|
| 298 |
o introduce 'load' hook for loading comments
|
| 299 |
o introduce 'hostname' hook for loading IP of comment
|
| 300 |
- spam_node.inc
|
| 301 |
o initial support for filtering nodes, working
|
| 302 |
- spam_user.inc
|
| 303 |
o initial support for filtering users, partial
|
| 304 |
|
| 305 |
December 2, 2007
|
| 306 |
- spam.module
|
| 307 |
o properly filter content that hasn't been posted yet
|
| 308 |
o support multiple levels of fields to support unposted content
|
| 309 |
o properly calculate spam score
|
| 310 |
o add "mark as spam" and "mark as not spam" links, menus and functions
|
| 311 |
o allow other filters to override spam_denied_page()
|
| 312 |
o hard coded spam actions for now, eventually will support actions module
|
| 313 |
- duplicate.install
|
| 314 |
o add "spam" field for easily tracking whether or not content is spam
|
| 315 |
- duplicate.module
|
| 316 |
o move defaults into defines at top of module source
|
| 317 |
o add configurable notification page for denied duplicate posts
|
| 318 |
o use spam_denied_page() to display deneid pages
|
| 319 |
o updated to support multiple levels of fields
|
| 320 |
o limit duplicate ip search to content previously determined to be spam
|
| 321 |
o implement 'mark_as_[not_]spam' hooks for tracking spam status
|
| 322 |
o call spam_mark_as_spam() when find too many identical postings
|
| 323 |
- spam_comment.inc
|
| 324 |
o updated to support multiple levels of fields
|
| 325 |
o implement 'link' hook for adding "mark as spam" type links to comments
|
| 326 |
o implement 'redirect' hook for redirecting to comment
|
| 327 |
o implement '[un]publish' hooks for publishing/unpublishing comments
|
| 328 |
|
| 329 |
|
| 330 |
November 28, 2007
|
| 331 |
- spam.module
|
| 332 |
o add new SPAM_ACTION_HOLD action, holding potential spam in a special spam
|
| 333 |
queue for administrative review
|
| 334 |
o add spam_scan() API call for actual spam handling (still needs to support
|
| 335 |
all spam actions)
|
| 336 |
o pass sid and ip through $extra array, minimizing parameters and making it
|
| 337 |
possible to edit a spam comment as an admin without blocking your own IP
|
| 338 |
o add some watchdog logs
|
| 339 |
o implement spam_content_update() and spam_content_delete()
|
| 340 |
- spam_comment.inc
|
| 341 |
o add some comments
|
| 342 |
o support comment deletion
|
| 343 |
o simplify by offloading logic to spam api
|
| 344 |
- duplicate.module
|
| 345 |
o move sid and ip into $extra array
|
| 346 |
o add support content updates and deletes
|
| 347 |
|
| 348 |
November 26, 2007
|
| 349 |
- spam.module
|
| 350 |
o remove debug code causing all submisisons to be spam
|
| 351 |
o don't throw ugly errors when now filters are enabled
|
| 352 |
o implement spam_content_insert() hook
|
| 353 |
o fix key mechanism for reporting mis-blocked content
|
| 354 |
- spam.install
|
| 355 |
o introduce table for storing mis-blocked content reports
|
| 356 |
- duplicate.module
|
| 357 |
o implement spamapi hook for tracking inserted content
|
| 358 |
o put content signing into function for re-use
|
| 359 |
|
| 360 |
November 25, 2007
|
| 361 |
- spam.module
|
| 362 |
o implement simple spam_content_is_spam() API call for true/false filtering
|
| 363 |
o enhance spam_content_filter() API call for 1-99 filtering
|
| 364 |
o stub spam_content_insert() and spam_content_update() API calls
|
| 365 |
o re-arrange menus aiming to make them more logical
|
| 366 |
o introduce 'administer spam' and 'bypass filters' permissions
|
| 367 |
o implement _form_alter() hook for scanning form content
|
| 368 |
o stub content-type group setting page
|
| 369 |
o implement general spam settings page
|
| 370 |
o implement error page for reporting when content is blocked by spam
|
| 371 |
o implement mechanism for easily reporting mis-blocked content
|
| 372 |
- duplicate.install
|
| 373 |
o add field for expiring data without deleting it
|
| 374 |
- duplicate.module
|
| 375 |
o implement error page for reporting blacklisted IP addresses
|
| 376 |
o add ability to completely blacklist IP from website, not just from posting
|
| 377 |
- spam_comment.inc
|
| 378 |
o implement _comment() hook to catch comment API calls
|
| 379 |
o implement _spamapi() hook to support filtering comments
|
| 380 |
|
| 381 |
|
| 382 |
November 24, 2007
|
| 383 |
- spam.install
|
| 384 |
o add support for content-type groups
|
| 385 |
o make weight signed to support negative weights
|
| 386 |
o remove duplicate information
|
| 387 |
- spam.module
|
| 388 |
o cleanup inline comments to match current development plan
|
| 389 |
o implement basic default content-type group filter overview page
|
| 390 |
o create generic functions for invoking the spamapi hook
|
| 391 |
o introduce filter_info hook for defining spam filters
|
| 392 |
o introduce filter_install hook for installing spam filters and setting
|
| 393 |
default configuration values
|
| 394 |
o begin to implement spam filter function which calls external filters in
|
| 395 |
the order they are defined for the appropriate content-type group.
|
| 396 |
o provide filter configuration submenu
|
| 397 |
- bayesion.module/.info
|
| 398 |
o module stub
|
| 399 |
- duplicate.module/.info
|
| 400 |
o replaced ip.module
|
| 401 |
o define configuration page
|
| 402 |
o begin to implement duplicate spam filter
|
| 403 |
|
| 404 |
November 23, 2007
|
| 405 |
- spam.module
|
| 406 |
o branching 3.0 rewrite of spam module
|