Returns a mapping of items to their new values. The mapping includes only items whose value or raw string value
        has changed in the context.

def values(self):
        """
        Returns a mapping of items to their new values. The mapping includes only items whose value or raw string value
        has changed in the context.
        """
        report = {}
        for k, k_changes in self._changes.items():
            if len(k_changes) == 1:
                report[k] = k_changes[0].new_value
            elif k_changes[0].old_value != k_changes[-1].new_value:
                report[k] = k_changes[-1].new_value
        return report