<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go, branch v0.45.0</title>
<subtitle>Collections of packages and tools for working with Go programming language.</subtitle>
<id>http://git.kilabit.info/pakakeh.go/atom?h=v0.45.0</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=v0.45.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2023-04-01T07:38:00Z</updated>
<entry>
<title>Release share v0.45.0 (2023-04-01)</title>
<updated>2023-04-01T07:38:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-04-01T07:25:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=133331febf70ff5c22c5c7e7568eae69f5f704eb'/>
<id>urn:sha1:133331febf70ff5c22c5c7e7568eae69f5f704eb</id>
<content type='text'>
This release set the Go version to 1.19.

=== Breaking changes

* lib/net: changes the PopulateQuery logic

=== New features

* _bin: add shell script go-test-lint.sh to run test and lint sequentially
* lib/bytes: add function DumpPrettyTable
* lib/bytes: add function SplitEach
* lib/dns: add function ParseZone
* lib/dns: add method WriteTo to Zone
* lib/http: add function to parse multipart Range response for Client
* lib/http: add support for HTTP Range in Server
* lib/io: add method ReplaceAll on Reader
* lib/parser: add method TokenTrimSpace
* lib/parser: add method SetDelimiters
* lib/telemetry: new package for collecting and forwarding metrics

=== Bug fixes

* lib/dns: fix packing, parsing, and saving MINFO resource data
* lib/dns: fix packing and unpacking resource record HINFO
* lib/dns: fix parsing SRV record from zone file

=== Enhancements

* lib/dns: allow parsing TXT rdata without quote in zone file
* lib/dns: handle zone file with CRLF line ending
* lib/test: simplify the string diff output from Assert
</content>
</entry>
<entry>
<title>all: update list of packages in the README</title>
<updated>2023-04-01T07:38:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-04-01T07:37:45Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=a2ba0eefc07887ed10809f901a5afa2de04b81e5'/>
<id>urn:sha1:a2ba0eefc07887ed10809f901a5afa2de04b81e5</id>
<content type='text'>
The following libraries has been added and not recorded,

* lib/mlog
* lib/os
* lib/ssh/config
* lib/telemetry
* lib/test/mock
</content>
</entry>
<entry>
<title>lib/telemetry: fix missing return error in Close</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:45:37Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=c45ae6c1eebe48d879a08993e6f58ea710cc136b'/>
<id>urn:sha1:c45ae6c1eebe48d879a08993e6f58ea710cc136b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cmd/agent-example: add collector for Go metrics</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:45:04Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=dc998bdd43ffdb89b77d6561bfb03be9296f5ae7'/>
<id>urn:sha1:dc998bdd43ffdb89b77d6561bfb03be9296f5ae7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/telemetry: log the error from BulkForward on goroutine collector</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:44:20Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=e7290fd6a6231d5ef7727ecb057d06df21f01372'/>
<id>urn:sha1:e7290fd6a6231d5ef7727ecb057d06df21f01372</id>
<content type='text'>
We use mlog so the user of telemetry can have record of error.
</content>
</entry>
<entry>
<title>lib/http: check and log the error when writing response in handleRange</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:40:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=e525143a51565a30e68ed5a1c3b73e1efb1195af'/>
<id>urn:sha1:e525143a51565a30e68ed5a1c3b73e1efb1195af</id>
<content type='text'>
We use the mlog, so user that also use mlog can record the error.
</content>
</entry>
<entry>
<title>lib/http: fix empty branch when parsing range</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:39:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=0a0d647eb485a68be4169e8ca3f4a8a3f1b2c511'/>
<id>urn:sha1:0a0d647eb485a68be4169e8ca3f4a8a3f1b2c511</id>
<content type='text'>
If the range is "x-y-", the function should skip the position.
</content>
</entry>
<entry>
<title>lib/email: remove unused variables in example of Header Filter</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:35:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=2f5aae2820ebc27225504736aa25bca66cceee0d'/>
<id>urn:sha1:2f5aae2820ebc27225504736aa25bca66cceee0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/net: changes the PopulateQuery logic</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T06:08:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=d9f275710016bb09cbdc8a973344401749e7d11b'/>
<id>urn:sha1:d9f275710016bb09cbdc8a973344401749e7d11b</id>
<content type='text'>
Previously, PopulateQuery only add the passed dname if the number of dots
is greater than 0.
After inspecting the result from dig and getenv, the dots seems does not
affect the query.
For example, if we have A record for domain "kilabit", both of those tools
query name "kilabit" without adding local domain or domain in search.
</content>
</entry>
<entry>
<title>lib/dns: fix packing, parsing, and saving MINFO resource data</title>
<updated>2023-03-26T06:45:53Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-03-26T04:04:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=3fe8e4bcbc3e450a8bc7f35148e5860ce84311da'/>
<id>urn:sha1:3fe8e4bcbc3e450a8bc7f35148e5860ce84311da</id>
<content type='text'>
Even thought the MINFO record not formally obsolete, according to
Wikipedia [1], we still need to support this for backward compatibility.

When packing the resource data length does not include total length.
When parsing, the RMailBox and EmailBox should be added the origin suffix
if its not end with dot.
When saving, the origin should be trimmed from RMailBox and EmailBox.

[1] https://en.wikipedia.org/wiki/List_of_DNS_record_types#Obsolete_record_types
</content>
</entry>
</feed>
