<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kbbi, branch main</title>
<subtitle>Go library and program as an interface for KBBI.</subtitle>
<id>http://git.kilabit.info/kbbi/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/kbbi/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/'/>
<updated>2026-02-10T05:23:57Z</updated>
<entry>
<title>go.mod: update dependencies</title>
<updated>2026-02-10T05:23:57Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-10T05:23:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=f42629996582fd7ae5da2efe00f5e891a3a12151'/>
<id>urn:sha1:f42629996582fd7ae5da2efe00f5e891a3a12151</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: change the host address and revert minimum TLS</title>
<updated>2026-02-06T12:48:56Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-06T12:48:56Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=7a38b33247a339e4be80d2bfa040c5ba9e0c051b'/>
<id>urn:sha1:7a38b33247a339e4be80d2bfa040c5ba9e0c051b</id>
<content type='text'>
The host kbbi.kemdikbud.go.id has been deactivated and changes to
kbbi.kemendikdasmen.go.id.

The minimum TLS 1.3 that we set in 0933476ff610 reverted because seems
like the website is not under cloudflare but under toffsmcdn.net.
</content>
</entry>
<entry>
<title>Release kbbi v0.2.0 (2025-12-27)</title>
<updated>2025-12-27T07:56:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-12-27T07:56:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=16b034999523d5956b60176e1ca298e0585e7008'/>
<id>urn:sha1:16b034999523d5956b60176e1ca298e0585e7008</id>
<content type='text'>
**🪵 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/

</content>
</entry>
<entry>
<title>README: add section about development</title>
<updated>2025-07-14T17:25:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-14T17:25:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=76f0c0b80e800cfb3dd7e982b857f9b5b41811ae'/>
<id>urn:sha1:76f0c0b80e800cfb3dd7e982b857f9b5b41811ae</id>
<content type='text'>
Add links to the project page and repository.

</content>
</entry>
<entry>
<title>all: replace fieldalignment and shadow with internal gocheck command</title>
<updated>2025-07-14T17:03:01Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-14T17:03:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=162c92d52484f18c68490d68fd1f375b59bea3c8'/>
<id>urn:sha1:162c92d52484f18c68490d68fd1f375b59bea3c8</id>
<content type='text'>
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/

</content>
</entry>
<entry>
<title>all: use login with two attempts</title>
<updated>2025-01-11T18:49:28Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-11T18:49:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=7dc39f66a28bf8493087dd0a102c02f5a064913e'/>
<id>urn:sha1:7dc39f66a28bf8493087dd0a102c02f5a064913e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>all: add options for Client</title>
<updated>2025-01-11T07:14:15Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-11T07:14:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=95c8ba5699efa80fc19f7e210bcf4d1e189244e2'/>
<id>urn:sha1:95c8ba5699efa80fc19f7e210bcf4d1e189244e2</id>
<content type='text'>
Currently, the options contains Debug field that print the HTML
response as text when set to 1.
</content>
</entry>
<entry>
<title>go.mod: update all dependencies</title>
<updated>2025-01-11T06:15:47Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-01-11T06:15:47Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=37632b2fc455187d90e058e319e35a9bff944df7'/>
<id>urn:sha1:37632b2fc455187d90e058e319e35a9bff944df7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>client: fix connection being blocked by CloudFlare</title>
<updated>2025-01-01T20:14:16Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-12-13T05:02:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=0933476ff61089bd5d846ebc48c4c9160302e802'/>
<id>urn:sha1:0933476ff61089bd5d846ebc48c4c9160302e802</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>all: update dependencies</title>
<updated>2025-01-01T20:14:16Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-12-12T14:28:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/kbbi/commit/?id=9a5e753864629aedcb5d91b66459e3773c7f835a'/>
<id>urn:sha1:9a5e753864629aedcb5d91b66459e3773c7f835a</id>
<content type='text'>
</content>
</entry>
</feed>
