Skip to content

Commit ff72b74

Browse files
committed
release: v2.4.1 - bug fixes, refactoring, CI updates
- Bump VERSION to 2.4.1 - Add CHANGELOG entry for v2.4.1 - Update Go version in CI/Release workflows: 1.21 -> 1.24 - Update build.ps1 version: 2.2.2 -> 2.4.1
1 parent 7700c56 commit ff72b74

File tree

5 files changed

+23
-6
lines changed

5 files changed

+23
-6
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Set up Go
1717
uses: actions/setup-go@v5
1818
with:
19-
go-version: '1.21'
19+
go-version: '1.24'
2020
cache: true
2121

2222
- name: Install dependencies
@@ -40,7 +40,7 @@ jobs:
4040
- name: Set up Go
4141
uses: actions/setup-go@v5
4242
with:
43-
go-version: '1.21'
43+
go-version: '1.24'
4444
cache: true
4545

4646
- name: golangci-lint
@@ -76,7 +76,7 @@ jobs:
7676
- name: Set up Go
7777
uses: actions/setup-go@v5
7878
with:
79-
go-version: '1.21'
79+
go-version: '1.24'
8080
cache: true
8181

8282
- name: Build

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Set up Go
2121
uses: actions/setup-go@v5
2222
with:
23-
go-version: '1.21'
23+
go-version: '1.24'
2424
cache: true
2525

2626
- name: Run tests

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,23 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [2.4.1] - 2026-02-25
6+
7+
### Fixed
8+
- **Data Race**: `Cache.Save()` used `RLock` for write operation → fixed to `Lock`
9+
- **Thread Safety**: Interrupt handler accessed `Websites` field directly → now uses `GetWebsites()`
10+
- **Case Sensitivity**: Domain title comparison now uses `strings.EqualFold` for case-insensitive matching
11+
- **Duplicate Save**: `MarkCompleted()+Save()` was called twice → reduced to single call in `printOnce.Do`
12+
- **Unused Variable**: `GenerateCacheFileName` computed `timestamp` even when unused
13+
14+
### Improved
15+
- **Code Deduplication**: `ResolveSite` + `ResolveSiteWithCache` refactored into shared `runScan()` (448→306 lines)
16+
- **Concurrency**: `InterruptData` upgraded from `sync.Mutex` to `sync.RWMutex` with `RLock` for reads
17+
- **Cache Progress**: `GetProgress()` now returns estimated total IP count instead of 0
18+
- **Dead Code**: Removed unused `Websites` parameter from `ResolveSite`/`ResolveSiteWithCache` and callers
19+
20+
---
21+
522
## [2.4.0] - 2026-02-22
623

724
### Added

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.4.0
1+
2.4.1

build.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ipmap Multi-Platform Build Script
22
# Builds for macOS (ARM64 + AMD64) and Linux (AMD64)
33

4-
$VERSION = "2.2.2"
4+
$VERSION = "2.4.1"
55
$APP_NAME = "ipmap"
66
$BUILD_DIR = "bin"
77

0 commit comments

Comments
 (0)