Skip to content

Releases: devfeel/dotweb

dotweb v1.8.3 Release, includes Redis client migration, security updates, and bug fixes

10 Mar 11:02
d5bf658

Choose a tag to compare

dotweb v1.8.3 Release Notes

Overview

dotweb v1.8.3 is now available! This release includes Redis client migration, security updates, and bug fixes.


What's Changed

New Features

Redis Client Migration (v1.8.2)

Item Old New
Redis Client redigo (deprecated) go-redis/v9

Impact: Internal implementation changed, API fully compatible

// No code changes required
// New features:
// - Connection pool management (MinIdleConns, PoolSize)
// - Context support

Security Updates (v1.8.2)

Fixed 12 Go standard library vulnerabilities:

CVE Component
GO-2026-4341 net/url
GO-2026-4340 crypto/tls
GO-2026-4337 crypto/tls
GO-2025-4175 crypto/x509
GO-2025-4155 crypto/x509
GO-2025-4013 crypto/x509
GO-2025-4012 net/http
GO-2025-4011 encoding/asn1
GO-2025-4010 net/url
GO-2025-4009 encoding/pem
GO-2025-4008 crypto/tls
GO-2025-4007 crypto/x509

Bug Fixes (v1.8.3)

Fix Description
Incr/Decr lock leak Use defer Unlock to prevent deadlock
Race conditions Passed race detection tests

CI/CD Enhancements

Item Change
golangci-lint Added code quality checks
Security scan Added weekly security scanning workflow

Breaking Changes

Change Impact
Go minimum version 1.22 - 1.24

WARNING: Warning: Go < 1.24 contains known vulnerabilities


Upgrade Guide

1. Update Go Version

# Minimum required: Go 1.24
go version  # Ensure >= 1.24

2. Update Dependency

go get -u github.com/devfeel/dotweb

3. Update Redis Dependency (if needed)

// Remove old dependency (deprecated)
// github.com/garyburd/redigo v1.6.0

// New dependency (included in dotweb)
github.com/redis/go-redis/v9 v9.18.0

4. Verify

go build ./...
go test ./...

Compatibility

Type Compatibility
Public API Fully compatible
Redis Cache Compatible with existing config
Session Store Compatible with existing config
Config Files No changes needed

Notes

  1. Go Version Required: Must use Go 1.24+
  2. Security Warning: Go < 1.24 has known vulnerabilities
  3. Redis Config: If using external Redis, ensure network accessibility

Related Links

v1.8.1 - Quality Improvement Release

05 Mar 05:03
a4b5810

Choose a tag to compare

v1.8.1 - Quality Improvement Release

🎯 Summary

This release focuses on test coverage** and **documentation improvements.

✨ Highlights

Test Coverage: Improved from 16.9% to 20.7% (+3.8%)
Examples: 10 new focused example projects
Documentation: Comprehensive example README and GoDoc improvements

📦 What's Changed

Test Coverage
Added comprehensive tests for uploadfile module
Fixed test race conditions
Improved CI/CD reliability

Examples
New examples: quickstart, bind, config, file-upload, json-api, middleware, mock, router, routing, session, websocket
Restructured: Single-purpose examples for better learning

Documentation: Added comprehensive example README

Bug Fixes
Fixed test race conditions
Fixed example compilation errors

📝 Pull Requests

#297: Test coverage improvements and example refactoring
#299: Version bump to 1.8.1

🔄 Migration

No breaking changes. Fully backward compatible with v1.8.0.

v1.8: Go 1_21 Upgrade + Dependency Updates + Fix go vet warnings + pprof production security hardening

02 Mar 08:43
9702ab9

Choose a tag to compare

v1.8 Release Notes

Highlights

Go 1_21 Upgrade + Dependency Updates + Fix go vet warnings + pprof production security hardening


⬆️ Upgrade

  • Go version upgraded to 1_21
  • golang_org/x/net upgraded to v0_23_0

🐛 Bug Fixes

Issue Description
#276 Resolve go vet warnings across codebase
- Fix loop variable capture in cache_runtime_test_go
- Fix sync_Pool copy warning in server_test_go
- Remove unreachable code in session/session_go

🔒 Security

Change Description
- pprof is now only enabled in development mode

⚠️ Breaking Change: pprof is no longer available in production by default. To enable, explicitly set RunMode = "development".

// Enable pprof (development only)
app_SetDevelopmentMode()
app_SetPProfConfig(true, 8080)

🔧 Improvements

  • Use keyed fields for HideReaddirFS struct in router_go
  • Improve code clarity and reduce warnings

Full Changelog: v1_7.22...v1_7.23\

**2026.03.02 at ShangHai.

add HttpContext.DestorySession() to delete all contents of the session and set the sessionId to empty

16 Apr 05:21
a96787b

Choose a tag to compare

####Version 1.7.21

  • feature: add SessionManager.RemoveSessionState to delete the session state associated with a specific session ID
  • feature: add HttpContext.DestorySession() to delete all contents of the session and set the sessionId to empty
  • For my birthday!
  • 2023-04-15 16:00 at ShangHai

add SetReadTimeout\SetReadHeaderTimeout\SetIdleTimeoutSetWriteTimeout

16 Apr 02:01
08dea95

Choose a tag to compare

####Version 1.7.19

  • feature: add SetReadTimeout\SetReadHeaderTimeout\SetIdleTimeoutSetWriteTimeout func() in HttpServer
  • 2021-04-20 13:00 at ShangHai

fix deepcopy middleware not success

20 Apr 05:50
587bf5e

Choose a tag to compare

####Version 1.7.18

  • Bug fix: fix deepcopy middleware not success
  • 2021-04-20 13:00 at ShangHai

####Version 1.7.17

  • Bug fix: fix GetRandString return same result
  • 2021-01-29 08:00 at ShangHai

replace *HttpContext to Context interface & fix middleware chain misbehaving in netsed groups

25 Jan 22:49
11245a1

Choose a tag to compare

####Version 1.7.16

  • Bug fix: fix middleware chain misbehaving in netsed groups
  • Tips: for issue #234, thanks for @LiVe's code
  • 2021-01-24 22:00 at ShangHai

####Version 1.7.15

  • Tips: replace *HttpContext to Context interface,used to implementation custom Context in dotweb
  • feature: add ContextCreater func() Context & HttpServer.SetContextCreater
  • refactor: update *HttpContext to Context interface in HttpServer & Middleware & Request
  • refactor: add defaultContextCreater used to create Context with HttpContext when HttpServer.ServeHTTP
  • example code: example/main.go
  • How to use SetContextCreater:
// define
type testContext struct {
	dotweb.HttpContext
	TestInfo string
}

func testContextCreater() dotweb.Context {
	return &testContext{TestInfo:"Test"}
}

// set into dotweb
app.HttpServer.SetContextCreater(testContextCreater)

// use in router
func OutputTestInfo(ctx dotweb.Context) error {
	return ctx.WriteString(ctx.(*testContext).TestInfo)
}
  • 2021-01-24 18:00 at ShangHai

fixed can not set redis maxIdle & maxActive when use redis session, fix for issue #236

19 Dec 12:54
34470fa

Choose a tag to compare

Version 1.7.14

  • fix: fixed can not set redis maxIdle & maxActive when use redis session, fix for issue #236
  • refactor: add StoreConfig.MaxIdle & StoreConfig.MaxActive set redis maxIdle & maxActive
  • refactor: add redisutil.GetDefaultRedisClient to returns the RedisClient of specified address
  • refactor: update redisutil.GetRedisClient returns the RedisClient of specified address & maxIdle & maxActive
  • opt: set defaultMaxIdle=10, defaultMaxActive=50 when use default redis config
  • How to set redis maxIdle & maxActive when use redis session:
sessionConf := session.NewDefaultRedisConfig("redis://xx.xx.xx.xx:6379/0")
sessionConf.BackupServerUrl = "redis://xx.xx.xx.xx:6379/0"
sessionConf.CookieName = "dotweb-example.SessionID"
sessionConf.MaxIdle = 20
sessionConf.MaxActive = 100
  • 2020-12-19 21:00 at ShangHai

fixed can not get correct Path which in Post requests

11 Aug 09:39
6cd7fd2

Choose a tag to compare

Version 1.7.13

  • fix: fixed can not get correct Path which in Post requests
  • 2020-08-11 18:00 at ShangHai

Happy 6.1 print and fix error when set HttpServer.SetEnabledGzip(true)

03 Jun 10:22
293319f

Choose a tag to compare

####Version 1.7.12

  • fix: fix error when set HttpServer.SetEnabledGzip(true)
  • add Happy 6.1 print
  • 2020-06-01 23:00 at ShangHai