<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def append_unreleased_entries(app, manager, releases):
 """ Generate new abstract 'releases' for unreleased issues. There's one for each combination of bug-vs-feature & major release line. When only one major release line exists, that dimension is ignored. """

    for family, lines in six.iteritems(manager):
        for type_ in ('bugfix', 'feature'):
            bucket = 'unreleased_{}'.format(type_)
            if bucket not in lines: # Implies unstable prehistory + 0.x fam
                continue
            issues = lines[bucket]
            fam_prefix = "{}.x ".format(family) if len(manager) > 1 else ""
            header = "Next {}{} release".format(fam_prefix, type_)
            line = "unreleased_{}.x_{}".format(family, type_)
            releases.append(
                generate_unreleased_entry(header, line, issues, manager, app)
            )