We present a new constraint solver over Boolean variables, available as library(clpb)1 in SWI-Prolog. Our solver distinguishes itself from other available CLP(B) solvers by several unique features: First, it is written entirely in Prolog and is hence portable to different Prolog implementations. Second, it is the first freely available BDDbased CLP(B) solver. Third, we show that new interface predicates allow us to solve new types of problems with CLP(B) constraints. We also use our implementation experience to contrast features and state necessary requirements of attributed variable interfaces to optimally support CLP(B) constraints in different Prolog systems. Finally, we also present some performance results and comparisons with SICStus Prolog.