This paper introduces a new tabu search algorithm for a strip packing problem. It integrates several key features: A consistent neighborhood, a fitness function including problem knowledge, and a diversification based on the history of the search. The neighborhood only considers valid, sometimes partial, packings. The fitness function incorporates measures related to the empty spaces. Diversification relies on a set of historically "frozen" objects. Experimental results are shown on a set of well-known hard instances and compared with previously reported tabu search algorithms as well as the best performing algorithms.