Faits : A. Dès le 1er octobre 1999, X._ a pris à bail un appartement de trois pièces et demie au rez-de-chaussée d'un bâtiment d'habitation sis à Prilly, avec jardin et place de stationnement. Le loyer mensuel s'élève à 1'350 fr., frais accessoires compris. Avec succès, la locataire a contesté deux résiliations successivement notifiées par la bailleresse Y._, propriétaire de l'immeuble, liées à des augmentations de loyer auxquelles la locataire s'opposait. Un troisième litige a été résolu par une convention passée le 16 juin 2010 devant l'autorité de conciliation compétente. La bailleresse acceptait de faire exécuter des travaux d'entretien et la locataire renonçait à exiger une réduction du loyer. Celui dû pour le mois de mai 2010 demeurerait consigné jusqu'à l'exécution des travaux; ceux des mois suivants étaient libérés en faveur de la bailleresse. Du 31 août 2010 au 25 janvier 2011, les parties ont échangé de la correspondance au sujet de mensualités que la locataire, par erreur, avait payées à double. Le 20 juin 2013, la bailleresse a résilié le contrat avec effet au 1er novembre suivant; elle annonçait son intention d'occuper elle-même l'appartement avec son futur époux. La locataire a saisi l'autorité de conciliation afin de contester le congé. L'essai de conciliation n'a pas abouti et l'autorité a annulé le congé par proposition de jugement du 19 octobre 2013. B. La bailleresse s'est opposée à la proposition de jugement. Le 12 décembre 2013, elle a ouvert action contre la locataire devant le Tribunal des baux du canton de Vaud. Le tribunal était requis de constater la validité du congé signifié le 20 juin 2013; la défenderesse devait être condamnée à restituer l'appartement et ses dépendances. La défenderesse a conclu principalement à l'annulation du congé; subsidiairement, elle a réclamé la prolongation judiciaire du contrat pour une durée de quatre ans, venant à échéance le 1er novembre 2017. Après l'interrogatoire des parties et de plusieurs témoins, le tribunal s'est prononcé le 16 mai 2014. Il a constaté la validité du congé. Il a ordonné une unique prolongation du contrat jusqu'au 31 juillet 2014, et il a condamné la défenderesse à restituer l'appartement et ses dépendances à cette date au plus tard. La Cour d'appel civile du Tribunal cantonal a statué le 27 janvier 2015 sur l'appel de la défenderesse. Elle l'a partiellement admis, en ce sens que la durée de la prolongation est augmentée et viendra à échéance le 31 juillet 2015. C. Agissant par la voie du recours en matière civile, la défenderesse saisit le Tribunal fédéral de conclusions semblables à celles déjà prises devant le Tribunal des baux puis devant la Cour d'appel. Une demande d'effet suspensif est jointe au recours. Par suite de son mariage, la demanderesse s'appelle désormais F.Z._. Elle conclut au rejet du recours.