Zombie siege

Sieges were introduced in Minecraft 1.2.1. At night, Zombies have a chance of invading a village in packs and attacking the Villagers. Usually, a whole pack will concentrate on one door or villager. The Zombies are known to spawn around the outer section of the Village, rather than the original mob spawning in the wilderness and dark areas, then invading a Village. Villager breeding will keep the population steady based on the number of houses in the village. Villagers will occupy player created houses.

Iron Golems defend Villagers from Zombies and other mobs during such attacks and all other times, and can naturally spawn near villages.

Currently, only these functions are known to be implemented to the game, but there may be more features in future updates.

History
The first part of the project was added in Snapshot 12w07a.

In Snapshot 12w08a, Iron Golems were released to specifically protect Villagers against attacks such as a Zombie siege.

Trivia

 * When a Zombie is attacking a Villager or door, it usually cannot detect the Player unless the player attacks it.
 * Zombies also attack Villager children.
 * Villagers themselves do not defend others or themselves at all, and only flee from hostile mobs.
 * Although Zombies are the only mob that attacks Villagers, Iron Golems still attack other hostile mobs. This is probably because they can be created by The Player for self-defense, not for defending a village; it could also mean that other mobs may lead sieges against villages.
 * Zombie Sieges are similar to Blood Moons in Terraria.