Mushroom

Mushrooms can grow in dark caves and shady areas. They are more readily available in swamp and mushroom biomes and the Nether due to its low light conditions. They have also been known to spawn in Jungle Biomes. Red mushrooms are generally rarer than their brown counterparts.

Mushrooms can be collected without any specialized tools (by hitting) and planted on the ground in light levels below 13 and not directly underneath the sky. (except in the cases of Mycelium blocks, where mushrooms will remain planted even under full sun).

Mushrooms grow only at light level 12 and below, except when planted on Mycelium, and grow more quickly at light level 5 and lower. This growth rate is determined by the light level of the original - or "seed" - mushroom when growing from a lower light level into a higher light level. Brown and Red mushrooms grow at the same speed.

Planted mushrooms will grow into Huge Mushrooms when bone meal is used on them provided they are planted on a dirt square. When growing on any square, mushrooms will pop out of the ground if the light level goes above 12 and a square next to them updates, water flows over them, or when pushed by a piston.

The individual blocks of Huge Mushrooms will drop individual small mushrooms when broken by the player. The blocks cannot be set on fire and are unaffected by lava.

Mooshrooms are a unique mob that serve as a source for red mushrooms (when sheared) and Mushroom Stew (when "milked" by the player while holding a bowl).

Pre-Beta
In Creative Mode, mushrooms were a decorative item, having no crafting use and remaining in the ground when planted. In Classic, mushrooms could be placed on any block except another mushroom, and would remain planted when the block below them was removed. During Indev, mushrooms were generated in rare instances under trees or in the shadows of other floating continents in the "Floating" map type. In Survival Test, Pigs were able to eat mushrooms. Brown mushrooms healed and the consumption of red mushrooms caused  damage to the player's health. From Indev onwards, red and brown mushrooms could not be eaten on their own, but could be crafted together with a bowl to yield Mushroom Stew.

With the addition of biomes and the dimly-lit Nether in Alpha 1.2.0, mushrooms became a more common sight.

Beta
Mushrooms could be generated in the open when exploring during night, or under low-light conditions such as those found under trees or overhangs. If planted in direct sunlight or a light level higher than 12 they popped out of the ground. Several bug reports mentioned mushrooms growing on top of trees, but this was a very rare phenomenon.

With the Beta 1.6 update, mushrooms were given the ability to spread in light levels under 13 onto any square touching their own, including squares located upwards and downwards diagonally in Beta 1.6 (defunct guides to mushroom farming in 1.6 are archived here). Mushrooms could be placed on any solid, non-transparent, square including pumpkins, workbenches, furnaces, and chests. However, while mushrooms could be placed on Jack-O-Lantern and Glowstone blocks, they would not grow due to the brightness of these blocks.

After Beta 1.8, mushrooms' spreading ability was severely restricted - a mushroom would only spread if there were fewer than 5 mushrooms of the same type in a 9w x 9l x 3h area around the original mushroom. However, mushroom farming became much easier since Bone Meal could be used on mushrooms to grow Huge Mushrooms that dropped several individual fungi when harvested. Mushrooms could also be found more easily in the new swamp biome under vine-covered trees.

The first 1.9 pre-release revealed the addition of the mushroom biome, an island composed of Mycelium blocks and populated by Huge Mushrooms and Mooshrooms, strange red cows with red mushrooms growing on their backs. The second 1.9 pre-release added a new crafting recipe involving brown mushrooms. Each one could be crafted with a unit of Sugar and a Spider Eye to produce a Fermented Spider Eye.

Bugs

 * Sometimes you cannot place mushrooms. You can only place them on certain natural generated blocks that are dark enough for mushrooms to grow upon.

Trivia

 * Red mushrooms bear a strong resemblance to Amanita muscaria (Fly Agaric) mushrooms. Consuming Amanita muscaria will cause delirium and hallucinogenic effects and death if their toxicity has not been reduced by parboiling. Similarly, Minecraft Red Mushroom caused damage to the player in the Survival Test.


 * Brown mushrooms are more common than red mushrooms in swamps, and this is balanced by mushroom biomes having mooshrooms, making red mushrooms more common there.


 * Using Bonemeal on a Mushroom makes a large mushroom, which can then be hollowed out for a quick shelter.


 * Destroying a giant mushroom usually yields many small mushrooms.


 * Brown Mushrooms have a light level of 1. Red Mushrooms do not share this property.


 * Giant Brown mushrooms grown 7 blocks apart will almost always end up as a large, seamless platform. Can be used to build large platforms or raised paths fairly quickly.


 * Mushrooms are one of the few blocks an enderman can pick up.


 * Mushrooms will sometimes spawn on bedrock above the nether.


 * In Minecraft 1.2.4, the ability to exploit a block update glitch to plant mushrooms in daylight has been fixed. They previously remained planted until a block update happened next to them, then popped off. This could be used to grow giant mushrooms with no restrictions, as the mushroom grew before block-updating when right-clicked with bone meal, and led to serious misbalance in the survival part of the game as soon as the player found two mushrooms and a bone.


 * Mushrooms can grow on the leaves of trees.


 * In survival test, sheep dropped brown mushrooms.


 * In Minecraft 1.3.1 mushrooms reproduce and spread.

due to the rose not existing.
 * In Minecraft PE red mushrooms can be smelted into red dye in the next major update