Faits :
A.
Le 31 août 2016, la Fondation A._ (ci-après: la Fondation) a requis l'autorisation de réaliser un troisième appartement dans l'immeuble sis sur la parcelle n° xxx de la Commune de U._. Le 26 octobre 2016, la Municipalité de U._ lui répondit qu'elle avait "décidé d'accepter cette demande de mise à l'enquête complémentaire en dérogation à l'art. 24 du règlement communal sur le plan général d'affectation et la police des constructions" (disposition qui limite à deux le nombre d'appartements). Le projet, mis à l'enquête le 6 janvier 2017, a fait l'objet de l'opposition des propriétaires voisins B.D._ und C.D._.
Par décision du 12 avril 2017, la municipalité a refusé le permis.
B.
Par arrêt du 18 juin 2018, la Cour de droit administratif et public du Tribunal cantonal vaudois a rejeté le recours formé par la Fondation, en rejetant également les diverses mesures d'instruction requises par celle-ci. Le courrier du 26 octobre 2016 était une simple information sur la mise à l'enquête, sans assurance quant à la délivrance du permis de construire. La recourante ne pouvait se prévaloir de l'effet anticipé positif d'une nouvelle planification en cours d'élaboration, ni d'une égalité dans l'illégalité: l'existence d'une pratique consistant à accorder l'effet anticipé positif n'était pas démontrée et la commune n'avait pas laissé entendre qu'elle allait persister dans une telle pratique.
C.
Agissant par la voie du recours en matière de droit public, la Fondation A._ demande au Tribunal fédéral d'annuler l'arrêt cantonal et de délivrer l'autorisation de construire complémentaire; subsidiairement, elle conclut au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. Elle demande l'effet suspensif, qui a été refusé par ordonnance du 11 septembre 2018.
La cour cantonale renonce à se déterminer et se réfère à son arrêt. Les intimés B.D._ und C.D._ concluent au rejet du recours et à la confirmation de la décision municipale. La Municipalité de U._ conclut au rejet du recours.
La recourante a par la suite demandé la suspension de la cause jusqu'à droit connu sur la révision du plan d'affectation communal, ainsi que des actes d'instruction complémentaires, requêtes qui ont été écartées par ordonnance du 24 janvier 2019. Dans leurs dernières écritures, la recourante, les intimés et la municipalité persistent dans leurs conclusions.

Considérant en droit :
1.
Dirigé contre une décision prise en dernière instance cantonale dans le domaine du droit public des constructions, le recours est en principe recevable comme recours en matière de droit public conformément aux <ref-law>, aucune des exceptions prévues à l'<ref-law> n'étant réalisée. La recourante, qui a pris part à la procédure devant la cour cantonale, est particulièrement touchée par l'arrêt attaqué qui confirme le refus de l'autorisation de construire qu'elle a sollicitée. Elle peut ainsi se prévaloir d'un intérêt personnel et digne de protection à l'annulation de l'arrêt attaqué, et a donc la qualité pour agir au sens de l'<ref-law>. Les autres conditions de recevabilité sont au surplus réunies, si bien qu'il convient d'entrer en matière.
2.
Invoquant son droit d'être entendue, la recourante reproche à la cour cantonale d'avoir refusé les mesures d'instruction qu'elle avait requises: des auditions au sujet du contexte dans lequel le courrier du 26 octobre 2016 lui avait été adressé, des mesures destinées à établir la pratique de l'autorité communale, ainsi qu'une inspection locale propre à démontrer l'absence de toute nuisance du fait de l'adjonction d'un logement supplémentaire.
2.1. Le droit d'être entendu garanti par l'art. 29 al. 2 Cst. comprend notamment le droit pour l'intéressé de produire des preuves pertinentes, d'obtenir qu'il soit donné suite à ses offres de preuves pertinentes et de participer à l'administration des preuves essentielles ou à tout le moins de s'exprimer sur son résultat, lorsque cela est de nature à influer sur la décision à rendre (<ref-ruling> consid. 2.3 p. 222 s. et les références citées). L'autorité peut cependant renoncer à procéder à des mesures d'instruction lorsque les preuves administrées lui ont permis de former sa conviction et que, procédant d'une manière non arbitraire à une appréciation anticipée des preuves qui lui sont encore proposées, elle a la certitude que ces dernières ne pourraient l'amener à modifier son opinion (<ref-ruling> consid. 6.3.1 p. 299 et les références citées).
2.2. En l'occurrence, la cour cantonale a considéré à juste titre que les mesures d'instruction requises étaient dépourvues de pertinence; la portée d'une communication officielle telle que le courrier du 26 octobre 2016 devait s'apprécier essentiellement en fonction de son libellé; celui-ci étant dépourvu d'ambiguïté, il n'y avait pas à s'interroger sur d'autres circonstances extérieures. L'autorité communale ayant refusé de mettre la recourante au bénéfice d'un effet anticipé positif, il apparaissait clairement qu'elle avait ainsi manifesté son intention de mettre fin à une éventuelle pratique différente suivie jusque-là; elle a d'ailleurs précisé que dans les cas ou elle a appliqué son plan général d'affectation (PGA) de manière anticipée, il s'agissait d'effet anticipé négatif. La recourante n'ayant donné aucun exemple concret et pertinent de la pratique qu'elle invoque, la question n'avait pas à être instruite. Enfin, dès lors que l'issue de la cause dépendait essentiellement de la portée à donner à la lettre du 26 octobre 2016 ainsi que de l'existence d'une pratique communale, une vision des lieux ne pouvait rien apporter sur ces points, y compris comme on le verra s'agissant du droit à l'égalité dans l'illégalité.
Le grief relatif au droit d'être entendu doit être écarté.
3.
Sur le fond, la recourante reprend l'ensemble des arguments soumis à la cour cantonale. Se plaignant d'arbitraire, elle prétend que le courrier du 26 octobre 2016 constituerait une décision au sujet de l'octroi d'une dérogation à l'art. 24 du règlement communal; subsidiairement, elle estime qu'elle pouvait de bonne foi se fier à l'assurance qu'une telle dérogation serait accordée. Elle invoque enfin le principe d'égalité de traitement en relevant que la cour cantonale n'a pas cherché à établir l'existence d'une pratique dérogatoire alors que la poursuite de cette pratique serait établie par pièces. En outre, l'atteinte aux intérêts de tiers ne serait pas démontrée.
L'arrêt cantonal répond pour l'essentiel à ces arguments, de sorte qu'il peut y être renvoyé, conformément à l'<ref-law>.
3.1. La lettre du 26 octobre 2016 indique en effet à la recourante que l'autorité communale avait décidé d'accepter la demande de mise à l'enquête complémentaire en dérogation à l'art. 24 du règlement; il s'agit manifestement d'une simple information sur la mise à l'enquête publique d'un projet nécessitant une dérogation. Comme le relève la recourante, le droit cantonal (art. 114 et 115 de la loi vaudoise sur l'aménagement du territoire et les constructions - LATC, RS/VD 700.11) prévoit que ce n'est qu'à l'issue de l'enquête publique - une fois que les objections des éventuels opposants sont connues - que la municipalité rend une décision motivée sur l'octroi ou le refus du permis. Elle ne peut donc se prononcer formellement auparavant, même sur un point spécifique. La recourante ne pouvait non plus considérer de bonne foi qu'une dérogation serait nécessairement accordée et qu'elle pouvait commencer les travaux.
A propos du principe d'égalité dans l'illégalité, la cour cantonale a retenu que l'autorité cantonale contestait avoir admis une application anticipée du nouveau plan lorsque celui-ci était plus favorable pour l'administré (effet anticipé positif), et avait clairement laissé entendre qu'elle ne persisterait pas dans une telle pratique - supposée avérée - pour le futur. La recourante affirme que l'autorité persisterait dans sa pratique, en se référant (pièce 14 de son bordereau du 23 février 2018) à la feuille d'avis officielle du 22 décembre 2017 concernant une dérogation à l'art. 30 du règlement communal. Elle ne soutient toutefois pas que cet exemple concernait un cas d'application anticipée en faveur du constructeur, et méconnaît que la disposition réglementaire n'est pas la même puisqu'elle concerne la distance aux limites et non le nombre d'appartements dans les maisons individuelles; dans ce dernier cas, la construction d'un appartement supplémentaire ne saurait être considéré comme une "dérogation de minime importance" au sens de l'art. 91 du règlement. Les situations ne sont donc pas comparables et la municipalité a en tout les cas démontré qu'elle refusait à l'avenir toute dérogation à l'art. 24 de son règlement, en refusant le permis de construire dans le cas particulier. Le grief doit lui aussi être écarté.
4.
Sur le vu de ce qui précède, le recours, manifestement mal fondé, est rejeté selon la procédure de l'<ref-law>. Les frais judiciaires sont mis à la charge de la recourante qui succombe (<ref-law>). Ni la municipalité (art. 68 al. 3), ni les intimés B.D._ et C.D._ (qui, bien que mentionnant dans leurs écritures l'assistance d'un avocat, ont procédé en personne) n'ont droit à des dépens.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 4'000 fr., sont mis à la charge de la recourante. Il n'est pas alloué de dépens.
3.
Le présent arrêt est communiqué aux parties, à la Municipalité de U._ et au Tribunal cantonal du canton de Vaud, Cour de droit administratif et public.
Lausanne, le 10 avril 2019
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Chaix
Le Greffier : Kurz