Roast: Preheat oven to 425°F (218°C). Add halved Brussels sprouts and sliced onion to a large, rimmed baking sheet. Drizzle with oil and sprinkle with salt and pepper, tossing around to evenly coat all the sprouts and onions. Bake for 20 minutes, or until sprouts are tender and a bit browned.
Dressing: Whisk together all dressing ingredients to combine.
Assemble: Toss together cooked Brussels sprouts, onion, apple, walnuts, feta, and cranberries. Right before serving, drizzle with dressing and toss to coat.