diff options
Diffstat (limited to 'CHANGELOG.adoc')
| -rw-r--r-- | CHANGELOG.adoc | 261 |
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. |
