Releases: verhas/jamal
2.0.2
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.
2.0.1
2.0.0
This is a new major release with improved security and many new features.
- The macro packages integrating scripting languages were moved from the classpath of the Jamal implementations. They have to be loaded with the
maven:loadmacro. (new feature) - With the new
maven:loadfeature, you can load macros directly from JAR files over the network from Maven repositories. - A new scripting module implements a secure and simple procedural "basic" integrated tightly into Jamal.
- When referring to files, you can use
maven:andjar:prefixes to load files directly from the Maven repository or a JAR file. - New macro module handling JSON data.
- Experimental module integrating OpenAI.
- Macro integrating SourceBuddy functionality directly into your document.
- You can easily include Kroki pictures in your document.
In addition to this, a lot of new features and bug fixes.
1.12.6
There is a new macro library prog that implements a simple BASIC like programming language.
Snippet library macro directory has the same formatting options as file macro.
There are two new macros in the snippet library: unicode and numbers.
The snip:check macro implements the options warning and error.
JShell handling improved. When there is no JShell it causes BadSyntax and thus can be handled using the macro try.
When closing the processor exceptions are cleared not only when there are closers.
This was a bug causing the exceptions reappearing using the macros sample and output.
The handling of external files, like res:, and https: were moved to services found using the service loader mechanism.
Loading files from Maven artifacts was implementing this service.
The prog macro package is implemented giving imperative simple BASIC like programming capabilities.
The Asciidoc preprocessor for the IntelliJ Asciidoctor plugin supports the prefixLog option.
1.12.3
-
Various bugfixes and dependency version updates.
-
Sorting macro is available in the snippet library, developed by Michael
-
the macro
definehas options for all the different "define" types, like pure, verbatim etc.
Originally these can be reached using special characters, which are less verbose, but cryptic.
The old syntax is still usable,but not recommended. -
filemacro in snippet package now has formatting placeholdersbareNakedandnakedNas well asextensionsandextensionNwith the possibleNvalues being 1,2,3,4, and 5. -
the macro
countercan save its actual value using->.
This is a shortcut to a series of macros. -
The asciidoctor preprocessor caches the result of the last run and executes Jamal only when the input changes.
It also takes the included and imported files into account. -
a bug in the core of the processing engine that caused in some rare cases over indexing exception
-
the environment variable
JAMAL_DEV_PATHnow can point to a file instead of containing the replacements directly -
Macros reading and writing a file can go through a hook that the embedding application can provide.
It is used by the asciidoctor implementation to list all the files read during the processing. -
Jamal mock library is implemented, that can be used to mock some macro for user defined macro testing
-
A warning is given when a macro is defined in a scope, but it is not used
-
Macro
forsupports the aliasessep andsubsep` -
In addition to the special characters in the macro
define, the behaviour can also be altered using options. -
the option
RestrictedDefineParametersis now available for thedefinemacro, to restrict parameter names to be identifiers
1.12.2
1.12.1
1.12.0
-
It is possible to include a Word doc file into another word doc file using the
docx:includemacro. -
You can insert a picture into a Word document using a Jamal macro.
Since picture insertion is a basic function of Microsoft Word this functionality is to be used for special purposes only. -
The macro
snipcan also check if a snippet has changed using thehashparameter.
There is no need to invoke a separatesnip:checkmacro. -
There is an Asciidoctor extension, which can be used in IntelliJ to edit Jamal extended Asciidoc in a WYSIWYG way.
-
The Asciidoctor extension emits a
sedcommand at the end of the error report, just in case and to help the lazy.
1.11.2
1.11.1
-
Fully reworked command-line interface
-
Jamal macros can be used in Microsoft Word documents
-
Io module implements
io:execandio:waitFormacros to start external processes -
extension.xmlgeneration in Maven extension runs in a separate thread, so it does not delay the build -
~/.jamal/settings.(properties|xml)can be used to configure Jamal in addition to system properties and environment variables -
Use of the external library picocli was eliminated
-
File input converts
\r\nto\non Windows. -
Graphviz example was added to the integration tests, runs only on properly configured systems, it needs Graphviz installed eventually.