diff options
| -rw-r--r-- | CHANGELOG.adoc | 74 | ||||
| -rw-r--r-- | go.mod | 16 | ||||
| -rw-r--r-- | go.sum | 32 | ||||
| -rw-r--r-- | kbbi.go | 2 |
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. @@ -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 @@ -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= @@ -6,4 +6,4 @@ package kbbi // Version of this module. -var Version = `0.1.0` +var Version = `0.2.0` |
