From f410a7e9c933a524042172c47afee549adaace38 Mon Sep 17 00:00:00 2001 From: krflol Date: Tue, 6 Oct 2026 22:11:58 -0500 Subject: [PATCH 1/2] Use .NET 0.1.6 with portable standard-font previews --- docs/assets/aspnet/project.zip | Bin 666058 -> 666072 bytes docs/assets/aspnet/source.json | 16 +++++++-------- docs/assets/aspnet/verification.json | 10 ++++----- docs/getting-started/dotnet.md | 26 ++++++++++++++++-------- docs/guides/aspnet-pdf.md | 4 ++-- docs/index.md | 4 ++-- examples/aspnet/FullbleedWeb.csproj | 2 +- examples/aspnet/README.md | 2 +- examples/aspnet/packages.lock.json | 6 +++--- examples/dotnet/NorthstarInvoice.csproj | 2 +- tools/build_aspnet_starter.py | 2 +- tools/verify_aspnet_starter.py | 2 +- 12 files changed, 42 insertions(+), 34 deletions(-) diff --git a/docs/assets/aspnet/project.zip b/docs/assets/aspnet/project.zip index 2a296c2d326a2f56beaa772d7d8b8b4a84f5f2b0..7e6bd5f7de2707b2b12d5cc2625e5c50a0e06fd1 100644 GIT binary patch delta 2072 zcmV+z2`-J`0zs5HYX{F3q>2? zoYW5XNOk6bN5goS$m>GK&(Yc(X|JftW{SacsaS7+6M0$a*y*mZMjQU{#%+8CPOU5? z@=EUDqP6x|KVxU1?;Ls|L8)}DHsF_rw=>jrZUVy82FESpv;p~l1<90Q_h%!WeGY3N za2lei)3&W36?vHG$pTdI1i1hf(I=2M=u$C^NAZJ*WPiyR9fRXv@1ys?UJeFwAfhog zhXuYUwcNBkF%(`8>5z(&zyp0l0sD}o$I5nPjo;qjWS8zT$|>vdUxf1yw=xk5t_uy2 zH*}*01polU2><{Zld*Rcmk=om34e`NU2haO6n#hHKU|52hG=#+OAD>S(?SwJg(M$$t*X2y1H&wljR_gv3R0+dP>D`nTdwvW#}=a?sS(YNiYWv=P^?1E~yv#nEg zBx7lLb6sAZ-_mOr`0=C1kCv2wE>7r!v8GckEwA5EYE+^PTMjC5Bt>hZlYem*)0Zx! zCMFfI+twM)v<|MLRd4GS2fn@i@V=neH#Y?-ThrRv6ifOPu}f;0e7|aqrb-aL5`^WM zOP8D~Iw=?B3%cyza3Zhto!T%RvE3NU^sIbdE*4Kq0bEs8Y#u+VU9zYQ920Irvsvr( z9oMtY)%-BqTbgP5$StcVMSs@K9#-Jfhc;4^l0Ti#7tek!Pw;PX`uyaVlYEezcjeiB zza(E!H_l<}K*v=do%TBd0hYxh$L1wNN8m)Rg1Nv30RHrIf>Er)^nuT5&K zZu=VQ+Zj9Czxb&D3fu4HD;;fsNIxye#r-fRAmoP%9p+c)lYhXKebLC=W)43@`fMze z5a;h@E0~P+U4%ArH$@Et8L{^safAy7TDBfhG4J}=7PS2Mf$~!D5KPw@yD8{$;AnYu zTTsME%d@q4pf=ZFBZZphV38>9&4MaAn<`u7nB=B$14yn*RWYIxl=#L9^ zltLkEI0=f}r+;4TDJh)T4r$sR#zZV>S=V%MeGr9XKuH0JP`y|njRToJg+E$5^k){e z^U(d2#DDc14zwDuNyh|OU|0eEQYD>7tvu%+Sc8I;7sG)P+jJy6@;>KRK^5fsDVf%! zL-`i5bZ#}WwR-xJ?y@u|eGQnz*dPv11NGv@FRzhh8h>0{(%IO-y_e9Gi-eU)knCYV zFgRII;}yzW%L4|-c?Y=A@E|rR;1FEENRN#wAIuh5#O<@}&M}*;i`J~yh@x|)8*BuI zB5VUrCgin=0tRhCup)dWD-BOiNmqD(23XXoLyk_5?+^rh6kn2qEm~Z5pgQj_iKJOJ zsh*$wSbxD7siEp4r*N1p*AVzAJ*$d5jHrO%cFJT8VRg@=7w{RP3#ZNQ#nnf#Tx&X* zKWi26q3~5Noy^0dMn|zf5GwXMSlt9?T@S-8W$CD2tevPqS#}$SMjhq$3hIZ=3Ox5< zQCUHVKbl)a@%z9eNk{H9EBh_17&bddIh6pZ!%B<*ucgu0 zRA3NcMGXRpeWhyHA3!6dt$(AA=LEKO`!8V8r957WF8E_bsSp&-6P>p~^5ODI?lS(e z3;YdZS40K*9Y02%-Q00000000000HlG{91553910tk z87T@X0TY)*DGDzeOoHn}-v9srJplj!BLDyZ0000000000q=BfHjwuQ@2FN1{0002S CH^kWh delta 2057 zcmV+k2=@2b(afB$`H)ma}mdaAUmDdQ-&T*J&t4AaR{} zzQW2`H>6cTg) z_2mZwe{8X{bqQ~1$AM7R!_>@p{T)@`vVms+MXpc2Pvy|>e{A%u0kJeb0P)RoK=`!d z505&XRNk(D^R@H)T;-dqHH9UKScJP+2?!F78U7fRGOrI`l749)TsKV)7-^QNJ_>w}0I4N3-p1l5b`)6kHqQ~1%^p*EAKorly9S^HPdVNZ*K zOsXZY0z>_9I`hgV_Ly*n5&aIfRjQ(VFEF*>j=v8ViA+2*ZGp1MbE|fr6qS zLygtX7-MLo{VNC-%6t4!7pX7@a}08hy(>^6B2Rv*P|t?6LU|V18U|jLRGxDl7Q#qq&tr!uKF$ zgsfE7iWIB6&6D9-;%w&Fb(%-{J7yxwxT zmVVPtcElyM>JbQ;CFsB`4-;8(0xSN0B;g*B?v2y2S{`nIs^QHv&y7@mn|s@8k4kl5tl+D3UmoaXWqcw0000nm%kzkDt}eYO;5r=5P;!(e?_x5 zlcsjj3NhgzBBCI)1ySosyHjmkXUpysP}2YI)=#`lGVe3VY#rBSE6}D;$c|m^HM@Wk zPyl8H7#p{?*@{3s@PprA)1Z>FCjo@tS2O|IF{|`ef-S6HXvm0pf1+VofgunL-v>VT zL(kp&e_@ndeO?`W`YvV)36O>l=DG397%*Q{(T2}4oObf`;=R?;$v{0u`yn4k!*Ifr zsYr9wi!11*Cx`8u)~lLbukQ$t4obev_4)Wr#&VOr+>YXP`*f5%b-V2QW9|IR+NnPP zx5y(3^#ci`@=G}*0RR9Nm&PXwV*xUkDkut20mhemC<;XZc$dK_3N9N>2#A6G1ONb> z2><{Z00000000000001_fzp=>DGEme2Otrue - + diff --git a/examples/aspnet/README.md b/examples/aspnet/README.md index d46b7c2..4d7f5e2 100644 --- a/examples/aspnet/README.md +++ b/examples/aspnet/README.md @@ -1,6 +1,6 @@ # Fullbleed PDF downloads in ASP.NET Core -A .NET 10 Minimal API that generates a fictional Northstar invoice from bundled HTML, CSS, and fonts. Uses the public `FullBleed.DotNet` 0.1.5 NuGet package (engine 2.5.10). +A .NET 10 Minimal API that generates a fictional Northstar invoice from bundled HTML, CSS, and fonts. Uses the public `FullBleed.DotNet` 0.1.6 NuGet package (engine 2.5.11). ```sh dotnet restore --locked-mode diff --git a/examples/aspnet/packages.lock.json b/examples/aspnet/packages.lock.json index 88949e7..31175f2 100644 --- a/examples/aspnet/packages.lock.json +++ b/examples/aspnet/packages.lock.json @@ -4,9 +4,9 @@ "net10.0": { "FullBleed.DotNet": { "type": "Direct", - "requested": "[0.1.5, )", - "resolved": "0.1.5", - "contentHash": "JQenfVuPx1Tn5O8fZIz28rRFobP/51LPH5N1ROdZfnrVMeBZA47W2moSUwYtn63p1qfrGLElQlxckXKQw7CKRg==" + "requested": "[0.1.6, )", + "resolved": "0.1.6", + "contentHash": "aw/XplkgXTk62YDDg6yVK5XxS42Y490NszRch9DGCnjC5i/+tQV2QEMAFXyCACcBmQhqN7y/0c3cM7s0aWH2Xg==" } } } diff --git a/examples/dotnet/NorthstarInvoice.csproj b/examples/dotnet/NorthstarInvoice.csproj index 68740d3..1204779 100644 --- a/examples/dotnet/NorthstarInvoice.csproj +++ b/examples/dotnet/NorthstarInvoice.csproj @@ -7,7 +7,7 @@ enable - + diff --git a/tools/build_aspnet_starter.py b/tools/build_aspnet_starter.py index e9edbd3..24b9938 100644 --- a/tools/build_aspnet_starter.py +++ b/tools/build_aspnet_starter.py @@ -39,7 +39,7 @@ def build(): (ASSETS / "project.zip").write_bytes(archive) manifest = { "source": "https://github.com/fullbleed-engine/docs/tree/main/examples/aspnet", - "framework": "net10.0", "package": "FullBleed.DotNet", "packageVersion": "0.1.5", + "framework": "net10.0", "package": "FullBleed.DotNet", "packageVersion": "0.1.6", "projectZipSha256": digest(archive), "files": [{"path": name, "bytes": len(data), "sha256": digest(data)} for name, data in files.items()], "outputs": {name: digest((ASSETS / name).read_bytes()) for name in ["invoice.pdf", "invoice.png"]}, diff --git a/tools/verify_aspnet_starter.py b/tools/verify_aspnet_starter.py index b7239ed..4fb96e9 100644 --- a/tools/verify_aspnet_starter.py +++ b/tools/verify_aspnet_starter.py @@ -193,7 +193,7 @@ def concurrent_request(_): package = installed / f"fullbleed.dotnet.{version}.nupkg" provenance = json.loads((installed / "native-provenance.json").read_text(encoding="utf-8")) engine = next(item for item in provenance["dependencies"] if item["name"] == "fullbleed") -assert version == "0.1.5" and engine["version"] == "2.5.10" +assert version == "0.1.6" and engine["version"] == "2.5.11" report = { "ok": True, "checkedAt": datetime.now(timezone.utc).isoformat(), "platform": platform.system(), "architecture": platform.machine(), From 522bfa1b73e79c25ce1bf26475a7ce3da10d3b7c Mon Sep 17 00:00:00 2001 From: krflol Date: Tue, 6 Oct 2026 22:19:19 -0500 Subject: [PATCH 2/2] Rebuild ASP.NET ZIP from committed LF sources --- docs/assets/aspnet/project.zip | Bin 666072 -> 666058 bytes docs/assets/aspnet/source.json | 14 +++++++------- docs/assets/aspnet/verification.json | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/assets/aspnet/project.zip b/docs/assets/aspnet/project.zip index 7e6bd5f7de2707b2b12d5cc2625e5c50a0e06fd1..58f08a21c3f71e6a87adc77438ca2168950e1723 100644 GIT binary patch delta 2057 zcmV+k2=@2b(afB$`H)ma}mdaAUmDdQ-&T*J&t4AaR{} z7$3%)mkuR3$-ic?J|)vS6& zSN%IqU_&W`0+8IK6^&zjY)a154(sS%9`|jJjk{73jsu~rhpCzI`a7z=WdqLuid>(3pUR;>f7s|*17c}>0OFhFfbeO@ zA0Bm@RoH9UKScH`v(HD^u3gIyNE#DR1sC?G1ifgKR2dt|s$@0{1uTLJh9d}L zXihvjE>CSY%9#{^$PNdef9-$KMKT?evv~|S+i)n1KeeK?!F78U7fRGOrI`l749)TQY|mM2T|NNpa2 zg%nN}z*65L$<{6=bUdP@75A&O_>lto^I!u%|^q zCe;#HfuVj_N>y|owep-lFb4xto($7TFw>E6$h#a=W2&Lk&&jkV?W_05pmVDcp!M_D zbf0B;&{n}DUIu9hf9l16Umqh&G`O~+v!QxBe=q4M2MG(4AlH3CP|Pc+anFEfxt`!N z?*JC+Ei#jC4#5Sq^jN0$!EAs;>^;ez9Ky)DXw7no>^WC@jfKEZgkiwQ0e54fKtWNE zp-7v9iOSVd(KYUu0*X4d&q3+&4k^Gv@ijRZqQy}Q(RqD|AkDH!{qp3;8kR_Fsy}fG zfBVUN32C3wi+Y@!kr0sDR++3H%@mn|s@8k4kl5tl+D3Ump-pVHOc0000nm%kzkDt}eYO>crg5P;!3zk=+o zDS?G5MiURp)|xbuU>m!pC$da{x?PYRZK>hEcj=e*GReHpBy+NCn;fChWu?f(_MLvu zpazwJ5+!I8Po|lw0DbDxzhKhhAmv;FWG<^P2D~t%*w$bQVPyjXiF1|)_6N`iSm6fp1yg!mb;uk?!sWpSRS^U`yqdS7zEqFn8x~J zEs8O_i_}XrEWK+?HbHW`nk{%6%_1>>O^SUyYCS4$#A>8z`m_vqKAn=EkDc{9JFEKy zx5y(3^#cjv3bF_z0RR9Nm&PXwV*xUkDkut20mhemC<;XZc$dK_3N9PHGIv7#1ONb> z2><{Z00000000000001_fzp=>DGEme2OJ delta 2072 zcmV+z2`-J`0zs5HYX{F3q>2? zoYW5XNOk6bN5goS$m>GK&(Yc(X|JftW{SacsaS7+6M0$a*y*mZMjQU{#%+8CPOU5? z@=EUDqP6x|KVxU1?;Ls|L8)}DHsF_rw=>jrZUVy82FESpv;p~l1<90Q_h%!WeGY3N za2lei)3&W36?vHG$pTdI1i1hf(I=2M=u$C^NAZJ*WPiyR9fRXv@1ys?UJeFwAfhog zhXuYUwcNBkF%(`8>5z(&zyp0l0sD}o$I5nPjo;qjWS8zT$|>vdUxf1yw=xk5t_uy2 zH*}*01polU2><{Zld*Rcmk=om34e`NU2haO6n#hHKU|52hG=#+OAD>S(?SwJg(M$$t*X2y1H&wljR_gv3R0+dP>D`nTdwvW#}=a?sS(YNiYWv=P^?1E~yv#nEg zBx7lLb6sAZ-_mOr`0=C1kCv2wE>7r!v8GckEwA5EYE+^PTMjC5Bt>hZlYem*)0Zx! zCMFfI+twM)v<|MLRd4GS2fn@i@V=neH#Y?-ThrRv6ifOPu}f;0e7|aqrb-aL5`^WM zOP8D~Iw=?B3%cyza3Zhto!T%RvE3NU^sIbdE*4Kq0bEs8Y#u+VU9zYQ920Irvsvr( z9oMtY)%-BqTbgP5$StcVMSs@K9#-Jfhc;4^l0Ti#7tek!Pw;PX`uyaVlYEezcjeiB zza(E!H_l<}K*v=do%TBd0hYxh$L1wNN8m)Rg1Nv30RHrIf>Er)^nuT5&K zZu=VQ+Zj9Czxb&D3fu4HD;;fsNIxye#r-fRAmoP%9p+c)lYhXKebLC=W)43@`fMze z5a;h@E0~P+U4%ArH$@Et8L{^safAy7TDBfhG4J}=7PS2Mf$~!D5KPw@yD8{$;AnYu zTTsME%d@q4pf=ZFBZZphV38>9&4MaAn<`u7nB=B$14yn*RWYIxl=#L9^ zltLkEI0=f}r+;4TDJh)T4r$sR#zZV>S=V%MeGr9XKuH0JP`y|njRToJg+E$5^k){e z^U(d2#DDc14zwDuNyh|OU|0eEQYD>7tvu%+Sc8I;7sG)P+jJy6@;>KRK^5fsDVf%! zL-`i5bZ#}WwR-xJ?y@u|eGQnz*dPv11NGv@FRzhh8h>0{(%IO-y_e9Gi-eU)knCYV zFgRII;}yzW%L4|-c?Y=A@E|rR;1FEENRN#wAIuh5#O<@}&M}*;i`J~yh@x|)8*BuI zB5VUrCgin=0tRhCup)dWD-BOiNmqD(23XXoLyk_5?+^rh6kn2qEm~Z5pgQj_iKJOJ zsh*$wSbxD7siEp4r*N1p*AVzAJ*$d5jHrO%cFJT8VRg@=7w{RP3#ZNQ#nnf#Tx&X* zKWi26q3~5Noy^0dMn|zf5GwXMSlt9?T@S-8W$CD2tevPqS#}$SMjhq$3hIZ=3Ox5< zQCUHVKbl)a@%z9eNk{H9EBh_17&bddIh6pZ!%B<*ucgu0 zRA3NcMGXRpeWhyHA3!6dt$(AA=LEKO`!8V8r957WF8E_bsSp&-6P>p~^5ODI?lS(e z3;YdZS40K*9Y02%-Q00000000000HlG{91553910tk z87T@X0TY)*DGDzeOoHn}-v9srJplj!BLDyZ0000000000q=BfHjwuQ@2FN1{0002S CH^kWh diff --git a/docs/assets/aspnet/source.json b/docs/assets/aspnet/source.json index 2d8d08c..12935ed 100644 --- a/docs/assets/aspnet/source.json +++ b/docs/assets/aspnet/source.json @@ -3,7 +3,7 @@ "framework": "net10.0", "package": "FullBleed.DotNet", "packageVersion": "0.1.6", - "projectZipSha256": "5ee59755e7ab3b67371e12bbea0faa0ff5d6e6f47f0462fa14e2d85780c8df22", + "projectZipSha256": "d1ae5a403f64f1d9c1037d63c90f4b3eac55762af7a7d83ceca529c7e542fa4a", "files": [ { "path": "Assets/fonts/BebasNeue-OFL.txt", @@ -62,8 +62,8 @@ }, { "path": "FullbleedWeb.csproj", - "bytes": 547, - "sha256": "869dd9eefc334b5338e795c09dd7296ef5d4e77924cca6d7d62ac6d8b5a84da0" + "bytes": 534, + "sha256": "e8be83f61609d89459784ccb714a9f69770114da888cac266284d03f193ae23a" }, { "path": "InvoiceRenderer.cs", @@ -82,8 +82,8 @@ }, { "path": "README.md", - "bytes": 2499, - "sha256": "7b25fe8a90bff71a92399d96b341b86d09447f181f25168baf985d2f7abb60d9" + "bytes": 2460, + "sha256": "8ba0734422df2353c8d0ed692877bcff9d34a562e3601454d810c988c860a42c" }, { "path": "global.json", @@ -92,8 +92,8 @@ }, { "path": "packages.lock.json", - "bytes": 317, - "sha256": "6a2268c1eb0ff0ddf2aea3630fbf4dabdfdc71693f1d6001ea880738c45d104c" + "bytes": 305, + "sha256": "7b946040ffcf764a043bde1bac3b28cf40bb758b4f983ba99a809acaa377868b" } ], "outputs": { diff --git a/docs/assets/aspnet/verification.json b/docs/assets/aspnet/verification.json index caff41b..4791ff4 100644 --- a/docs/assets/aspnet/verification.json +++ b/docs/assets/aspnet/verification.json @@ -1,6 +1,6 @@ { "ok": true, - "checkedAt": "2026-10-07T03:04:45.681195+00:00", + "checkedAt": "2026-10-07T03:17:42.756735+00:00", "platform": "Windows", "architecture": "AMD64", "runtime": "10.0.12", @@ -10,7 +10,7 @@ "engineVersion": "2.5.11", "packageSha256": "eff0aec8678dc2b974c8bd9f1a98cba5e4583f0d67e84ab1f9ae70b4b40c848d", "freshNuGetCache": true, - "projectZipSha256": "5ee59755e7ab3b67371e12bbea0faa0ff5d6e6f47f0462fa14e2d85780c8df22", + "projectZipSha256": "d1ae5a403f64f1d9c1037d63c90f4b3eac55762af7a7d83ceca529c7e542fa4a", "pdfSha256": "6f898f935a5491572e5b6222428cc861c8d131694a73c441036e8545f477367f", "previewSha256": "72420749ccc3deaa8025daf7baffcdf79be716b6e8e93ed605effebed01e86c7", "commands": [