v2.10.1
We are pleased to announce the release of version 2.10.1. Featured are a handful of new areas of functionality and numerous bug fixes.
A summary of changes is available in the Release
The most notable changes in this release are:
Removed three exported error variables: ErrStreamSetColStyle, ErrStreamSetColWidth, and ErrStreamSetPanes.
- Added the
ChartDataPointdata type - Added the
DataPointfield toChartSeries - Added the
DropLinesandHighLowLinesfields toChartAxis - Added the
Namefield toGraphicOptions - Added two constants:
MaxGraphicAltTextLengthandMaxGraphicNameLength - Added 7 exported error variables:
ErrFillType,ErrFillGradientColor,ErrFillGradientShading,ErrFillPatternColor,ErrFillPattern,ErrMaxGraphicAltTextLengthandErrMaxGraphicNameLength - Added the exported function
GetHyperLinkCellsto retrieve hyperlink cells, related issue #1607 - Added the exported function
GetSheetProtectionto retrieve sheet protection settings - The
AddCommentfunction now returns an error when adding a comment to a cell that already has one - Added support for inserting ICO images, related issue #2234
- The
CalcCellValuefunction now supports two formula functions: SORTBY and UNIQUE - The
AddChartandAddChartSheetfunctions now support setting data point colors for doughnut, pie, and 3D pie charts, related issue #1904 - The
AddChartfunction now supports configuring font families for East Asian and complex-script fonts - The
AddChartfunction now supports drop lines and high-low lines for area and line charts - The
GetPicturesfunction can now return partial formatting properties, related issue #2157 - Added the
SetColVisiblefunction to the streaming writer to set column visibility, related issue #2075 - Added the
SetColOutlineLevelfunction to the streaming writer to group columns, related issue #2212 - The
AddShapeandAddSlicerfunctions now support one-cell anchor positioning for shapes and slicers - The
GetSlicersfunction now supports retrieving slicers with one-cell anchor positioning - The
SetConditionalFormat,GetConditionalFormats, andUnsetConditionalFormatfunctions now support the 3 triangles, 3 stars, and 5 boxes icon set conditional formats, related issue #2038 - The
UnsetConditionalFormatfunction now supports deleting a conditional format rule or data validation for a specific cell within a cell range - The
AddPictureandAddPictureFromBytesfunctions now support setting the picture name - The
AddChartandAddShapefunctions now support setting names and alternative text for charts and shapes - The
AddSlicerfunction now supports setting alternative text for slicers - Added validation for graphic names and alternative text length; returns an error when the length exceeds the limit
- Added UTF-16-aware length checking and truncation
- Removed empty rows on save, reducing the generated workbook file size
- Fixed a v2.10.0 regression where the
GetCellValueandGetRowsfunctions returned shared string indexes for empty strings, resolve issue #2240 - Fixed
GetPivotTablespanicking when retrieving pivot tables in some cases - Fixed a panic when reading cell values with certain number format codes containing Chinese month names, resolve issue #2224
- Fixed a panic when opening encrypted workbooks in some cases, resolve issue #2237
- Fixed missing column styles when using the streaming writer
SetRowfunction - Fixed
GetPicturesnot returning some cell images - Fixed workbook corruption caused by light theme color index overflow
- Fixed
DeleteDataValidationupdating data validation cell ranges incorrectly with unordered cell references - Fixed
SetConditionalFormatgenerating corrupted workbooks when setting time period conditional formatting rules - Fixed
CalcCellValuefailing to resolve references in some cases by trimming single quotes from sheet names - Fixed
NewStylecreating duplicate styles when using the default font or fill, resolve issue #2254
- Optimized
CalcCellValueby adding a calculation cache and limiting processing to actual data ranges, resolve issues #2057 and #2223 - Optimized
CalcCellValueformula evaluation forVLOOKUP, reducing memory usage and execution time by about 50%, resolve issue #2139 - Optimized
GetMergeCellsby speeding up overlap checks for merged cell ranges and reducing memory usage, resolve issue #2226 - Optimized applying number format codes by converting using continued-fraction recurrence formulas
- The dependencies module has been updated
- Unit tests and godoc updated
- Documentation website with multilingual: Arabic, German, English, Spanish, French, Italian, Japanese, Korean, Portuguese, Russian, Chinese Simplified and Chinese Traditional, which has been updated.
- excelize-wasm NPM package release update for WebAssembly / JavaScript support
- excelize PyPI package release update for Python
- ExcelizeCs NuGet .Net package release for C#
Thanks for all the contributors to Excelize. Below is a list of contributors that have code contributions in this version:
- @pjh591029530 (Simmons25)
- @Sang-Hyuk (SangHyuk)
- @wangacc
- @kenny-not-dead (Roman Sergeev)
- @pegasscience-cyber
- @jesusfelix951-lang
- @felixdevelopper-hue
- @shcabin
- @radam9
- @sqdtss
- @IvanHristov98 (Ivan Hristov)
- @yasarluo (Yasar Luo)
- @DengY11 (Yi Deng)
- @Kingson4Wu (Kingson4Wu)
- @zhuzhengyang (Zhu Zhengyang)
- @schbook
- @rhinewg
- @jpoz (James Pozdena)
- @sides-flow (Sides)
- @t4traw (Tatsuro Moriyama)
- @ijustyce (杨春)
- @d9c4
- @imirkin (Ilia Mirkin)
- @atmngw (Atsuki)
- @Flashcqxg
- @olivere (Oliver Eilhard)
- @susautw (Su, Rin)
- @ohauer (Olli Hauer)
- @yan00353-0729
v2.52.12
- CVE fix GHSA-mrq8-rjmw-wpq3
Full Changelog: https://github.com/gofiber/fiber/compare/v2.52.11...v2.52.12
v3.1.0
- expand middleware context helpers (#4079)
app := fiber.New(fiber.Config{
PassLocalsToContext: true, // default: false
})
// Works for requestid, csrf, session, basicauth, keyauth middlewares
app.Use(requestid.New())
app.Get("/", func(ctx fiber.Ctx) error {
// Value helpers from middlewares works now with 3 different context items
id := requestid.FromContext(ctx) // works always
id := requestid.FromContext(ctx.RequestCtx()) // works always
id := requestid.FromContext(ctx.Context()) // works only when `PassLocalsToContext` is true
return c.SendString(id)
})
https://docs.gofiber.io/api/fiber/#passlocalstocontext
- update utils and add go 1.26 for test workflow (#4087)
- optimize helpers performance (#4049)
- harden numeric constraint parsing and expand route tests (#4054)
- harden DefaultRes.Format against nil handler panics (#4105)
- guard nil request in adaptor LocalContextFromHTTPRequest (#4097)
- fix Unix-socket support in IsProxyTrusted (#4088)
- harden proxy nil client handling in Do/Forward paths (#4083)
- add nil-safety to response decode helpers (#4081)
- sanitize attachment/download filenames (#4070)
- harden flash cookie detection (#4078)
- fix bind struct validation only for struct targets (#4082)
- enforce Range header limit configuration (#4071)
- apply limits to msgp serialization (#4065)
- fix sanitizePath validation logic (#4064)
- fix Test method returning empty response on timeout (#4063)
- fix nil pointer dereference in context methods when accessed after release (#4062)
- retry addon: remove unnecessary sleep after last failed attempt (#4060)
- make TLS listener config discovery safer (#4055)
- validate nil services early and during lifecycle (#4050)
- skip non-string state keys during iteration (#4048)
- harden Port() handling (#4051)
- prevent panics on non-string log keys (#4046)
- bump streetsidesoftware/cspell-action from 8.2.0 to 8.3.0 (#4111)
- bump the golang-modules group with 3 updates (#4080)
- bump github.com/shamaton/msgpack/v3 from 3.0.0 to 3.1.0 (#4075)
- bump github.com/klauspost/compress from 1.18.3 to 1.18.4 (#4076)
- bump github.com/gofiber/schema from 1.6.0 to 1.7.0 (#4074)
- bump golang.org/x/sys from 0.40.0 to 0.41.0 in the golang-modules group (#4073)
- bump github/codeql-action from 4.32.3 to 4.32.4 (#4104)
- bump github/codeql-action from 4.32.1 to 4.32.2 (#4058)
- bump github/codeql-action from 4.32.0 to 4.32.1 (#4047)
- update versioned storage imports in middleware docs (#4102)
- update documentation for parser configuration and request handling (#4096)
- fix invalid Go slice literal in middleware registration example (#4095)
- document
uristruct tag forctx.Bind().URI()in migration guide (#4092) - document logger Stream rename (#4057)
📒 Documentation: https://docs.gofiber.io/next/
💬 Discord: https://gofiber.io/discord
Full Changelog: https://github.com/gofiber/fiber/compare/v3.0.0...v3.1.0
Thank you @ReneWerner87, @SadikSunbul, @gaby and @sixcolors for making this release possible.
v4.32.0
lego is an independent, free, and open-source project, if you value it, consider supporting it! ❤️
Everybody thinks that the others will donate, but in the end, nobody does.
So if you think that lego is worth it, please consider donating.
For key updates, see the changelog.
- 078a1889c87c750f6051a3dd9dc1e5e24e690ec8 Add DNS provider for ArtFiles (#2859)
- de869c8a7ebce8beb0397b470eda7d04dc89dbe2 Add DNS provider for Bluecat v2 (#2791)
- 4d41c52db80b5d0517475c2e50da7f3830ccc403 Add DNS provider for DDNSS (#2795)
- 527d51d4858a8b1dcad8b57e0f7d7d3f5dc7b72d Add DNS provider for DNSExit (#2787)
- 2e095b95a57621177a10ee1be2650406d8707524 Add DNS provider for FusionLayer NameSurfer (#2852)
- dd1ea80c08bb2a3551590f64ca40fc1fb2a7eb21 Add DNS provider for Leaseweb (#2856)
- 7f10c131f438d65b418cbb92840af978fbd19c67 Add DNS provider for TodayNIC/时代互联 (#2788)
- 2ce04a6586ea27253975e10d3ab7d7bb6214c79d alidns: add line record option (#2814)
- 16894fb99e3aa60fe0a5f9edcbea7a5fb9d32f34 allinkl: detect zone through API (#2721)
- 44b89b7e929c78575d28a9c35be0427ed06b8628 allinkl: factorize findZone
- d063b15c0266d7dd6709597f67f5c41d7764adc3 azure: reinforces deprecation (#2792)
- c1aaf19aac0953ddffdea549b31b176dfcdddb1f docs: make it more clear that any ACME CA may be used (#2841)
- 4a61728ff0db8179e060d185b73a8c0d539d4c91 fix: deduplicate authz for DNS01 challenge (#2828)
- fac5c39f5f9d36798a270af2d71578334001c2cf fix: implement parsing for Retry-After header according to RFC 7231 (#2830)
- d896c1f0366a5b60112c9a8b87861acacf037417 fix: preserve domain order (#2862)
- a7145a29ac5efc83c670248641ae25ff824876b3 fix: use IPs to define the main domain (#2817)
- c06f378f0ed626fe9f8edddfbe8647d50f4f36f3 namesurfer: fix updateDNSHost (#2854)
- 1991339cc15bc9468e4db101db465f50e568df88 timewebcloud: fix subdomain support (#2845)
v2.7.3 - Loads of fixes from around the community
A massive thanks to our community for contributing a lot of fixes for this latest release. The following highlights the main items:
- systray not functional within snap sandbox (systray#64)
- A dialog with a table. Selecting a cell and closing the dialog produces a Fyne error (#5166)
- Fix JNI crash due to invalid global reference when accessing Android file streams (#6067)
- Low frame rate with animated rectangles on 2.7.x (#6040)
- Random panic when launching the app (#5981)
- Tree Widget constantly calls IsBranch and ChildrenUIs (#4339)
- Font scanning fails in Flatpak due to broken symlinks
- Correct system tray icon on Linux when using SVG
- Button press animation sometimes leaks outside the bounds of the button (#6096)
- SVG cannot be loaded if it has currentColor at root element (#6102)
- Wrapped text is rendered poorly (blurred) (#4390)
- Blurry text in mobile Linux (#2280)
- On 2.3.0 text is fuzzy (#3464)
- Correct presentation of HTML entities when using markdown in RichText
- Accordion kills CPU by inefficient MinSize implementation (#6108)
- Tree with no data (with Accordion?) - triggers endless layout loop (#6094)
- NewRichTextFromMarkdown can't handle nested lists (#6113)
As always please do let us know if you experience any issues. We are now focusing on features for 2.8, but there will probably be one more bugfix release on the 2.7.x branch in a Month.
9.18.0
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.
note: Pending RS version release
This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:
- Relaxing timeouts during migration (SMIGRATING) to prevent false failures
- Triggering lazy cluster state reloads upon completion (SMIGRATED)
- Enabling seamless operations during Redis Enterprise maintenance windows
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new extra/redisotel-native package.
Metric groups include:
- Command metrics: Operation duration with retry tracking
- Connection basic: Connection count and creation time
- Resiliency: Errors, handoffs, timeout relaxation
- Connection advanced: Wait time and use time
- Pubsub metrics: Published and received messages
- Stream metrics: Processing duration and maintenance notifications
(#3637) by @ofekshenawa
- HOTKEYS Commands: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (#3695) by @ofekshenawa
- Streams Idempotent Production: Added support for Redis 8.6+ Streams Idempotent Production with
ProducerID,IdempotentID,IdempotentAutoinXAddArgsand newXCFGSETcommand (#3693) by @ofekshenawa - NaN Values for TimeSeries: Added support for NaN (Not a Number) values in Redis time series commands (#3687) by @ofekshenawa
- DialerRetries Options: Added
DialerRetriesandDialerRetryTimeouttoClusterOptions,RingOptions, andFailoverOptions(#3686) by @naveenchander30 - ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
- Digest Helper Functions: Added
DigestStringandDigestByteshelper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#3679) by @ofekshenawa - SMIGRATED New Format: Updated SMIGRATED parser to support new format and remember original host:port (#3697) by @ndyakov
- Cluster State Reload Interval: Added cluster state reload interval option for maintenance notifications (#3663) by @ndyakov
- PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after
WithTimeout()-pubSubPoolis now properly cloned (#3710) by @Copilot - MaintNotificationsConfig nil check: Guard against nil
MaintNotificationsConfigininitConn(#3707) by @veeceey - wantConnQueue zombie elements: Fixed zombie
wantConnelements accumulation inwantConnQueue(#3680) by @cyningsun - XADD/XTRIM approx flag: Fixed XADD and XTRIM to use
=when approx is false (#3684) by @ndyakov - Sentinel timeout retry: When connection to a sentinel times out, attempt to connect to other sentinels (#3654) by @cxljs
- Fuzz test optimization: Eliminated repeated string conversions, used functional approach for cleaner operation selection (#3692) by @feiguoL
- Pre-allocate capacity: Pre-allocate slice capacity to prevent multiple capacity expansions (#3689) by @feelshu
- Comprehensive TLS tests: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication (#3681) by @ndyakov
- Redis 8.6: Updated CI to use Redis 8.6-pre (#3685) by @ndyakov
- Deprecation warnings: Added deprecation warnings for commands based on Redis documentation (#3673) by @ndyakov
- Use errors.Join(): Replaced custom error join function with standard library
errors.Join()(#3653) by @cxljs - Use Go 1.21 min/max: Use Go 1.21's built-in min/max functions (#3656) by @cxljs
- Proper formatting: Code formatting improvements (#3670) by @12ya
- Set commands documentation: Added comprehensive documentation to all set command methods (#3642) by @iamamirsalehi
- MaxActiveConns docs: Added default value documentation for
MaxActiveConns(#3674) by @codykaup - README example update: Updated README example (#3657) by @cxljs
- Cluster maintnotif example: Added example application for cluster maintenance notifications (#3651) by @ndyakov
We'd like to thank all the contributors who worked on this release!
@12ya, @Copilot, @codykaup, @cxljs, @cyningsun, @feelshu, @feiguoL, @iamamirsalehi, @naveenchander30, @ndyakov, @ofekshenawa, @veeceey
9.18.0
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.
note: Pending RS version release
This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:
- Relaxing timeouts during migration (SMIGRATING) to prevent false failures
- Triggering lazy cluster state reloads upon completion (SMIGRATED)
- Enabling seamless operations during Redis Enterprise maintenance windows
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new extra/redisotel-native package.
Metric groups include:
- Command metrics: Operation duration with retry tracking
- Connection basic: Connection count and creation time
- Resiliency: Errors, handoffs, timeout relaxation
- Connection advanced: Wait time and use time
- Pubsub metrics: Published and received messages
- Stream metrics: Processing duration and maintenance notifications
(#3637) by @ofekshenawa
- HOTKEYS Commands: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (#3695) by @ofekshenawa
- Streams Idempotent Production: Added support for Redis 8.6+ Streams Idempotent Production with
ProducerID,IdempotentID,IdempotentAutoinXAddArgsand newXCFGSETcommand (#3693) by @ofekshenawa - NaN Values for TimeSeries: Added support for NaN (Not a Number) values in Redis time series commands (#3687) by @ofekshenawa
- DialerRetries Options: Added
DialerRetriesandDialerRetryTimeouttoClusterOptions,RingOptions, andFailoverOptions(#3686) by @naveenchander30 - ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
- Digest Helper Functions: Added
DigestStringandDigestByteshelper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#3679) by @ofekshenawa - SMIGRATED New Format: Updated SMIGRATED parser to support new format and remember original host:port (#3697) by @ndyakov
- Cluster State Reload Interval: Added cluster state reload interval option for maintenance notifications (#3663) by @ndyakov
- PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after
WithTimeout()-pubSubPoolis now properly cloned (#3710) by @Copilot - MaintNotificationsConfig nil check: Guard against nil
MaintNotificationsConfigininitConn(#3707) by @veeceey - wantConnQueue zombie elements: Fixed zombie
wantConnelements accumulation inwantConnQueue(#3680) by @cyningsun - XADD/XTRIM approx flag: Fixed XADD and XTRIM to use
=when approx is false (#3684) by @ndyakov - Sentinel timeout retry: When connection to a sentinel times out, attempt to connect to other sentinels (#3654) by @cxljs
- Fuzz test optimization: Eliminated repeated string conversions, used functional approach for cleaner operation selection (#3692) by @feiguoL
- Pre-allocate capacity: Pre-allocate slice capacity to prevent multiple capacity expansions (#3689) by @feelshu
- Comprehensive TLS tests: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication (#3681) by @ndyakov
- Redis 8.6: Updated CI to use Redis 8.6-pre (#3685) by @ndyakov
- Deprecation warnings: Added deprecation warnings for commands based on Redis documentation (#3673) by @ndyakov
- Use errors.Join(): Replaced custom error join function with standard library
errors.Join()(#3653) by @cxljs - Use Go 1.21 min/max: Use Go 1.21's built-in min/max functions (#3656) by @cxljs
- Proper formatting: Code formatting improvements (#3670) by @12ya
- Set commands documentation: Added comprehensive documentation to all set command methods (#3642) by @iamamirsalehi
- MaxActiveConns docs: Added default value documentation for
MaxActiveConns(#3674) by @codykaup - README example update: Updated README example (#3657) by @cxljs
- Cluster maintnotif example: Added example application for cluster maintenance notifications (#3651) by @ndyakov
We'd like to thank all the contributors who worked on this release!
@12ya, @Copilot, @codykaup, @cxljs, @cyningsun, @feelshu, @feiguoL, @iamamirsalehi, @naveenchander30, @ndyakov, @ofekshenawa, @veeceey
Wails v3.0.0-alpha.72
- Fix 20-30 minute hangs during
wails3 buildandwails3 devby excludingnode_modules/from go-task's up-to-date checking. Previously, thesources: "**/*"glob caused go-task to enumerate and checksum every file innode_modules/(50-100k+ files with heavy dependencies like MUI), especially slow on Windows/NTFS (#4939)
🤖 This is an automated nightly release generated from the latest changes in the v3-alpha branch.
Installation:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.72
v5.0.4 small fixes and improvements
- Remove unused import 'errors' from README example by @kumapower17 in https://github.com/labstack/echo/pull/2889
- Fix Graceful shutdown: after
http.Server.Servereturns we need to wait for graceful shutdown goroutine to finish by @aldas in https://github.com/labstack/echo/pull/2898 - Update location of oapi-codegen in README by @mromaszewicz in https://github.com/labstack/echo/pull/2896
- Add Go 1.26 to CI flow by @aldas in https://github.com/labstack/echo/pull/2899
- Add new function
echo.StatusCodeby @suwakei in https://github.com/labstack/echo/pull/2892 - CSRF: support older token-based CSRF protection handler that want to render token into template by @aldas in https://github.com/labstack/echo/pull/2894
- Add
echo.ResolveResponseStatusfunction to help middleware/handlers determine HTTP status code and echo.Response by @aldas in https://github.com/labstack/echo/pull/2900
- @mromaszewicz made their first contribution in https://github.com/labstack/echo/pull/2896
- @suwakei made their first contribution in https://github.com/labstack/echo/pull/2892
Full Changelog: https://github.com/labstack/echo/compare/v5.0.3...v5.0.4
goctl/v1.10.0
This goctl release brings enhanced Swagger support, improved Docker generation, and better multi-proto file handling.
- Proto Package Control: Added cmdline argument to control package name generation from proto filename (#5387)
- Multi-Proto Support: RPC service now uses
proto.Package.Nameto support multiple proto files (#5378)
- Swagger Generation: Fixed support for PUT, PATCH, DELETE methods with request body definitions (#5239)
- Docker Generation: Ensured Dockerfile includes etc directory and correct CMD based on config (#4343)
- Added comprehensive unit tests for goctl docker command (#5241)
- Bumped
github.com/spf13/cobrafrom 1.10.1 to 1.10.2 (#5312) - Bumped
github.com/emicklei/protofrom 1.14.2 to 1.14.3 (#5403)
- @JackGod001 made their first contribution in #4343
- @stemlaud made their first contribution in #5245
- @gfischer7 made their first contribution in #5254
- @lerity-yao made their first contribution in #5270
- @YunFy26 made their first contribution in #5281
- @mmfiRan made their first contribution in #5323
- @mk0walsk made their first contribution in #5375
- @Bension made their first contribution in #5372
Full Changelog: https://github.com/zeromicro/go-zero/compare/tools/goctl/v1.9.2...tools/goctl/v1.10.0