any updates past 3.0 firmware was only a tethered jailbreak. very easy to do, but once you turned your phone off, or the battery died, you had to plug it in your computer and rejailbreak it before you could use it. they have a spirit jailbreak for 3.1.3 that is untethered (called spirit jailbreak), but it requires an activated phone. so basically it's only for at&t customers unless you can find another way to activate it. it wont work otherwise. it is highly recommended to back up your SHSH blobs because this jailbreak exploits a software glitch which will most likely be patched by apple really fast. this way it keeps it jailbroken.
they say jailbreaks are a hardware unlock, not software so they can never completely block out jailbreaks. yet it's getting much harder to do so with each OS update