You are here

CHANGELOG.txt in Spam 6

Same filename and directory in other branches
  1. 5.3 CHANGELOG.txt
  2. 5 CHANGELOG.txt
February 13, 2011
    o #1060198: fixed the SELECT COUNT() in duplicate filter to use db_filter()
January 20, 2011
    o #1024646: renamed old variable spam_blacklist_ip as it should have been
January 10, 2011
    o #734642: initial commit of SimpleTest functionality. Thanks to Kars-T for the code.
    o #448412: initial Actions integration. Thanks to naught101 for the code.
January 9, 2011
    o #1020662: fixed an E_NOTICE in spam_content_comment_admin()
    o #1020740: fixed an E_NOTICE due to .= usage on first initializing variable
      (see theme_spam_admin_filters() function)
    o #1020840: moved the definition of $id so it is defined in all cases
January 3, 2011
    o #1014102: wrong number of columns for message when list is empty
    o #1014122: 'score' index undefined in $extra, added empty() test
December 31 2010
    o #862982: add UI elements for spam user module
December 29th 2010
    o #672912: use hook_init in spam.module
      patch thanks to Steve Dondley, assist by Kars-T
  - spam_filter_bayesian
    o #1010112: Optimization to the regex & a foreach() loop
    o #1009234: Removed the 1st if() of the spam_filter_bayesian_tokens_update()
    o #1009234: Check $old instead of $old->probability in spam_filter_bayesian_tokens_update()
December 28th 2010
    o #802840: remove "place into special review queue" option
    o #670764: moderated comments marked as spam not in spam queue
    o #738378: make module names translation-independent
    o #532158: add DEVELOPER.txt for dev best practices
December 27th 2010
    o #178156: spam_filter_url: improve url matching based on _url_filter()
      patch thanks to PieterDC
December 26th 2010
    o bug #984698: code clarification on spam option enumeration
    o #375624: small doc fix to clarify upgrade path from 5.x-1.x
December 25th 2010
    o bug #361547: limit for url filter
      patch thanks to naught101, assist by PieterDC
    o bug #914212: clarify error messages for no entry in spam_tracker; drop
      to WATCHDOG_NOTICE
 - spam_filter_custom.module
    o bug #976958: properly escape custom filters -- typo fix
 - spam_scan() defines $id early so all spam_log() calls can use it
    o bug #781248: put the $id back and define $id as required
December 24th 2010
 - spam_filter_duplicate.module
    o bug #774160: $index missing in _spam_filter_duplicate_arg() function
      original report by keinstein
    o bug #781248: removed some $id in calls to spam_log() when $id is not defined
December 23rd 2010
 - spam_filter_custom.module
    o bug #976958: properly escape custom filters
      patch thanks to AlexisWilke
    o bug #813504: missing quotes around spam_filter_custom module defines
      patch thanks to AlexisWilke
 - spam_filter_duplicate.module
    o bug #977796: unknown column spam_filter_duplicate_hash
      patch thanks to AlexisWilke
 - spam.module
    o bug #779010: typo in menu constant, MENU_LOCAL_CALLBACK
      patch thanks to keinstein
    o bug #937384: update spam_tracker with proper number of fields
      patch thanks to progga and AlexisWilke
    o bug #977628: fix spelling error in drupal message
      patch thanks to AlexisWilke
    o bug #282062: content_id is integer, use %d not %s for db_query
      based on patch by nilesh.3892
 - spam_comment.inc
    o bug #932758: fix spam comment actions (including teaching not spam)
      based on patch by mr.j
 - spam_node.comment.inc
    o bug #712624: don't pollute session table with form contents
      based on patch by mavimo

August 31st, 2009
 - spam.module
    o bug #531214: fix feedback form, properly call drupal_process_form()

August 9th, 2009 (6.x-1.0)
 - spam.module
    o bug #531528: simplify debug logic, cleanup code

August 6th, 2009 (6.x-1.0-rc1)
 - spam.module
    o bug #531528: add additional debug when scanning spam content
    o bug #531528: calculate spam score even if the content has no id
 - spam_node.inc
    o bug #541950: scan node content before it is posted
 - spam_comment.inc
    o bug #541950: scan comments before they are posted
 - spam_user.inc
    o bug #541950: scan users before they are created

August 5th, 2009
 - custom.module
    o bug #531524: don't alter score if no matching custom filters
 - spam.module
    o bug #532158: log results of filter in normal logging mode
    o feature #539508: display link to spam logs, if existing
 - node_age.module
    o bug #540830: don't log nid if no nid is found
 - spam_node.inc
    o feature #539508: display author of filtered node
 - spam_comment.inc
    o feature #539508: display author of filtered comment

June 21, 2009
 - spam_comment.inc
    o bug #351280: comment admin pages wouldn't commit changes

June 17, 2009
 - spam.module
    o bug #351250: anonymous access for /spam/denied
    o bug #351245: incorrect breadcrumbs in spam logs
    o bug #351141: couldn't commit changes to content types to filter
    o bug #352185: errors in spam feedback form
    o bug #404694: couldn't mark as not spam in /admin/content/spam
    o bug #494502: let spam modules use spam_theme
 - spam_node.inc
    o bug #352255: node_operations_(un)publish functions no longer exist
 - spam_user.inc
    o bug #351138: remove dependency on profile module
 - custom.module
    o bug #351373: failed to load custom filter
 - content modules
    o bug #351247: missing url, custom, node age filter admin pages

June 16, 2009
 - spam.module
    o bug #352719: bad "not spam" link

February 13, 2009
 - spam.module
    o bug #362106: flush cache after manually marking content spam/notspam
    o bug #342915: bulk updates not working due to kludge-loop prevention

October 13, 2008
 - spam.module
    o bug #320550: make spam logs accessible to 'administer spam' permission

October 11, 2008
 - custom.module
    o bug #319866: remove reference to non-existent "extra" field

October 2, 2008
 - custom.module
    o bug #316158: rename custom module hook which clashed with spam hook

October 1, 2008
 - duplicate.module
    o bug #1039032: do not block users if have 'bypass filters' permission

September 29, 2008 (5.x-3.0-beta1)
 - spam.module
    o move log defines to top of file, report undesired looping
 - custom.module
    o feature #287759: implement back end for custom filter rules
                       upgrade custom filters from 5.x-1.x spam module
 - duplicate.install, bayesian.install
    o bug #282062: cleanup PostgreSQL support (patches thanks to jaydub)

September 26, 2008
 - spam.module
    o bug #313729: replace call to nonexistent db_log() with intended spam_log()
 - custom.module
    o feature #287759: initial support for custom filters, they can be created
                       and managed, but they're not currently actually used

September 20, 2008
 - spam.module
    o feature #248307 make it possible to customize spam comments in theme
    o provide configuration option to automatically delete old spam logs

September 20, 2008 (5.x-3.0-alpha8)
 - spam.install
    o bug #289164: support upgrades from the 5.x-1.x version of the spam module

September 19, 2008 (5.x-3.0-alpha7)
 - spam.install
    o feature #302469: update spam_filters_errors table to support feedback
 - spam.module
    o feature #302469: introduce support for spam filter feedback
    o ^^ bypass filter if admin submitted comment reviewing filter feedback
    o ^^ introduce spam feedback administration pages
    o ^^ fix link generation when custom message is set
    o ^^ update spam overview page so can filter by feedback
    o ^^ delay content creation by saving form data for review
 - spam_comment.inc
    o feature #302469: provide admin form for comment spam feedback
 - spam_node.inc
    o feature #302469: provide admin form for node spam feedback
 - spam_user.inc
    o feature #302469: provide admin form for user spam feedback
 - bayesian.module
 - duplicate.module
 - url.module
    o feature #302469: centralize loading of content to allow overloading

September 17, 2008
 - node_age.module
    o bug #302472: call spam_range to support PHP4
 - spam.module
    o bug #287751: allow editing of visitor action and filtered message
 - spam_user.inc
    o feature #171780: scan user profile fields if filtering users

July 24, 2008 (5.x-3.0-alpha6)
 - spam.module
    o bug #274209: support php4, implement form_alter outside of standard adapi
    o bug #284336: only display spam links if filtering content type
 - spam_comment.inc
    o bug #274209: support php4, implement form_alter outside of standard adapi
    o bug #284336: only display spam links if filtering content type
 - spam_node.inc
    o bug #284336: only display spam links if filtering content type
 - spam_user.inc
    o bug #284336: only display spam links if filtering content type
 - bayesian.module
    o bug #284389: validate that tokens exist before using them

July 10, 2008
 - bayesian.install
    o bug #273398: file never got checked in, thus bayesian schema not created
 - spam.module
    o bug #275614: be sure that we don't divide by zero
 - spam.install
    o bug #275315: add missing {}'s 

May 31, 2008
 - spam.install
    o bug #262618: called spam_install() when meant to call spam_upgrade_0()
    o added index, addressing a query showing up in my slow query logs
 

May 19, 2008 (5.x-3.0-alpha5)
 - spam.module
    o provide menu hook to spamapi
    o allow modules to change forms within spamapi
 - spam.install
    o change all spam comments to a special status code
 - spam_comment.inc
    o change all spam comments to a special status code, so comments don't
      appear in the administrative 'Approval queue'.
    o provide administrative overview page for bulk editing spam comments
    o add in-line spam-control options to other administrative comment pages

April 30, 2008
 - spam.install
    o don't generate errors on upgrade from 2.x spam module
    o properly install the spam_statistics table
 - spam.module
    o improved debugging when content type support is not properly implemented
    o sort spam overview by lid, not timestamp
 - spam_user.inc
    o tell spam module to scan users when enabled

April 30, 2008 (5.x-3.0-alpha4)
 - spam.module
    o provide spam statistics admin page
    o implement 'bypass filters' permission
 - spam.install
    o first pass at supporting upgrades from 2.x version of module

April 29, 2008
 - spam.module
    o introduce spam statistics
 - spam.install
    o introduce spam_statistics table

April 29, 2008 (5.x-3.0-alpha3)
 - spam.module
    o implement spam overview page with filters and actions
    o comment out unsupport content groups
    o disable error reporting link, not yet fully functional
 - spam_comment.inc
    o implement spam comment overview filtering
 - spam_user.inc
    o implement spam user overview filtering
 - spam_node.inc
    o implement spam node overview filtering

April 28, 2008
 - spam.module
    o provide ability to trace logs generated from a single page load
    o cleanup paths and administration pages for viewing spam logs
    o make log level configurable
    o move tokenizer function into bayesian module
 - spam.install
    o introduce trid (trace id) column
 - url.module
    o always log type and id if available
 - node_age.module
    o improve configuration help text
 - bayesian.module
    o always log type and id if available
    o define local tokenizer function
    o allow usage of external tokenizer functions

April 24, 2008
 - spam.module
    o implement administrative pages for viewing spam logs
 - duplicate.module
    o provide page for viewing blocked ip addresses
    o include local implementation of arg() which isn't always available to us

April 24, 2008 (5.x-3.0.alpha2)
 - spam.install
    o add PostgreSQL support, patch thanks to Roderik Muit
 - duplicate.install
    o add PostgreSQL support, patch thanks to Roderik Muit
 - spam.module
    o bug #200866, support PHP4, based on patch by Roderik Muit
    o turn string extraction into function, usable by plug-ins
 - bayesian.module
    o remove unnecessary debug noise
    o improve debug logging when updating tokens
 - spam_comment.inc
    o scan anonymous (name, mail, homepage) fields if set
 - spam_user.inc
    o add spam management interface when viewing users
    o implement redirect, load, publish and unpublish spamapi hooks
    o spam module now can filter user accounts

April 22, 2008 (5.x-3.0.alpha1)
 - spam.module
    o add additional logging
    o be sure content is blocked or updated when determined to be spam
    o provide form for users to report when their content is mismarked as spam
 - spam.install
    o provide field for feedback on filter errors
 - url.module
    o don't throw errors if there are no urls in the post
 - bayesian.module
    o add additional logging
 - spam_comment.inc
    o implement improperly filtered comment report form
 - spam_node.inc
    o implement improperly filtered node report form
    o filter nodes before they are inserted
 - node_age.module
    o new filter: comments posted to very old nodes are more likely to be spam
    o implement configuration options

April 21, 2008
 - spam.module
    o add tokenizer to spam module
    o implement logging, add some debug logging
    o allow filter to tell spam engine to skip it
    o remove url extraction from tokenizer logic
 - spam.install
    o define proper spam_log table
 - bayesian.module
    o implement bayesian filter, integrate with spam module
    o add some debug logging
 - duplicate.module
    o make it possible to register the module
 - url.module
    o implement url filter, integrate with spam and bayesian modules

April 20, 2008
 - spam.module
    o only filter enabled content types
    o only run enabled filters
    o pass content type everywhere
    o properly update tables if update applied to content not seen before
    o properly update tables even if redirected away during scanning
 - duplicate.module
    o pass content type everywhere
    o properly update tables if update applied to content not seen before
 - spam_comment.inc
    o cache the cid in a static so that it's always available
    o introduce 'load' hook for loading comments
    o introduce 'hostname' hook for loading IP of comment
 - spam_node.inc
    o initial support for filtering nodes, working
 - spam_user.inc
    o initial support for filtering users, partial

December 2, 2007
 - spam.module
    o properly filter content that hasn't been posted yet
    o support multiple levels of fields to support unposted content
    o properly calculate spam score
    o add "mark as spam" and "mark as not spam" links, menus and functions
    o allow other filters to override spam_denied_page()
    o hard coded spam actions for now, eventually will support actions module
 - duplicate.install
    o add "spam" field for easily tracking whether or not content is spam
 - duplicate.module
    o move defaults into defines at top of module source
    o add configurable notification page for denied duplicate posts
    o use spam_denied_page() to display deneid pages
    o updated to support multiple levels of fields
    o limit duplicate ip search to content previously determined to be spam
    o implement 'mark_as_[not_]spam' hooks for tracking spam status
    o call spam_mark_as_spam() when find too many identical postings
 - spam_comment.inc
    o updated to support multiple levels of fields
    o implement 'link' hook for adding "mark as spam" type links to comments
    o implement 'redirect' hook for redirecting to comment
    o implement '[un]publish' hooks for publishing/unpublishing comments


November 28, 2007
 - spam.module
    o add new SPAM_ACTION_HOLD action, holding potential spam in a special spam
      queue for administrative review
    o add spam_scan() API call for actual spam handling (still needs to support
      all spam actions)
    o pass sid and ip through $extra array, minimizing parameters and making it
      possible to edit a spam comment as an admin without blocking your own IP
    o add some watchdog logs
    o implement spam_content_update() and spam_content_delete()
 - spam_comment.inc
    o add some comments
    o support comment deletion
    o simplify by offloading logic to spam api
 - duplicate.module
    o move sid and ip into $extra array
    o add support content updates and deletes

November 26, 2007
 - spam.module
    o remove debug code causing all submisisons to be spam
    o don't throw ugly errors when now filters are enabled
    o implement spam_content_insert() hook
    o fix key mechanism for reporting mis-blocked content
 - spam.install
    o introduce table for storing mis-blocked content reports
 - duplicate.module
    o implement spamapi hook for tracking inserted content
    o put content signing into function for re-use

November 25, 2007
 - spam.module
    o implement simple spam_content_is_spam() API call for true/false filtering
    o enhance spam_content_filter() API call for 1-99 filtering
    o stub spam_content_insert() and spam_content_update() API calls
    o re-arrange menus aiming to make them more logical
    o introduce 'administer spam' and 'bypass filters' permissions
    o implement _form_alter() hook for scanning form content
    o stub content-type group setting page
    o implement general spam settings page
    o implement error page for reporting when content is blocked by spam
    o implement mechanism for easily reporting mis-blocked content
 - duplicate.install
    o add field for expiring data without deleting it
 - duplicate.module
    o implement error page for reporting blacklisted IP addresses
    o add ability to completely blacklist IP from website, not just from posting
 - spam_comment.inc
    o implement _comment() hook to catch comment API calls
    o implement _spamapi() hook to support filtering comments


November 24, 2007
 - spam.install
    o add support for content-type groups
    o make weight signed to support negative weights
    o remove duplicate information
 - spam.module
    o cleanup inline comments to match current development plan
    o implement basic default content-type group filter overview page
    o create generic functions for invoking the spamapi hook
    o introduce filter_info hook for defining spam filters
    o introduce filter_install hook for installing spam filters and setting
      default configuration values
    o begin to implement spam filter function which calls external filters in
      the order they are defined for the appropriate content-type group.
    o provide filter configuration submenu
 - bayesion.module/.info
    o module stub
 - duplicate.module/.info
    o replaced ip.module
    o define configuration page
    o begin to implement duplicate spam filter

November 23, 2007
 - spam.module
    o branching 3.0 rewrite of spam module

File

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