June 2009


The people from PHP have released a new version. I’ve downloaded it right away and installed and tested it on all my test machines and haven’t found any problem yet. This release is a major improvement in the 5.X series, which includes a large number of new features and bug fixes.

  • Support for namespaces
  • Late static binding
  • Lambda Functions and Closures
  • Syntax additions: NOWDOC, ternary short cut “?:” and jump label (limited goto), __callStatic()
  • Under the hood performance improvements
  • Optional garbage collection for cyclic references
  • Optional mysqlnd PHP native replacement for libmysql
  • Improved Windows support including VC9 and experimental X64 binaries as well as portability to other supported platforms
  • More consistent float rounding
  • Deprecation notices are now handled via E_DEPRECATED (part of E_ALL) instead of the E_STRICT error level
  • Several enhancements to enable more flexiblity in php.ini (and ini parsing in general)
  • New bundled extensions: ext/phar, ext/intl, ext/fileinfo, ext/sqlite3, ext/enchant
  • Over 140 bug fixes and improvements to PHP, in particular to: ext/openssl, ext/spl and ext/date

This release also drops several extensions and unifies the usage of internal APIs. Users should be aware of the following known backwards compatibility breaks:

  • Parameter parsing API unification will cause some functions to behave more or less strict when it comes to type juggling
  • Removed the following extensions: ext/mhash (see ext/hash), ext/msql, ext/pspell (see ext/enchant), ext/sybase (see ext/sybase_ct)
  • Moved the following extensions to PECL: ext/ming, ext/fbsql, ext/ncurses, ext/fdf
  • Removed zend.ze1_compatibility_mode

For users upgrading from PHP 5.2 there is a migration guide available here, detailing the changes between those releases and PHP 5.3.0.

For a full list of changes in PHP 5.3.0, see the ChangeLog.

For instructions on how to upgrade PHP please read: Upgrading PHP.

2 comments

Sam Varshavchik has been busy again checking everything against the new version of GCC and fixing a minor bug. He has done this for most of the Courier software stack. The ones that concern us are:

Courier-Auth was updated to 0.62.4

  • Various compilation fixes for gcc 4.4 and libtool 2.2

Courier-IMAP was updated to 4.5.1

  • Various compilation fixes for gcc 4.4
  • fetch.c (open_cached_fp): If the message file cannot be opened,
    create a dummy message in its place.

Courier Maildrop was updated to 2.2.0

Please do not use this version as it will not work, please download version 2.0.4. I’m not spending more time on this as of the switch to dovecot later this week.

  • GCC 4.4 fixes

Updating should be easy, just follow the install instructions as usual.

no comments

Just to inform you all as I missed it myself. Apple have released a new version of XCode. It’s not mandatory to upgrade but I will do it myself and all instructions etc. will be based on this version although I don’t expect any issues if you keep using the previous version.

You can download it from developer.apple.com. If you don’t have an account yet, just register. It’s free if you just want to download XCode and the related information.

What’s new in XCode 3.1.3:

  • SDK support for targeting non-Mac OS X platforms, including iPhone OS SDK.
  • GCC 4.2 & LLVM GCC 4.2 optional compilers for use with Mac OS X 10.5 SDK
  • Updated assistants to create new projects, targets, and source ?les
  • Toolbar uses a single popup to choose platform, target, and debug/release
  • Integrated SCM support now works with Subversion 1.5
no comments

Yes, Hawk Wings the blog for everything related to Email, Todos and more is back. Tim Gaden has started to blog again after being more than a year off-line. His blog has been (and will be) a valuable source of information for people wanting to get the most out of their email (and related) programs on their Mac.

no comments

You could call it brainwave or an enlightened moment after SQLGrey died on my server again. Which I usually notice after not having received any mail for a day. After trying so many times to get this thing solved properly I finally got it. I can really feel stupid now that I know the solution was so simple.

I just had to remove the ‘-d’ option from the startup command line. This option is used to start SQLGrey in daemon mode. SQLGrey will spawn a new process which will be kept running and the process which you started will end. This was the reason when I first tried to use KeepAlive that launchd would try to start a new SQLGrey process every 10 seconds because the orinal process had ended.

This now works on Leopard, still need to test this on Tiger. I’m currently rebuilding Tiger on my old G4 mini who’s harddisk had died. Currently using an external firewire drive as I still need to buy a new internal disk. The G4 is still needed as it is my only PowerPC based Mac and I swant to test everything on Tiger or Leopard on this CPU as I know many of you still use an old PowerPC based Mac to run as a server.

The instructions have been updated to reflect the new found knowledge. Sorry this took so long to find out.

1 comment

PHP have released an update yesterday and I’ve tested it and it works without any problems. It even has less errors in the test suite than the previous version. It has a security update included so it would be wise to upgrade if you can.

Security Enhancements and Fixes in PHP 5.2.10:

  • Fixed bug #48378 (exif_read_data() segfaults on certain
    corrupted .jpeg files).

Key enhancements in PHP 5.2.10 include:

  • Added “ignore_errors” option to http fopen wrapper.
  • Fixed memory corruptions while reading properties of zip files.
  • Fixed memory leak in ob_get_clean/ob_get_flush.
  • Fixed segfault on invalid session.save_path.
  • Fixed leaks in imap when a mail_criteria is used.
  • Changed default value of array_unique()’s optional sorting type
    parameter back to SORT_STRING to fix backwards compatibility breakage
    introduced in PHP 5.2.9.
  • Fixed bug #47940 (memory leaks in imap_body).
  • Fixed bug #47903 (“@” operator does not work with string offsets).
  • Fixed bug #47644 (Valid integers are truncated with json_decode()).
  • Fixed bug #47564 (unpacking unsigned long 32bit big endian returns wrong result).
  • Fixed bug #47365 (ip2long() may allow some invalid values on certain
    64bit systems).
  • Over 100 more bug fixes.

For instructions on how to upgrade PHP please read: Upgrading PHP.

no comments

Well, I couldn’t leave Apple to it to be the only one making announcements on new products and features. There is some news here as well, I’m announcing a change as well.

OS X always had it’s own IMAP/POP3 server, called Cyrus, which I considered lacking and I used the Courier product stack which has always helped me a lot. But thanks to some attentive users (yes you James) I was informed that Apple is switching their mail server setup and they are moving to Dovecot.

It seems like Dovecot has become the better IMAP server, here is a comparison chart. From what I’ve read on the web Dovecot is more secure, faster and more IMAP compliant then any other server out there. Now the full details are available on Snow Leopard Server you will read that Dovecot is going to be the standard implementation. Here are some related news items that had spilled the news earlier: AppleInsider and Derek Underwood’s blog.

I’ve been playing with Dovecot for some time now, people following me on Twitter might have read about it already, and it is looking good. New mail notifications are faster than using Courier (almost feels like push mail). Dovecot also has most of the features we need and includes everything we currently used in separate modules from Courier (auth and maildrop). Because Dovecot can also do authentication there is no need for SASL anymore. This all will make the setup a lot simpler.

Also a feature called Sieve in Dovecot will enable server based filtering rules, this will enable server based filtering being managed by the end user.

My current plan is to first write an instruction for installing the basic mail server (postfix + dovecot) to provide the new setup to new users. Next step is writing a migration plan to be able to move current Courier users to Dovecot. Concurrently I will try to add current and new features that are enabled by the usage of Dovecot.

I hope you like the improvements and forgive me for not having a keynote ;-)

9 comments

For everyone who has not updated to a 5.1.x version. This is a bug fix release and it is up to you if you want to upgrade.

Check all the fixes that are listed on the release notes to see what issues are resolved and if you are affected.

I’ve compiled this version and did some simple tests on Leopard and Tiger and both can be compiled and installed using the instructions in the documentation set without problems.

Read the documentation on how to ugrade MySQL.

no comments

Postfix 2.6.2 has been released a few days ago and I installed and tested it on my test and production server and it all works as one should expect. There are no major changes in this release just some bugfixes which had not affected my systems.

The official release note for 2.6.2 is:

Postfix stable release 2.6.2 fixes one defect in SASL support. This does not affect Postfix versions 2.5 and earlier.

  • With plaintext SMTP sessions AND smtpd_tls_auth_only=yes AND smtp_sasl_auth_enable=yes, the SMTP server logged warnings for reject_sender_login_mismatch, reject_authenticated_sender_login_mismatch, and reject_unauthenticated_sender_login_mismatch, instead of enforcing those restrictions.

For instructions on how to upgrade Postfix please read Upgrading Postfix.

no comments

A lot of people are turned off by Terminal because they don’t understand it. Some of them know DOS but the commands and the power of the prompt frighten them. To get a good understanding the people of PeepCode have created a very good screencast to introduce newbies to the power of the command line. For a small fee you can learn the commandline and get a bonus PDF as well. More information at “Meet the command line

The screencast is presented by Dan Benjamin, developer at A List Apart.

no comments