aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.adoc74
-rw-r--r--go.mod16
-rw-r--r--go.sum32
-rw-r--r--kbbi.go2
4 files changed, 97 insertions, 27 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 5328f16..7526a9b 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -4,7 +4,77 @@
:toc:
:sectlinks:
-== kamusku v0.1.0 (2024-04-06)
+Change log of each release of the kkbi software.
+The latest release log is put on the top.
-kamusku is the Go module that contains HTTP client library and program as
+Legend,
+
+* 🪵: Breaking changes
+* 🌱: New feature
+* 🌼: Enhancement
+* 💧: Chores
+
+
+== kbbi v0.2.0 (2025-12-27)
+
+**🪵 all: rename the module and package to "kbbi"**
+
+Since this module is connecting to KBBI server directly, the module and
+package name now reflect that, hence we rename them to kbbi.
+
+Another reason is we have an internal module named kamusku, in another
+repository.
+
+**🌼 all: add method Write to the LookupResponse**
+
+The LookupResponse print each word and its Lookup information to the stdout.
+
+**💧 all: realign some struct for compact layout**
+
+Changes,
+
+* struct Client realigned from 56 to 40 bytes (-16)
+* struct Word realigned from 72 to 56 bytes (-16)
+* anonymous struct in test realigned from 40 to 32 bytes (-8)
+
+**🌼 client: use libhttp.Client instead of standard http.Client**
+
+The libhttp.Client provides much simpler API, where we can define global
+headers once, like UserAgent and does not need to manually read the
+response body.
+
+**🌼 client: fix connection being blocked by CloudFlare**
+
+I think the admin of kbbi set the HTTPS mode minimal to version 1.3, which
+cause Go (that use TLS v1.2 by default, but have 1.3 as maximum) being
+rejected during handshake.
+
+**🪵 all: add options for Client**
+
+Currently, the options contains Debug field that print the HTML
+response as text when set to 1.
+
+**🌼 all: use login with two attempts**
+
+The first attempt detect if we have been blocked by Cloudflare
+and store the response cookies.
+The second attempt request again with cookies.
+Hopefully, this solve the request login being blocked.
+
+While at it, add debug code to dump the HTTP request headers
+on preLogin and Lookup.
+
+**💧 all: replace fieldalignment and shadow with internal gocheck command**
+
+Program gocheck implement go static analysis using [Analyzer] that are not
+included in the default go vet.
+See package [lib/goanalysis] for more information.
+
+[Analyzer]: https://pkg.go.dev/golang.org/x/tools/go/analysis#hdr-Analyzer +
+[lib/goanalysis]: https://pkg.go.dev/git.sr.ht/~shulhan/pakakeh.go/lib/goanalysis/
+
+
+== kbbi v0.1.0 (2024-04-06)
+
+kbbi is the Go module that contains HTTP client library and program as
interface to official KBBI server.
diff --git a/go.mod b/go.mod
index d136c43..5ecaec2 100644
--- a/go.mod
+++ b/go.mod
@@ -3,19 +3,19 @@
module git.sr.ht/~shulhan/kbbi
-go 1.23.4
+go 1.24.0
require (
- git.sr.ht/~shulhan/pakakeh.go v0.60.1
- golang.org/x/net v0.39.0
+ git.sr.ht/~shulhan/pakakeh.go v0.60.2
+ golang.org/x/net v0.48.0
)
require (
- golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
- golang.org/x/mod v0.24.0 // indirect
- golang.org/x/sync v0.13.0 // indirect
- golang.org/x/sys v0.32.0 // indirect
- golang.org/x/tools v0.32.0 // indirect
+ golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect
+ golang.org/x/mod v0.31.0 // indirect
+ golang.org/x/sync v0.19.0 // indirect
+ golang.org/x/sys v0.39.0 // indirect
+ golang.org/x/tools v0.40.0 // indirect
)
//replace git.sr.ht/~shulhan/pakakeh.go => ../pakakeh.go
diff --git a/go.sum b/go.sum
index 5e53ea6..c6e6ef6 100644
--- a/go.sum
+++ b/go.sum
@@ -1,16 +1,16 @@
-git.sr.ht/~shulhan/pakakeh.go v0.60.1 h1:JGke3BIh40tK+d9eHg0jYi/W+GVixWcGwFkAcynSBSY=
-git.sr.ht/~shulhan/pakakeh.go v0.60.1/go.mod h1:8t/pEqWDrEcyr26qR5sXJkF1M5tFhrs3Jzr5aYoZdIo=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
-golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
-golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
+git.sr.ht/~shulhan/pakakeh.go v0.60.2 h1:ZSRE77lYm+mkhvg9pSrxCIO81ydbqt93qbsWuZJpjtI=
+git.sr.ht/~shulhan/pakakeh.go v0.60.2/go.mod h1:1MkKXbLZRHTcnheeSEbRpGztkym4Yxzh90ep+jCxbDc=
+github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
+github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
+golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0=
+golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU=
+golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
+golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
+golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
+golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
+golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
+golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
+golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA=
+golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc=
diff --git a/kbbi.go b/kbbi.go
index 5243238..127e701 100644
--- a/kbbi.go
+++ b/kbbi.go
@@ -6,4 +6,4 @@
package kbbi
// Version of this module.
-var Version = `0.1.0`
+var Version = `0.2.0`