In this paper we extend the Revision Programming framework--a logic-based framework to express and maintain constraints on knowledge bases-with different forms of preferences. Preferences allow users to introduce a bias in the way agents update their knowledge to meet a given set of constraints. In particular, they provide a way to select one between alternative feasible revisions and they allow for the generation of revisions in presence of conflicting constraints, by relaxing the set of satisfied constraints (soft constraints). A methodology for computing preferred revisions using answer set programming is presented.