PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/austenwhite.co.uk/www/dev/vendor/magento/magento2-functional-testing-framework/
Upload File :
Current File : //home/austenwhite.co.uk/www/dev/vendor/magento/magento2-functional-testing-framework/CHANGELOG.md
Magento Functional Testing Framework Changelog
================================================

4.3.5
---------
### Fixes
* Fixed ANSI Color codes getting appended to output of bin/magento command.

4.3.4
---------
### Fixes
* Resolving an issue when test is marked as failed due to Suite after section failure

4.3.3
---------
### Enhancements
* Enhance the details in the testgroupmembership.txt file.

### Fixes
* Fixed MFTF helpers & actionGroups allow duplicate argument names to be passed.

4.3.2
---------
### Enhancements
* 'bootstrap' argument added to indicate that no additional background processes will be run and the jobs complete in the foreground process.

### Fixes
* Fixed serialization of weakmap exception thrown for every internal exception after codeception upgrade.
* Fixed suites no longer separated by MFTF Suite.

4.3.1
---------
### Fixes
* Fixed cannot bind closure to scope of internal class Exception.
* Fixed broken Mftf doctor command.

4.3.0
---------
### Enhancements
* Bumped `allure-framework/allure-codeception` dependency to `^2.1`.
* Bumped `codeception/codeception` to `^5.0` and upgraded its dependent packages.
* Replaced Yandex methods with Qameta related methods.
* Created methods for modifying step name and for formatting allure.

### Fixes
* Fixed all issues and exceptions thrown after codeception upgrade.
* Removed dependency of MagentoAllureAdapter in codeception.yml file.

4.2.1
---------
### Fixes

* Updated constraint for php-webdriver to restrict pulling versions above 1.14.0

4.2.0
---------
### Fixes

* Bumped `allure-framework/allure-codeception` dependency to `^1.5` to fix downstream dependency issues in Magento.


4.1.0
---------
### Enhancements

* Dropped Support for PHP 8.0 and disabled PR checks for PHP 8.0
* Allow MFTF generate minimum possible groups runnable by codeception

### Fixes

* Fixed Allure report not generating issue
* MFTF displays an appropriate message for unable to connect to Selenium server

4.0.1
---------
### Fixes

* Fixed HTML files and images not attached to allure report issue

4.0.0
---------
### Enhancements

* Added Supported for PHP 8.2 and enabled PR checks for PHP 8.2
* Dropped Support for PHP 7.4 and disabled PR checks for PHP 7.4
* Upgraded allure-framework/allure-phpunit to its latest version

### Fixes

* MFTF deprecation errors fixes
* Composer downgraded from 2.4 to 2.2 due to lamina issue

3.12.0
---------

### Fixes
* Removed obsolete docs/directories

3.11.1
---------

### Fixes

* Removed environment variable MAGENTO_ADMIN_PASSWORD
* Fixed WaitForElementClickable action cannot be used more than once

3.11.0
---------
### Enhancements
* Composer updated to 2.4.2 version
* Static check for duplicate step keys in action group


### Fixes

* Fixed incorrect MFTF test dependencies path
* Removed PHP 7.3 build check from MFTF PR build as PHP 7.3 is no longer supported
* Fixed fatal error when running generate:tests --config parallel -g


3.10.3
---------

### Fixes

* Chrome settings for potential cost reductions

3.10.2
---------

### Fixes

* Fixed admin credentials being output to console in WebAPIAuth
* Fixed links in docs


3.10.1
---------

### Fixes

* Fixed allure reports not generating for composer builds.
* Fixed all MFTF scheduled build not generating allure report.

3.10.0
---------

### Enhancements
* Updated symfony/console and symfony/process constraints to support latest Symfony LTS (5.4v)
* Updated Symfony related code to support latest Symfony LTS (5.4v).
* Implement rapid times X clicks on UI element in MFTF
* Log MFTF test dependencies
* Unused entity static check
* Updated docs for new location of password
* Remove any remaining usages of Travis CI from MFTF Repo
* Unit tests for GenerateTestFailedCommandTest and RunTestFailedCommandTest

### Fixes
* Hashicorp Vault PHP lib being instantiated with wrong params

3.9.0
---------

### Fixes

* Fixed invalid UTF-8 chars returned from magentoCLI that breaks allure reporting
* Fixed MFTF tests failure without access to S3
* Removed sub heading Parameters from allure report
* Removed truncation of parameters on running MFTF run:test

### Enhancements
* MFTF group summary file
* Static check to detect unused entities
* Ability To Run MFTF JSON Configuration From File
* Test generation error on invalid entities
* Update MFTF to not pass NULL into non-nullable arguments
* Static check for created data outside action group
* Deleted the unused images
* CreateData's <field> to allow uniqueness attribute
* Set proper weight for action <startMessageQueue> for config parallel generation
* Test before/after comments in test/allure
* Throw error message if key value pair is not mapped properly in .credentials file

3.8.0
---------

### Updates:
* Allow MFTF Helpers to Return Data to MFTF Test
* Improve parallel grouping and fix an issue with unbalanced groups
* Added new action WaitForElementClickable

3.7.3
---------

### Updates:
* Fix encoding issue when secret key contains plus sign
* Adding pagebuilder file upload spinner to loadingMaskLocators


3.7.2
---------

### Bug fix:
* Failed tests weren't logged correctly to `failed` file which caused a failure during run:failed command execution


3.7.1
---------

### GitHub Pull Requests:
* [#873](https://github.com/magento/magento2-functional-testing-framework/pull/873) -- Add check for isBuiltin method (for PHP 8 compatibility) by @karyna-tsymbal-atwix

### Updates
* Moved `hoa/console` to suggest section to avoid issues with PHP8.0
* Update `vlucas/phpdotenv` to the latest versions
* `<seeInCurrentUrl />` encodes special character which caused test failed
* Add filter for groups, now we can generate tests with specific group annotation
* Seprated a `run:failed` command to `generate:failed` and `run:failed`
  * `run:failed` command can execute failed tests without need to regenerate failed tests
* Deleting MagentoPwaWebDriver file and moving it to Pwa_tests repo


3.7.0
---------

### GitHub Pull Requests:

* [#842](https://github.com/magento/magento2-functional-testing-framework/pull/842) -- Eliminated AspectMock from FileStorageTest
* [#843](https://github.com/magento/magento2-functional-testing-framework/pull/843) -- Eliminated AspectMock from ObjectExtensionUtilTest
* [#844](https://github.com/magento/magento2-functional-testing-framework/pull/844) -- Eliminated AspectMock from TestObjectHandlerTest
* [#845](https://github.com/magento/magento2-functional-testing-framework/pull/845) -- Eliminated AspectMock from SuiteObjectHandlerTest
* [#846](https://github.com/magento/magento2-functional-testing-framework/pull/846) -- Eliminated AspectMock from ActionGroupObjectTest
* [#847](https://github.com/magento/magento2-functional-testing-framework/pull/847) -- Removed not used mocked object
* [#848](https://github.com/magento/magento2-functional-testing-framework/pull/848) -- Eliminated AspectMock usage from ActionObjectTest
* [#850](https://github.com/magento/magento2-functional-testing-framework/pull/850) -- Eliminated AspectMock from TestGeneratorTest
* [#852](https://github.com/magento/magento2-functional-testing-framework/pull/852) -- Eliminated AspectMock from ModuleResolverTest
* [#853](https://github.com/magento/magento2-functional-testing-framework/pull/853) -- Eliminated AspectMock from PersistedObjectHandlerTest
* [#855](https://github.com/magento/magento2-functional-testing-framework/pull/855) -- Eliminated AspectMock from OperationDataArrayResolverTest
* [#856](https://github.com/magento/magento2-functional-testing-framework/pull/856) -- Eliminated AspectMock from DataExtensionUtilTest
* [#857](https://github.com/magento/magento2-functional-testing-framework/pull/857) -- Eliminated AspectMock from ParallelGroupSorterTest
* [#859](https://github.com/magento/magento2-functional-testing-framework/pull/859) -- Eliminated AspectMock usage from SuiteGeneratorTest
* [#861](https://github.com/magento/magento2-functional-testing-framework/pull/861) -- Eliminated aspect mock from mock module resolver builder
* [#862](https://github.com/magento/magento2-functional-testing-framework/pull/862) -- Eliminated AspectMock where it was imported but never used
* [#863](https://github.com/magento/magento2-functional-testing-framework/pull/863) -- Eliminated AspectMock from MagentoTestCase
* [#864](https://github.com/magento/magento2-functional-testing-framework/pull/864) -- Eliminated AspectMock usage from TestLoggingUtil
* [#865](https://github.com/magento/magento2-functional-testing-framework/pull/865) -- Eliminated aspect mock from object handler uti
* [#866](https://github.com/magento/magento2-functional-testing-framework/pull/866) -- Added access/secret key config parameters
* [#867](https://github.com/magento/magento2-functional-testing-framework/pull/867) -- Added empty query and fragment testing to the UrlFormatterTest
* [#868](https://github.com/magento/magento2-functional-testing-framework/pull/868) -- PHP 8 support - fix code related to changes in CURL
* [#869](https://github.com/magento/magento2-functional-testing-framework/pull/869) -- The squizlabs/php_codesniffer composer dependency has been updated to version 3.6.0
* [#870](https://github.com/magento/magento2-functional-testing-framework/pull/870) -- Removing the csharpru/vault-php-guzzle6-transport not needed dependency
* [#871](https://github.com/magento/magento2-functional-testing-framework/pull/871) -- Changed loose comparisons into strict
* [#872](https://github.com/magento/magento2-functional-testing-framework/pull/872) -- Fix broken MFTF tests

  3.6.1
---------

### Enhancements

* Maintainability
  * Updated allure dependencies to pull package from new repo `allure-framework/allure-php-api`.

3.6.0
---------

### Enhancements

* Maintainability
  * Updated composer dependencies to be PHP 8 compatible with the except of codeception/aspect-mock.

### GitHub Pull Requests:

* [#830](https://github.com/magento/magento2-functional-testing-framework/pull/830) -- Add ability to configure multiple OTPs
* [#832](https://github.com/magento/magento2-functional-testing-framework/pull/832) -- Updated monolog/monolog to ^2.2
* [#833](https://github.com/magento/magento2-functional-testing-framework/pull/833) -- Removed usage of AspectMock in FilesystemTest
* [#834](https://github.com/magento/magento2-functional-testing-framework/pull/834) -- Removed usage of AspectMock in AnnotationsCheckTest
* [#838](https://github.com/magento/magento2-functional-testing-framework/pull/838) -- Removed usage of AspectMock in DeprecatedEntityUsageCheckTest
* [#841](https://github.com/magento/magento2-functional-testing-framework/pull/841) -- Removed usage of AspectMock in GenerationErrorHandlerTest
* [#854](https://github.com/magento/magento2-functional-testing-framework/pull/854) -- Updated "monolog" to the latest version 2.3.1

3.5.1
---------

### GitHub Pull Requests:

* [#825](https://github.com/magento/magento2-functional-testing-framework/pull/825) -- Update allure-codeception in order to support php8

3.5.0
---------

### Enhancements

* Customizability
    * Added new `config:parallel --groups` option in `generate:tests` command to generate and split tests/suites into required number of execution time balanced groups.

### Fixes

* Added --no-sandbox chrome option in functional suite configuration.

### GitHub Pull Requests:

* [#824](https://github.com/magento/magento2-functional-testing-framework/pull/824) -- Fix typo in introduction.md
* [#816](https://github.com/magento/magento2-functional-testing-framework/pull/816) -- Update mftf.md
* [#812](https://github.com/magento/magento2-functional-testing-framework/pull/812) -- Added examples and modified url links in assertions.md

3.4.0
---------

### Enhancements

* Maintainability
  * Added support for composer 2.

3.3.0
---------

### Enhancements

* Usability
  * [#817](https://github.com/magento/magento2-functional-testing-framework/pull/817) -- Add support for admin WebAPI token refresh.

* Maintainability
  * [#814](https://github.com/magento/magento2-functional-testing-framework/pull/814) -- Update dependencies in order to make mftf php8 compatible, fix running phpcpd
  * [#815](https://github.com/magento/magento2-functional-testing-framework/pull/815) -- Upgrade csharpru/vault-php to 4.1

### Fixes

* Fixed test generation error in a split suite group (--config=parallel) to allow generation of subsequent groups.
* Fixed an issue where test extends from a skipped parent is not properly skipped.

3.2.1
---------

### Fixes

* Fixed issue that causes Magento bin/magento to fail when xdebug 3 is used. [GitHub Issue #808](https://github.com/magento/magento2-functional-testing-framework/issues/808)

### GitHub Pull Requests:

  * [#806](https://github.com/magento/magento2-functional-testing-framework/pull/806) -- Enable an extending entity to overwrite a requiredEntity binding
  * [#809](https://github.com/magento/magento2-functional-testing-framework/pull/809) -- Add MFTF documentation for AWS S3

3.2.0
---------

### Enhancements

* Usability
  * Introduced error tolerance during test and suite generation. See the [command page](./docs/commands/mftf.md#error-tolerance-during-generation) for details.
    Addressed github issue [#276](https://github.com/magento/magento2-functional-testing-framework/issues/276).

* Maintainability
  * Updated annotation static-check to check all required annotations.

### Fixes

* Fixed issue where CUSTOM_MODULE_PATHS env variable does not use all paths.
* Fixed issue where run:test only records the last failed test in `failed` file.

3.1.1
---------

* Traceability
  * Removed `travis.yml` and replaced with `.github/workflows/main.yml`

### Fixes
Fixed issue with XPath locators for waits in MagentoPwaWebDriver.

3.1.0
---------

### Enhancements

* Customizability
  * Introduced the new `return` action that allows action groups to return a value. See the [actions page](./docs/test/actions.md#return) for details.
  * Introduced new MFTF command that invokes `vendor/bin/codecept run`. See the [mftf page](./docs/commands/mftf.md#codeceptrun) for details.

* Usability
  * Introduced new action `pause`, to invoke codeception interactive pause for debugging during test execution. See the [Interactive Pause](./docs/interactive-pause.md) page for details.
  * Introduced a new `.env` configuration option `ENABLE_PAUSE`, to enable the new pause feature.

* Maintainability
  * Added a new static check that checks for the usage of the `pause` action. See the [command page](./docs/commands/mftf.md#static-checks) for details.

* Modularity
  * MFTF now supports the use of actions from multiple modules within suites.

* Traceability
  * A deprecation notice is now added at test execution time for deprecated metadata usage.

### Fixes

* Fixed issue with suite precondition failure for `createData` with required entity.

### GitHub Issues/Pull Requests:

  * [#547](https://github.com/magento/magento2-functional-testing-framework/pull/547) -- Fix invalid behavior of MAGENTO_BACKEND_BASE_URL
  * [#742](https://github.com/magento/magento2-functional-testing-framework/pull/742) -- Fix Waits In MagentoPwaWebDriver
  * [#750](https://github.com/magento/magento2-functional-testing-framework/pull/750) -- Docs: Outlining the difference between Allure severity levels
  * [#683](https://github.com/magento/magento2-functional-testing-framework/pull/683) -- Docs: Renamed sample test name with the correct one
  * [#691](https://github.com/magento/magento2-functional-testing-framework/pull/691) -- Docs: Branch name updates
  * [#678](https://github.com/magento/magento2-functional-testing-framework/pull/678) -- Docs: Command added to modify the web server rewrites configuration
  * [#745](https://github.com/magento/magento2-functional-testing-framework/pull/745) -- Docs: Remove invalid sample test name

3.0.0
---------

### Enhancements

* Customizability
    * Introduced MFTF helpers `<helper>` to create custom actions outside of MFTF.[See custom-helpers page for details](./docs/custom-helpers.md)
    * Removed deprecated actions `<executeSelenium>` and `<performOn>`.
    * `<group value="skip"/>` no longer skips a test. Instead, the test is added to the `skip` group.

* Maintainability
    * Added support for PHP 7.4.
    * Added support for PHPUnit 9.
    * Dropped support for PHP 7.0, 7.1, 7.2.
    * Schema updates for test entities to only allow single entity per file except Data and Metadata.
    * Support for sub-folders in test modules.
    * Removed support to read test entities from `<magento>dev/tests/acceptance/tests/functional/Magento/FunctionalTest`.
    * Removed file attribute for `<module>` in suiteSchema.
    * Removed action `pauseExecution` and added `pause`. [See actions page for details](./docs/test/actions.md#pause)
    * Removed action `formatMoney` and added `formatCurrency`. [See actions page for details](./docs/test/actions.md#formatcurrency)
    * Improved assertion actions to support PHPUnit 9 changes. [See assertions page for details](./docs/test/assertions.md)
        *  Added new actions: `assertEqualsWithDelta`, `assertNotEqualsWithDelta`, `assertEqualsCanonicalizing`, `assertNotEqualsCanonicalizing`, `assertEqualsIgnoringCase`, `assertNotEqualsIgnoringCase`.
        *  Added new actions: `assertStringContainsString`, `assertStringNotContainsString`, `assertStringContainsStringIgnoringCase`, `assertStringNotContainsStringIgnoringCase` for string haystacks.
        *  Removed actions: `assertInternalType`, `assertNotInternalType`, `assertArraySubset`.
        *  Removed delta option from `assertEquals` and `assertNotEquals`.
    * Added static check `deprecatedEntityUsage` that checks and reports references to deprecated test entities.
    * Added static check `annotations` that checks and reports missing annotations in tests.
    * Updated `bin/mftf static-checks` command to allow executing static-checks defined in `staticRuleSet.json` by default. [See command page for details](./docs/commands/mftf.md#static-checks)
    * Added support for Two-Factor Authentication (2FA). [See configure-2fa page for details](./docs/configure-2fa.md)
    * Added new upgrade script to remove unused arguments from action groups.
    * `mftf.log` no longer includes notices and warnings at test execution time.
    * Added unhandledPromptBehavior driver capability for Chrome 75+ support.
    * Added the Chrome option `--ignore-certificate-errors` to `functional.suite.dist.yml`.

* Traceability
    * Removed `--debug` option `NONE` to disallow ability to turn off schema validation.
    * Notices added for test entity naming convention violations.
    * Metadata file names changed to `*Meta.xml`.
    * Introduced new `.env` configuration `VERBOSE_ARTIFACTS` to toggle saving attachments in Allure. [See configuration page for details](./docs/configuration.md)
    * Changed the `bin/mftf static-checks` error file directory from the current working directory to `TESTS_BP/tests/_output/static-results/`.

* Readability
    * Support only nested assertion syntax [See assertions page for details](./docs/test/assertions.md).
    * Documented [3.0.0 Backward Incompatible Changes](./docs/backward-incompatible-changes.md).
    * Removed blacklist/whitelist terminology in MFTF.

* Upgrade scripts added to upgrade tests to MFTF major version requirements. See upgrade instructions below.
* Bumped dependencies to support PHP/PHPUnit upgrade.

### Upgrade Instructions

* Run `bin/mftf reset --hard` to remove old generated configurations.
* Run `bin/mftf build:project` to generate new configurations.
* Run `bin/mftf upgrade:tests`. [See command page for details](./docs/commands/mftf.md#upgradetests).
* After running the above command, some tests may need manually updates:
    * Remove all occurrences of `<executeInSelenium>` and `<performOn>`.
    * Remove all occurrences of `<module file=""/>` from any `<suite>`s.
    * Ensure all `<assert*>` actions in your tests have a valid schema.
* Lastly, try to generate all tests. Tests should all be generated as a result of the upgrades.
    * If not, the most likely issue will be a changed XML schema. Check error messaging and search your codebase for the attributes listed.

### Fixes

* Throw exception during generation when leaving out .url for `amOnPage`.
* `request_timeout` and `connection_timeout` added to functional.suite.yml.dist.
* Fixed `ModuleResolver` to resolve test modules moved out of deprecated path.
* Fixed issue of resolving arguments of type `entity` in action groups within a custom helper.
* Fixed reporting issue in output file for `testDependencies` static check.
* Fixed a bug in `actionGroupArguments` static check when action group filename is missing `ActionGroup`.
* Fixed issue of running suites under root `_suite` directory in Standalone MFTF.
* Fixed issue with custom helper usage in suites.
* Fixed issue with decryption of secrets during data entity creation.
* Fixed issue with merging of `array` items in data entity.
* Fixed issue where an extended data entity would not merge array items. Array items should merge properly now.
* Fixed issue where Chrome remains running after MFTF suite finishes.
* Fixed javascript error seen on Chrome 83 for dragAndDrop action.
* Fixed allure issue when `WebDriverCurlException` is encountered in `afterStep`.

### GitHub Issues/Pull Requests

* [#567](https://github.com/magento/magento2-functional-testing-framework/pull/567) -- log attachments for failed requests.

### Demo Video links

* [MFTF 3.0.0 RC1](https://www.youtube.com/watch?v=z0ZaZCmnw-A&t=2s)
* [MFTF 3.0.0 RC2](https://www.youtube.com/watch?v=BJOQAw6dX5o)
* [MFTF 3.0.0 RC3](https://www.youtube.com/watch?v=scLb7pi8pR0)

2.6.4
-----

### Fixes
* added dependency to packages MFTF used but never specified in composer.json

2.6.3
-----

### New Feature
* `--filter` option was added to `bin/mftf generate:tests` command. For more details please go to https://devdocs.magento.com/mftf/docs/commands/mftf.html#generatetests

2.6.2
-----

### Fixes
* Fixed float conversion error in test generation

2.6.1
-----

* Usability
    * Introduced new `.env` configuration `ELASTICSEARCH_VERSION` to support multiple elasticsearch versions
* Maintainability
    * Added deprecation notices for upcoming MFTF 3.0.0
* Replaced facebook webdriver with php-webdriver to support PHP version updates

2.6.0
-----

* Usability
    * `magentoCron` action added by community maintainer @lbajsarowicz
* Traceability
    * MFTF generated cest files are fully compatible for Codeception `dry-run`.
* Modularity
    * `mftf generate:tests` and `mftf run:test` commands now accept suite scoped test names in format `[suitename:testname]...`.
* Maintainability
    * Support `deprecated` syntax for the following test entities:
        * Test
        * Action Group
        * Data
        * Metadata
        * Page
        * Section
        * Section Element
            * See DevDocs for details
    * Improved `mftf static-checks` command to allow executing all or specific static checks.
    * Added a new static check that checks and reports unused arguments in action groups.
* Customizability
    * AWS Secrets Manager has been added as an additional credential storage.
        * See DevDocs for details
* Bumped dependencies to latest possible versions

### Fixes
* Fixed missing before, after, failed steps in cest file when generating tests with `--allow-skipped` option.
* Fixed suites and tests display issue in Allure `Suites` page after `mftf run:group` command.
* `createData` action now shows a meaningful error message at runtime when the entity does not exist.

### GitHub Issues/Pull requests:
* [#537](https://github.com/magento/magento2-functional-testing-framework/pull/537) -- Refactor of TestGenerator class
* [#538](https://github.com/magento/magento2-functional-testing-framework/pull/538) -- FEATURE: <magentoCron> command to execute Cron Jobs

2.5.4
-----
[Demo Video](https://www.youtube.com/watch?v=tguvkw1HWKg)
* Traceability
    * Introduced new `mftf doctor` command
        * Command verifies and troubleshoots some configuration steps required for running tests
        * Please see DevDocs for more details
    * `<*Data>` actions now contain `API Endpoint` and `Request Header` artifacts.
    * Introduced new `.env` configurations `ENABLE_BROWSER_LOG` and `BROWSER_LOG_BLOCKLIST`
        * Configuration enables allure artifacts for browser log entries if they are present after the step.
        * Blocklist filters out logs from specific sources.
* Customizability
    * Introduced `timeout=""` to `magentoCLI` actions.

### GitHub Issues/Pull requests:
* [#317](https://github.com/magento/magento2-functional-testing-framework/pull/317) -- RetrieveEntityField generation does not consider ActionGroup as part of namespace
* [#433](https://github.com/magento/magento2-functional-testing-framework/pull/433) -- Add possibility to include multiple non primitive types in an array

### Fixes
* A test now contains attachments for every exception encountered in the test (fix for a test `<after>` exception overriding all test exceptions).
* Fixed hard requirement for `MAGENTO_BASE_URL` to contain a leading `/`.
* `magentoCLI` actions for `config:sensitive:set` no longer obscure CLI output.
* `WAIT_TIMEOUT` in the `.env` now correctly sets `pageload_timeout` configuration.
* Fixed an issue where `run:group` could not consolidate a `group` that had tests in and out of `<suite>`s.

2.5.3
-----

### Fixes
* Fixed an issue where `createData` actions would cause an exception when used in `<suite>` hooks.

2.5.2
-----

* Traceability
    * Allure report enhanced to display file path of tests.
* Maintainability
    * Added support to read MFTF test entities from `<magento>dev/tests/acceptance/tests/functional/<vendor_name>/<module_name>/*`
    * Removed path deprecation warning from `ModuleResolver`.
    * Refactored problem methods to reduce cyclomatic complexity.

### Fixes
* Fixed issue with builds due to absence of AcceptanceTester class.

### GitHub Issues/Pull requests:
* [#348](https://github.com/magento/magento2-functional-testing-framework/pull/348) -- executeInSelenium command fixed to prevent escaping double quotes.

2.5.1
-----

### Fixes
* Fixed missing `use` statement in the generate:suite command

### GitHub Issues
* [#471](https://github.com/magento/magento2-functional-testing-framework/issues/471) -- PHP Fatal error: MftfApplicationConfig not found in GenerateSuiteCommand

2.5.0
-----
* Traceability
    * Allure output has been enhanced to contain new test artifacts created and used per MFTF step:
        * `makeScreenshot` will contain an attachment under its Allure step.
        * `seeInCurrentUrl` and all other `Url` asserts now contain an attachment with the expects vs actual comparison.
        * `createData` and all other `Data` actions now contain attachments with `Request Body` and `Response Body`.
* Modularity
    * Added a new `mftf run:manifest` command to run testManifest files generated by `generate:tests`.
        * See DevDocs for details
    * `mftf generate/run:test` commands now implicitly generates the `suite` the test exists in.
        * If a test exists in multiple suites, it will generate it in all suite contexts.
    * `mftf run:test <testName>` will now only run the exact test provided, regardless of what is generated.
* Maintainability
    * Added an `--allow-skipped` flag that allows MFTF to ignore the `<skip>` annotation. This was added to the following commands:
        * `generate:test`
        * `run:test`
        * `run:group`
        * `run:failed`
* Customizability
    * `<entity>` defined in data.xml can now reference other `<entity>` directly.
        * See DevDocs for details
    * Added vault as an alternative credential storage.
        * See DevDocs for details

### Fixes
* Fixed an issue where `grab` action variables were not substituting correctly when used as an element parameter.
* Framework will not throw a descriptive error when referencing a `$persisted.field$` that does not exist.
* MFTF test materials that `extends=""` itself will no longer cause infinite recursion.
* Fixed an issue where a test could not reference a `$data.field$` whose casing was modified by the API that it used.
* Fixed an issue with the default `functional.suite.yml` where it was incompatible with `symfony/yaml 4.0.0`.
* Improved test generation performance via class refactors (`~10%` faster).

### GitHub Issues/Pull requests:
* [#377](https://github.com/magento/magento2-functional-testing-framework/pull/377) -- Non-API operations fixes

2.4.5
-----
### Fixes
* Fixed an issue where `.credentials` was required when using `<createData>` actions with field overrides.

2.4.4
-----
### Fixes
* Fixed an issue where `_CREDS` could not be resolved when used in a suite.

2.4.3
-----
* Customizability
    * Use of `_CREDS` has been extended to `<magentoCLI>` and `<createData>` actions
* Traceability
    * A Test step is now generated and injected in the allure report when a test is reported as `BROKEN`.

### Fixes
* `static-checks` command now properly returns `1` if any static check failed.
* MFTF Console Printer class correctly utilizes `--steps` and other flags passed directly to `codecept commands`.
* `*source` actions correctly print when using `userInput` or `html` attributes.
* XML Comments should no longer throw an error in parsing when used outside `test/actionGroup`

### GitHub Issues/Pull requests:
* [#703](https://github.com/magento/magento2-functional-testing-framework/pull/403) -- SMALL_CHANGE: Minor change suggested

2.4.2
-----
* Traceability
    * Test action `stepKey`s are now included in both console output and Allure report.
    * XML Comments are now automatically converted into a `<comment>` action.

### Fixes
* Moved `epfremme/swagger-php` dependency to `suggests` block due to a conflict with Magento extensions.

2.4.1
-----
* Traceability
    * XSD Schema validation is now enabled by default in `generate:tests`, `run:test`, `run:failed`, `run:group`
    * `--debug` option for the above commands has been updated to include different debug levels
        * See DevDocs for details

### Fixes
* Fixed an issue where `skipReadiness` attribute would cause false XSD Schema validation errors.

2.4.0
-----
### Enhancements
* Maintainability
    * Added new `mftf static-checks` command to run new static checks against the attached test codebase
        * See DevDocs for details
    * Added new `mftf generate:docs` command that generates documentation about attached test codebase
        * See DevDocs for details
* Traceability
    * Allure reports for tests now contain collapsible sections for `actionGroup`s used in execution.

### Fixes
* Fixed an issue where `magentoCli` would treat `argument="0"` as a null value.
* Fixed an issue where `amOnPage` and `waitForPwaElementVisible` would not utilize the `timeout` attribute correctly when MagentoPwaWebDriver is enabled.
* Fixed an issue where invalid XML characters would cause Allure to throw an exception without a resulting report.
* Fixed `codeception.dist.yml` configuration for keeping previous test run results.
* PHP Notices are no longer thrown when XML is missing non-necessary attributes.
* Removed unusable `fillSecretField` action from schema.

### GitHub Issues/Pull requests:
* [#338](https://github.com/magento/magento2-functional-testing-framework/pull/338) -- Return exit codes of process started by 'run:test', 'run:group' or 'run:failed' command
* [#333](https://github.com/magento/magento2-functional-testing-framework/pull/333) -- Added Nginx specific settings to getting started doc
* [#332](https://github.com/magento/magento2-functional-testing-framework/pull/332) -- executeInSelenium action does not generate proper code
* [#318](https://github.com/magento/magento2-functional-testing-framework/pull/318) -- Reduce cyclomatic complexity in Problem Methods
* [#287](https://github.com/magento/magento2-functional-testing-framework/pull/287) -- Update requirements to include php7.3 support

2.3.14
-----
### Enhancements
* Maintainability
    * `command.php` is now configured with an `idleTimeout` of `60` seconds, which will allow tests to continue execution if a CLI command is hanging indefinitely.

2.3.13
-----
### Enhancements
* Traceability
    * Failed test steps are now marked with a red `x` in the generated Allure report.
    * A failed `suite` `<before>` now correctly causes subsequent tests to marked as `failed` instead of `skipped`.
* Customizability
    * Added `waitForPwaElementVisible` and `waitForPwaElementNotVisible` actions.
* Modularity
    * Added support for parsing of symlinked modules under `vendor`.

### Fixes
* Fixed a PHP Fatal error that occurred if the given `MAGENTO_BASE_URL` responded with anything but a `200`.
* Fixed an issue where a test's `<after>` would run twice with Codeception `2.4.x`
* Fixed an issue where tests using `extends` would not correctly override parent test steps
* Test actions can now send an empty string to parameterized selectors.

### GitHub Issues/Pull requests:
* [#297](https://github.com/magento/magento2-functional-testing-framework/pull/297) -- Allow = to be part of the secret value
* [#267](https://github.com/magento/magento2-functional-testing-framework/pull/267) -- Add PHPUnit missing in dependencies
* [#266](https://github.com/magento/magento2-functional-testing-framework/pull/266) -- General refactor: ext-curl dependency + review of singletones (refactor constructs)
* [#264](https://github.com/magento/magento2-functional-testing-framework/pull/264) -- Use custom Backend domain, refactoring to Executors responsible for calling HTTP endpoints
* [#258](https://github.com/magento/magento2-functional-testing-framework/pull/258) -- Removed unused variables in FunctionCommentSniff.php
* [#256](https://github.com/magento/magento2-functional-testing-framework/pull/256) -- Removed unused variables

2.3.12
-----
### Enhancements
* Fetched latest allure-codeception package

2.3.11
-----
### Fixes
* `mftf run:failed` now correctly regenerates tests that are in suites that were parallelized (`suite` => `suite_0`, `suite_1`)

2.3.10
-----
### Enhancements
* Maintainability
    * Added new `mftf run:failed` commands, which reruns all failed tests from last run configuration.

### Fixes
* Fixed an issue where mftf would fail to parse test materials for extensions installed under `vendor`.
* Fixed a Windows compatibility issue around the use of Magento's `ComponentRegistrar` to aggregate paths.
* Fixed an issue where an `element` with no `type` would cause PHP warnings during test runs.

2.3.9
-----
### Fixes
* Logic for parallel execution were updated to split default tests and suites from running in one group.

2.3.8
-----
### Fixes
* `ModuleResolver` will now only scan under `MAGENTO_BP/app/code/...` and `MAGENTO_BP/vendor/...` for `/Test/Mftf` directories.
* Fixed an issue where `Test.xml` files that did not end with `*Test.xml` would not be scanned for duplicates and other XML validation.

2.3.7
-----
### Enhancements
* Traceability
    * Test generation errors output xml filename where they were encountered, as well as xml parent nodes where applicable.
    * Duplicate element detection now outputs parent element where duplicate was found.
* Maintainability
    * Standalone MFTF can now be pointed at a Magento installation folder to generate and execute tests.
        * See DevDocs for more information.
    * MFTF now checks for `test` and `actionGroup` elements that have the same `name` in the same file.
* Customizability
    * Updated prefered syntax for `actionGroup` `argument`s that use `xml.data` (old syntax is still supported)
        * Old: `xml.data`
        * New: `{{xml.data}}`
* Modularity
    * `ModuleResolver` now utilizes each Magento module's `registration.php` to map MFTF test material directories.
### Fixes
* The `waitForPageLoad` action now correctly uses the given `timeout` attribute for all of its checks.
* Firefox compatibility issues in javascript error logging were fixed.
* Fixed an issue where arguments containing `-` would not properly resolve parameterized selectors.
* Fixed an issue where actions using `parameterArray` would not resolve `$persisted.data$` references.
* Fixed an issue where composer installations of Magento would fail to parse MFTF materials under a path `vendor/magento/module-<module>/`

2.3.6
-----
### Enhancements
* Maintainability
    * A `-r` or `--remove` flag has been introduced to `bin/mftf` commands to clear out the contents of the `_generated` folder before generation. This flag has been added to the following commands:
        * `generate:tests`
        * `generate:suite`
        * `run:test`
        * `run:group`
* Customizability
    * Persisted data handling mechanisms have been reworked.
        * All persisted data is now referenced with the single `$` syntax (old syntax is still supported):
            * `$persistedData.field$`
        * Persisted data resolution now starts in its own scope and broadens if no matching `stepKey` was found in the current scope.
        * Added support for referencing `suite` persisted data in tests.
        * Added support for removing data created in between test scopes (`test`, `before/after`, `suite`).
    * An attribute `skipReadiness` has been added to all test actions, allowing the individual test action to completely bypass the `ReadinessExtension` if it is enabled.

### Fixes
* To prevent Allure reporting from collating tests with identical `title`, the `testCaseId` annotation is now automatically prepended to the `title` annotation when tests are generated.
* The `magentoCLI` command now correctly removes `index.php` if it is present in the `MAGENTO_BASE_URL`.
* Invalid XML errors now indicate which XML file caused the error.
* Attempting to `extend` a test that does not exist now skips the generation of the test.
* Fixed an issue where a `suite` would generate invalid PHP if the `before` or `after` contained only `createData` actions.
* Fixed an issue where a selector inside an `actionGroup` would incorrectly append the `actionGroup`'s `stepKey` to the selector.

2.3.5
-----
### Fixes
* Removed `PageReadinessExtension` from default enabled extensions due to Jenkins instability.

2.3.4
-----
### Fixes
* MagentoWebDriver overrides `parent::_after()` function and remaps to `runAfter()`, necessary to solve compatibility issues in Codeception `2.3.x`.

2.3.3
-----
### Fixes
* Defaults in `etc/config/functional.suite.dist.yml` changed: window-size to `1280x1024`, and removed `--ingonito` flag.

2.3.2
-----
### Fixes
* The `executeJs` `function` no longer escapes persisted variables referenced via `$$persisted.key$$`.
* Extending a test no longer fails to generate the parent `test`'s `before`/`after` blocks if the parent was skipped.

2.3.1
-----
### Enhancements
* Maintainability
    * `mftf build:project` now copies over the `command.php` file into the parent Magento installation, if detected.

2.3.0
-----
### Enhancements
* Traceability
    * MFTF now outputs generation run-time information, warnings, and errors to an `mftf.log` file.
    * Overall error messages for various generation errors have been improved. Usage of the `--debug` flag provides file-specific errors for all XML-related errors.
    * Allure Reports now require a unique `story` and `title` combination, to prevent collisions in Allure Report generation.
    * The `features` annotation now ignores user input and defaults to the module the test lives under (for clear Allure organization).
    * The `<group value="skip"/>` annotation has been replaced with a `<skip>` annotation, allowing for nested `IssueId` elements.
    * Tests now require the following annotations: `stories`, `title`, `description`, `severity`.
        * This will be enforced in a future major release.
* Modularity
    * MFTF has been decoupled from MagentoCE:
        * MFTF can now generate and run tests by itself via `bin/mftf` commands.
        * It is now a top level MagentoCE dependency, and no longer relies on supporting files in MagentoCE.
        * It can be used as an isolated dependency for Magento projects such as extensions.
    * `generate:tests` now warns the user if any declared `<page>` has an inconsistent `module` (`Backend` vs `Magento_Backend`)
    * The `--force` flag now completely ignores checking of the Magento Installation, allowing generation of tests without a Magento Instance to be running.
* Customizability
    * Various test materials can now be extended via an `extends="ExistingMaterial"` attribute. This allows for creation of simple copies of any `entity`, `actionGroup`, or `test`, with small modifications.
    * `test` and `actionGroup` deltas can now be provided in bulk via a `before/after` attribute on the `test` or `actionGroup` element. Deltas provided this way do not need individual `before/after` attributes, and are inserted sequentially.
    * Secure and sensitive test data can now be stored and used via a new `.credentials` file, with declaration and usage syntax similar to `.env` file references.
    * A new `<generateDate>` action has been added to allow users to create and use dates according to the given `date` and `format`.
        * See DevDocs for more information on all above `Customizability` features.
* Maintainability
    * New `bin/mftf` commands have been introduced with parity to existing `robo` commands.
        * `robo` commands are still supported, but will be deprecated in a future major release.
    * The `mftf upgrade:tests` command has been introduced, which runs all test upgrade scripts against the provided path.
        * A new upgrade script was created to replace all test material schema paths to instead use a URN path.
    * The `mftf generate:urn-catalog` command has been introduced to create a URN catalog in PHPStorm to support the above upgrade.
    * A warning is now shown on generation if a page's url is referenced without specifying the url (`{{page}}` vs `{{page.url}}`).
    * An error is now thrown if any test materials contain any overriding element (eg different `<element>`s in a `<section>` with the same `name`)
        * This previously would cause the last read element to override the previous, causing a silent but potentially incorrect test addition.
    * Test distribution algorithm for `--config parallel` has been enhanced to take average step length into account.

### Fixes
* `_after` hook of tests now executes if a non test-related failure causes the test to error.
* Fixed periods in Allure Report showing up as `•`.
* Fixed Windows incompatibility of relative paths in various files.
* Suites will no longer generate if they do not contain any tests.
* Fixed an issue in generation where users could not use javascript variables in `executeJS` actions.
* Fixed an issue in generation where entity replacement in action-groups replaced all entities with the first reference found.
* Fixed an issue in generation where `createData` actions inside `actionGroups` could not properly reference the given `createDataKey`.
* Fixed an issue where `suites` could not generate if they included an `actionGroup` with two arguments.
* Fixed an issue in generation where calling the same entity twice (with different parameters) would replace both calls with the first resolved value.
* The `magentoCLI` action now correctly executes the given command if the `MAGENTO_BASE_URL` contains `index.php` after the domain (ex `https://magento.instance/index.php`)
* The `stepKey` attribute can no longer be an empty.
* Variable substitution has been enabled for `regex` and `command` attributes in test actions.

### GitHub Issues/Pull requests:
* [#161](https://github.com/magento/magento2-functional-testing-framework/pull/161) -- MAGETWO-46837: Implementing extension to wait for readiness metrics.
* [#72](https://github.com/magento/magento2-functional-testing-framework/issues/72) -- declare(strict_types=1) causes static code check failure (fixed in [#154](https://github.com/magento/magento2-functional-testing-framework/pull/154))

2.2.0
-----
### Enhancements
* Traceability
    * Javascript errors are now logged and reported in test output.
    * Test failures are no longer overwritten by failures in an `<after>` hook.
    * Tests will no longer execute an `<after>` hook twice if a failure triggered in the `<after>` hook.
    * Tests marked with `<group value="skip">` will now appear in generated Allure reports.
        * Along with the above, the `robo group` command no longer omits the `skip` group (skipped tests are picked up but not fully executed).
* Modularity
    * MFTF no longer relies on relative pathing to determine its path to tests or Magento (favoring composer information if available).
    * Tests and test materials are now read in from Magento modules as well as extensions in addition to `dev/tests/acceptance`.
        * See DevDocs `Getting Started` for details on expected paths and merge order.
* Customizability
    * Creation of Suites is now supported
        * `<suite>` can include tests via `name`, module, or `<group>` tags.
        * Consolidation of preconditions can be achieved via use of `<before/after>` tags in a `<suite>`
            * All normal test actions are supported
            * Data returned from actions is not available for reference in subsequent tests (`createData` or `grab` actions).
        * `robo generate:tests` generates all suites and tests, and can be given a JSON configuration to generate specific test/suites.
        * See MFTF Devdocs "Suite" page for more details.
    * `<deleteData>` may now be called against a `url` instead of a stepKey reference.
    * `<dragAndDrop>` may now be given an additional `x/y` offset.
    * `<executeJS>` now returns a variable based on what the executed script returns.
    * Added `<element>` `type="block"`.
    * `<page>` elements may now be blank (contain no child sections).
* Maintainability
    * `robo generate:tests --config parallel` now accepts a `--lines` argument, for grouping and sorting based on test length.
    * `robo generate:tests` now checks for:
        * Duplicate step keys within an `actionGroup`.
        * Ambiguous or invalid `stepKey` references (in merge files).
    * `robo generate:tests` now suppresses warnings by default. The command now accepts a `--verbose` flag to show full output including warnings.

### Fixes
* Exception message for the `<conditionalClick>` action now correctly references the `selector` given.
* Usage of multiple parameterized elements in a `selector` now correctly resolves all element references.
* Usage of multiple uniqueness references on the same entity now generate correctly.
* Persisted entity references are correctly interpolated with `<page>` url of `type="admin"`.
* Metadata that contains 2 or more params in its `url` now correctly resolve parameters.
* Arguments can now be passed to `x` and `y` attributes in `actionGroup`.
* Arguments can now be passed to nested `<assert*>` action elements.
* The `<seeInField>` action can now be used to assert against empty strings.
* Empty `<data>` elements within an `<entity>` now generate correctly.
* Mapping of the `<magentoCLI>` to the custom command has been fixed.

### GitHub Issues/Pull requests:
* [#89](https://github.com/magento/magento2-functional-testing-framework/pull/89) -- Add ability to use array entities as arguments.
* [#68](https://github.com/magento/magento2-functional-testing-framework/issues/68) -- Excessive double quotes are being generated in WaitForElementChange method arguments (fixed in [#103](https://github.com/magento/magento2-functional-testing-framework/pull/103))
* [#31](https://github.com/magento/magento2-functional-testing-framework/issues/31) -- Can't run tests without a store having "default" store code (fixed in [#86](https://github.com/magento/magento2-functional-testing-framework/pull/86))

2.1.2
-----
### Enhancements
* Added support for PHP version 7.2

2.1.1
-----
### Enhancements
* Modularity
    * MFTF now supports the existence of tests as composer package dependencies or as living alongside core modules. Supported paths:
        * `magento2ce/vendor/[vendor]/[module]/Test/Acceptance`
        * `magento2ce/app/code/[vendor]/[module]/Test/Acceptance`
* Maintainability
    * Robo command `generate:tests` now accepts a `--nodes` argument that specifies the number of test manifest files to generate for parallel configuration.

### Fixes
* Data returned by `grab` and `createData` actions can now be used in `<actionGroup>` test steps by their `stepKey` reference.
* Fixed an issue where `<requiredEntity>` elements inside `<entity>` data xml would overwrite one another when merged.
* Fixed an issue where `<object>` elements inside `<operation>` metadata xml would overwrite one another when merged.
* Nested assertion syntax now correctly allows for values passed in to resolve `{{entity.data}}` references.
* Test action `<selectMultiOption>` now correctly resolves entity references passed in to `filterSelector` and `optionSelector`.
* The robo command `generate:tests --force` no longer requires a `MAGENTO_BASE_URL` to be defined in the `.env` file.
* All `feature` and `story` annotations now live under in the method and not class level in output test php.
    * This is to work around a bug with the Allure-Codeception adapter version `1.2.6`, which was a dependency update in MFTF `2.1.0`.

2.1.0
-----
### Enhancements
* Traceability
    * Severity in `<annotation>` tags now properly reflect Magento severity values.
* Modularity
    * Added ability to pass in simple values to actionGroups via addition of `type` attribute in actionGroup `<argument>` declaration.
        * For examples, see devdocs article on actionGroups.
    * Merging resolution now depends on Magento instance's installed modules. This also means merging order now follows the expected module merging order.
* Customizability
    * Added `<assertArrayIsSorted>` action. This action takes in an array of data and asserts that the array is properly sorted, according to the provided `sortOrder`
    * Added `<selectMultipleOptions>` action. This is a variation of `<searchAndSelectOptions>` that is given a `filterSelector`, `optionSelector`, and an `<array>` of options to select.
        * For a working sample, see `SearchAndMultiselectActionGroup.xml` under `Catalog` in magento2ce.
    * Test actions that deal with `<url...>` now utilize and grab the page's full url, not just the `/path?query#fragment` portion.
    * All `<assert...>` actions support a clearer, more readable nested syntax.
        * Both old and new syntax are supported. See devdocs `Assertions` article for examples.
    * Added support for overriding a data-entity's `field` values during test runtime, prior to persistence via `<createData>` actions.
    * Added `removeBackend="true"` attribute to `<operation>`. Only applicable to `operation` definitions of `type="adminFormKey"`, attribute prevents pre-pending of `MAGENTO_BACKEND_NAME` to the `url` specified.
        * Specific to use case where `adminFormKey` operations don't follow `MAGENTO_BASE_URL/MAGENTO_BACKEND_NAME/MAGENTO_BACKEND_NAME/API_URL` format.
* Readability
    * Data Entities used in tests (`<test>`, `<page>`, `<section>`, `<element>`, `<data>`) now require alphanumeric naming.
* Maintainability
    * Documentation for all test actions have been added to XML schema. Turning on documentation hinting will display relevant information while writing test XML.
    * All references to `.env` file contents are now resolved at test runtime, as opposed to generation.

### Fixes
* Fixed an issue with using the character `-` in parameterized selector references.
    * Users should now be able to use any characters except for `'` when providing a `'stringLiteral'` to a parameterized selector/url.
* Fixed an issue where entity substitution was not enabled in all `<assert...>` test actions.

### GitHub Issues/Pull requests:
* [#37](https://github.com/magento/magento2-functional-testing-framework/issues/37) -- Unable to make API requests using self signed certificate to HTTPS domain (fixed in [#39](https://github.com/magento/magento2-functional-testing-framework/pull/39))

2.0.3
-----
### Enhancements
* Readability
    * Added the ability to refer to `custom_attribute` data in persisted entities via `key` instead of index.
        * ex. `url_key` in category entity: `$category.custom_attributes[3][value]$` and `$category.custom_attributes[url_key]$` are both valid.
* Maintainability
    * Added check for duplicate `stepKey` attributes at test generation. This check is scoped to `<testAction>` tags within a single `<test>` tag in a single file.

### Fixes
* Fixed inability to use `<actionGroup>` with `<arguments>` in test hooks.
* Fixed inability to use `0` as data in an entity.
* Fixed an issue where using `<annotation>` tag of `<useCaseId>` would cause test generation failures.
* Fixed an issue where the `<closeAdminNotification>` action could not be used twice in in a `<test>`.
* Fixed an issue where specifying duplicate test actions in test delta's would cause generation errors.
* Fixed an issue where test failure screenshots were being taken at the end of the test hook, as opposed to at the point of failure.
* Operation `metadata` with an `auth` of type `adminFormKey` will now automatically append specified `MAGENTO_BACKEND_NAME` if necessary.

2.0.2
-----

### Enhancements
* Customizability
    * Added the `<magentoCLI>` test action. Action takes the given `command=""` and passes it for execution in Magento Environment.
        * Note: Installation step to enable above action has been added. See `Step 5` in the MFTF `Getting Started` article.
* Maintainability
    * Tests now run actions declared in `<after>` hook in both successful and failed test runs.

### Fixes
* Fixed inability to use `[]` characters within selector/url parameters.
* Fixed a bug where the `<formatMoney>` action did not return a variable for test use.
* Fixed a bug where the `<waitForLoadingMaskToDisappear>` action could not be used twice in an `<actionGroup>`.

2.0.1
-----

### Fixes
 * Fixed an issue with `group` annotation.

2.0.0
-----

### Enhancements
* Modularity
    * Replaced the `<loginAsAdmin>` test action with the action group `LoginAsAdmin`.
    * Added the `.env` file variable `CUSTOM_MODULE_PATHS` which can be used to point to any custom extensions that you may want to write tests against.
    * Added the `<page area="..">` property to distinguish between admin and storefront.
    * Added support for `SectionName.elementName` references in any `function` attributes.
* Customizability
    * Changed page objects where `area="admin"` to prepend the `MAGENTO_BACKEND_NAME` value from the `.env` file.
    * Added support for HTTP requests that do not require authentication.
* Readability
    * Renamed `<config>` XML root nodes to match the content they contain, e.g. `<tests>` or `<pages>`.
    * Renamed all instances of the word *Cest* with *Test*. The *Cest* name will no longer be used in the MFTF project.
* Maintainability
    * Removed the `returnVariable` property from any test actions that return values. Instead, the `stepKey` property will be used as the name of the variable and be referenced as before.

### Fixes
* Fixed the `unselectOption.parameterArray` property to work as expected.
* Fixed a crash if you had a system environment variable set with the same name as any variable in the `.env` file.
* Fixed any actions that refer to *CurrentUrl*, such as `<seeInCurrentUrl>`, to now look at the full webdriver address.
* Fixed the `<waitForPageLoad>` test action to not assume that you always want to dismiss UI notifications.

1.0.0
------

### Core features

* **Traceability** for clear logging and reporting capabilities
* **Modularity** to run tests based on modules/extensions installed
* **Customizability** to have an ability to customize existed tests
* **Readability** using clear declarative XML test steps
* **Maintainability** based on simple test creation and overall structure

### Supported systems

#### Operation systems

* Windows 10
* macOS Sierra

#### Browser

* Chrome (Latest) with ChromeDriver Latest

### Known issues

* Support for Firefox is currently incomplete. This will be resolved to support Firefox 57 (Quantum) and latest Gecko driver in next minor release.
* `MAGENTO_BASE_URL` in _.env_ file must have `/` at the end. Example: http://magento.com/