diff options
Diffstat (limited to '_doc')
| l---------[-rw-r--r--] | _doc/CHANGELOG.adoc | 483 |
1 files changed, 1 insertions, 482 deletions
diff --git a/_doc/CHANGELOG.adoc b/_doc/CHANGELOG.adoc index 614dc1f..e59a806 100644..120000 --- a/_doc/CHANGELOG.adoc +++ b/_doc/CHANGELOG.adoc @@ -1,482 +1 @@ -// SPDX-FileCopyrightText: 2020 Shulhan <ms@kilabit.info> -// SPDX-License-Identifier: GPL-3.0-or-later -= Changelog for ciigo -Shulhan <ms@kilabit.info> -:toc: -:sectanchors: -:sectlinks: - - -[#v0_9_2] -== ciigo v0.9.2 (2022-09-06) - -[#v0_9_2_bug_fix] -=== Bug fix - -all: check for symlink and re-fetch file info using os.Stat:: -+ -Since Readdir return list of FileInfo using Lstat, any node that is -symlink may return false file size and mod time. - -[#v0_9_2_chores] -=== Chores - -all: update all dependencies:: -+ -The latest asciidoctor-go module fix parsing list description inside -include directive. - -all: group all documents under directory _doc:: - -all: try to fix test that sometimes fail inside container:: -+ --- -When the test running we create directory testdata/watcher, create -a new file testdata/watcher/index.adoc and expect that the modify time -for testdata/watcher is changes. - -Except that sometimes it is not. The modification time of directory -watcher before and after the file created most of times equal and this -cause the test wait indifinitely and fail. - -This changes add 1 second delay before creating file inside directory -to make sure that the modification time changes. --- - -all: add tasks to setup test inside systemd container:: -+ -When running test inside container, sometimes its success, most of the -time its fail. -In order to replicate it we need to setup the same container environment -and inspect it. - - -[#v0_9_1] -== ciigo v0.9.1 (2022-08-07) - -[#v0_9_1_bug_fixes] -=== Bug fixes - -all: remove delay for testing Watch:: -The delay sometimes cause the test locked and hung. - -all: fix HTML template loaded during Serve on non-development:: -+ --- -The HTML template in the ServeOptions should not read when ciigo.Serve -running on non-development environment. --- - - -[#v0_9_0] -== ciigo v0.9.0 (2022-08-06) - -[#v0_9_0_new_features] -=== New features - -all: export internal htmlGenerator as Converter:: -+ --- -The purpose of Converter is to provide a single, reusable converter -for AsciiDoc file or content. --- - -[#v0_9_0_chores] -=== Chores - -all: add package build for Arch Linux:: - - -all: set the Version automatically set during build:: -+ --- -This require that the command build or install using "make build/install". --- - -all: convert the README using AsciiDoc:: -+ --- -While at it, create symlink README so the git.sr.ht site can display it. --- - -all: merge internal/cmd/goembed to cmd/ciigo-example:: -+ --- -The internal/cmd/goembed is replaced as command "embed" of -cmd/ciigo-example. --- - - -[#v0_8_2] -== ciigo v0.8.2 (2022-07-24) - -The latest update on asciidoctor-go refactor the generated ref ID where -ref ID is no longer prefixed with "\_" if start with ASCII letter. - -[#v0_8_2_ehancements] -=== Enhancements - -all: generate HTML meta data and replace the top header title:: -+ --- -The following metadata are rendered based on the same asciidoc -attributes: author, description, generator, and keywords. - -This changes also replace the topbar title with the document title, -cleanup the HTML header syntax by replacing "/>" with ">", trim leading -and trailing spaces on Body and embedded CSS. --- - -all: add CSS for admonition block:: -+ --- -The style only applicable for non-icon admonition. --- - -all: update CSS for description list:: -+ --- -Set the list title font weight to be bold and remove the font-size for -list description to make the font-size consistent. --- - - -[#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] -=== Bug fixes - -* all: fix adoc files not re-converted when template file changes -+ -In commit 06d03f6afe37 we skip converting files if the generated HTML -is newer than adoc file. -+ -This cause an issue where the template file changes during Watch or -Serve, but the HTML files is not regenerated. - -* go.mod: update module asciidoctor-go to the tip -+ -The latest tip fix rendering list check box text that get cut one -character in the beginning. - -[#v0_8_0_enhancements] -=== Enhancements - -* all: re-convert markup files if HTML template is newer on GoEmbed -+ -Calling GoEmbed with updated HTML template will reconvert all markup -files automatically, as long as the generated Go file is older than -the HTML template file. - -* all: add 1em to the bottom margin of paragraph under list -+ -This is to make the list content readable and indistinguishable, -especially when we have many list items with paragraphs. - -* all: add option IsDevelopment to ServeOptions -+ -If the IsDevelopment option set to true, the serve function will serve -the root directory directly and watch all asciidoc files for changes -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, - -* 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 - -* 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. - -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 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. - -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. - -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. --- - -* 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. - -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. --- - -* 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. - -[#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. - -[#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. - - -[#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. - -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. - -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. - -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. - -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. - -This changes affect the exported functions Generate() and Serve(). - -Previously, the Generate() function accept three options: dir, out, -and htmlTemplate; this release changes the parameter into single struct -Options with two additional options: GenPackageName and GenVarName. -The GenPackageName allow to set the package name in Go generate source -code, default to "main" if not set. -The GenVarName set the instance of memfs.MemFS where the embedded -files will be stored. - -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 -https://sr.ht/~shulhan/asciidoctor-go[asciidoctor-go], which provide more -control and stable APIs. - -We also remove support form markdown markup language and focus only to support -asciidoctor format from now on. - -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(). - -* 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. - - -[#v0_1_1] -== ciigo v0.1.1 (2020-03-24) - -The first release support asciidoc and markdown markup language. - -The v0.1.0 release has been deleted because it contains error in the -dependencies and the Go module cache make it even harder to invalidate it. +../CHANGELOG.adoc
\ No newline at end of file |
