def print_paths(changes, to_string=None, prepend_header=None):
    """ Print the path changelog

    Formats the changelog into a print-friendly list of
    strings.

    Parameters:
        changes (dict):
            A dictionary of changes between two releases
        to_string (bool):
            If True, returns a single string

    Returns:
        A string list of print-formatted changes
    """
    diffs = []
    if prepend_header and 'releases' in changes:
        new_name = changes['releases']['new']
        old_name = changes['releases']['old']
        diffs = ['Changes: {0} from {1}'.format(new_name.upper(), old_name.
            upper())]
        diffs.append(' ')
    if changes['paths']['new']:
        diffs.append('New Paths:')
        diffs.append('----------')
        for name, template in changes['paths']['new'].items():
            diffs.append('{0}: {1}'.format(name, template))
    if changes['paths']['updated']:
        diffs.append(' ')
        diffs.append('Updated Paths:')
        diffs.append('--------------')
        for name, vals in changes['paths']['updated'].items():
            diffs.append('{0}: '.format(name))
            diffs.append('   from: {0}'.format(vals['from']))
            diffs.append('   to: {0}'.format(vals['to']))
    if to_string:
        diffs = '\n'.join(diffs)
    return diffs
