A couple of notes to help people use the new instance options:
Instance Range - This allows you to set a maximum value, let's say in an example you set it to 10. If you have ten instances then each instance will return a value which increases smoothly from 0 to 1 in 1/10 increments, so if you are using this to drive a simple gradient, it will smoothly transition from the first color to the second color across each instance. If you have more instances, let's say 20, then it will cycle so you will get two complete cycles. If you have 20 instances and set the max value to 5, you will have 4 complete cycles and so on. if you have 10 instances and set the max value to 20, you will only get colors based on values between 0 and 0.5.
Instance Color - This kind of works in a similar manner, but it uses an input image map and will use the values in the image map one pixel at a time. So you will probably need to produce a specific lo-res image map to do what you want to do with this. I am guessing that this will work most logically with a rectangular array of objects with an input image map with matching dimensions, but you don't necessarily have to limit it to that. Again if you have more objects than there are pixels in the image, they will start again and cycle around.
Of course you still have the Random Color option which returns a random value per instance.
I hope these notes are helpful.