def METHOD_NAME(aquifer):
    """
    Returns a list of history items for an aquifer from django-revision Version history records.
    returns a list:
        [{
            diff: {},
            prev: {},
            user: string,
            date: date
        }]
    """
    # pylint: disable=protected-access
    history_name = f'Aquifer {aquifer.aquifer_id}'
    reversion_history = aquifer.history.all().order_by('revision__date_created')
    all_fields = Aquifer._meta.get_fields()
    field_names = [field.name for field in all_fields if field.name not in FIELDS_TO_IGNORE]
    # store field that change and their value to compare to
    aquifer_composite = {}
    init_ver_obj = reversion_history[0]._object_version.object
    # build initial aquifer created entry
    history = [
        {
            'diff': {},
            'prev': {},
            'user': init_ver_obj.create_user,
            'date': init_ver_obj.create_date,
            'name': history_name,
            'created': True,
        }
    ]
    # Loop through all revisions for an aquifer to build the history
    for i, ver in enumerate(reversion_history):
        obj = ver._object_version.object
        diff = {}
        prev = {}
        for field_name in field_names:
            # Clean and transform history values
            prev_value = aquifer_composite.get(field_name, None)
            cur_value = clean_attrs(obj, field_name, ver)
            aquifer_composite[field_name] = cur_value
            # record a diff if cur_value and prev_value are not equal
            if cur_value != prev_value:
                diff[field_name] = cur_value
                prev[field_name] = prev_value
        item = {
            'diff': diff,
            'prev': prev,
            'name': history_name,
            'user': obj.update_user or obj.create_user,
            'date': obj.update_date or obj.create_date
        }
        if i > 0 and len(diff) > 0: # skip initial creation diff and empty diffs
            history.append(item)
    return history