I HAVE CEASED UPDATING THIS THEAD.
The old information contained below will remain for posterity, but will no longer be updated. From this point forward, all updates to this information will be found at http://www.randomphantasmagoria.com/firmware/nexus-s
Below is a list of all available OTA and full ROM packages for the Nexus S 4G, model D720.
THIS IS FOR D720 ONLY. IF YOU HAVE ANOTHER VARIANT, PLEASE FIND THE THREAD FOR YOUR VARIANT.
Typical disclaimer where I tell you that all of this stuff is at your own risk and I'm not responsible if you mess up your phone, yadda yadda.
These updates are 100% stock and are NOT rooted.
HOW TO FLASH
I'm not giving instructions on how to flash ZIP files. If you don't know how to do that, you probably shouldn't be looking for stuff in this thread. There are plenty of threads on how to flash zips through recovery. Do a little reading before proceeding.
The recovery-flashable full ROM packages will only flash if your phone has no ROM, any custom ROM, or a stock ROM that's older than the version you're trying to flash. For instance, the 2.3.5 full ROM package will flash over the stock 2.3.4 ROM, but not over the stock 2.3.7 ROM.
With fastboot images, you can flash any version over any other version.
WHAT HAPPENS IF I GET AN ERROR WHILE FLASHING?
If you get an error flashing a recovery-flashable full ROM package, it means that you are running a stock ROM that's newer than the version you're trying to flash. If you're trying to downgrade, then you must install ClockworkMod recovery, then wipe system, boot, data, cache, and Dalvik cache. You will then be able to flash the older version. Optionally, you can also flash fastboot images of a version older than the version you're trying to flash.
If you get an error flashing an incremental update, it means one of four things. Either you don't have a D720, you aren't running a stock ROM, you have changed something with your stock ROM (this includes build.prop changes, radio or bootloader changes as well), or you're running Android 4.X and trying to update manually. These incremental updates only work if you are running a completely, perfectly stock ROM exactly the way Google provides it, with the right radio and the right bootloader. There are no exceptions to this rule. Furthermore, Android 4.X ROMs can no longer be updated manually in stock recovery. See below.
A NOTE ABOUT ANDROID 4.X OTAs
Beginning with Ice Cream Sandwich, Google has made a change to stock recovery that prevents you from flashing future OTA updates manually. Instead you are now required to wait for the OTA notification on your phone and then tap "Reboot and Install."
If this pisses you off, you have the option of unlocking your bootloader, installing either a stock Gingerbread recovery or ClockworkMod recovery, and then flashing the OTA updates manually.
The latest Android version available for D720 is Ice Cream Sandwich version 4.0.4, build IMM76D.
GRJ06D - Android 2.3.4
GRJ22 - Android 2.3.4
GRJ90 - Android 2.3.5
GWK74 - Android 2.3.7
A NOTE ABOUT RADIOS
The Android 2.3.7 ROM for the D720 includes a radio that reports itself as D720SPRKE1 but in reality the actual radio version is D720SPRKH1.
If you're comfortable with fastboot, you can flash these images to return your phone back to raw stock.
Generally the best way to do this is to perform the following steps:
Put all six fastboot images in one folder, unlock your bootloader, perform the fastboot flashes, then lock the bootloader:
fastboot oem unlock
fastboot flash bootloader bootloader.img
fastboot flash radio radio.img
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot erase cache
fastboot oem lock
FLASHING FASTBOOT IMAGES WILL ERASE ALL OF YOUR PHONE'S DATA AND WILL RETURN YOU TO A FACTORY STOCK, UNROOTED STATE.
Android 2.3.7/GWK74/SPRKH1 Radio/KE1 Bootloader
Official factory fastboot images, must be flashed using fastboot on an unlocked bootloader. Contains recovery, radio, and bootloader.
THESE IMAGES MUST BE FLASHED USING BOOTLOADER VERSION D720SPRKC5
Currently there are no full ROM packages available. Nobody seems to have posted any links to them.
Still need ROMs for:
Android 2.3.4/GRJ06D/SPRKC9 Radio/KC5 Bootloader
Android 2.3.4/GRJ22/SPRKD8 Radio/KC5 Bootloader
Android 2.3.5/GRJ90/SPRKE5 Radio/KC5 Bootloader
Android 2.3.7/GWK74/SPRKH1 Radio/KE1 Bootloader
Android 4.0.4/IMM76D/SPRLC1 Radio/KE1 Bootloader
The links provided here are to Google's official update package for each version. Sometimes Google provides a small incremental update package for upgrading between versions, other times they just provide full ROM packages for bigger version upgrades. For instance, Google pushed a small incremental update to upgrade from 2.3.4 to 2.3.6. If your phone was running 2.3.1, there is no 2.3.1 to 2.3.6 incremental update, so Google would push the 2.3.6 full ROM package.
If you don't see an upgrade path from your version to your desired version, it means you need to use a full ROM package above instead.
Android 2.3.4 (Build GRJ06D/SPRKC9 Radio/KC5 Bootloader)
2.3.4 (GRJ06D) -> 2.3.4 (GRJ22)
Android 2.3.4 (Build GRJ22/SPRKD8 Radio/KC5 Bootloader)
2.3.4 (GRJ22) -> 2.3.5
Android 2.3.5 (Build GRJ90/SPRKE5 Radio/KC5 Bootloader)
2.3.5 -> 2.3.7
Android 2.3.7 (Build GWK74/SPRKH1 Radio/KE1 Bootloader)
2.3.7 -> 4.0.4