Kelp

"Kelp is the first plant to utilise a new kind of visual feature: Animation. Before, the only things that [were] animated were either particles or the lava/water and some other solid blocks. But we never animated a plant that used transparency. This was a new challenge for the style of Minecraft - as it has never been done before, we had no frame of reference to adapt the animation style to - so we had to find it."

- Jasper Boerstra

Kelp is an underwater plant that generates in most oceans.

Obtaining
Kelp can be mined instantly with any tool or without a tool. Breaking one part of a kelp stalk will destroy all kelp blocks above it. Each block has an undetermined chance to drop a kelp item. Ensure you don't break too many kelp low down at a time, or the resulting flood of items may crash the server, timeout your session or just plain make it nasty to do anything because of excessive lag. Break a few at a time, and then pick up the items.

Natural generation
Kelp naturally generates in any ocean biomes, except frozen and warm oceans, near and around seagrass.

Growth mechanics
Derived from tests, rough estimates indicate that a group of kelp will increase by 50% every minute it is planted.

Kelp can be planted on a broad variety of blocks, but it will only grow underwater if it has either a source block of water or flowing water above it. In case that there is flowing water above it, the kelp plant will transform the flowing water into a water source block when it grows into it. Neither players nor dispensers can remove the water source block a kelp grows in without breaking the kelp first.

Kelp can grow in complete darkness and does not require any light level to grow. Kelp also grows without having sky access. In Bedrock Edition, bone meal can be used to grow kelp a few blocks taller.

Kelp, when planted, is generated with a randomly chosen age value, which can be checked when pressing F3. The age value of a newly planted kelp plant varies randomly between 0 and 24. Each time the kelp grows in height by one block, the newly generated top of the kelp plant increases its age by 1. When the top block of the kelp plant reaches an age of 25, it will stop growing. This means that kelp can naturally grow to a height between 2 (if the first kelp plant had an age of 24) and 26 blocks (if the first kelp plant had an age of 0).

Interestingly, when breaking the very top of an age 25 kelp plant the kelp plant block underneath it will have its age randomized again to a value between 0 and 24 and continue to grow until it reaches age 25 again. It is possible to use this mechanic to cultivate a kelp plant to further increase its growth height beyond its natural maximum height of 26 blocks. This can be done by breaking the very top of the kelp plant each time it reaches age 25. A kelp plant cultivated by a player in this way repeatedly grows until it reaches sky limit.

There seems to be a random tick timer that assigns a random dice roll to each piece of kelp with the passage of a certain amount of time. Neither the amount of time between rolls or the chances of the rolls have been determined. This means that placing a 20x20 square of kelp (400) down will result in a rough 50% gain over the course of 1 minute, so up to about 600 kelp. Note that this does not mean that half of them grow 1 block, the random nature of the growth creates a negative logarithmic curve of how many plants reach certain heights. (L shaped curve)

Here is the results from a 256 kelp test over a period of 1 real-life minute (1,200 ticks) All kelp were made to be less than age 20 for the trial, so age will not matter as none grew to 6 tall.

Farming
Kelp farming is very similiar to farming sugar cane, the only difference being that Kelp needs to be placed underwater which makes automation easier because, as of the aquatic update, items float up in water.

Trading
Kelp can be bought from wandering traders for 3 emeralds.

Usage
Kelp can be placed underwater by hand, or anywhere by the use of commands such as. Placing it by hand will give it a random age value between 0 and 24. Kelp can only be placed in water source blocks or downward flowing water, not horizontally flowing water.

Besides for decoration, kelp can be used to turn flowing water into water source blocks, which can be useful for faster bubble column elevator creation. Any building block can be placed on top of a kelp plant, which can be useful for building underwater.

Composting
Placing kelp into a composter has a 30% chance of raising the compost level by 1.

Block states
Top only

Trivia

 * In real life, kelp isn't considered a plant, but rather an algae.
 * Minecraft's Kelp appears to be based off of the real-life Giant Kelp, given its size.