aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.adoc37
-rw-r--r--CHANGELOG.html85
2 files changed, 104 insertions, 18 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 1142cf43..d49abc7c 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -5,6 +5,41 @@
This library is released each month, usually at the first week of month.
+== share v0.8.2 (2019-09-05)
+
+=== Enhancements
+
+* http: make the request body always available even after ParseForm()
++
+Previously, if the request type is query, form, or JSON, we call the
+ParseForm() to let the http.Request read the Body POST form data and fill
+the Form and/or PostForm fields. This method will cause the request
+Body will become empty since its already read and closed.
+One of use case of POST with form data is to check the integrity of POST
+body using checksum, which is not possible using only ParseForm().
+This commit read all the body first into reqBody and recreate the request
+Body back using ioutil.NopCloser and bytes.Buffer.
+
+* all: replace document generator from asciidoctor to ciigo
++
+Previously, generating HTML files from asciidoc files require installing
+ruby, asciidoctor, and its dependency through Gemfile.
+To simplify this, we replace it with ciigo. Ciigo not only can convert
+the asciidoc files but it also support serving the file inside HTTP
+server and watching changes on asciidoc files during development for
+local previewing.
+
+* memfs: log and ignore error from NewNode
++
+An error for calling NewNode should not stop processing all files
+in directory.
+
+* io: log and ignore error from NewNode
++
+An error for calling NewNode should not stop processing all files
+in directory.
+
+
== share v0.8.1 (2019-08-05)
=== Enhancements
@@ -18,9 +53,7 @@ The format to marshal/unmarshal ini stream is behave like JSON.
The ContentEncode() method encode each node's content into specific
encoding, in other words this method can be used to compress the content
of file in memory before being served or written.
-+
Only file with size greater than 0 will be encoded.
-+
List of known encoding is "gzip".
* lib/memfs: ignore generated output filename on GoGenerate
diff --git a/CHANGELOG.html b/CHANGELOG.html
index 31961a41..a7952543 100644
--- a/CHANGELOG.html
+++ b/CHANGELOG.html
@@ -29,23 +29,28 @@
<div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
-<li><a href="#_share_v0_8_1_2019_08_05">share v0.8.1 (2019-08-05)</a>
+<li><a href="#_share_v0_8_2_2019_09_05">share v0.8.2 (2019-09-05)</a>
<ul class="sectlevel2">
<li><a href="#_enhancements">Enhancements</a></li>
</ul>
</li>
+<li><a href="#_share_v0_8_1_2019_08_05">share v0.8.1 (2019-08-05)</a>
+<ul class="sectlevel2">
+<li><a href="#_enhancements_2">Enhancements</a></li>
+</ul>
+</li>
<li><a href="#_share_v0_8_0_2019_07_09">share v0.8.0 (2019-07-09)</a>
<ul class="sectlevel2">
<li><a href="#_breaking_changes">Breaking changes</a></li>
<li><a href="#_new_features">New Features</a></li>
-<li><a href="#_enhancements_2">Enhancements</a></li>
+<li><a href="#_enhancements_3">Enhancements</a></li>
</ul>
</li>
<li><a href="#_share_v0_7_0_2019_06_14">share v0.7.0 (2019-06-14)</a>
<ul class="sectlevel2">
<li><a href="#_breaking_changes_2">Breaking Changes</a></li>
<li><a href="#_new_features_2">New Features</a></li>
-<li><a href="#_enhancements_3">Enhancements</a></li>
+<li><a href="#_enhancements_4">Enhancements</a></li>
<li><a href="#_bug_fixes">Bug Fixes</a></li>
</ul>
</li>
@@ -61,27 +66,27 @@
<li><a href="#_share_v0_5_0_2019_04_02">share v0.5.0 (2019-04-02)</a>
<ul class="sectlevel2">
<li><a href="#_new_features_4">New Features</a></li>
-<li><a href="#_enhancements_4">Enhancements</a></li>
+<li><a href="#_enhancements_5">Enhancements</a></li>
</ul>
</li>
<li><a href="#_share_v0_4_0_2019_03_01">share v0.4.0 (2019-03-01)</a>
<ul class="sectlevel2">
<li><a href="#_new_features_5">New Features</a></li>
-<li><a href="#_enhancements_5">Enhancements</a></li>
+<li><a href="#_enhancements_6">Enhancements</a></li>
<li><a href="#_fixes">Fixes</a></li>
</ul>
</li>
<li><a href="#_share_v0_3_0_2019_02_01">share v0.3.0 (2019-02-01)</a>
<ul class="sectlevel2">
<li><a href="#_features_changes">Features Changes</a></li>
-<li><a href="#_enhancements_6">Enhancements</a></li>
+<li><a href="#_enhancements_7">Enhancements</a></li>
<li><a href="#_fixes_2">Fixes</a></li>
</ul>
</li>
<li><a href="#_share_v0_2_0_2019_01_02">share v0.2.0 (2019-01-02)</a>
<ul class="sectlevel2">
<li><a href="#_new_features_6">New Features</a></li>
-<li><a href="#_enhancements_7">Enhancements</a></li>
+<li><a href="#_enhancements_8">Enhancements</a></li>
</ul>
</li>
<li><a href="#_share_v0_1_0_2018_11_29">share v0.1.0 (2018-11-29)</a></li>
@@ -95,13 +100,63 @@
</div>
</div>
<div class="sect1">
-<h2 id="_share_v0_8_1_2019_08_05">share v0.8.1 (2019-08-05)</h2>
+<h2 id="_share_v0_8_2_2019_09_05">share v0.8.2 (2019-09-05)</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_enhancements">Enhancements</h3>
<div class="ulist">
<ul>
<li>
+<p>http: make the request body always available even after ParseForm()</p>
+<div class="paragraph">
+<p>Previously, if the request type is query, form, or JSON, we call the
+ParseForm() to let the http.Request read the Body POST form data and fill
+the Form and/or PostForm fields. This method will cause the request
+Body will become empty since its already read and closed.
+One of use case of POST with form data is to check the integrity of POST
+body using checksum, which is not possible using only ParseForm().
+This commit read all the body first into reqBody and recreate the request
+Body back using ioutil.NopCloser and bytes.Buffer.</p>
+</div>
+</li>
+<li>
+<p>all: replace document generator from asciidoctor to ciigo</p>
+<div class="paragraph">
+<p>Previously, generating HTML files from asciidoc files require installing
+ruby, asciidoctor, and its dependency through Gemfile.
+To simplify this, we replace it with ciigo. Ciigo not only can convert
+the asciidoc files but it also support serving the file inside HTTP
+server and watching changes on asciidoc files during development for
+local previewing.</p>
+</div>
+</li>
+<li>
+<p>memfs: log and ignore error from NewNode</p>
+<div class="paragraph">
+<p>An error for calling NewNode should not stop processing all files
+in directory.</p>
+</div>
+</li>
+<li>
+<p>io: log and ignore error from NewNode</p>
+<div class="paragraph">
+<p>An error for calling NewNode should not stop processing all files
+in directory.</p>
+</div>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_share_v0_8_1_2019_08_05">share v0.8.1 (2019-08-05)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_enhancements_2">Enhancements</h3>
+<div class="ulist">
+<ul>
+<li>
<p>lib/ini: add functions to marshal/unmarshal bytes from/to struct.</p>
<div class="paragraph">
<p>The format to marshal/unmarshal ini stream is behave like JSON.</p>
@@ -113,9 +168,7 @@
<p>The ContentEncode() method encode each node&#39;s content into specific
encoding, in other words this method can be used to compress the content
of file in memory before being served or written.
-&#43;
Only file with size greater than 0 will be encoded.
-&#43;
List of known encoding is &#34;gzip&#34;.</p>
</div>
</li>
@@ -159,7 +212,7 @@ file, we want that file to be excluded from .go static source.</p>
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_2">Enhancements</h3>
+<h3 id="_enhancements_3">Enhancements</h3>
<div class="ulist">
<ul>
<li>
@@ -210,7 +263,7 @@ simple API.</p>
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_3">Enhancements</h3>
+<h3 id="_enhancements_4">Enhancements</h3>
<div class="ulist">
<ul>
<li>
@@ -551,7 +604,7 @@ server and client API to make it easy and extensible. The websocket is now
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_4">Enhancements</h3>
+<h3 id="_enhancements_5">Enhancements</h3>
<div class="ulist">
<ul>
<li>
@@ -616,7 +669,7 @@ server and client API to make it easy and extensible. The websocket is now
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_5">Enhancements</h3>
+<h3 id="_enhancements_6">Enhancements</h3>
<div class="ulist">
<ul>
<li>
@@ -805,7 +858,7 @@ server and client API to make it easy and extensible. The websocket is now
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_6">Enhancements</h3>
+<h3 id="_enhancements_7">Enhancements</h3>
<div class="ulist">
<ul>
<li>
@@ -859,7 +912,7 @@ system and simplified routing handler.</p>
</div>
</div>
<div class="sect2">
-<h3 id="_enhancements_7">Enhancements</h3>
+<h3 id="_enhancements_8">Enhancements</h3>
<div class="paragraph">
<p>Fix warnings from linters.</p>
</div>