summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-05-19 17:54:18 +0700
committerShulhan <ms@kilabit.info>2022-05-19 17:55:06 +0700
commit9f947290c0cdc6e3796ab1106ef9fc91213802bd (patch)
treef737dcab3f0c9770e83934022aba6da277cda314
parent3287fa726ccd353c6278ad28db11921dce993d61 (diff)
downloadciigo-9f947290c0cdc6e3796ab1106ef9fc91213802bd.tar.xz
Release ciigo v0.8.1 (2022-05-19)v0.8.1
== Bug fixes * all: check for excluded file before processing sub directory == Enhancements * cmd/ciigo: simplify and cleaning up the code * cmd/ciigo: add command to print to current version * all: include the path that cause an error on newHTMLGenerator == Chores * all: reformat all files using latest goimports * all: update the watcher affected by changes on share module
-rw-r--r--CHANGELOG.adoc261
1 files changed, 175 insertions, 86 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 02063ed..6802279 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -6,12 +6,64 @@ Shulhan <ms@kilabit.info>
:sectanchors:
:sectlinks:
-[#v0.8.0]
+[#v0_8_1]
+== ciigo v0.8.1 (2022-05-19)
+
+[#v0_8_1_bug_fixes]
+=== Bug fixes
+
+* all: check for excluded file before processing sub directory
++
+--
+Previously, if the file path match with one of the excluded pattern,
+we keep processing the sub directory to find the markup files.
+This may cause an error "too many open files" if excluded directory
+contains many sub directory and/or files.
+
+This changes fix this issue by checking the path with excluded pattern
+first before diving into sub directory.
+--
+
+[#v0_8_1_enhancements]
+=== Enhancements
+
+* cmd/ciigo: simplify and cleaning up the code
++
+This changes move the flag "help" to command.
+
+* cmd/ciigo: add command to print to current version
+
+* all: include the path that cause an error on newHTMLGenerator
++
+--
+In case the newHTMLGenerator return an error, it's hard to track which
+part of code that cause the error because there are three files being
+processed (the index HTML, HTML template, or internal template).
+
+This changes include the file that cause an error inside the error
+message.
+--
+
+[#v0_8_1_chores]
+=== Chores
+
+* all: reformat all files using latest goimports
++
+While at it, replace any use of ioutil with os/io package.
+
+* all: update the watcher affected by changes on share module
++
+In the share module, the DirWatcher and Watcher has been moved to package
+memfs and the way to consumed the changes is not through callback
+again but through channel.
+
+
+[#v0_8_0]
== ciigo v0.8.0 (2022-03-04)
This release changes the license of this software to GPL-3.0 or later.
-[#v0.8.0_bug_fixes]
+[#v0_8_0_bug_fixes]
=== Bug fixes
* all: fix adoc files not re-converted when template file changes
@@ -27,7 +79,7 @@ Serve, but the HTML files is not regenerated.
The latest tip fix rendering list check box text that get cut one
character in the beginning.
-[#v0.8.0_enhancements]
+[#v0_8_0_enhancements]
=== Enhancements
* all: re-convert markup files if HTML template is newer on GoEmbed
@@ -49,11 +101,13 @@ and convert it.
+
This is like running Watch, Convert and Serve at the same time.
+
+[#v0_7_1]
== ciigo v0.7.1 (2022-01-10)
This release update all dependencies and codes affected by updated.
-
+[#v0_7_0]
== ciigo v0.7.0 (2021-12-06)
Changes on asciidoctor-go,
@@ -61,142 +115,170 @@ Changes on asciidoctor-go,
* all: fix parsing and rendering cross reference
* all: allow colon ':' and period '.' on the ID
+[#v0_7_0_breaking_changes]
=== Breaking changes
* all: refactoring with latest share module
++
+--
+The latest share module use the term GoEmbed to generate Go source file.
+In order for this repo in sync with upstream terminology and to minimize
+confusion, we changes the exported function and command name from
+"generate" to "embed", this includes
- The latest share module use the term GoEmbed to generate Go source file.
- In order for this repo in sync with upstream terminology and to minimize
- confusion, we changes the exported function and command name from
- "generate" to "embed", this includes
-
- * Command "ciigo generate" become "ciigo embed"
- * Exported function to generate Go renamed from "Generate" to "GoEmbed".
- This include the parameter GenerateOptions which renamed to
- EmbedOptions.
- * The internal command to generate example renamed from "generate" to
- "goembed"
+* Command "ciigo generate" become "ciigo embed"
+* Exported function to generate Go renamed from "Generate" to "GoEmbed".
+ This include the parameter GenerateOptions which renamed to
+ EmbedOptions.
+* The internal command to generate example renamed from "generate" to
+ "goembed"
+--
+[#v0_7_0_bug_fixes]
=== Bug fixes
* all: add missing new line when printing file to be converted
* all: fix empty fileMarkups on watcher
++
+--
+Previously, when user call ciigo.Watch(), and the markup file changes,
+the onChangeFileMarkup method will print an error "xyz not found" which
+cause the markup file not converted.
- Previously, when user call ciigo.Watch(), and the markup file changes,
- the onChangeFileMarkup method will print an error "xyz not found" which
- cause the markup file not converted.
-
- This is caused by watcher.fileMarkups is empty.
+This is caused by watcher.fileMarkups is empty.
- This changes fix this issue by initializing the fileMarkups field using
- listFileMarkups, so the next callback to onChangeFileMarkup can detect
- the changed file and convert it.
+This changes fix this issue by initializing the fileMarkups field using
+listFileMarkups, so the next callback to onChangeFileMarkup can detect
+the changed file and convert it.
+--
* This update fix HTTP server caching using ETag.
+[#v0_7_0_enhancements]
=== Enhancements
* all: check markup modification time before converting to HTML
++
+--
+Previously, when the Convert, Watch or Serve running it will convert
+all markup files into HTML without checking if the adoc has been modified
+or newer than HTML file.
- Previously, when the Convert, Watch or Serve running it will convert
- all markup files into HTML without checking if the adoc has been modified
- or newer than HTML file.
-
- This changes check the modification time of markup file first before
- converting them, to minimize unnecessary operation.
+This changes check the modification time of markup file first before
+converting them, to minimize unnecessary operation.
+--
+[#v0_6_0]
== ciigo v0.6.0 (2021-04-07)
+[#v0_6_0_breaking_changes]
=== Breaking changes
* all: change the Convert function to use type ConvertOptions
++
+--
+Previously, we pass the directory to be scanned for asciidoc markup files
+and path to HTML template on Convert function. Adding new option to
+Convert will cause changes on the Convert signature.
- Previously, we pass the directory to be scanned for asciidoc markup files
- and path to HTML template on Convert function. Adding new option to
- Convert will cause changes on the Convert signature.
-
- To prevent this, we changes the Convert signature from multiple parameters
- into single parameter ConvertOptions.
+To prevent this, we changes the Convert signature from multiple parameters
+into single parameter ConvertOptions.
- While at it, change the variable name HTMLTemplate to HtmlTemplate.
+While at it, change the variable name HTMLTemplate to HtmlTemplate.
+--
* all: change the Serve signature to ServeOptions
++
+--
+Previously, we pass four parameters to Serve function: the instance
+to memfs.MemFS, the root directory, the address to listen, and
+path to HTML template.
- Previously, we pass four parameters to Serve function: the instance
- to memfs.MemFS, the root directory, the address to listen, and
- path to HTML template.
-
- In case we need to add new parameter in the future, the Serve function
- signature will changes and this is not good for consumer of API.
+In case we need to add new parameter in the future, the Serve function
+signature will changes and this is not good for consumer of API.
- This commit changes the Serve function parameters to ServeOptions
- so we can add optional parameter in the future without changes to its
- signature.
+This commit changes the Serve function parameters to ServeOptions
+so we can add optional parameter in the future without changes to its
+signature.
+--
* all: changes the Watch signature to use ConvertOptions
++
+Just like changes on Convert function, this is to prevent additional
+parameter added on Watch function affect the consumer of API in the
+future.
- Just like changes on Convert function, this is to prevent additional
- parameter added on Watch function affect the consumer of API in the
- future.
-
+[#v0_6_0_new_features]
=== New features
* all: add option to exclude certain paths using regular expression
++
+The ConvertOptions now has the Exclude field that can contains regular
+expression. If the Exclude is not empty, it will be compiled and use
+in Convert, Generate, Watch, and Serve; to ignore specific paths
+being scanned.
- The ConvertOptions now has the Exclude field that can contains regular
- expression. If the Exclude is not empty, it will be compiled and use
- in Convert, Generate, Watch, and Serve; to ignore specific paths
- being scanned.
-
+[#v0_6_0_enhancements]
=== Enhancements
* all: exclude common file and directories names for being watched
-
- By default, any hidden files on Unix like system, which start with dot '.'
- should not be watched for any changes. So does "node_modules" from npm
- and "vendor" directory which may contains many unrelated files.
++
+By default, any hidden files on Unix like system, which start with dot '.'
+should not be watched for any changes. So does "node_modules" from npm
+and "vendor" directory which may contains many unrelated files.
+[#v0_5_0]
== ciigo v0.5.0 (2021-02-21)
+[#v0_5_0_new_features]
=== New features
* all: implement Watch functionality
++
+--
+The Watch function, watch any changes on asciidoc files on directory
+"dir" recursively and changes on the HTML template file.
+If there is new or modified asciidoc files it will convert them into HTML
+files using HTML template automatically.
- The Watch function, watch any changes on asciidoc files on directory
- "dir" recursively and changes on the HTML template file.
- If there is new or modified asciidoc files it will convert them into HTML
- files using HTML template automatically.
-
- If the HTML template file modified, it will re-convert all asciidoc files.
- If the HTML template file deleted, it will replace them with internal,
- default HTML template.
+If the HTML template file modified, it will re-convert all asciidoc files.
+If the HTML template file deleted, it will replace them with internal,
+default HTML template.
+--
+[#v0_5_0_breaking_changes]
=== Breaking changes
* all: return error instead of call log.Fatal on non main packages
++
+--
+The library, non-main packages, should never call Fatal or panic,
+its up to the main package or the caller on how to handle it.
- The library, non-main packages, should never call Fatal or panic,
- its up to the main package or the caller on how to handle it.
-
- While at it, fix the returned error to use log prefix and the error
- value, remove the "ciigo: " prefix.
+While at it, fix the returned error to use log prefix and the error
+value, remove the "ciigo: " prefix.
+--
+[#v0_5_0_chores]
=== Chores
* all: rewrite to use the watcher
++
+--
+Now that we have the watcher which task are to watch the asciidoc
+files and template files, we can use it in server to minimize duplicate
+code.
- Now that we have the watcher which task are to watch the asciidoc
- files and template files, we can use it in server to minimize duplicate
- code.
-
- This changes refactoring the htmlGenerator to initialize the HTML
- template from internal or memfs, so the caller did not need to check by
- itself.
+This changes refactoring the htmlGenerator to initialize the HTML
+template from internal or memfs, so the caller did not need to check by
+itself.
+--
+[#v0_4_1]
== ciigo v0.4.1 (2021-01-21)
Update to latest share module.
@@ -205,6 +287,7 @@ Fix the HTTP server not auto-reload the new changes if DEBUG value is
non-zero.
+[#v0_4_0]
== ciigo v0.4.0 (2021-01-21)
Refactoring due to change on memfs package.
@@ -223,6 +306,7 @@ On the Serve() function, we add parameter to pass the instance of
memfs.MemFS (the one that passed on GenVarName).
+[#v0_3_0]
== ciigo v0.3.0 (2020-12-06)
This release replace the asciidoc parsing from libasciidoc-go to
@@ -236,20 +320,25 @@ The Go module path and repository is also moved from github to
git.sr.ht/~shulhan/ciigo.
+[#v0_2_0]
== ciigo v0.2.0 (2020-07-05)
* all: simplify serving content using function Serve
- Previously to serve the generated content we call two fucntions:
- NewServer() and Server.Start().
- This changes unexported the internal server, and expose only the Serve()
- function with the same parameter as NewServer().
++
+Previously to serve the generated content we call two fucntions:
+NewServer() and Server.Start().
+This changes unexported the internal server, and expose only the Serve()
+function with the same parameter as NewServer().
* all: embed the HTML template and the stylesheet
- The parameter for template either in Convert or Generate functions or
- in CLI now become pure optional, not default to "templates/html.tmpl"
- anymore.
- This will minimize steps for user to setup or run the library or program.
++
+The parameter for template either in Convert or Generate functions or
+in CLI now become pure optional, not default to "templates/html.tmpl"
+anymore.
+This will minimize steps for user to setup or run the library or program.
+
+[#v0_1_1]
== ciigo v0.1.1 (2020-03-24)
The first release support asciidoc and markdown markup language.