Gin 1.12.0 منتشر شد
Gin v1.12.0
ویژگیها
- feat(binding): افزودن پشتیبانی encoding.UnmarshalText در binding uri/query (#4203)
- feat(context): افزودن متدهای GetError و GetErrorSlice برای بازیابی خطا (#4502)
- feat(context): افزودن پشتیبانی Protocol Buffers به مذاکره محتوا (#4423)
- feat(context): پیادهسازی متد Delete (#4296)
- feat(gin): افزودن گزینه برای استفاده از مسیر فرار شده (#4420)
- feat(logger): تاخیر رنگی (#4146)
- feat(render): افزودن پروتکل bson (#4145)
رفع اشکالات
- fix(binding): خطای مقدار خالی (#2169)
- fix(binding): بهبود مدیریت اسلایس/آرایه خالی در binding فرم (#4380)
- fix(context): رفع مدیریت ClientIP برای مقادیر header X-Forwarded-For متعدد (#4472)
- fix(debug): عدم تطابق نسخه (#4403)
- fix(gin): بستن os.File در RunFd برای جلوگیری از نشت منبع (#4422)
- fix(gin): رفع مسارهای دو نقطهای که با engine.Handler() کار نمیکنند (#4415)
- fix(recover): سرکوب http.ErrAbortHandler در recovery (#4336)
- fix(render): نوشتن طول محتوا در Data.Render (#4206)
- fix(response): بهبود رفتار hijack برای چرخهی زندگی پاسخ (#4373)
- fix(tree): رفع panic در findCaseInsensitivePathRec با RedirectFixedPath (#4535)
- fix: تصحیح اشتباهات تایپی، بهبود وضوح مستندات، و حذف کدهای مردہ (#4511)
بهبودها
- chore(binding): ارتقاء وابستگی bson به mongo-driver v2 (#4549)
- chore(context): همیشه اعتماد به headerهای xff از unix socket (#3359)
- chore(deps): ارتقاء golang.org/x/crypto به v0.45.0 (#4449)
- chore(deps): ارتقاء quic-go به v0.57.1 (#4532)
- chore(logger): اجازه دادن برای حذف خروجی query string (#4547)
- chore(response): جلوگیری از panic Flush() در صورت وجود
http.Flusher(#4479)
بازسازی
- refactor(binding): استفاده از maps.Copy برای مدیریت نقشه تمیزتر (#4352)
- refactor(context): حذف نامهای مقادیر بازگشتی (#4395)
- refactor(context): جایگزینی آدرهای IP localhost کدگذاری شده با ثابتها (#4481)
- refactor(context): استفاده از maps.Clone (#4333)
- refactor(ginS): استفاده از sync.OnceValue برای سادهسازی تابع engine (#4314)
- refactor(recovery): مقایسه هوشمند خطا (#4142)
- refactor(utils): انتقال توابع util به utils.go (#4467)
- refactor: حلقه for میتواند با استفاده از range بر int مدرنیزه شود (#4392)
- refactor: جایگزینی اعداد جادویی با ثابتهای نامگذاری شده در bodyAllowedForStatus (#4529)
- refactor: استفاده از b.Loop() برای سادهسازی کد و بهبود عملکرد (#4389, #4432)
بهروزرسانیهای فرآیند ساخت / CI
- ci(bot): افزایش بسامد و گروهبندی بهروزرسانیهای وابستگی (#4367)
- ci(lint): بازسازی تأکیدات تست و پیکربندی linter (#4436)
- ci(sec): بهبود ایمنی نوع و سازماندهی سرور در HTTP middleware (#4437)
- ci(sec): زمانبندی اسکنهای امنیتی Trivy برای اجرا روزانه در نیمهشب UTC (#4439)
- ci: جایگزینی گردش کار اسکن آسیبپذیری با ادغام Trivy (#4421)
- ci: بهروزرسانی گردشهای کار CI و استانداردسازی نقلهای پیکربندی Trivy (#4531)
- ci: بهروزرسانی پشتیبانی نسخه Go به 1.25+ در سراسر CI و مستندات (#4550)
بهروزرسانیهای مستندات
- docs(README): افزودن نشان اسکن امنیتی Trivy (#4426)
- docs(context): افزودن نظرات نمونه برای متدهای ShouldBind* (#4428)
- docs(context): رفع برخی نظرات (#4396)
- docs(context): رفع نام تابع اشتباه در نظر (#4382)
- docs(readme): بازنمایی و گسترش مستندات برای وضوح و کمال (#4362)
- docs: اعلام انتشار Gin 1.11.0 با پیوند وبلاگ (#4363)
- docs: مستندات و نهاییسازی انتشار Gin v1.12.0 (#4551)
- docs: بازنمایی قالبهای مشارکت و پشتیبانی GitHub (#4364)
- docs: بازنمایی راهنمای مشارکت با دستورالعملهای جامع (#4365)
- docs: بهروزرسانی مستندات برای بازتاب تغییرات نسخه Go (#4552)
- docs: بهروزرسانی دستورالعملهای مستندات ویژگی برای پیوند مستندات شکسته (#4508)
عملکرد
- perf(path): جایگزینی regex با توابع سفارشی در redirectTrailingSlash (#4414)
- perf(recovery): بهینهسازی خواندن خط در تابع stack (#4466)
- perf(tree): بهینهسازی تجزیه مسیر با استفاده از strings.Count (#4246)
- perf(tree): کاهش تخصیصها در findCaseInsensitivePath (#4417)
تستها
- test(benchmarks): رفع نام تابع نادرست (#4375)
- test(bytesconv): افزودن تستها برای موارد خالی/nil (#4454)
- test(context): استفاده از ثابت http.StatusContinue به جای عدد جادویی 100 (#4542)
- test(debug): بهبود پوشش تست debug.go به 100% (#4404)
- test(gin): افزودن پوشش تست جامع برای بسته ginS (#4442)
- test(gin): حل شرایط نژاد در تستهای ادغام (#4453)
- test(render): افزودن تستهای جامع برای مدیریت خطا (#4541)
- test(render): افزودن تستهای جامع برای رندر MsgPack (#4537)