skippy dot net

subscribe2 is dead. Long live subscribe2!

As most of my regular readers know, I've stopped developing subscribe2, the email notification plugin I first released a year and a half ago. This plugin was very well received, and it's in use on a lot of WordPress blogs. Of the plugins I wrote, only my database backup plugin is more popular -- and that's mostly due to its inclusion with the core WordPress download.

I started subscribe2 as an update to the "subscribe" plugin by seriocomic. His plugin used a flat text file, and required a fair amount of command-line jiggery-pokery to make work. An email notification mechanism was just the thing my mom wanted for her "topic of the month" blog, but I didn't want to be saddled with managing all the details of said mechanism. So I took seriocomic's plugin as a foundation and modified it to use the WordPress database to store all the subscriber data. Thus subscribe2 was born. No, it wasn't a particularly catchy name.

subscribe2 evolved through a series of feature requests from users. A lot of people had a lot of good ideas, and I was frankly surprised by the amount of attention my little plugin received. Bug reports came in alongside feature requests, and I really learned a lot about WordPress and its plugin API while working on subscribe2. Several folks submitted patches, and a few folks really helped me out by rigorously testing beta releases.

Matt at prescriber.org.uk was one such tester. He was instrumental in ferreting out all kinds of niggling problems that I had overlooked. He, too, cut his PHP and WordPress teeth on subscribe2 and quickly grew from tester to feature designer. He fixed code, submitted a few modest improvements, and expressed a strong interest in seeing subscribe2 live.

I am pleased to announce that subscribe2 is now under new management! Matt has been adding useful new features to my adandoned codebase, and he shows no signs of stopping.

If you're a user of subscribe2, please update your bookmarks and feed readers to point to the new subscribe2 home page. Matt is now officially in charge of development. Send him your feature requests and bug fixes. All support requests really should be sent to the WordPress support forums, so as not to overwhelm Matt with things that other folks can help resolve.

As an aside: useless bug reports -- those reporting "It doesn't work!" with no other details -- contributed greatly to my abandonment of subscribe2. Please don't wear Matt down with the same. Report as much detail as you can when asking about problems. Which version of WordPress are you using? Which version of subscribe2? Who's your hosting provider? Are they using GNU/Linux or Windows? Apache or IIS? Which version of PHP is in use? What steps have you taken to reproduce the problem? What, if anything, works?

subscribe2 is dead. Long live subscribe2!

subscribe2 2.2.2

A show-stopper bug has been identified with subscribe2 2.2.1, completely breaking the plugin when used with the DREAMHOST setting enabled.

subscribe2 2.2.2 is now available.

  • Fixed operation with the DREAMHOST configuration
  • Added a toggle to enable or disable display of the subscribe2 button on the Write screen's toolbar
  • Tidied up the display of the form for better XHTML compliance

Please report any problems in the comments.

subscribe2 2.2.1

subscribe2 2.2.1 is now available!

This version fixes several problems from the last release:

  • Notification emails are generated even if you first save the post as a draft.
  • The Submit button on the Mail Subscribers screen is fixed for Internet Explorer users.
  • Multiple confirmation emails should no longer be sent.
  • You can now specify the page to use for subscription confirmations. Edit subscribe2.php and define the page ID on line 42.
    In addition, subscribe2 2.2.1 should now send notification emails for future-dated posts! This requires the use of my WP-Cron plugin. If you have WP-Cron activated, subscribe2 2.2.1 will detect it, and automatically send notification emails to your subscribers roughly an hour after the post(s) become visible. Better still, subscribe2 2.2.1 offers support for daily digests of all new posts from the previous day. Again, this feature requires WP-Cron. To enable this feature, simply edit line 46 in subscribe2.php and change the FALSE to TRUE. At the start of each new day, your subscribers will receive a summary of new posts from the previous day, in the following format:
    Post Title Post Link Post Summary <blank line>
    The POST token in the notification template will be replaced with the list of new posts. Important note: WordPress 2.0 has a minor problem with the default caching mechanism. In order for future-dated posts and daily digests to work properly, you must use WordPress 2.01 or later. Any support requests for these features from users of WordPress 2.0 will be completely ignored.

subscribe2 2.2

I'm pleased to announce the release of subscribe2 2.2!

This version has been written to work with WordPress 2.0 (indeed, it will only work with WordPress 2.0), and includes a number of significant changes. Most exciting of all is the elimination of the subscribe.php helper file. subscribe2 now uses a simple token, <!--subscribe2-->, inside the body of any WordPress Page to display the form and handle confirmation requests. This should (hopefully) put an end to the sidebar and theme issues!

Additionally, version 2.2 trims down the complexity of the Options screen, and presents a vastly improved Management page. You can review your subscriber list in a number of ways, based on public versus registered user, as well per-category. You can send an email to various combinations of your subscribers under the Write->Mail Subscribers menu.

This version also provides some compelling reasons for your readers to become registered users of your blog. First, registered users can subscribe to notifications on a per-category basis. Second, registered users can select between plaintext excerpts, plaintext full post, and HTML full post email delivery. Third, you, the admin, can allow your registered users to subscribe to categories excluded to the general public.

The general public -- that is, subscribers who are not registered users of the blog -- will now only receive plaintext excerpt deliveries.

Be advised that subscribe2 will now send at least one email for each combination of:

  • plaintext excerpt
  • plaintext full content
  • HTML full content

(with the notable exception that subscribe2 will not send an email if there are no subscribers for that specific combination)
Dreamhost users can expect to receive even more emails, as the Dreamhost batching is combined with the above.

Please be sure to read the README.TXT in the zip for instructions and frequently asked questions!

My sincere thanks to Dan, Laundro, and Matt for beta testing and providing invaluable feedback.

Subscribe2 2.1.7

UPDATED Subscribe2 version 2.1.7a is now available!

Localization files are available here.

This version adds a new column to the database table to store the date on which a user subscribed. This date will be displayed on the "Manage Subscribers" page. You can use this to determine which of your unconfirmed subscribers are stale and unlikely to actually confirm. Thanks to Viper007Bond for the idea!

This version also fixes a major flaw with the way I was handling batched subscribers for Dreamhost users. Until now, subscribe2 was inadvertently discarding any subscribers beyond the last full batch. For example, if you had 80 subscribers, subscribe2 would create two batches of 30 users each, and silently discard the last 20 subscribers when sending mail!

I sincerely apologize for this terrible oversight.

Barring any major problems, this is likely to be the last release of subscribe2 until WordPress 2.0 comes out, at which time I will release subscribe2 2.2. If you'd like to beta test the new version -- assuming you still trust me to write plugins! -- please contact me.

Many thanks to Gary Powell for explaining the problem in a way that finally made sense to me, and his extreme patience as I diagnosed the cause!

Update: The original 2.1.7 download did not correctly create the table for new installations. This has been resolved.