Skip to content

Releases: verhas/jamal

2.8.1.

09 Sep 13:53
Compare
Choose a tag to compare

Bug fix release.

There was a bug in the expression analysis of the PROG module that resulted in the evaluation of

8 * 3 % 7 to be evaluated as 8 * (3 % 7) instead of ( 8 * 3 ) % 7

It was corrected.

Release 2.8.0

09 Sep 13:24
Compare
Choose a tag to compare

The prog module implements floating-point calculations.

2.7.0

28 Jun 05:57
Compare
Choose a tag to compare
  • A new modul to handle REST requests.
  • A new modul to read from Microsoft Excel files and also to write into them.
  • Macro for has a new parameter option.
  • Macro def in the snippet module to simplify defining parameter-less macros.

2.6.0

11 May 18:31
Compare
Choose a tag to compare

Bug fixes and new experimental macro package to read from SQL databases

2.5.0

29 Nov 14:43
Compare
Choose a tag to compare
  • Macro options can also be used as option singular
  • Macro options has the parops push and pop
  • Macro define parop noRedefine can also be used as an option not only as a parop.
  • Macro repeat was developed in the snippet library.
  • Macro import has a new parop, isolate that makes the import isolated.
  • Generated files are set to be read only, so that they are not accidentally edited.
  • output:writable can override this behavior.
  • Command line option -jamalize can install the Jamal Asciidoc extension into the current project.
  • experimental parser was developed to support editor plugins and LSE implementations in the future.
  • output:charset can be used to specify the output charset.
  • units.jim define the unicode metric units characters
  • There is support to run Jamal from docker in the jamal-docker module.
  • The core macro for with the parop evalist allows you to miss the macro opening and closing strings when the list is nothing but an argument-less macro invocation.
  • The jamal-prog package contains a macro decimal to support BigDecimal calculation in BASIC code.
  • The replace and replaceLines macros in the snippet package result in error not only if the input was not changed, but also when some of the search/replace string-string or regular expression-string pairs made no effect on the input when the option detectNoChange is used.
    This helps to avoid situations when a snippet is heavily transformed to create documentation lines from source code and the source changes structurally and the transformation gets outdated.
    It is recommended to set the detectNoChange option to true globally at the start of the input file.
  • The argument splitting many built-in macro uses now looks at the macro $REGEX and uses it to split the arguments if defined.
  • snip:eval can evaluate snippets using the location of the snippet for relative files referenced inside the snippet
  • import and include macros have parop in.
  • The macros file and directory in the snippet package has a new parop relativeTo that controls the formatting placeholder calculation relativePath.
  • The new macro file:locate can locate files
  • Exceptions insert the macro locations at the top of the stack trace
  • Macro variation was developed.

2.4.0

18 Aug 11:29
Compare
Choose a tag to compare
  • Kotlin support to make Macro creation in Kotlin a breeze.
  • Scan interface usage to parse parotps was eliminated
  • Word decorator macro was developed
  • counter macro was extended to support hierarchical counters and also other than Latin characters
  • User-defined macro can have default parameters for better readability
  • New $time, $atime, and $ctime placeholders for the file macro

2.3.0

29 Jun 14:37
Compare
Choose a tag to compare
  • Core macro block supports the option flat (alias as export) to evaluate the content in the same scope as the surrounding macro.
  • references macro runs an idempotency check at the end of the execution
  • Macro parameters that do not need ( and ) can be specified with optional parentheses.
    You do not need to remember not to use the parentheses.
  • Asciidoctor's extension supports both 2.5.10 and 3.0.0-alpha.1 versions of Asciidoctor.
    It is not integration tested for the 3.X.X versions because IntelliJ plugin currently supports 2.X.X versions only.
  • Asciidoctor integration defines asciidoctorj:version macro.
  • Upon start and macro load Jamal executes the .jim resource files.
  • Macro define can create a user-defined macro being an instance of a given class.
  • Macro urlEncode can encode a string to be used in a URL.
  • More Kroki support with kroki macro.
  • Built-in BASIC can call user-defined and built-in macros.

2.2.0

12 Jun 16:04
Compare
Choose a tag to compare
  • Support for JSR223 scripting API. Now you can use Jamal in any application that can be scripted.
  • New macro in the file module to test file existence, type (dir or plain file), readability, writable, executable, or hidden.
  • New macro in the file module to copy binary files.
    Useful to fetch ephemeral resources via HTTP to have them attached to the document.
  • New macro in the snippet library to memoize certain operations.
  • snip_list does not list erroneous snippets anymore.
  • java:insert can fail with error if it updates the file.
  • new environment variable asciidocfx.asciidoctor.plugin is usable, the same as intellij.asciidoctor.plugin
  • Jamal works in AsciidocFX as well.
    This is not a feature of this release, but it was tested and documented in this release first.
    It requires AsciidocFX 1.8.5 or later.

2.1.0

23 May 15:07
Compare
Choose a tag to compare
  • Java:insert macro can insert a macro result into a Java source file between
  <editor-fold id="">
  </editor-fold>

lines.

  • Macro java:sources can load the sources and compile as well, as from the compiled classes so that other macros can reference.
    Macros java:classes, java:methods, java:fields can be used to list the classes, methods, and the fields of a class.

  • Jamal Maven plugin was rewritten and has new functionality.

  • Jamalize can be used to install asciidoctor library files for IntelliJ.

  • shell:var can replace $xxx and ${xxx} references.

  • io:exec was extended to support multi-line command and arguments.

2.0.2

05 May 09:05
Compare
Choose a tag to compare

Bug fix release that makes maven extension find the macros after. In release 2.0.0, class loading and service discovery were changed, affecting the maven extension "badly". You do not need to upgrade to this release in any application other than the maven extension. Upgrading there simply means editing the .mvn/extensions.xml file to contain the

<version>2.0.2</version>

line.