JFIFXX    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222"4 ,PG"Z_4˷kjزZ,F+_z,© zh6٨icfu#ډb_N?wQ5-~I8TK<5oIv-k_U_~bMdӜUHh?]EwQk{_}qFW7HTՑYF?_'ϔ_Ջt=||I 6έ"D/[k9Y8ds|\Ҿp6Ҵ].6znopM[mei$[soᘨ˸ nɜG-ĨUycP3.DBli;hjx7Z^NhN3u{:jx힞#M&jL P@_ P&o89@Sz6t7#Oߋ s}YfTlmrZ)'Nk۞pw\Tȯ?8`Oi{wﭹW[r Q4F׊3m&L=h3z~#\l :F,j@ ʱwQT8"kJO6֚l}R>ډK]y&p}b;N1mr$|7>e@BTM*-iHgD) Em|ؘbҗaҾt4oG*oCNrPQ@z,|?W[0:n,jWiEW$~/hp\?{(0+Y8rΟ+>S-SVN;}s?. w9˟<Mq4Wv'{)01mBVW[8/< %wT^5b)iM pgN&ݝVO~qu9 !J27$O-! :%H ـyΠM=t{!S oK8txA& j0 vF Y|y ~6@c1vOpIg4lODL Rcj_uX63?nkWyf;^*B @~a`Eu+6L.ü>}y}_O6͐:YrGXkGl^w~㒶syIu! W XN7BVO!X2wvGRfT#t/?%8^WaTGcLMI(J1~8?aT ]ASE(*E} 2#I/׍qz^t̔bYz4xt){ OH+(EA&NXTo"XC')}Jzp ~5}^+6wcQ|LpdH}(.|kc4^"Z?ȕ a<L!039C EuCFEwç ;n?*oB8bʝ'#RqfM}7]s2tcS{\icTx;\7KPʇ Z O-~c>"?PEO8@8GQgaՎ󁶠䧘_%#r>1zaebqcPѵn#L =׀t L7`VA{C:ge@w1 Xp3c3ġpM"'-@n4fGB3DJ8[JoߐgK)ƛ$ 83+ 6ʻ SkI*KZlT _`?KQKdB`s}>`*>,*@JdoF*弝O}ks]yߘc1GV<=776qPTtXԀ!9*44Tހ3XΛex46YD  BdemDa\_l,G/֌7Y](xTt^%GE4}bTڹ;Y)BQu>J/J ⮶.XԄjݳ+Ed r5_D1 o Bx΢#<W8R6@gM. drD>(otU@x=~v2 ӣdoBd3eO6㣷ݜ66YQz`S{\P~z m5{J/L1xO\ZFu>ck#&:`$ai>2ΔloF[hlEܺΠk:)` $[69kOw\|8}ބ:񶐕IA1/=2[,!.}gN#ub ~݊}34qdELc$"[qU硬g^%B zrpJru%v\h1Yne`ǥ:gpQM~^Xi `S:V29.PV?Bk AEvw%_9CQwKekPؠ\;Io d{ ߞoc1eP\ `E=@KIRYK2NPlLɀ)&eB+ь( JTx_?EZ }@ 6U뙢طzdWIn` D噥[uV"G&Ú2g}&m?ċ"Om# {ON"SXNeysQ@FnVgdX~nj]J58up~.`r\O,ư0oS _Ml4kv\JSdxSW<AeIX$Iw:Sy›R9Q[,5;@]%u@ *rolbI  +%m:͇ZVủθau,RW33 dJeTYE.Mϧ-oj3+yy^cVO9NV\nd1 !͕_)av;թMlWR1)ElP;yوÏu 3k5Pr6<⒲l!˞*u־n!l:UNW %Chx8vL'X@*)̮ˍ D-M+JUkvK+x8cY?Ԡ~3mo|u@[XeYC\Kpx8oCC&N~3-H MXsu<`~"WL$8ξ3a)|:@m\^`@ҷ)5p+6p%i)P Mngc#0AruzRL+xSS?ʮ}()#tmˇ!0}}y$6Lt;$ʳ{^6{v6ķܰgVcnn ~zx«,2u?cE+ȘH؎%Za)X>uWTzNyosFQƤ$*&LLXL)1" LeOɟ9=:tZcŽY?ӭVwv~,Yrۗ|yGaFC.+ v1fήJ]STBn5sW}y$~z'c 8  ,! pVNSNNqy8z˱A4*'2n<s^ǧ˭PJޮɏUGLJ*#i}K%,)[z21z ?Nin1?TIR#m-1lA`fT5+ܐcq՝ʐ,3f2Uեmab#ŠdQy>\)SLYw#.ʑf ,"+w~N'cO3FN<)j&,- љ֊_zSTǦw>?nU仆Ve0$CdrP m׈eXmVu L.bֹ [Դaզ*\y8Է:Ez\0KqC b̘cөQ=0YsNS.3.Oo:#v7[#߫ 5܎LEr49nCOWlG^0k%;YߝZǓ:S#|}y,/kLd TA(AI$+I3;Y*Z}|ӧOdv..#:nf>>ȶITX 8y"dR|)0=n46ⲑ+ra ~]R̲c?6(q;5% |uj~z8R=XIV=|{vGj\gcqz؋%Mߍ1y#@f^^>N#x#۹6Y~?dfPO{P4Vu1E1J *|%JN`eWuzk M6q t[ gGvWIGu_ft5j"Y:Tɐ*; e54q$C2d} _SL#mYpO.C;cHi#֩%+) ӍƲVSYźg |tj38r|V1#;.SQA[S#`n+$$I P\[@s(EDzP])8G#0B[ىXIIq<9~[Z멜Z⊔IWU&A>P~#dp]9 "cP Md?٥Ifتuk/F9c*9Ǎ:ØFzn*@|Iށ9N3{'['ͬҲ4#}!V Fu,,mTIkv C7vB6kT91*l '~ƞFlU'M ][ΩũJ_{iIn$L jOdxkza۪#EClx˘oVɞljr)/,߬hL#^Lф,íMƁe̩NBLiLq}(q6IçJ$WE$:=#(KBzђ xlx?>Պ+>W,Ly!_DŌlQ![ SJ1ƐY}b,+Loxɓ)=yoh@꥟/Iѭ=Py9 ۍYӘe+pJnϱ?V\SO%(t =?MR[Șd/ nlB7j !;ӥ/[-A>dNsLj ,ɪv=1c.SQO3UƀܽE̻9GϷD7(}Ävӌ\y_0[w <΍>a_[0+LF.޺f>oNTq;y\bՃyjH<|q-eɏ_?_9+PHp$[uxK wMwNی'$Y2=qKBP~Yul:[<F12O5=d]Ysw:ϮEj,_QXz`H1,#II dwrP˂@ZJVy$\y{}^~[:NߌUOdؾe${p>G3cĖlʌ ת[`ϱ-WdgIig2 }s ؤ(%#sS@~3XnRG~\jc3vӍLM[JBTs3}jNʖW;7ç?=XF=-=qߚ#='c7ڑWI(O+=:uxqe2zi+kuGR0&eniT^J~\jyp'dtGsO39* b#Ɋ p[BwsT>d4ۧsnvnU_~,vƜJ1s QIz)(lv8MU=;56Gs#KMP=LvyGd}VwWBF'à ?MHUg2 !p7Qjڴ=ju JnA suMeƆҔ!)'8Ϣٔޝ(Vpצ֖d=ICJǠ{qkԭ߸i@Ku|p=..*+xz[Aqġ#s2aƊRR)*HRsi~a &fMP-KL@ZXy'x{}Zm+:)) IJ-iu ܒH'L(7yGӜq j 6ߌg1go,kرtY?W,pefOQS!K۟cҒA|սj>=⬒˧L[ ߿2JaB~Ru:Q] 0H~]7ƼI(}cq 'ήETq?fabӥvr )o-Q_'ᴎoK;Vo%~OK *bf:-ťIR`B5!RB@ï u ̯e\_U_ gES3QTaxU<~c?*#]MW,[8Oax]1bC|踤Plw5V%){t<d50iXSUm:Z┵i"1^B-PhJ&)O*DcWvM)}Pܗ-q\mmζZ-l@}aE6F@&Sg@ݚM ȹ 4#p\HdYDoH"\..RBHz_/5˘6KhJRPmƶim3,#ccoqa)*PtRmk7xDE\Y閣_X<~)c[[BP6YqS0%_;Àv~| VS؇ 'O0F0\U-d@7SJ*z3nyPOm~P3|Yʉr#CSN@ ƮRN)r"C:: #qbY. 6[2K2uǦHYRQMV G$Q+.>nNHq^ qmMVD+-#*U̒ p욳u:IBmPV@Or[b= 1UE_NmyKbNOU}the`|6֮P>\2PVIDiPO;9rmAHGWS]J*_G+kP2KaZH'KxWMZ%OYDRc+o?qGhmdSoh\D|:WUAQc yTq~^H/#pCZTI1ӏT4"ČZ}`w#*,ʹ 0i課Om*da^gJ݅{le9uF#Tֲ̲ٞC"qߍ ոޑo#XZTp@ o8(jdxw],f`~|,s^f1t|m򸄭/ctr5s79Q4H1꠲BB@l9@C+wpxu£Yc9?`@#omHs2)=2.ljg9$YS%*LRY7Z,*=䷘$armoϰUW.|rufIGwtZwo~5 YյhO+=8fF)W7L9lM̘·Y֘YLf큹pRF99.A "wz=E\Z'a 2Ǚ#;'}G*l^"q+2FQ hjkŦ${ޮ-T٭cf|3#~RJt$b(R(rdx >U b&9,>%E\ Άe$'q't*אެb-|dSBOO$R+H)܎K1m`;J2Y~9Og8=vqD`K[F)k[1m޼cn]skz$@)!I x՝"v9=ZA=`Ɠi :E)`7vI}dYI_ o:obo 3Q&D&2= Ά;>hy.*ⅥSӬ+q&j|UƧ}J0WW< ۋS)jQRjƯrN)Gű4Ѷ(S)Ǣ8iW52No˓ ۍ%5brOnL;n\G=^UdI8$&h'+(cȁ߫klS^cƗjԌEꭔgFȒ@}O*;evWVYJ\]X'5ղkFb 6Ro՜mi Ni>J?lPmU}>_Z&KKqrIDՉ~q3fL:Se>E-G{L6pe,8QIhaXaUA'ʂs+טIjP-y8ۈZ?J$WP Rs]|l(ԓsƊio(S0Y 8T97.WiLc~dxcE|2!XKƘਫ਼$((6~|d9u+qd^389Y6L.I?iIq9)O/뚅OXXVZF[یgQLK1RҖr@v#XlFНyS87kF!AsM^rkpjPDyS$Nqnxҍ!Uf!ehi2m`YI9r6 TFC}/y^Η5d'9A-J>{_l+`A['յϛ#w:݅%X}&PStQ"-\縵/$ƗhXb*yBS;Wջ_mcvt?2}1;qSdd~u:2k52R~z+|HE!)Ǟl7`0<,2*Hl-x^'_TVgZA'j ^2ΪN7t?w x1fIzC-ȖK^q;-WDvT78Z hK(P:Q- 8nZ܃e貾<1YT<,"6{/ ?͟|1:#gW>$dJdB=jf[%rE^il:BxSּ1հ,=*7 fcG#q eh?27,!7x6nLC4x},GeǝtC.vS F43zz\;QYC,6~;RYS/6|25vTimlv& nRh^ejRLGf? ۉҬܦƩ|Ȱ>3!viʯ>vオX3e_1zKȗ\qHS,EW[㺨uch⍸O}a>q6n6N6qN ! 1AQaq0@"2BRb#Pr3C`Scst$4D%Td ?Na3mCwxAmqmm$4n淿t'C"wzU=D\R+wp+YT&պ@ƃ3ޯ?AﶂaŘ@-Q=9Dռѻ@MVP܅G5fY6# ?0UQ,IX(6ڵ[DIMNލc&υj\XR|,4 jThAe^db#$]wOӪ1y%LYm뭛CUƃߜ}Cy1XνmF8jI]HۺиE@Ii;r8ӭVFՇ| &?3|xBMuSGe=Ӕ#BE5GY!z_eqр/W>|-Ci߇t1ޯќdR3ug=0 5[?#͏qcfH{ ?u=??ǯ}ZzhmΔBFTWPxs}G93 )gGR<>r h$'nchPBjJҧH -N1N?~}-q!=_2hcMlvY%UE@|vM2.Y[|y"EïKZF,ɯ?,q?vM 80jx";9vk+ ֧ ȺU?%vcVmA6Qg^MA}3nl QRNl8kkn'(M7m9وq%ޟ*h$Zk"$9: ?U8Sl,,|ɒxH(ѷGn/Q4PG%Ա8N! &7;eKM749R/%lc>x;>C:th?aKXbheᜋ^$Iհ hr7%F$EFdt5+(M6tÜUU|zW=aTsTgdqPQb'm1{|YXNb P~F^F:k6"j! Ir`1&-$Bevk:y#ywI0x=D4tUPZHڠ底taP6b>xaQ# WeFŮNjpJ* mQN*I-*ȩFg3 5Vʊɮa5FO@{NX?H]31Ri_uѕ 0 F~:60p͈SqX#a5>`o&+<2D: ڝ$nP*)N|yEjF5ټeihyZ >kbHavh-#!Po=@k̆IEN@}Ll?jO߭ʞQ|A07xwt!xfI2?Z<ץTcUj]陎Ltl }5ϓ$,Omˊ;@OjEj(ا,LXLOЦ90O .anA7j4 W_ٓzWjcBy՗+EM)dNg6y1_xp$Lv:9"zpʙ$^JԼ*ϭo=xLj6Ju82AH3$ٕ@=Vv]'qEz;I˼)=ɯx /W(Vp$ mu񶤑OqˎTr㠚xsrGCbypG1ߠw e8$⿄/M{*}W]˷.CK\ުx/$WPwr |i&}{X >$-l?-zglΆ(FhvS*b߲ڡn,|)mrH[a3ר[13o_U3TC$(=)0kgP u^=4 WYCҸ:vQרXàtkm,t*^,}D* "(I9R>``[~Q]#afi6l86:,ssN6j"A4IuQ6E,GnHzSHOuk5$I4ؤQ9@CwpBGv[]uOv0I4\yQѸ~>Z8Taqޣ;za/SI:ܫ_|>=Z8:SUIJ"IY8%b8H:QO6;7ISJҌAά3>cE+&jf$eC+z;V rʺmyeaQf&6ND.:NTvm<- uǝ\MvZYNNT-A>jr!SnO 13Ns%3D@`ܟ 1^c< aɽ̲Xë#w|ycW=9I*H8p^(4՗karOcWtO\ƍR8'KIQ?5>[}yUײ -h=% qThG2)"ו3]!kB*pFDlA,eEiHfPs5H:Փ~H0DتDIhF3c2E9H5zԑʚiX=:mxghd(v׊9iSOd@0ڽ:p5h-t&Xqӕ,ie|7A2O%PEhtjY1wЃ!  ࢽMy7\a@ţJ 4ȻF@o̒?4wx)]P~u57X 9^ܩU;Iꭆ 5 eK27({|Y׎ V\"Z1 Z}(Ǝ"1S_vE30>p; ΝD%xW?W?vo^Vidr[/&>~`9Why;R ;;ɮT?r$g1KACcKl:'3 cﳯ*"t8~l)m+U,z`(>yJ?h>]vЍG*{`;y]IT ;cNUfo¾h/$|NS1S"HVT4uhǜ]v;5͠x'C\SBplh}N ABx%ޭl/Twʽ]D=Kžr㻠l4SO?=k M: cCa#ha)ѐxcsgPiG{+xQI= zԫ+ 8"kñj=|c yCF/*9жh{ ?4o kmQNx;Y4膚aw?6>e]Qr:g,i"ԩA*M7qB?ӕFhV25r[7 Y }LR}*sg+xr2U=*'WSZDW]WǞ<叓{$9Ou4y90-1'*D`c^o?(9uݐ'PI& fJݮ:wSjfP1F:X H9dԯ˝[_54 }*;@ܨ ðynT?ןd#4rGͨH1|-#MrS3G3).᧏3vz֑r$G"`j 1tx0<ƆWh6y6,œGagAyb)hDß_mü gG;evݝnQ C-*oyaMI><]obD":GA-\%LT8c)+y76oQ#*{(F⽕y=rW\p۩cA^e6KʐcVf5$'->ՉN"F"UQ@fGb~#&M=8טJNu9D[̤so~ G9TtW^g5y$bY'سǴ=U-2 #MCt(i lj@Q 5̣i*OsxKf}\M{EV{υƇ);HIfeLȣr2>WIȂ6ik 5YOxȺ>Yf5'|H+98pjn.OyjY~iw'l;s2Y:'lgꥴ)o#'SaaKZ m}`169n"xI *+ }FP"l45'ZgE8?[X7(.Q-*ތL@̲v.5[=t\+CNܛ,gSQnH}*FG16&:t4ُ"Ạ$b |#rsaT ]ӽDP7ո0y)e$ٕvIh'QEAm*HRI=: 4牢) %_iNݧl] NtGHL ɱg<1V,J~ٹ"KQ 9HS9?@kr;we݁]I!{ @G["`J:n]{cAEVʆ#U96j#Ym\qe4hB7Cdv\MNgmAyQL4uLjj9#44tl^}LnR!t±]rh6ٍ>yҏNfU  Fm@8}/ujb9he:AyծwGpΧh5l}3p468)Udc;Us/֔YX1O2uqs`hwgr~{ RmhN؎*q 42*th>#E#HvOq}6e\,Wk#Xb>p}դ3T5†6[@Py*n|'f֧>lư΂̺SU'*qp_SM 'c6m ySʨ;MrƋmKxo,GmPAG:iw9}M(^V$ǒѽ9| aJSQarB;}ٻ֢2%Uc#gNaݕ'v[OY'3L3;,p]@S{lsX'cjwk'a.}}& dP*bK=ɍ!;3ngΊUߴmt'*{,=SzfD Ako~Gaoq_mi}#mPXhύmxǍ΂巿zfQc|kc?WY$_Lvl߶c`?ljݲˏ!V6UЂ(A4y)HpZ_x>eR$/`^'3qˏ-&Q=?CFVR DfV9{8gnh(P"6[D< E~0<@`G6Hгcc cK.5DdB`?XQ2ٿyqo&+1^ DW0ꊩG#QnL3c/x 11[yxპCWCcUĨ80me4.{muI=f0QRls9f9~fǨa"@8ȁQ#cicG$Gr/$W(WV"m7[mAmboD j۳ l^kh׽ # iXnveTka^Y4BNĕ0 !01@Q"2AaPq3BR?@4QT3,㺠W[=JKϞ2r^7vc:9 EߴwS#dIxu:Hp9E! V 2;73|F9Y*ʬFDu&y؟^EAA(ɩ^GV:ݜDy`Jr29ܾ㝉[E;FzxYGUeYC v-txIsםĘqEb+P\ :>iC';k|zرny]#ǿbQw(r|ӹs[D2v-%@;8<a[\o[ϧwI!*0krs)[J9^ʜp1) "/_>o<1AEy^C`x1'ܣnps`lfQ):lb>MejH^?kl3(z:1ŠK&?Q~{ٺhy/[V|6}KbXmn[-75q94dmc^h X5G-}دBޟ |rtMV+]c?-#ڛ^ǂ}LkrOu>-Dry D?:ޞUǜ7V?瓮"#rչģVR;n/_ ؉vݶe5db9/O009G5nWJpA*r9>1.[tsFnQ V 77R]ɫ8_0<՜IFu(v4Fk3E)N:yڮeP`1}$WSJSQNjٺ޵#lј(5=5lǏmoWv-1v,Wmn߀$x_DȬ0¤#QR[Vkzmw"9ZG7'[=Qj8R?zf\a=OU*oBA|G254 p.w7  &ξxGHp B%$gtЏ򤵍zHNuЯ-'40;_3 !01"@AQa2Pq#3BR?ʩcaen^8F<7;EA{EÖ1U/#d1an.1ě0ʾRh|RAo3m3 % 28Q yφHTo7lW>#i`qca m,B-j݋'mR1Ήt>Vps0IbIC.1Rea]H64B>o]($Bma!=?B KǾ+Ծ"nK*+[T#{EJSQs5:U\wĐf3܆&)IԆwE TlrTf6Q|Rh:[K zc֧GC%\_a84HcObiؖV7H )*ģK~Xhչ04?0 E<}3#u? |gS6ꊤ|I#Hڛ աwX97Ŀ%SLy6č|Fa 8b$sקhb9RAu7˨pČ_\*w묦F 4D~f|("mNKiS>$d7SlA/²SL|6N}S˯g]6; #. 403WebShell
403Webshell
Server IP : 45.32.152.128  /  Your IP : 216.73.216.91
Web Server : nginx/1.24.0
System : Linux stage-vultr 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : forge ( 1000)
PHP Version : 8.2.14
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/forge/company.paradigma.so/vendor/league/commonmark/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/forge/company.paradigma.so/vendor/league/commonmark/CHANGELOG-0.x.md
# Change Log
All notable changes to this project will be documented in this file.
Updates should follow the [Keep a CHANGELOG](https://keepachangelog.com/) principles.

## [0.19.3] - 2019-06-18

### Fixed

 - Fixed bug where elements with content of `"0"` wouldn't be rendered (#376)

## [0.19.2] - 2019-05-19

### Fixed

 - Fixed bug where default values for nested configuration paths were inadvertently cast to strings

## [0.19.1] - 2019-04-10

### Added

 - Added the missing `addExtension()` method to the new `ConfigurableEnvironmentInterface`

### Fixed

 - Fixed extensions not being able to register other extensions

## [0.19.0] - 2019-04-10

### Added

 - The priority of parsers, processors, and renderers can now be set when `add()`ing them; you no longer need to rely on the order in which they are added
 - Added support for trying multiple parsers per block/inline
 - Extracted two new base interfaces from `Environment`:
   - `EnvironmentInterface`
   - `ConfigurableEnvironmentInterface`
 - Extracted a new `AbstractStringContainerBlock` base class and corresponding `StringContainerInterface` from `AbstractBlock`
 - Added `Cursor::getEncoding()` method
 - Added `.phpstorm.meta.php` file for better IDE code completion
 - Made some minor optimizations here and there

### Changed

 - Pretty much everything now has parameter and return types (#346)
 - Attributes passed to `HtmlElement` will now be escaped by default
 - `Environment` is now a `final` class
 - `Environment::getBlockRendererForClass()` was replaced with `Environment::getBlockRenderersForClass()` (note the added `s`)
 - `Environment::getInlineRendererForClass()` was replaced with `Environment::getInlineRenderersForClass()` (note the added `s`)
 - The `Environment::get____()` methods now return an iterator instead of an array
 - `Context::addBlock()` no longer returns the same block instance you passed into the method, as this served no useful purpose
 - `RegexHelper::isEscapable()` no longer accepts `null` values
 - `Node::replaceChildren()` now accepts any type of `iterable`, not just `array`s
 - Some block elements now extend `AbstractStringContainerBlock` instead of `AbstractBlock`
   - `InlineContainerInterface` now extends the new `StringContainerInterface`
   - The `handleRemainingContents()` method (formerly on `AbstractBlock`, now on `AbstractStringContainerBlock`) is now an `abstract method
   - The `InlineParserContext` constructor now requires an `AbstractStringContainerBlock` instead of an `AbstractBlock`

### Removed

 - Removed support for PHP 5.6 and 7.0 (#346)
 - Removed support for `add()`ing parsers with just the target block/inline class name - you need to include the full namespace now
 - Removed the following unused methods from `Environment`:
   - `getInlineParser($name)`
   - `getInlineParsers()`
   - `createInlineParserEngine()`
 - Removed the unused `getName()` methods:
   - `AbstractBlockParser::getName()`
   - `AbstractInlineParser::getName()`
   - `BlockParserInterface::getName()`
   - `InlinerParserInterface::getName()`
 - Removed the now-useless classes:
   - `AbstractBlockParser`
   - `AbstractInlinerParser`
   - `InlineContainer`
 - Removed the `AbstractBlock::acceptsLines()` method
 - Removed the now-useless constructor from `AbstractBlock`
 - Removed previously-deprecated functionality:
   - `InlineContainer` class
   - `RegexHelper::$instance`
   - `RegexHelper::getInstance()`
   - `RegexHelper::getPartialRegex()`
   - `RegexHelper::getHtmlTagRegex()`
   - `RegexHelper::getLinkTitleRegex()`
   - `RegexHelper::getLinkDestinationBracesRegex()`
   - `RegexHelper::getThematicBreakRegex()`
 - Removed the second `$preserveEntities` parameter from `Xml:escape()`

## [0.18.5] - 2019-03-28

### Fixed

 - Fixed the adjoining `Text` collapser not handling the full tree (thephpleague/commonmark-ext-autolink#10)

## [0.18.4] - 2019-03-23

### Changed

 - Modified how URL normalization decodes certain characters in order to align with the JS library's output
 - Disallowed unescaped `(` in parenthesized link title

### Fixed

 - Fixed two exponential backtracking issues

## [0.18.3] - 2019-03-21

This is a **security update** release.

### Changed

 - XML/HTML entities in attributes will no longer be preserved when rendering (#353)

### Fixed

 - Fix XSS vulnerability caused by improper preservation of entities when rendering (#353)

### Deprecated

 - Deprecated the `$preserveEntites` argument of `Xml::escape()` for removal in the next release (#353)

## [0.18.2] - 2019-03-16

### Fixed

 - Fixed adjoining `Text` elements not being collapsed after delimiter processing

### Deprecated

 - Deprecated the `CommonmarkConverter::VERSION` constant for removal in 1.0.0

## [0.18.1] - 2018-12-29

This is a **security update** release.

### Fixed

 - Fix XSS vulnerability caused by URL normalization not handling/encoding newlines properly (#337, CVE-2018-20583)

## [0.18.0] - 2018-09-18

### Added

 - Added `ConverterInterface` to `Converter` and `CommonMarkConverter` (#330)
 - Added `ListItem::getListData()` method (#329)

### Changed

 - Links with `target="_blank"` will also get `rel="noopener noreferrer"` by default (#331)
 - Implemented several performance optimizations (#324)

## [0.17.5] - 2018-03-29

### Fixed

 - Fixed incorrect version constant value (again)
 - Fixed release checklist to prevent the above from happening
 - Fixed incorrect dates in CHANGELOG

## [0.17.4] - 2018-03-28

### Added

 - Added `ListBlock::setTight()` method

## [0.17.3] - 2018-03-26

### Fixed

 - Fixed incorrect version constant value

## [0.17.2] - 2018-03-25

### Added

 - Added new `RegexHelper::isEscapable()` method

### Fixed

 - Fixed spec compliance bug where escaped spaces should not be allowed in link destinations

## [0.17.1] - 2018-03-18

### Added

 - Added a new constant containing the current version: `CommonMarkConverter::VERSION` (#314)

## [0.17.0] - 2017-12-30

This release contains several breaking changes and a minimum PHP version bump - see <UPGRADE.md> for more details.

### Added

 - Added new `max_nesting_level` setting (#243)
 - Added minor performance optimizations to `Cursor`

### Changed

 - Minimum PHP version is now 5.6.5.
 - All full and partial regular expressions in `RegexHelper` are now defined as constants instead of being built on-the-fly.
 - `Cursor::saveState()` now returns an `array` instead of a `CursorState` object.
 - `Cursor::restoreState()` now accepts an `array` parameter instead of a `CursorState` object.
 - Saving/restoring the Cursor state no longer tracks things that don't change (like the text content).
 - `RegexHelper` is now `final`.
 - References to `InlineContainer` changed to new `InlineContainerInterface` interface.
 - `MiscExtension::addInlineParser()` and `MiscExtension::addBlockRenderer()` now return `$this` instead of nothing.

### Fixed
 - Fixed `Reference::normalizeReference()` not properly collapsing whitespace to a single space

### Deprecated

 - `RegexHelper::getInstance()` and all instance (non-static) methods have been deprecated.
 - The `InlineContainer` interface has been deprecated. Use `InlineContainerInterface` instead.

### Removed

 - Removed support for PHP 5.4 and 5.5.
 - Removed `CursorState` class
 - Removed all previous deprecations:
   - `Cursor::getFirstNonSpacePosition()`
   - `Cursor::getFirstNonSpaceCharacter()`
   - `Cursor::advanceWhileMatches()`
   - `Cursor::advanceToFirstNonSpace()`
   - `ElementRendererInterface::escape()`
   - `HtmlRenderer::escape()`
   - `RegexHelper::REGEX_UNICODE_WHITESPACE`
   - `RegexHelper::getLinkDestinationRegex()`

## [0.16.0] - 2017-10-30

This release contains breaking changes, several performance improvements, and two deprecations:

### Added

 - Added new `Xml` utility class; moved HTML/XML escaping logic into there (see deprecations below)

### Changed

 - `Environment::getInlineParsersForCharacter()` now returns an empty array (instead of `null`) when no matching parsers are found
 - Three utility classes are now marked `final`:
   - `Html5Entities`
   - `LinkParserHelper`
   - `UrlEncoder`

### Fixed

 - Improved performance of several methods (for a 10% overall performance boost - #292)

### Deprecated

The following methods were deprecated and are scheduled for removal in 0.17.0 or 1.0.0 (whichever comes first).  See <UPGRADE.md> for more information.

 - `Cursor::advanceWhileMatches()` deprecated; use `Cursor::match()` instead.
 - `HtmlRenderer::escape()` deprecated; use `Xml::escape()` instead.

### Removed

 - Removed `DelimiterStack::findFirstMatchingOpener()` which was previously deprecated in 0.15.0

## [0.15.7] - 2017-10-26

### Fixed

 - Improved performance of `Cursor::advanceBy()` (for a 16% performance boost)

## [0.15.6] - 2017-08-08

### Fixed

 - Fixed URI normalization not properly encoding/decoding special characters in certain cases (#287)

## [0.15.5] - 2017-08-05

This release bumps spec compliance to 0.28 without breaking changes to the API.

### Added

 - Project is now tested against PHP 7.2

### Changed

 - Bumped CommonMark spec target to 0.28
 - Changed internal implementation of `LinkParserHelper::parseLinkDestination()` to allow nested parens
 - Changed precedence of strong/emph when both nestings are possible (rule 14)
 - Allow tabs before and after ATX closing header

### Fixed

 - Fixed HTML type 6 block regex matching against `<pre>` (it shouldn't) and not matching `<iframe>` (it should)
 - Fixed reference parser incorrectly handling escaped `]` characters
 - Fixed "multiple of 3" delimiter run calculations

### Deprecated

An unused constant and static method were deprecated and will be removed in a future release.  See <UPGRADE.md> for more information.

 - Deprecated `RegexHelper::REGEX_UNICODE_WHITESPACE` (no longer used)
 - Deprecated `RegexHelper::getLinkDestinationRegex()` (no longer used)

## [0.15.4] - 2017-05-09

### Added

 - Added new methods to `Cursor` (#280):
   - `advanceToNextNonSpaceOrNewline()` - Identical replacement for the (now-deprecated) `advanceToFirstNonSpace()` method
   - `advanceToNextNonSpaceOrTab()` - Similar replacement for `advanceToFirstNonSpace()` but with proper tab handling
   - `getNextNonSpaceCharacter()` - Identical replacement for the (now-deprecated) `getFirstNonSpaceCharacter()` method
   - `getNextNonSpacePosition()` - Identical replacement for the (now-deprecated) `getFirstNonSpacePosition()` method
 - Added new method to `CursorState` (#280):
   - `getNextNonSpaceCache()` - Identical replacement for the (now-deprecated) `getFirstNonSpaceCache()` method

### Fixed

 - Fixed duplicate characters in non-intended lines containing tabs (#279)

### Deprecated

**All deprecations listed here will be removed in a future 0.x release.** See [UPGRADE.md](UPGRADE.md) for instructions on preparing your code for the eventual removal of these methods.

 - Deprecated `Cursor::advanceToFirstNonSpace()` (#280)
   - Use `advanceToNextNonSpaceOrTab()` or `advanceToNextNonSpaceOrNewline()` instead, depending on your requirements
 - Deprecated `Cursor::getFirstNonSpaceCharacter()` (#280)
   - Use `Cursor::getNextNonSpaceCharacter()` instead
 - Deprecated `Cursor::getFirstNonSpacePosition()` (#280)
   - Use `Cursor::getNextNonSpacePosition()` instead
 - Deprecated `CursorState::getFirstNonSpaceCache()` (#280)
   - Use `CursorState::getNextNonSpaceCache()` instead

## [0.15.3] - 2016-12-18

### Fixed
 - Allow inline parsers matching regex delimiter to be created (#271, #272)

## [0.15.2] - 2016-11-22

### Changed
 - Bumped spec target version to 0.27 (#268)
 - H2-H6 elements are now parsed as HTML block elements instead of HTML inlines

### Fixed
 - Fixed incomplete punctuation regex
 - Fixed shortcut links not being allowed before a `(`
 - Fixed distinction between Unicode whitespace and regular whitespace

## [0.15.1] - 2016-11-08

### Fixed
 - Fixed setext heading underlines not allowing trailing tabs (#266)

## [0.15.0] - 2016-09-14

### Added
 - Added preliminary support for PHP 7.1 (#259)
 - Added more regression tests (#258, #260)

### Changed
 - Bumped spec target version to 0.26 (#260)
 - The `CursorState` constructor requires an additional parameter (#258)
 - Ordered lists cannot interupt a paragraph unless they start with `1` (#260)
 - Blank list items cannot interupt a paragraph (#260)

### Deprecated
 - Deprecated `DelimiterStack::findFirstMatchingOpener()` - use `findMatchingOpener()` instead (#260)

### Fixed
 - Fixed tabs in ATX headers and thematic breaks (#260)
 - Fixed issue where cursor state was not being restored properly (#258, #260)
   - This fixed the lists-with-tabs regression reported in #258

### Removed
 - Removed an unnecessary check in `Cursor::advanceBy()` (#260)
 - Removed the two-blanks-break-out-of-lists feature (#260)


## [0.14.0] - 2016-07-02
### Added
 - The `safe` option is deprecated and replaced by 2 new options (#253, #255):
   - `html_input` (`strip`, `allow` or `escape`): how to handle untrusted HTML input (the default is `strip` for BC reasons)
   - `allow_unsafe_links` (`true` or `false`): whether to allow risky image URLs and links (the default is `true` for BC reasons)

### Deprecated
 - The `safe` option is now deprecated and will be removed in the 1.0.0 release.

## [0.13.4] - 2016-06-14

### Fixed
 - Fixed path to `autoload.php` within bin/commonmark (#250)

## [0.13.3] - 2016-05-21

### Added
 - Added `setUrl()` method for `Link` and `Image` elements (#227, #244)
 - Added cebe/markdown to the benchmark tool (#245)

## [0.13.2] - 2016-03-27

### Added
 - Added ability to invoke `Converter` as a function (#233, #239)
 - Added new `advanceBySpaceOrTab` convenience method to `Cursor`

### Changed
 - Bumped spec target version to 0.25
 - Adjusted how tabs are handled by the `Cursor` (#234)
 - Made a couple small micro-optimizations to heavily used functions (#240)
 - Updated URLs in docblocks to use HTTPS where possible (#238)

## [0.13.1] - 2016-03-09

### Changed
 - Refactored `EmphasisParser::parse()` to simplify it (#223)
 - Updated dev dependencies (#218 & #220)

### Fixed
 - Fixed invalid regex generated when no inline parsers are defined (#224)
 - Fixed logic bug with blank line after empty list item (#230)
 - Fixed some incorrect code comments

### Removed
 - Removed unused variables (#223)

## [0.13.0] - 2016-01-13

### Added
 - Added AST document processors (#210)
 - Added optional `Environment` parameter to `CommonMarkConverter` constructor

### Changed
 - Renamed "header" things to "heading" for spec consistency
   - `Header` => `Heading`
   - `ATXHeaderParser` => `ATXHeadingParser`
   - `SetExtHeaderParser` => `SetExtHeadingParser`
   - `HeaderRenderer` => `HeadingRenderer`
 - Renamed "HorizontalRule" to "ThematicBreak" for spec consistency
   - `HorizontalRule` => `ThematicBreak`
   - `HorizontalRuleParser` => `ThematicBreakParser`
   - `HorizontalRuleRenderer` => `ThematicBreakRenderer`
   - `HorizontalRuleRendererTest` => `ThematicBreakRendererTest`
   - `RegexHelper::getHRuleRegex()` => `RegexHelper::getThematicBreakRegex()`
 - Renamed inline "Html" and "RawHtml" to "HtmlInline" for consistency
   - `Html` => `HtmlInline`
   - `RawHtmlParser` => `HtmlInlineParser`
   - `RawHtmlRenderer` => `HtmlInlineRenderer`
 - Don't allow whitespace between link text and link label of a reference link (spec change)
 - Don't allow spaces in link destinations, even in `<>`
 - Allow multiline setext header content
   - The `Heading` constructor now allows `$contents` to be a `string` (old behavior) or `string[]` (new)

### Fixed
 - Fixed several list issues and regressions (jgm/commonmark.js#59)

### Removed
 - Removed schema whitelist from autolink regex
 - Moved SmartPunct functionality into new [league/commonmark-extras](https://github.com/thephpleague/commonmark-extras) package

## [0.12.0] - 2015-11-04

### Added
 - Added ability to configure characters and disable emphasis/strong (#135)
 - Added new ConfigurationAwareInterface support for all parsers, processors, and renderers (#201)
 - Added HTML safe mode to handle untrusted input (#200, #201)
   - Safe mode is disabled by default for backwards-compatibility
   - To enable it, set the `safe` option to `true`
 - Added AppVeyor integration for automated unit/functional testing on Windows (#195)

### Changed
 - `AbstractBlock::finalize()` now requires a second parameter, `$endLineNumber`
 - `RegexHelper::REGEX_ENTITY` no longer includes the starting `/` or the ending `/i` (#194)
 - `Node::setParent()` now accepts null values (#203)

### Fixed
 - Fixed incorrect `endLine` positions (#187)
 - Fixed `DocParser::preProcessInput` dropping up to 2 ending newlines instead of just one
 - Fixed `EntityParser` not checking for ampersands at the start of the current position (#192, #194)

### Removed
 - Removed protected function Context::addChild()
   - It was a duplicate of the Context::addBlock() method
 - Disabled STDIN reading on `bin/commonmark` for Windows due to PHP issues (#189, #195)

## [0.11.3] - 2015-09-25
### Fixed
 - Reset container after closing containing lists (#183; jgm/commonmark.js#67)
   - The temporary fix from 0.11.2 was reverted

## [0.11.2] - 2015-09-23
### Fixed
 - Fixed parser checking acceptsLines on the wrong element (#183)

## [0.11.1] - 2015-09-22
### Changed
 - Tightened up some loose comparisons

### Fixed
 - Fixed missing "bin" directive in composer.json
 - Updated a docblock to match recent changes to method parameters

### Removed
 - Removed unused variable from within QuoteProcessor's closure

## [0.11.0] - 2015-09-19
### Added
 - Added new `Node` class, which both `AbstractBlock` and `AbstractInline` extend from (#169)
 - Added a `NodeWalker` and `NodeWalkerEvent` to traverse the AST without using recursion
 - Added new `InlineContainer` interface for blocks
 - Added new `getContainer()` and `getReferenceMap()` methods to `InlineParserContext`
 - Added `iframe` to whitelist of HTML block tags (as per spec)
 - Added `./bin/commonmark` for converting Markdown at the command line

### Changed
 - Bumped spec target version to 0.22
 - Revised AST to use a double-linked list (#169)
 - `AbstractBlock` and `AbstractInline` both extend from `Node`
   - Sub-classes must implement new `isContainer()` method
 - Other major changes to `AbstractBlock`:
   - `getParent()` is now `parent()`
   - `setParent()` now expects a `Node` instead of an `AbstractBlock`
   - `getChildren()` is now `children()`
   - `getLastChild()` is now `lastChild()`
   - `addChild()` is now `appendChild()`
 - `InlineParserContext` is constructed using the container `AbstractBlock` and the document's `RefereceMap`
   - The constructor will automatically create the `Cursor` using the container's string contents
 - `InlineParserEngine::parse` now requires the `Node` container and the document's `ReferenceMap` instead of a `ContextInterface` and `Cursor`
 - Changed `Delimiter` to reference the actual inline `Node` instead of the position
   - The `int $pos` protected member and constructor arg is now `Node $node`
   - Use `getInlineNode()` and `setInlineNode()` instead of `getPos()` and `setPos()`
 - Changed `DocParser::processInlines` to use a `NodeWalker` to iterate through inlines
   - Walker passed as second argument instead of `AbstractBlock`
   - Uses a `while` loop instead of recursion to traverse the AST
 - `Image` and `Link` now only accept a string as their second argument
 - Refactored how `CloseBracketParser::parse()` works internally
 - `CloseBracketParser::createInline` no longer accepts label inlines
 - Disallow list item starting with multiple blank lines (see jgm/CommonMark#332)
 - Modified `AbstractBlock::setLastLineBlank()`
   - Functionality moved to `AbstractBlock::shouldLastLineBeBlank()` and new `DocParser::setAndPropagateLastLineBlank()` method
   - `AbstractBlock::setLastLineBlank()` is now a setter method for `AbstractBlock::$lastLineBlank`
 - `AbstractBlock::handleRemainingContents()` is no longer abstract
   - A default implementation is provided
   - Removed duplicate code from sub-classes which used the default implementation - they'll just use the parent method from now on

### Fixed
 - Fixed logic error in calculation of offset (see jgm/commonmark.js@94053a8)
 - Fixed bug where `DocParser` checked the wrong method to determine remainder handling behavior
 - Fixed bug where `HorizontalRuleParser` failed to advance the cursor beyond the parsed horizontal rule characters
 - Fixed `DocParser` not ignoring the final newline of the input (like the reference parser does)

### Removed
 - Removed `Block\Element\AbstractInlineContainer`
   - Extend `AbstractBlock` and implement `InlineContainer` instead
   - Use child methods instead of `getInlines` and `setInlines`
 - Removed `AbstractBlock::replaceChild()`
   - Call `Node::replaceWith()` directly the child node instead
 - Removed the `getInlines()` method from `InlineParserContext`
   - Add parsed inlines using `$inlineContext->getContainer()->appendChild()` instead of `$inlineContext->getInlines()->add()`
 - Removed the `ContextInterface` argument from `AbstractInlineParser::parse()` and `InlineParserEngine::parseCharacter`
 - Removed the first `ArrayCollection $inlines` argument from `InlineProcessorInterface::processInlines()`
 - Removed `CloseBracketParser::nullify()`
 - Removed `pre` from rule 6 of HTML blocks (see jgm/CommonMark#355)

## [0.10.0] - 2015-07-25
### Added
 - Added parent references to inline elements (#124)
 - Added smart punctuation extension (#134)
 - Added HTML block types
 - Added indentation caching to the cursor
 - Added automated code style checks (#133)
 - Added support for tag attributes in renderers (#101, #165)

### Changed
 - Bumped spec target version to 0.21
 - Revised HTML block parsing to conform to new spec (jgm/commonmark.js@99bd473)
 - Imposed 9-digit limit on ordered list markers, per spec
 - Allow non-initial hyphens in html tag names (jgm/CommonMark#239)
 - Updated list of block tag names
 - Changed tab/indentation handling to meet the new spec behavior
 - Modified spec tests to show spaces and tabs in test results
 - Replaced `HtmlRendererInterface` with `ElementRendererInterface` (#141)
 - Removed the unnecessary `trim()` and string cast from `ListItemRenderer`

### Fixed
 - Fixed link reference definition edge case (#120)
 - Allow literal (non-escaping) backslashes in link destinations (#118)
 - Allow backslash-escaped backslashes in link labels (#119)
 - Allow link labels up to 999 characters (per the spec)
 - Properly split on whitespace when determining code block class (jgm/commonmark.js#54)
 - Fixed code style issues (#132, #133, #151, #152)
 - Fixed wording for invalid inline exception (#136)

### Removed
 - Removed the advance-by-one optimization due to added cursor complexity

## [0.9.0] - 2015-06-18
### Added
 - Added public $data array to block elements (#95)
 - Added `isIndented` helper method to `Cursor`
 - Added a new `Converter` base class which `CommonMarkConverter` extends from (#105)

### Changed
 - Bumped spec target version to 0.20 (#112)
 - Renamed ListBlock::$data and ListItem::$data to $listData
 - Require link labels to contain non-whitespace (jgm/CommonMark#322)
 - Use U+FFFD for entities resolving to 0 (jgm/CommonMark#323)
 - Moved `IndentedCodeParser::CODE_INDENT_LEVEL` to `Cursor::INDENT_LEVEL`
 - Changed arrays to short syntax (#116)
 - Improved efficiency of DelimiterStack iteration (jgm/commonmark.js#43)

### Fixed
 - Fixed open block tag followed by newline not being recognized (jgm/CommonMark#324)
 - Fixed indented lists sometimes being parsed incorrectly (jgm/commonmark.js#42)

## [0.8.0] - 2015-04-29
### Added
 - Allow swapping built-in renderers without using their fully qualified names (#84)
 - Lots of unit tests (for existing code)
 - Ability to include arbitrary functional tests in addition to spec-based tests

### Changed
 - Dropped support for PHP 5.3 (#64 and #76)
 - Bumped spec target version to 0.19
 - Made the AbstractInlineContainer be abstract
 - Moved environment config. logic into separate class

### Fixed
 - Fixed underscore emphasis to conform to spec changes (jgm/CommonMark#317)

### Removed
 - Removed PHP 5.3 workaround (see commit 5747822)
 - Removed unused AbstractWebResource::setUrl() method
 - Removed unnecessary check for hrule when parsing lists (#85)

## [0.7.2] - 2015-03-08
### Changed
 - Bumped spec target version to 0.18

### Fixed
 - Fixed broken parsing of emphasized text ending with a '0' character (#81)

## [0.7.1] - 2015-03-01
### Added
 - All references can now be obtained from the `ReferenceMap` via `listReferences()` (#73)
 - Test against PHP 7.0 (nightly) but allow failures

### Changed
 - ListData::$start now defaults to null instead of 0 (#74)
 - Replace references to HtmlRenderer with new HtmlRendererInterface

### Fixed
 - Fixed 0-based ordered lists starting at 1 instead of 0 (#74)
 - Fixed errors parsing multi-byte characters (#78 and #79)

## [0.7.0] - 2015-02-16
### Added
 - More unit tests to increase code coverage

### Changed
 - Enabled the InlineParserEngine to parse several non-special characters at once (performance boost)
 - NewlineParser no longer attempts to parse spaces; look-behind is used instead (major performance boost)
 - Moved closeUnmatchedBlocks into its own class
 - Image and link elements now extend AbstractInlineContainer; label data is stored via $inlineContents instead
 - Renamed AbstractInlineContainer::$inlineContents and its getter/setter

### Removed
 - Removed the InlineCollection class
 - Removed the unused ArrayCollection::splice() method
 - Removed impossible-to-reach code in Cursor::advanceToFirstNonSpace
 - Removed unnecessary test from the InlineParserEngine
 - Removed unnecessary/unused RegexHelper::getMainRegex() method

## [0.6.1] - 2015-01-25
### Changed
 - Bumped spec target version to 0.17
 - Updated emphasis parsing for underscores to prevent intra-word emphasis
 - Deferred closing of fenced code blocks

## [0.6.0] - 2015-01-09
### Added
 - Bulk registration of parsers/renderers via extensions (#45)
 - Proper UTF-8 support, especially in the Cursor; mbstring extension is now required (#49)
 - Environment is now configurable; options can be accessed in its parsers/renderers (#56)
 - Added some unit tests

### Changed
 - Bumped spec target version to 0.15 (#50)
 - Parsers/renderers are now lazy-initialized (#52)
 - Some private elements are now protected for easier extending, especially on Element classes (#53)
 - Renderer option keys changed from camelCase to underscore_case (#56)
 - Moved CommonMark parser/render definitions into CommonMarkCoreExtension

### Fixed
 - Improved parsing of emphasis around punctuation
 - Improved regexes for CDATA and HTML comments
 - Fixed issue with HTML content that is considered false in loose comparisons, like `'0'` (#55)
 - Fixed DocParser trying to add empty strings to closed containers (#58)
 - Fixed incorrect use of a null parameter value in the HtmlElementTest

### Removed
 - Removed unused ReferenceDefinition* classes (#51)
 - Removed UnicodeCaseFolder in favor of mb_strtoupper

## [0.5.1] - 2014-12-27
### Fixed
 - Fixed infinite loop and link-in-link-in-image parsing (#37)

### Removed
 - Removed hard dependency on mbstring extension; workaround used if not installed (#38)

## [0.5.0] - 2014-12-24
### Added
 - Support for custom directives, parsers, and renderers

### Changed
 - Major refactoring to de-couple directives from the parser, support custom directive functionality, and reduce complexity
 - Updated references to stmd.js in README and docblocks
 - Modified CHANGELOG formatting
 - Improved travis configuration
 - Put tests in autoload-dev

### Fixed
 - Fixed CommonMarkConverter re-creating object each time new text is converted (#26)

### Removed
 - Removed HtmlRenderer::render() (use the renderBlock method instead)
 - Removed dependency on symfony/options-resolver (fixes #20)

## [0.4.0] - 2014-12-15
### Added
 - Added some missing copyright info

### Changed
 - Changed namespace to League\CommonMark
 - Made compatible with spec version 0.13
 - Moved delimiter stack functionality into separate class

### Fixed
 - Fixed regex which caused HHVM tests to fail

## [0.3.0] - 2014-11-28
### Added
 - Made renderer options configurable (issue #7)

### Changed
 - Made compatible with spec version 0.12
 - Stack-based parsing now used for emphasis, links and images
 - Protected some of the internal renderer methods which shouldn't have been `public`
 - Minor code clean-up (including PSR-2 compliance)

### Removed
 - Removed unnecessary distinction between ATX and Setext headers

## [0.2.1] - 2014-11-09
### Added
 - Added simpler string replacement to a method

### Changed
 - Removed "is" prefix from boolean methods
 * Updated to latest version of PHPUnit
 * Target specific spec version

## [0.2.0] - 2014-11-09
### Changed
 - Mirrored significant changes and improvements from stmd.js
 - Made compatible with spec version 0.10
 - Updated location of JGM's repository
 - Allowed HHVM tests to fail without affecting overall build success

### Removed
 - Removed composer.lock
 - Removed fixed reference to jgm/stmd@0275f34

## [0.1.2] - 2014-09-28
### Added
 - Added performance benchmarking tool (issue #2)
 - Added more badges to the README

### Changed
 - Fix JS -> PHP null judgement (issue #4)
 - Updated phpunit dependency

## [0.1.1] - 2014-09-08
### Added
 - Add anchors to regexes

### Changed
 - Updated target spec (now compatible with jgm/stmd:spec.txt @ 2cf0750)
 - Adjust HTML output for fenced code
 - Adjust block-level tag regex (remove "br", add "iframe")
 - Fix incorrect handling of nested emphasis

## 0.1.0
### Added
 - Initial commit (compatible with jgm/stmd:spec.txt @ 0275f34)

[0.19.3]: https://github.com/thephpleague/commonmark/compare/0.19.2...0.19.3
[0.19.2]: https://github.com/thephpleague/commonmark/compare/0.19.1...0.19.2
[0.19.1]: https://github.com/thephpleague/commonmark/compare/0.19.0...0.19.1
[0.19.0]: https://github.com/thephpleague/commonmark/compare/0.18.5...0.19.0
[0.18.5]: https://github.com/thephpleague/commonmark/compare/0.18.4...0.18.5
[0.18.4]: https://github.com/thephpleague/commonmark/compare/0.18.3...0.18.4
[0.18.3]: https://github.com/thephpleague/commonmark/compare/0.18.2...0.18.3
[0.18.2]: https://github.com/thephpleague/commonmark/compare/0.18.1...0.18.2
[0.18.1]: https://github.com/thephpleague/commonmark/compare/0.18.0...0.18.1
[0.18.0]: https://github.com/thephpleague/commonmark/compare/0.17.5...0.18.0
[0.17.5]: https://github.com/thephpleague/commonmark/compare/0.17.4...0.17.5
[0.17.4]: https://github.com/thephpleague/commonmark/compare/0.17.3...0.17.4
[0.17.3]: https://github.com/thephpleague/commonmark/compare/0.17.2...0.17.3
[0.17.2]: https://github.com/thephpleague/commonmark/compare/0.17.1...0.17.2
[0.17.1]: https://github.com/thephpleague/commonmark/compare/0.17.0...0.17.1
[0.17.0]: https://github.com/thephpleague/commonmark/compare/0.16.0...0.17.0
[0.16.0]: https://github.com/thephpleague/commonmark/compare/0.15.7...0.16.0
[0.15.7]: https://github.com/thephpleague/commonmark/compare/0.15.6...0.15.7
[0.15.6]: https://github.com/thephpleague/commonmark/compare/0.15.5...0.15.6
[0.15.5]: https://github.com/thephpleague/commonmark/compare/0.15.4...0.15.5
[0.15.4]: https://github.com/thephpleague/commonmark/compare/0.15.3...0.15.4
[0.15.3]: https://github.com/thephpleague/commonmark/compare/0.15.2...0.15.3
[0.15.2]: https://github.com/thephpleague/commonmark/compare/0.15.1...0.15.2
[0.15.1]: https://github.com/thephpleague/commonmark/compare/0.15.0...0.15.1
[0.15.0]: https://github.com/thephpleague/commonmark/compare/0.14.0...0.15.0
[0.14.0]: https://github.com/thephpleague/commonmark/compare/0.13.4...0.14.0
[0.13.4]: https://github.com/thephpleague/commonmark/compare/0.13.3...0.13.4
[0.13.3]: https://github.com/thephpleague/commonmark/compare/0.13.2...0.13.3
[0.13.2]: https://github.com/thephpleague/commonmark/compare/0.13.1...0.13.2
[0.13.1]: https://github.com/thephpleague/commonmark/compare/0.13.0...0.13.1
[0.13.0]: https://github.com/thephpleague/commonmark/compare/0.12.0...0.13.0
[0.12.0]: https://github.com/thephpleague/commonmark/compare/0.11.3...0.12.0
[0.11.3]: https://github.com/thephpleague/commonmark/compare/0.11.2...0.11.3
[0.11.2]: https://github.com/thephpleague/commonmark/compare/0.11.1...0.11.2
[0.11.1]: https://github.com/thephpleague/commonmark/compare/0.11.0...0.11.1
[0.11.0]: https://github.com/thephpleague/commonmark/compare/0.10.0...0.11.0
[0.10.0]: https://github.com/thephpleague/commonmark/compare/0.9.0...0.10.0
[0.9.0]: https://github.com/thephpleague/commonmark/compare/0.8.0...0.9.0
[0.8.0]: https://github.com/thephpleague/commonmark/compare/0.7.2...0.8.0
[0.7.2]: https://github.com/thephpleague/commonmark/compare/0.7.1...0.7.2
[0.7.1]: https://github.com/thephpleague/commonmark/compare/0.7.0...0.7.1
[0.7.0]: https://github.com/thephpleague/commonmark/compare/0.6.1...0.7.0
[0.6.1]: https://github.com/thephpleague/commonmark/compare/0.6.0...0.6.1
[0.6.0]: https://github.com/thephpleague/commonmark/compare/0.5.1...0.6.0
[0.5.1]: https://github.com/thephpleague/commonmark/compare/0.5.0...0.5.1
[0.5.0]: https://github.com/thephpleague/commonmark/compare/0.4.0...0.5.0
[0.4.0]: https://github.com/thephpleague/commonmark/compare/0.3.0...0.4.0
[0.3.0]: https://github.com/thephpleague/commonmark/compare/0.2.1...0.3.0
[0.2.1]: https://github.com/thephpleague/commonmark/compare/0.2.0...0.2.1
[0.2.0]: https://github.com/thephpleague/commonmark/compare/0.1.2...0.2.0
[0.1.2]: https://github.com/thephpleague/commonmark/compare/0.1.1...0.1.2
[0.1.1]: https://github.com/thephpleague/commonmark/compare/0.1.0...0.1.1

Youez - 2016 - github.com/yon3zu
LinuXploit