summaryrefslogtreecommitdiff
path: root/src/templating/CHANGELOG.md
blob: 003652ebfd300beccaa419aa81d85163149ffe26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
1.2.7 (2024-03-21)
------------------

New:
 - fallback to default when mustach_wrap_get_partial
   returns MUSTACH_ERROR_PARTIAL_NOT_FOUND
 - remove at compile time the load of files for templates
   if MUSTACH_LOAD_TEMPLATE is defined as 0
 - add compile time flag MUSTACH_SAFE for enforcing
   safety behaviours

Fix:
 - selection of subitem by index (#47)
 - get latest iterated key when getting key name (#52)
 - allow tests without valgrind
 - avoid recursive template expansion (#55)

1.2.6 (2024-01-08)
------------------

Fix:
 - improve naming (#42)
 - magical spaces in recursive partials (#43)
 - installation when tool isn't built
 - correct detection of falsey values (#45)

Minor:
 - update to newer reference tests

1.2.5 (2023-02-18)
------------------

Fix:
 - Don't override CFLAGS in Makefile
 - Use of $(INSTALL) in Makefile for setting options

Minor:
 - Orthograf of 'instantiate'

1.2.4 (2023-01-02)
------------------

Fix:
 - Latent SIGSEGV using cJSON

1.2.3 (2022-12-21)
------------------

New:
 - Flag Mustach_With_ErrorUndefined (and option --strict for the tool)
   for returning a requested tag is not defined
 - Test of specifications in separate directory

Fix:
 - Version printing is now okay
 - Compiling libraries on Darwin (no soname but install_name)
 - Compiling test6 with correct flags
 - Update test from specifications
 - Better use of valgrind reports

1.2.2 (2021-10-28)
------------------

Fix:
 - SONAME of libmustach-json-c.so

1.2.1 (2021-10-19)
------------------

New:
 - Add SONAME in libraries.
 - Flag Mustach_With_PartialDataFirst to switch the
   policy of resolving partials.

Fix:
 - Identification of types in cJSON

1.2.0 (2021-08-24)
------------------

New:
 - Add hook 'mustach_wrap_get_partial' for handling partials.
 - Add test of mustache specifications https://github.com/mustache/spec.

Changes:
 - Mustach_With_SingleDot is always set.
 - Mustach_With_IncPartial is always set.
 - Mustach_With_AllExtensions is changed to use currently known extensions.
 - Output of tests changed.
 - Makefile improved.
 - Partials are first searched as file then in current selection.
 - Improved management of delimiters.

Fixes:
 - Improved output accordingly to https://github.com/mustache/spec:
   - escaping of quote "
   - interpolating null with empty string
   - removal of empty lines with standalone tag
   - don't enter section if null
   - indentation of partials
 - comment improved for get of mustach_wrap_itf.

1.1.1 (2021-08-19)
------------------
Fixes:
 - Avoid conflicting with getopt.
 - Remove unexpected build artifact.
 - Handle correctly a size of 0.

1.1.0 (2021-05-01)
------------------
New:
 - API refactored to take lengths to ease working with partial or 
   non-NULL-terminated strings. (ABI break)

Fixes:
 - Use correct int type for jansson (json_int_t instead of int64_t).
 - JSON output of different backends is now the same.

1.0 (2021-04-28, retracted)
---------------------------
Legal:
 - License changed to ISC.

Fixes:
 - Possible data leak in memfile_open() by clearing buffers.
 - Fix build on Solaris-likes by including alloca.h.
 - Fix Windows build by including malloc.h, using size_t instead of
   ssize_t, and using the standard ternary operator syntax.
 - Fix JSON in test3 by using double quote characters.
 - Fix installation in alternative directories such as
   /opt/pkg/lib on macOS by setting install_name.
 - Normalise return values in compare() implementations.

New:
 - Support for cJSON and jansson libraries.
 - Version info now embedded at build time and shown with mustach(1) 
   usage.
 - Versioned so-names (e.g. libxlsx.so.1.0).
 - BINDIR, LIBDIR and INCLUDEDIR variables in Makefile.
 - New mustach-wrap.{c,h} to ease implementation new libraries,
   extracted and refactored from the existing implementations.
 - Makefile now supports 3 modes: single libmustach (default), split
   libmustache-core etc, and both.
 - Any or all backends (json-c, jansson, etc) can be enabled at compile
   time. By default, all available libraries are used.
 - mustach(1) can use any JSON backend instead of only json-c.
 - MUSTACH_COMPATIBLE_0_99 can be defined for backwards source
   compatibility.
 - 'No extensions' can now be set Mustach_With_NoExtensions instead of
   passing 0.
 - pkgconfig (.pc) file for library.
 - Manual page for mustach(1).

Changed:
 - Many renames.
 - Maximum tag length increased from 1024 to 4096.
 - Other headers include json-c.h instead of using forward declarations.
 - mustach(1) reads from /dev/stdin instead of fd 0.
 - Several structures are now taken as const.
 - New/changed Makefile targets.