<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go, branch v0.56.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.56.0</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=v0.56.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2024-08-04T04:33:49Z</updated>
<entry>
<title>Release pakakeh.go v0.56.0 (2024-08-04)</title>
<updated>2024-08-04T04:33:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-08-04T04:29:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=f703cf50a4e3b2092a5ad615eef9bd56f58a25d3'/>
<id>urn:sha1:f703cf50a4e3b2092a5ad615eef9bd56f58a25d3</id>
<content type='text'>
== New features

* cmd/emaildecode: CLI to decode email body to plain text

The emaildecode accept file as input. If the email header contains
content-transfer-encoding with value quoted-printable or base64, it will
decode the message body and print it to stdout as plain text.

== Bug fixes

* lib/memfs: another fix for refresh

In previous commit we use wrong condition when handling directory
"." as Root.

== Enhancements

* lib/email: allow message that end lines with LF only

Although, a message from network must end with CRLF, a message from
(another) client may have been sanitized and end with LF only.

* lib/email: decode the message body based on content-transfer-encoding

After the header and body has been parsed, if the header contains
Content-Transfer-Encoding, we decode the body into its local formats.
Currently supported encoding is "quoted-printable" and "base64".

== Others

* lib/email: export the Header fields

By exporting the fields, this allow the caller to filter or manage
the field manually.

* _doc: add partial note and summary for RFC 2183

The RFC 2183 is define Content-Disposition header field in the
internet message.

* lib/ini: mention that marshaling []byte does not supported

Due to "byte" is considered as "uint8" during reflection, we cannot
tell whether the value is slice of byte of slice of number with type
uint8.
</content>
</entry>
<entry>
<title>lib/ini: mention that marshaling []byte does not supported</title>
<updated>2024-08-04T04:33:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-08-03T11:00:40Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=b70c8ab9bc3225a5cbad746902e4252477500e7b'/>
<id>urn:sha1:b70c8ab9bc3225a5cbad746902e4252477500e7b</id>
<content type='text'>
Due to "byte" is considered as "uint8" during reflection, we cannot tell
whether the value is slice of byte of slice of number with type uint8.
</content>
</entry>
<entry>
<title>_doc: add partial note and summary for RFC 2183</title>
<updated>2024-08-04T04:33:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-09-19T18:07:59Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=426f3df9aaf6d4788567da2f7ca17ce14cb56b38'/>
<id>urn:sha1:426f3df9aaf6d4788567da2f7ca17ce14cb56b38</id>
<content type='text'>
The RFC 2183 is define Content-Disposition header field in the internet
message.
</content>
</entry>
<entry>
<title>cmd/emaildecode: CLI to decode email body to plain text</title>
<updated>2024-08-04T04:33:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-01-24T17:20:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=4ae360c5adc25051136ce638f85c7c10f856d9d3'/>
<id>urn:sha1:4ae360c5adc25051136ce638f85c7c10f856d9d3</id>
<content type='text'>
The emaildecode accept file as input.
If the email header contains content-transfer-encoding with value
quoted-printable or base64, it will decode the message body and print it
to stdout as plain text.
</content>
</entry>
<entry>
<title>lib/email: export the field Fields in Header</title>
<updated>2024-08-04T04:33:27Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-08-03T04:50:24Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=9902b65d3feef74a30001b8f150299467693e699'/>
<id>urn:sha1:9902b65d3feef74a30001b8f150299467693e699</id>
<content type='text'>
By exporting the field, this allow the caller to filter or manage the
Header Fields manually.
</content>
</entry>
<entry>
<title>lib/email: decode the message body based on content-transfer-encoding</title>
<updated>2024-08-03T06:09:13Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-07-29T00:20:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=7f215d6ff48191644732cbca7d350dc87b6d8edc'/>
<id>urn:sha1:7f215d6ff48191644732cbca7d350dc87b6d8edc</id>
<content type='text'>
After the header and body has been parsed, if the header contains
Content-Transfer-Encoding, we decode the body into its local formats.
Currently supported encoding is "quoted-printable" and "base64".
</content>
</entry>
<entry>
<title>lib/email: allow message that end lines with LF only</title>
<updated>2024-08-03T06:09:13Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-07-27T11:01:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=eaebb61204abad3760a8353840f8abaccc917216'/>
<id>urn:sha1:eaebb61204abad3760a8353840f8abaccc917216</id>
<content type='text'>
Although, a message from network must end with CRLF, a message from
(another) client may have been sanitized and end with LF only.
</content>
</entry>
<entry>
<title>lib/memfs: another fix for refresh</title>
<updated>2024-08-03T06:09:13Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-07-27T08:34:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=df32c82e55437af79d8ed85b955daac5ff3fdf4c'/>
<id>urn:sha1:df32c82e55437af79d8ed85b955daac5ff3fdf4c</id>
<content type='text'>
In previous commit we use wrong condition when handling directory "." as
Root.
</content>
</entry>
<entry>
<title>Release pakakeh.go v0.55.2 (2024-07-22)</title>
<updated>2024-07-21T17:39:49Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-07-21T17:39:49Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=e28a932fe2e4c13f599e029c3f7c3af1d1441700'/>
<id>urn:sha1:e28a932fe2e4c13f599e029c3f7c3af1d1441700</id>
<content type='text'>
=== Bug fix

*  lib/memfs: sanitize the Root directory to fix refresh

   In [MemFS.refresh], if the requested url is "/file1" and [Options.Root]
   is ".", the path during refresh become "file1" and if passed to
   [filepath.Dir] it will return ".". This cause the loop on refresh
   never end because there is no PathNodes equal with ".".
</content>
</entry>
<entry>
<title>lib/memfs: sanitize the Root directory to fix refresh</title>
<updated>2024-07-21T17:38:19Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-07-18T18:48:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=52ef9967fca5946ee047847d744d00ccaecff1a8'/>
<id>urn:sha1:52ef9967fca5946ee047847d744d00ccaecff1a8</id>
<content type='text'>
In [MemFS.refresh], if the requested url is "/file1" and [Options.Root]
is ".", the path during refresh become "file1" and if passed to
[filepath.Dir] it will return ".".
This cause the loop on refresh never end because there is no PathNodes
equal with ".".
</content>
</entry>
</feed>
