There have been some changes to the shadow map properties in recent versions, but they still function similarly.
To configure the renderer for shadow maps (and select a more computationally expensive shadow map type):
var renderer = new THREE.WebGLRenderer();
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap
Setting up the light (noting that it also works with THREE.PointLight):
var light = new THREE.PointLight( 0xffffff, 1, 100 );
light.position.set( 0, 12, 0 );
light.castShadow = true; // default false
light.shadow.mapSize.width = 1024; // default 512
light.shadow.mapSize.height = 1024; // default 512
light.shadow.camera.near = 2; // default 0.5
light.shadow.camera.far = 100; // default 500
//light.shadow.camera.left = 500 // Not sure about this one +
// right, top and bottom, Do they still do anything?
scene.add( light );
If you encounter issues with certain properties listed in the current documentation, check your console for API change notifications.
Creating objects that cast and receive shadows remains the same as before:
//Creating a box
var boxGeometry = new THREE.BoxGeometry(1, 1, 1);
var boxMaterial = new THREE.MeshPhongMaterial({ color: 0xdddddd, specular: 0x999999, shininess: 15, shading: THREE.FlatShading });
var box = new THREE.Mesh(boxGeometry, boxMaterial);
box.castShadow = true;
scene.add(box);
//Creating a plane
var planeGeometry = new THREE.PlaneGeometry(20, 20, 32, 32);
var planeMaterial = new THREE.MeshPhongMaterial({ color: 0x00dddd, specular: 0x009900, shininess: 10, shading: THREE.FlatShading });
var plane = new THREE.Mesh(planeGeometry, planeMaterial);
plane.receiveShadow = true;
scene.add(plane);
Positioning the plane beneath the box will make it receive a shadow.
Check out a working codepen example
EDIT
In the current version of THREE.js, the scene must be rendered at least twice to display shadows.
THREE.js r75.