Ensure that .sort method change criteria

.sort method was not changing the criteria, so when .first applied it assumed there was no sort and it was ignoring it
making apply_sorting a block function to unsure it will reset the query after execution of .first or .last
Update changelog