1 | 1.11.0 / 2015-06-12
|
2 | ==================
|
3 |
|
4 | * Added block code support ([@alephyud](https://github.com/alephyud))
|
5 | * Improved runtime performance of mixins significantly ([Andreas Lubbe](https://github.com/alubbe))
|
6 | * Improved runtime performance of pug's string escaping ([Andreas Lubbe](https://github.com/alubbe)) and ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
7 | * Better line number counting for pipeless text ([@alephyud](https://github.com/alephyud))
|
8 |
|
9 |
|
10 | 1.10.0 / 2015-05-25
|
11 | ==================
|
12 |
|
13 | * Now supports jstransformers, which allows improved handling of embedded languages such as Coffee-Script, and deprecated Transformers support in filters - to be removed in 2.0.0 ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
14 | * CLI: added a flag to keep directory hierarchy when a directory is specified - this behavior will be the default in 2.0.0 ([@TimothyGu](https://github.com/TimothyGu))
|
15 | * disabled 'compileDebug' flag by default when used with express in production mode ([Andreas Lubbe](https://github.com/alubbe))
|
16 | * Fixed a memory leak on modern versions of Chrome as well as node 0.12 and iojs ([Andreas Lubbe](https://github.com/alubbe))
|
17 | * update website ([@GarthDB](https://github.com/GarthDB))
|
18 |
|
19 | 1.9.2 / 2015-01-18
|
20 | ==================
|
21 |
|
22 | * Do not ignore some parser errors for mismatched parenthesis ([@TimothyGu](https://github.com/TimothyGu))
|
23 | * Warn for `:` that is not followed by a space ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
24 | * Fix #1794 (a bizzare bug with a certain combination of inheritance, mixins and &attributes) ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
25 | * Add `compileClientWithDependenciesTracked` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
26 | * Support comments in `case` blocks ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
27 | * Fix blocks in nested mixins ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
28 | * Lots more documentation ([@enlore](https://github.com/enlore))
|
29 | * Fix watching in CLI ([@pavel](https://github.com/pavel))
|
30 |
|
31 | 1.9.1 / 2015-01-17
|
32 | ==================
|
33 |
|
34 | * Clean up path/fs functions in CLI as we no longer support node@0.6 ([@TimothyGu](https://github.com/TimothyGu))
|
35 | * Update commander ([@TimothyGu](https://github.com/TimothyGu))
|
36 | * Document `cache` and `parser` options ([@TimothyGu](https://github.com/TimothyGu))
|
37 | * Fix bug in 1.9.0 where we read the file if cache was enabled, even if a string was provided ([@TimothyGu](https://github.com/TimothyGu))
|
38 | * Fix year in changelog ([@tomByrer](https://github.com/tomByrer))
|
39 |
|
40 | 1.9.0 / 2015-01-13
|
41 | ==================
|
42 |
|
43 | * Fix `--watch` sometimes dying when there were file-system errors ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
44 | * Fix `--watch` by using `fs.watchFile` correctly ([@TimothyGu](https://github.com/TimothyGu))
|
45 | * Fix errors with using the CLI to compile from stdin
|
46 | * Better looking badges ([@TimothyGu](https://github.com/TimothyGu))
|
47 | * Added `--extension` to CLI([@nicocedron](https://github.com/nicocedron) and [@TimothyGu](https://github.com/TimothyGu))
|
48 | * Refactor and improve internal cache handling ([@TimothyGu](https://github.com/TimothyGu))
|
49 | * Loads more tests ([@TimothyGu](https://github.com/TimothyGu))
|
50 |
|
51 | 1.8.2 / 2014-12-16
|
52 | ==================
|
53 |
|
54 | * Use `-` as the default filename when using stdin on CLI ([@TimothyGu](https://github.com/TimothyGu))
|
55 | * Prevent some compiler errors being silenced ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
56 | * Remove use of non-standard `string.trimLeft()` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
57 | * Fix bug in CLI when no name was provided for child template ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
58 | * Remove dependency on monocle (hopefully fixing installation on 0.8) ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
59 | * Add gitter chat room ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
60 |
|
61 | 1.8.1 / 2014-11-30
|
62 | ==================
|
63 |
|
64 | * Fix corner case when the pretty option was passed a non-string truthy value ([@TimothyGu](https://github.com/TimothyGu))
|
65 | * Warn when `lexer` is given as an option ([@TimothyGu](https://github.com/TimothyGu))
|
66 | * Update dependencies ([@TimothyGu](https://github.com/TimothyGu))
|
67 |
|
68 | 1.8.0 / 2014-11-28
|
69 | ==================
|
70 |
|
71 | * Fix empty text-only block ([@rlidwka](https://github.com/rlidwka))
|
72 | * Warn about future change to ISO 8601 style dates ([@TimothyGu](https://github.com/TimothyGu) and [@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
73 | * Add warnings when data-attributes contain ampersands ([@TimothyGu](https://github.com/TimothyGu))
|
74 | * Allow custom pretty indentation ([@bfred-it](https://github.com/bfred-it))
|
75 | * Add support for an object in the style attribute ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
76 | * Add support for an object in the class attribute ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
77 | * Ignore fs module in browser builds ([@sokra](https://github.com/sokra))
|
78 | * Update dependencies ([@hildjj](https://github.com/hildjj))
|
79 | * Check mixin arguments are valid JavaScript expressions ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
80 | * Remove symlink ([@slang800](https://github.com/slang800))
|
81 |
|
82 | 1.7.0 / 2014-09-17
|
83 | ==================
|
84 |
|
85 | * Add Doctype option on command line ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
86 | * Support ES6 style rest args in mixins ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
87 | * Fix support for unicode newlines (\u2028, \u2029) ([@rlidwka](https://github.com/rlidwka))
|
88 | * Expose `globals` option from the `with` module ([@sokra](https://github.com/sokra))
|
89 | * Lots of new documentation ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
90 |
|
91 | 1.6.0 / 2014-08-31
|
92 | ==================
|
93 |
|
94 | * Allow optional white space after `+` when calling a mixin ([@char101](https://github.com/char101))
|
95 | * Use void-elements module to replace internal self-closing list ([@hemanth](https://github.com/hemanth))
|
96 | * Fix a warning that eroniously warned for un-used blocks if in an extending template from an include (Reported by [@Dissimulazione](https://github.com/Dissimulazione))
|
97 | * Fix mixins not working at end of file ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
98 | * Fix error reporting when mixin block was followed by blank lines ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
99 |
|
100 |
|
101 | 1.5.0 / 2014-07-23
|
102 | ==================
|
103 |
|
104 | * Added compileFile API ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
105 | * Fix line number in un-used blocks warning ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
106 | * Fix a warning that eroniously warned for un-used blocks if they were under another block (Reported by [@pesho](https://github.com/pesho))
|
107 |
|
108 | 1.4.2 / 2014-07-16
|
109 | ==================
|
110 |
|
111 | * Fix a warning that eroniously warned for un-used blocks if they were under a "Code" element (Reported by [@narirou](https://github.com/narirou))
|
112 |
|
113 | 1.4.1 / 2014-07-16
|
114 | ==================
|
115 |
|
116 | * Fix an error that sometimes resulted in 'unexpected token "pipless-text"' being erroniously thrown (Reported by [@Artazor](https://github.com/Artazor) and [@thenitai](https://github.com/thenitai))
|
117 |
|
118 | 1.4.0 / 2014-07-15
|
119 | ==================
|
120 |
|
121 | * Fix CLI so it keeps watching when errors occur ([@AndrewTsao](https://github.com/AndrewTsao))
|
122 | * Support custom names for client side templates ([@ForbesLindesay](http://www.forbeslindesay.co.uk/) and [@dscape](https://github.com/dscape))
|
123 | * Allow whitepsace other than "space" before attributes passed to mixins (N.B. there is a small chance this could be a breaking change for you) ([@regular](https://github.com/regular))
|
124 | * Track dependencies so file watchers can be more clever ([@ForbesLindesay](http://www.forbeslindesay.co.uk/) and [@sdether](https://github.com/sdether))
|
125 | * Allow passing options to filtered includes ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
126 | * Fix bugs with indentation in filters ([@ForbesLindesay](http://www.forbeslindesay.co.uk/) and [@lackac](https://github.com/lackac))
|
127 | * Warn on block names that are never used ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
128 |
|
129 | 1.3.1 / 2014-04-04
|
130 | ==================
|
131 |
|
132 | * Fix error with tags in xml that are self-closing in html ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
133 | * Fix error message for inline tags with content ([@hiddentao](https://github.com/hiddentao))
|
134 |
|
135 | 1.3.0 / 2014-03-02
|
136 | ==================
|
137 |
|
138 | * Fix a bug where sometimes mixins were removed by an optimisation even though they were being called ([@ForbesLindesay](http://www.forbeslindesay.co.uk/), reported by [@leider](https://github.com/leider))
|
139 | * Updated with to support automatically detecting when a value is "global" and removed redundant `options.globals` option ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
140 | * Improve warnings for tags with multiple attributes ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
141 | * Deprecate (with a warning) `node.clone`, `block.replace`, `attrs.removeAttribute`, `attrs.getAttribute` - these are all internal APIs for the AST ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
142 |
|
143 | 1.2.0 / 2014-02-26
|
144 | ==================
|
145 |
|
146 | * Use variables instead of properties of pug, improving performance and reliability with nested templates ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
147 | * Support compiling templates from stdin via a user typing ([@yorkie](https://github.com/yorkie))
|
148 | * Lazily add mixins ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
149 | * Fix case fall-through ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
150 | * Earlier errors for `when` without `case` and `else` without `if` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
151 | * Allow `if`/`else` etc. to not have a block.
|
152 | * Remove lib-cov legacy to make browserify work better ([@silver83](https://github.com/silver83))
|
153 | * Add and improve test coverage using istanbul ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
154 |
|
155 | 1.1.5 / 2014-01-19
|
156 | ==================
|
157 |
|
158 | * Add filename to and fix line numbers for missing space before text warning (@ijin82)
|
159 | * Fix filenames for some error reporting in extends/includes (@doublerebel)
|
160 | * Fix a corner case where a mixin was called with `&attributes` but no other attributes and a block that was supposed to be fixed in 1.1.4 ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
161 |
|
162 | 1.1.4 / 2014-01-09
|
163 | ==================
|
164 |
|
165 | * Fix a corner case where a mixin was called with `&attributes` but no other attributes and a block ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
166 |
|
167 | 1.1.3 / 2014-01-09
|
168 | ==================
|
169 |
|
170 | * Fix failure of npm prepublish not running
|
171 |
|
172 | 1.1.2 / 2014-01-09
|
173 | ==================
|
174 |
|
175 | * Fix same interaction of `&attributes` with `false` `null` or `undefined` but combined with dynamic attributes ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
176 |
|
177 | 1.1.1 / 2014-01-09
|
178 | ==================
|
179 |
|
180 | * Fix a bug when `&attributes` is combined with static attributes that evaluate to `false` or `null` or `undefined` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
181 |
|
182 | 1.1.0 / 2014-01-07
|
183 | ==================
|
184 |
|
185 | * Fix class merging to work as documented ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
186 | * Throw an error when the same attribute is duplicated multiple times ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
187 | * Move more errors into the parser/lexer so they have more info about line numbers ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
188 | * Support mixin blocks at the end of files ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
189 |
|
190 | 1.0.2 / 2013-12-31
|
191 | ==================
|
192 |
|
193 | * Fix a bug when `&attributes` is combined with dynamic attributes ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
194 |
|
195 | 1.0.1 / 2013-12-29
|
196 | ==================
|
197 |
|
198 | * Allow self closing tags to contian whitespace ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
199 | * Allow tags to have a single white space after them ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
200 | * Support text bodies of tags that begin with `//` rather than treating them as comments ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
201 |
|
202 | 1.0.0 / 2013-12-22
|
203 | ==================
|
204 |
|
205 | * No longer support node@0.8 ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
206 | * Fix error reporting in layouts & includes ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
207 | * Allow a list of 'globals' to be passed as an array at compile time & don't automatically expose all globals ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
208 | * Escape apostrophes in data attributes (@qualiabyte)
|
209 | * Fix mixin/block interaction ([@ForbesLindesay](http://www.forbeslindesay.co.uk/) & [@paulyoung](https://github.com/paulyoung))
|
210 | * Ignore trailing space after mixin declaration ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
211 | * Make literal `.` work as expected ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
212 | * Remove implicit text only for script/style ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
213 | * Stop parsing comments and remove support for conditional comments ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
214 | * Make filtering includes explicit ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
215 | * Remove special assignment syntax ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
216 | * Remove `!!!` shortcut for `doctype` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
217 | * Remove `5` shorcut for `html` doctype ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
218 | * Remove `colons` option from the distant past ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
219 | * Add a sepatate `compileClient` and `compileFileClient` to replace the `client` option ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
220 | * Remove polyfills for supporting old browsers ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
221 | * Allow interpolation for mixin names ([@jeromew](https://github.com/jeromew)
|
222 | * Use `node.type` instead of `node.constructor.name` so it can be minified ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
223 | * Allow hyphens in filter names ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
224 | * Throw an error if a self closing tag has content ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
225 | * Support inline tags ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
226 | * Replace `attributes` magic attribute with `&attributes(attributes)` ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
227 | * Remove automatic tag wrapping for filters, you can just put the tags in yourself now ([@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
228 | * Remove whitespace from tags nested inside pre tags ([@markdalgleish](http://markdalgleish.com))
|
229 |
|
230 | 0.35.0 / 2013-08-21
|
231 | ===================
|
232 |
|
233 | * Add support for space separated attributes (thanks to [@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
234 | * Add earlier errors for invalid JavaScript expressions (thanks to [@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
235 | * Fix parsing files with UTF8 BOMs when they are includes or parent/layout templates (thanks to [@kiinoo](https://github.com/kiinoo))
|
236 |
|
237 | 0.34.1 / 2013-07-26
|
238 | ===================
|
239 |
|
240 | * fix render file not working when called with callback (reported by [@xieren58](https://github.com/xieren58))
|
241 |
|
242 | 0.34.0 / 2013-07-26
|
243 | ===================
|
244 |
|
245 | * callbacks only called once for async methods even if they throw (reported by [@davidcornu](https://github.com/davidcornu))
|
246 | * HTML comments are pretty printed better (thanks to [@eddiemonge](https://github.com/eddiemonge))
|
247 | * callbacks are optional and leaving them out results in synchronous operation (thanks to [@ForbesLindesay](http://www.forbeslindesay.co.uk/))
|
248 | * empty filter nodes are now permitted (thanks to [@coderanger](https://github.com/coderanger))
|
249 | * overhaul website and documentation (thanks to [@ForbesLindesay](http://www.forbeslindesay.co.uk/)), much more of this to come.
|
250 |
|
251 | 0.33.0 / 2013-07-12
|
252 | ===================
|
253 |
|
254 | * Hugely more powerful error reporting (especially with `compileDebug` set explicitly to `true`)
|
255 | * Add a warning for tags with multiple attributes
|
256 | * be strict about requiring newlines after tags to fix some odd corner cases
|
257 | * fix escaping of class to allow it to be unescaped (thanks to [@christiangenco](https://github.com/christiangenco))
|
258 |
|
259 | 0.32.0 / 2013-06-28
|
260 | ===================
|
261 |
|
262 | * remove `pug.version` and fix `pug --version`
|
263 | * add file name and line number to deprecation warnings
|
264 | * use constantinople for better constant detection
|
265 | * update `with` for a massive performance upgrade at compile time
|
266 |
|
267 | 0.31.2 / 2013-06-07
|
268 | ===================
|
269 |
|
270 | * fix overzealous deprecation warnings
|
271 |
|
272 | 0.31.1 / 2013-05-31
|
273 | ===================
|
274 |
|
275 | * fix line endings for executable command
|
276 | * fix `locals` variable being undefined
|
277 | * fix an obscure bug that could occur if multiple mixins interact badly (see [substack/lexical-scope#13](https://github.com/substack/lexical-scope/issues/13))
|
278 |
|
279 | 0.31.0 / 2013-05-30
|
280 | ==================
|
281 |
|
282 | * deprecate implicit text-only `script` and `style` tags
|
283 | * make `with` at compile time using `lexical-scope`
|
284 | * add `options.parser` that behaves exactly like `options.compiler`
|
285 | * add "component.json" for component (runtime) support
|
286 | * removed `hasOwnProperty` check in each loops
|
287 | * removed .min files from the repository (people can just generate these themselves)
|
288 | * use browserify to compile client side libraries
|
289 | * fix buggy block extending should now be fixed
|
290 | * fix preserve case of custom doctypes
|
291 | * fix regexps in attributes sometimes not being accepted
|
292 | * fix allow `$` sign in each loop variable names
|
293 | * fix mixins with buffered code on the same line
|
294 | * fix separate class names by ` ` rather than `,` (was sometimes incorrect)
|
295 |
|
296 | 0.30.0 / 2013-04-25
|
297 | ==================
|
298 |
|
299 | * add support for 'include' and 'extends' to use paths relative to basedir
|
300 | * fix accidental calling of functions in iteration block. Closes #986
|
301 | * fix: skip rethrow on client
|
302 | * fix each/else prefixed with `-`
|
303 | * fix multi-block prepend/append
|
304 | * swap -o and -O, set -o to --out
|
305 |
|
306 | 0.29.0 / 2013-04-16
|
307 | ==================
|
308 |
|
309 | * add "monocle" for watcher that actually works...
|
310 | * fix interpolation in blocks of text
|
311 | * fix attribute interpolation
|
312 | * move filters to an external library
|
313 | * fix JavaScript escaping corner cases
|
314 |
|
315 | 0.28.2 / 2013-03-04
|
316 | ==================
|
317 |
|
318 | * wtf coffeescript is not a dep
|
319 |
|
320 | 0.28.1 / 2013-01-10
|
321 | ==================
|
322 |
|
323 | * add passing of filename to include filters
|
324 | * fix wrong new lines for include filters
|
325 |
|
326 | 0.28.0 / 2013-01-08
|
327 | ==================
|
328 |
|
329 | * add .css and .js "filters". re #438
|
330 | * add include filters. Closes #283
|
331 | * fix "class:" within attribute escaping
|
332 | * removing ast filters
|
333 | * things I can't read:
|
334 | * 反馈地址
|
335 | * 样式
|
336 | * 联系
|
337 | * 初稿,翻译完
|
338 | * 接受大鸟的建议
|
339 | * 头晕,翻译一点点
|
340 | * 到过滤器翻译完毕
|
341 | * 翻译一部分
|
342 | * 中文翻译单独放
|
343 | * 特性部分
|
344 | * 再翻
|
345 | * 翻译一点点
|
346 |
|
347 | 0.27.7 / 2012-11-05
|
348 | ==================
|
349 |
|
350 | * fix each/else clause for enumerated objects
|
351 | * fix #764 (incorrect line number for error messages)
|
352 | * fix double-escaping of interpolated js slashes. Closes #784
|
353 |
|
354 | 0.27.6 / 2012-10-05
|
355 | ==================
|
356 |
|
357 | * Included templates can not override blocks of their parent. Closes #699
|
358 |
|
359 | 0.27.5 / 2012-09-24
|
360 | ==================
|
361 |
|
362 | * fix attr interpolation escaping. Closes #771
|
363 |
|
364 | 0.27.4 / 2012-09-18
|
365 | ==================
|
366 |
|
367 | * fix include yields. Closes #770
|
368 |
|
369 | 0.27.3 / 2012-09-18
|
370 | ==================
|
371 |
|
372 | * fix escaping of interpolation. Closes #769
|
373 | * loosen "mkdirp" version restriction [TooTallNate]
|
374 |
|
375 | 0.27.2 / 2012-08-07
|
376 | ==================
|
377 |
|
378 | * Revert "fixing string interpolation escaping #731", problems reported
|
379 |
|
380 | 0.27.1 / 2012-08-06
|
381 | ==================
|
382 |
|
383 | * fix attribute interpolation escaping #731
|
384 | * fix string interpolation escaping #731
|
385 |
|
386 | 0.27.0 / 2012-07-26
|
387 | ==================
|
388 |
|
389 | * added ability to pass in json file to `--obj`
|
390 | * add preliminary `each` `else` support. Closes #716
|
391 | * fix doctype bug overlooked in #712
|
392 | * fix stripping of utf-8 BOMs
|
393 |
|
394 | 0.26.3 / 2012-06-25
|
395 | ==================
|
396 |
|
397 | * Update version of commander that supports node v0.8.
|
398 |
|
399 | 0.26.2 / 2012-06-22
|
400 | ==================
|
401 |
|
402 | * Added --options alias of --obj
|
403 | * Added reserved word conflict prevention in Google's Closure Compiler
|
404 | * Added tag interpolation. Closes #657
|
405 | * Allow the compiled client to use it's own pug util functions [3rd-Eden]
|
406 | * Fixed `attrs()` escape bug [caseywebdev]
|
407 |
|
408 | 0.26.1 / 2012-05-27
|
409 | ==================
|
410 |
|
411 | * Changed default doctype to __html5__
|
412 | * Performance: statically compile attrs when possible [chowey]
|
413 | * Fixed some class attribute merging cases
|
414 | * Fixed so `block` doesn't consume `blockquotes` tag [chowey]
|
415 | * Fixed backslashes in text nodes [chowey]
|
416 | * Fixed / in text. Closes #638
|
417 |
|
418 | 0.26.0 / 2012-05-04
|
419 | ==================
|
420 |
|
421 | * Added package.json __component__ support
|
422 | * Added explicit self-closing tag support. Closes #605
|
423 | * Added `block` statement
|
424 | * Added mixin tag-like behaviour [chowey]
|
425 | * Fixed mixins with extends [chowey]
|
426 |
|
427 | 0.25.0 / 2012-04-18
|
428 | ==================
|
429 |
|
430 | * Added preliminary mixin block support. Closes #310
|
431 | * Fixed whitespace handling in various situations [chowey]
|
432 | * Fixed indentation in various situations [chowey]
|
433 |
|
434 | 0.24.0 / 2012-04-12
|
435 | ==================
|
436 |
|
437 | * Fixed unescaped attribute compilation
|
438 | * Fixed pretty-printing of text-only tags (__Warning__: this may affect rendering) [chowey]
|
439 |
|
440 | 0.23.0 / 2012-04-11
|
441 | ==================
|
442 |
|
443 | * Added data-attr json stringification support. Closes #572
|
444 | * Added unescaped attr support. Closes #198
|
445 | * Fixed #1070, reverted mixin function statements
|
446 | * Fixed pug.1 typo
|
447 |
|
448 | 0.22.1 / 2012-04-04
|
449 | ==================
|
450 |
|
451 | * Fixed source tags. now self-closing. Closes #308
|
452 | * Fixed: escape backslashes in coffeescript filter
|
453 |
|
454 | 0.22.0 / 2012-03-22
|
455 | ==================
|
456 |
|
457 | * Added pug manpage (`man pug` after installation for docs)
|
458 | * Added `-D, --no-debug` to pug(1)
|
459 | * Added `-p, --pretty` to pug(1)
|
460 | * Added `-c, --client` option to pug(1)
|
461 | * Fixed `-o { client: true }` with stdin
|
462 | * Fixed: skip blank lines in lexer (unless within pipeless text). Closes #399
|
463 |
|
464 | 0.21.0 / 2012-03-10
|
465 | ==================
|
466 |
|
467 | * Added new input/output test suite using Mocha's string diffing
|
468 | * Added alias `extend` -> `extends`. Closes #527 [guillermo]
|
469 | * Fixed include escapes. Closes #513
|
470 | * Fixed block-expansion with .foo and #foo short-hands. Closes #498
|
471 |
|
472 | 0.20.3 / 2012-02-16
|
473 | ==================
|
474 |
|
475 | * Changed: pass `.filename` to filters only
|
476 |
|
477 | 0.20.2 / 2012-02-16
|
478 | ==================
|
479 |
|
480 | * Fixed `:stylus` import capabilities, pass .filename
|
481 |
|
482 | 0.20.1 / 2012-02-02
|
483 | ==================
|
484 |
|
485 | * Fixed Block#includeBlock() with textOnly blocks
|
486 |
|
487 | 0.20.0 / 2011-12-28
|
488 | ==================
|
489 |
|
490 | * Added a browser example
|
491 | * Added `yield` for block `include`s
|
492 | * Changed: replaced internal `__` var with `__pug` [chrisleishman]
|
493 | * Fixed two globals. Closes #433
|
494 |
|
495 | 0.19.0 / 2011-12-02
|
496 | ==================
|
497 |
|
498 | * Added block `append` / `prepend` support. Closes #355
|
499 | * Added link in readme to pug-mode for Emacs
|
500 | * Added link to python implementation
|
501 |
|
502 | 0.18.0 / 2011-11-21
|
503 | ==================
|
504 |
|
505 | * Changed: only ['script', 'style'] are text-only. Closes #398'
|
506 |
|
507 | 0.17.0 / 2011-11-10
|
508 | ==================
|
509 |
|
510 | * pug.renderFile() is back! (for express 3.x)
|
511 | * Fixed `Object.keys()` failover bug
|
512 |
|
513 | 0.16.4 / 2011-10-24
|
514 | ==================
|
515 |
|
516 | * Fixed a test due to reserved keyword
|
517 | * Fixed: commander 0.1.x dep for 0.5.x
|
518 |
|
519 | 0.16.3 / 2011-10-24
|
520 | ==================
|
521 |
|
522 | * Added: allow leading space for conditional comments
|
523 | * Added quick implementation of a switch statement
|
524 | * Fixed parens in mixin args. Closes #380
|
525 | * Fixed: include files with a .pug extension as pug files
|
526 |
|
527 | 0.16.2 / 2011-09-30
|
528 | ==================
|
529 |
|
530 | * Fixed include regression. Closes #354
|
531 |
|
532 | 0.16.1 / 2011-09-29
|
533 | ==================
|
534 |
|
535 | * Fixed unexpected `else` bug when compileDebug: false
|
536 | * Fixed attr state issue for balancing pairs. Closes #353
|
537 |
|
538 | 0.16.0 / 2011-09-26
|
539 | ==================
|
540 |
|
541 | * Added `include` block support. Closes #303
|
542 | * Added template inheritance via `block` and `extends`. Closes #242
|
543 | * Added 'type="text/css"' to the style tags generated by filters.
|
544 | * Added 'uglifyjs' as an explicit devDependency.
|
545 | * Added -p, --path <path> flag to pug(1)
|
546 | * Added support for any arbitrary doctype
|
547 | * Added `pug.render(str[,options], fn)` back
|
548 | * Added first-class `while` support
|
549 | * Added first-class assignment support
|
550 | * Fixed runtime.js `Array.isArray()` polyfill. Closes #345
|
551 | * Fixed: set .filename option in pug(1) when passing filenames
|
552 | * Fixed `Object.keys()` polyfill typo. Closes #331
|
553 | * Fixed `include` error context
|
554 | * Renamed magic "index" to "$index". Closes #350
|
555 |
|
556 | 0.15.4 / 2011-09-05
|
557 | ==================
|
558 |
|
559 | * Fixed script template html. Closes #316
|
560 | * Revert "Fixed script() tag with trailing ".". Closes #314"
|
561 |
|
562 | 0.15.3 / 2011-08-30
|
563 | ==================
|
564 |
|
565 | * Added Makefile example. Closes #312
|
566 | * Fixed script() tag with trailing ".". Closes #314
|
567 |
|
568 | 0.15.2 / 2011-08-26
|
569 | ==================
|
570 |
|
571 | * Fixed new conditional boundaries. Closes #307
|
572 |
|
573 | 0.15.1 / 2011-08-26
|
574 | ==================
|
575 |
|
576 | * Fixed pug(1) support due to `res.render()` removal
|
577 | * Removed --watch support (use a makefile + watch...)
|
578 |
|
579 | 0.15.0 / 2011-08-26
|
580 | ==================
|
581 |
|
582 | * Added `client` option to reference runtime helpers
|
583 | * Added `Array.isArray()` for runtime.js as well
|
584 | * Added `Object.keys()` for the client-side runtime
|
585 | * Added first-class `if`, `unless`, `else` and `else if` support
|
586 | * Added first-class `each` / `for` support
|
587 | * Added `make benchmark` for continuous-bench
|
588 | * Removed `inline` option, SS helpers are no longer inlined either
|
589 | * Removed `Parser#debug()`
|
590 | * Removed `pug.render()` and `pug.renderFile()`
|
591 | * Fixed runtime.js `escape()` bug causing window.escape to be used
|
592 | * Fixed a bunch of tests
|
593 |
|
594 | 0.14.2 / 2011-08-16
|
595 | ==================
|
596 |
|
597 | * Added `include` support for non-pug files
|
598 | * Fixed code indentation when followed by newline(s). Closes #295 [reported by masylum]
|
599 |
|
600 | 0.14.1 / 2011-08-14
|
601 | ==================
|
602 |
|
603 | * Added `colons` option for everyone stuck with ":". Closes #231
|
604 | * Optimization: consecutive lines are merged in compiled js
|
605 |
|
606 | 0.14.0 / 2011-08-08
|
607 | ==================
|
608 |
|
609 | * Added array iteration with index example. Closes #276
|
610 | * Added _runtime.js_
|
611 | * Added `compileDebug` option to enable lineno instrumentation
|
612 | * Added `inline` option to disable inlining of helpers (for client-side)
|
613 |
|
614 | 0.13.0 / 2011-07-13
|
615 | ==================
|
616 |
|
617 | * Added `mixin` support
|
618 | * Added `include` support
|
619 | * Added array support for the class attribute
|
620 |
|
621 | 0.12.4 / 2011-06-23
|
622 | ==================
|
623 |
|
624 | * Fixed filter indentation bug. Closes #243
|
625 |
|
626 | 0.12.3 / 2011-06-21
|
627 | ==================
|
628 |
|
629 | * Fixed empty strings support. Closes #223
|
630 | * Fixed conditional comments documentation. Closes #245
|
631 |
|
632 | 0.12.2 / 2011-06-16
|
633 | ==================
|
634 |
|
635 | * Fixed `make test`
|
636 | * Fixed block comments
|
637 |
|
638 | 0.12.1 / 2011-06-04
|
639 | ==================
|
640 |
|
641 | * Fixed attribute interpolation with double quotes. Fixes #232 [topaxi]
|
642 |
|
643 | 0.12.0 / 2011-06-03
|
644 | ==================
|
645 |
|
646 | * Added `doctype` as alias of `!!!`
|
647 | * Added; doctype value is now case-insensitive
|
648 | * Added attribute interpolation support
|
649 | * Fixed; retain original indentation spaces in text blocks
|
650 |
|
651 | 0.11.1 / 2011-06-01
|
652 | ==================
|
653 |
|
654 | * Fixed text block indentation [Laszlo Bacsi]
|
655 | * Changed; utilizing devDependencies
|
656 | * Fixed try/catch issue with renderFile(). Closes #227
|
657 | * Removed attribute ":" support, use "=" (option for ':' coming soon)
|
658 |
|
659 | 0.11.0 / 2011-05-14
|
660 | ==================
|
661 |
|
662 | * Added `self` object to avoid poor `with(){}` performance [masylum]
|
663 | * Added `doctype` option [Jeremy Larkin]
|
664 |
|
665 | 0.10.7 / 2011-05-04
|
666 | ==================
|
667 |
|
668 | * expose Parser
|
669 |
|
670 | 0.10.6 / 2011-04-29
|
671 | ==================
|
672 |
|
673 | * Fixed CS `Object.keys()` [reported by robholland]
|
674 |
|
675 | 0.10.5 / 2011-04-26
|
676 | ==================
|
677 |
|
678 | * Added error context after the lineno
|
679 | * Added; indicate failing lineno with ">"
|
680 | * Added `Object.keys()` for the client-side
|
681 | * Fixed attr strings when containing the opposite quote. Closes 207
|
682 | * Fixed attr issue with js expressions within strings
|
683 | * Fixed single-quote filter escape bug. Closes #196
|
684 |
|
685 |
|
686 | 0.10.4 / 2011-04-05
|
687 | ==================
|
688 |
|
689 | * Added `html` doctype, same as "5"
|
690 | * Fixed `pre`, no longer text-only
|
691 |
|
692 | 0.10.3 / 2011-03-30
|
693 | ==================
|
694 |
|
695 | * Fixed support for quoted attribute keys ex `rss("xmlns:atom"="atom")`
|
696 |
|
697 | 0.10.2 / 2011-03-30
|
698 | ==================
|
699 |
|
700 | * Fixed pipeless text bug with missing outdent
|
701 |
|
702 | 0.10.1 / 2011-03-28
|
703 | ==================
|
704 |
|
705 | * Fixed `support/compile.js` to exclude browser js in node
|
706 | * Fixes for IE [Patrick Pfeiffer]
|
707 |
|
708 | 0.10.0 / 2011-03-25
|
709 | ==================
|
710 |
|
711 | * Added AST-filter support back in the form of `<tag>[attrs]<:><block>`
|
712 |
|
713 | 0.9.3 / 2011-03-24
|
714 | ==================
|
715 |
|
716 | * Added `Block#unshift(node)`
|
717 | * Added `pug.js` for the client-side to the repo
|
718 | * Added `pug.min.js` for the client-side to the repo
|
719 | * Removed need for pipes in filters. Closes #185
|
720 | Note that this _will_ break filters used to
|
721 | manipulate the AST, until we have a different
|
722 | syntax for doing so.
|
723 |
|
724 | 0.9.2 / 2011-03-23
|
725 | ==================
|
726 |
|
727 | * Added pug `--version`
|
728 | * Removed `${}` interpolation support, use `#{}`
|
729 |
|
730 | 0.9.1 / 2011-03-16
|
731 | ==================
|
732 |
|
733 | * Fixed invalid `.map()` call due to recent changes
|
734 |
|
735 | 0.9.0 / 2011-03-16
|
736 | ==================
|
737 |
|
738 | * Added client-side browser support via `make pug.js` and `make pug.min.js`.
|
739 |
|
740 | 0.8.9 / 2011-03-15
|
741 | ==================
|
742 |
|
743 | * Fixed preservation of newlines in text blocks
|
744 |
|
745 | 0.8.8 / 2011-03-14
|
746 | ==================
|
747 |
|
748 | * Fixed pug(1) stdio
|
749 |
|
750 | 0.8.7 / 2011-03-14
|
751 | ==================
|
752 |
|
753 | * Added `mkdirs()` to pug(1)
|
754 | * Added pug(1) stdio support
|
755 | * Added new features to pug(1), `--watch`, recursive compilation etc [khingebjerg]
|
756 | * Fixed pipe-less text newlines
|
757 | * Removed pug(1) `--pipe` flag
|
758 |
|
759 | 0.8.6 / 2011-03-11
|
760 | ==================
|
761 |
|
762 | * Fixed parenthesized expressions in attrs. Closes #170
|
763 | * Changed; default interpolation values `== null` to ''. Closes #167
|
764 |
|
765 | 0.8.5 / 2011-03-09
|
766 | ==================
|
767 |
|
768 | * Added pipe-less text support with immediate ".". Closes #157
|
769 | * Fixed object support in attrs
|
770 | * Fixed array support for attrs
|
771 |
|
772 | 0.8.4 / 2011-03-08
|
773 | ==================
|
774 |
|
775 | * Fixed issue with expressions being evaluated several times. closes #162
|
776 |
|
777 | 0.8.2 / 2011-03-07
|
778 | ==================
|
779 |
|
780 | * Added markdown, discount, and markdown-js support to `:markdown`. Closes #160
|
781 | * Removed `:discount`
|
782 |
|
783 | 0.8.1 / 2011-03-04
|
784 | ==================
|
785 |
|
786 | * Added `pre` pipe-less text support (and auto-escaping)
|
787 |
|
788 | 0.8.0 / 2011-03-04
|
789 | ==================
|
790 |
|
791 | * Added block-expansion support. Closes #74
|
792 | * Added support for multi-line attrs without commas. Closes #65
|
793 |
|
794 | 0.7.1 / 2011-03-04
|
795 | ==================
|
796 |
|
797 | * Fixed `script()` etc pipe-less text with attrs
|
798 |
|
799 | 0.7.0 / 2011-03-04
|
800 | ==================
|
801 |
|
802 | * Removed `:javascript` filter (it doesn't really do anything special, use `script` tags)
|
803 | * Added pipe-less text support. Tags that only accept text nodes (`script`, `textarea`, etc) do not require `|`.
|
804 | * Added `:text` filter for ad-hoc pipe-less
|
805 | * Added flexible indentation. Tabs, arbitrary number of spaces etc
|
806 | * Added conditional-comment support. Closes #146
|
807 | * Added block comment support
|
808 | * Added rss example
|
809 | * Added `:stylus` filter
|
810 | * Added `:discount` filter
|
811 | * Fixed; auto-detect xml and do not self-close tags. Closes #147
|
812 | * Fixed whitespace issue. Closes #118
|
813 | * Fixed attrs. `,`, `=`, and `:` within attr value strings are valid Closes #133
|
814 | * Fixed; only output "" when code == null. Ex: `span.name= user.name` when undefined or null will not output "undefined". Closes #130
|
815 | * Fixed; throw on unexpected token instead of hanging
|
816 |
|
817 | 0.6.3 / 2011-02-02
|
818 | ==================
|
819 |
|
820 | * Added `each` support for Array-like objects [guillermo]
|
821 |
|
822 | 0.6.2 / 2011-02-02
|
823 | ==================
|
824 |
|
825 | * Added CSRF example, showing how you can transparently add inputs to a form
|
826 | * Added link to vim-pug
|
827 | * Fixed self-closing col support [guillermo]
|
828 | * Fixed exception when getAttribute or removeAttribute run into removed attributes [Naitik Shah]
|
829 |
|
830 | 0.6.0 / 2010-12-19
|
831 | ==================
|
832 |
|
833 | * Added unescaped interpolation variant `!{code}`. Closes #124
|
834 | * Changed; escape interpolated code by default `#{code}`
|
835 |
|
836 | 0.5.7 / 2010-12-08
|
837 | ==================
|
838 |
|
839 | * Fixed; hyphen in get `tag()`
|
840 |
|
841 | 0.5.6 / 2010-11-24
|
842 | ==================
|
843 |
|
844 | * Added `exports.compile(str, options)`
|
845 | * Renamed internal `_` to `__`, since `_()` is commonly used for translation
|
846 |
|
847 | 0.5.5 / 2010-10-30
|
848 | ==================
|
849 |
|
850 | * Add _coffeescript_ filter [Michael Hampton]
|
851 | * Added link to _slim_; a ruby implementation
|
852 | * Fixed quoted attributes issue.
|
853 |
|
854 | * Fixed attribute issue with over greedy regexp.
|
855 | Previously "p(foo=(((('bar')))))= ((('baz')))"
|
856 | would __fail__ for example since the regexp
|
857 | would lookahead to far. Now we simply pair
|
858 | the delimiters.
|
859 |
|
860 | 0.5.4 / 2010-10-18
|
861 | ==================
|
862 |
|
863 | * Adding newline when using tag code when preceding text
|
864 | * Assume newline in tag text when preceding text
|
865 | * Changed; retain leading text whitespace
|
866 | * Fixed code block support to prevent multiple buffer openings [Jake Luer]
|
867 | * Fixed nested filter support
|
868 |
|
869 | 0.5.3 / 2010-10-06
|
870 | ==================
|
871 |
|
872 | * Fixed bug when tags with code also have a block [reported by chrisirhc]
|
873 |
|
874 | 0.5.2 / 2010-10-05
|
875 | ==================
|
876 |
|
877 | * Added; Text introduces newlines to mimic the grammar.
|
878 | Whitespace handling is a little tricky with this sort of grammar.
|
879 | Pug will now mimic the written grammar, meaning that text blocks
|
880 | using the "|" margin character will introduce a literal newline,
|
881 | where as immediate tag text (ex "a(href='#') Link") will not.
|
882 |
|
883 | This may not be ideal, but it makes more sense than what Pug was
|
884 | previously doing.
|
885 |
|
886 | * Added `Tag#text` to disambiguate between immediate / block text
|
887 | * Removed _pretty_ option (was kinda useless in the state it was in)
|
888 | * Reverted ignoring of newlines. Closes #92.
|
889 | * Fixed; `Parser#parse()` ignoring newlines
|
890 |
|
891 | 0.5.1 / 2010-10-04
|
892 | ==================
|
893 |
|
894 | * Added many examples
|
895 | * Added; compiler api is now public
|
896 | * Added; filters can accept / manipulate the parse tree
|
897 | * Added filter attribute support. Closes #79
|
898 | * Added LL(*) capabilities
|
899 | * Performance; wrapping code blocks in {} instead of `(function(){}).call(this)`
|
900 | * Performance; Optimized attribute buffering
|
901 | * Fixed trailing newlines in blocks
|
902 |
|
903 | 0.5.0 / 2010-09-11
|
904 | ==================
|
905 |
|
906 | * __Major__ refactor. Logic now separated into lexer/parser/compiler for future extensibility.
|
907 | * Added _pretty_ option
|
908 | * Added parse tree output for _debug_ option
|
909 | * Added new examples
|
910 | * Removed _context_ option, use _scope_
|
911 |
|
912 | 0.4.1 / 2010-09-09
|
913 | ==================
|
914 |
|
915 | * Added support for arbitrary indentation for single-line comments. Closes #71
|
916 | * Only strip first space in text (ex '| foo' will buffer ' foo')
|
917 |
|
918 | 0.4.0 / 2010-08-30
|
919 | ==================
|
920 |
|
921 | * Added tab naive support (tabs are converted to a single indent, aka two spaces). Closes #24
|
922 | * Added unbuffered comment support. Closes #62
|
923 | * Added hyphen support for tag names, ex: "fb:foo-bar"
|
924 | * Fixed bug with single quotes in comments. Closes #61
|
925 | * Fixed comment whitespace issue, previously padding. Closes #55
|
926 |
|
927 | 0.3.0 / 2010-08-04
|
928 | ==================
|
929 |
|
930 | * Added single line comment support. Closes #25
|
931 | * Removed CDATA from _:javascript_ filter. Closes #47
|
932 | * Removed _sys_ local
|
933 | * Fixed code following tag
|
934 |
|
935 | 0.2.4 / 2010-08-02
|
936 | ==================
|
937 |
|
938 | * Added Buffer support to `render()`
|
939 | * Fixed filter text block exception reporting
|
940 | * Fixed tag exception reporting
|
941 |
|
942 | 0.2.3 / 2010-07-27
|
943 | ==================
|
944 |
|
945 | * Fixed newlines before block
|
946 | * Fixed; tag text allowing arbitrary trailing whitespace
|
947 |
|
948 | 0.2.2 / 2010-07-16
|
949 | ==================
|
950 |
|
951 | * Added support for `pug.renderFile()` to utilize primed cache
|
952 | * Added link to [textmate bundle](http://github.com/miksago/pug-tmbundle)
|
953 | * Fixed filter issue with single quotes
|
954 | * Fixed hyphenated attr bug
|
955 | * Fixed interpolation single quotes. Closes #28
|
956 | * Fixed issue with comma in attrs
|
957 |
|
958 | 0.2.1 / 2010-07-09
|
959 | ==================
|
960 |
|
961 | * Added support for node-discount and markdown-js
|
962 | depending on which is available.
|
963 |
|
964 | * Added support for tags to have blocks _and_ text.
|
965 | this kinda fucks with arbitrary whitespace unfortunately,
|
966 | but also fixes trailing spaces after tags _with_ blocks.
|
967 |
|
968 | * Caching generated functions. Closes #46
|
969 |
|
970 | 0.2.0 / 2010-07-08
|
971 | ==================
|
972 |
|
973 | * Added `- each` support for readable iteration
|
974 | * Added [markdown-js](http://github.com/evilstreak/markdown-js) support (no compilation required)
|
975 | * Removed node-discount support
|
976 |
|
977 | 0.1.0 / 2010-07-05
|
978 | ==================
|
979 |
|
980 | * Added `${}` support for interpolation. Closes #45
|
981 | * Added support for quoted attr keys: `label("for": 'something')` is allowed (_although not required_) [Guillermo]
|
982 | * Added `:less` filter [jakeluer]
|
983 |
|
984 | 0.0.2 / 2010-07-03
|
985 | ==================
|
986 |
|
987 | * Added `context` as synonym for `scope` option [Guillermo]
|
988 | * Fixed attr splitting: `div(style:"color: red")` is now allowed
|
989 | * Fixed issue with `(` and `)` within attrs: `a(class: (a ? 'a' : 'b'))` is now allowed
|
990 | * Fixed issue with leading / trailing spaces in attrs: `a( href="#" )` is now allowed [Guillermo]
|
991 |
|