Upgrading your iPhone 3G[S] to 3.1 may make it unable to be jailbroken ever again. It is hope that, in the near future, an exploit will be found for 3.1 (which now has been found). If you must upgrade to 3.1, you should only do so if you have an ECID SHSH “on file” with Cydia. It is assumed (but not yet known) that this information will be usable to allow one to download to 3.0 at a later point.
Note: Apple will not allow you to downgrade to 3.0 of the firmware anymore. They have taken this ability away from us. Users that have agreed to let me hash their keys with Apple and store them will hopefully be able to downgrade to 3.0 soon, but users who did not do this (even if they have saved some information themselves) will have to wait for someone to build something to use that information (my hashed are more complete). Note that not everyone got these from me that asked: 1,500 people asked after the window closed. As additional 250 were even told they they got hashed correctly, when they had not (I have fixed the display that it broke).
I wish I could have gotten this service out sooner, but a bunch of issues kept aligning to make it not come together until Sunday . From all of us to Apple: we don’t like you either.