liquid v0.1.0 Release Notes
Release Date: 2017-07-09 // almost 7 years ago-
- ✅ "contains" tests for arrays too (24d83f1)
- (Some) relationship operators (d03efed)
- a.b syntax (5dbd972)
- a[b] for invalid a or b (50d11a6)
- ➕ Add a Grammar interface for parsing (f313e6f)
- ➕ Add a Travis file (8e673ac)
- ➕ Add an executable (f1b2777)
- ➕ Add an type filter; inspect is more robust (3a1506b)
- ➕ Add contribution guidelines (1b7564d)
- ➕ Add coverage status (6297319)
- ➕ Add docs; remove unused UnimplementedError (983b9f5)
- ➕ Add engine.DefineControlTag; currently does nothing (8f7bcae)
- ➕ Add error line number (4472b15)
- ➕ Add goveralls to travis (c415f89)
- ➕ Add install-dev-toolsl to travis (008f1ed)
- ➕ Add IsTemplateError (2161bb6)
- ➕ Add Makefile (29c9ad8)
- ➕ Add more dependencies to credits (97b36ab)
- ➕ Add more parse time formats (77c5dc9)
- ➕ Add MustConvertItem; convert bool -> int (80d58dc)
- ➕ Add nil; distinguish between identifier and property patterns (7a2b28c)
- ➕ Add public DefineTag (e21d2a7)
- ➕ Add references to README (ac12225)
- ➕ Add RenderContext.ParseTagArgs (7c48138)
- ➕ Add reverse filter; improve generics (54b9f13)
- ➕ Add status badges to the README (465a681)
- ➕ Add strptime for time parsing (8ea72e4)
- ➕ Add Template.SetSourcePath (5425668)
- 👍 Allow - in identifiers (af8c486)
- 👍 Allow parens (607f4f4)
- Catch unimplemented panics (b1cf056)
- Chunk regex wasn't sufficiently non-greedy (f8b5503)
- ✅ Chunk scanner test cases (fc6d96e)
- Closure.Bind copies the original bindings (4e96c15)
- Compiler copies the syntax tree (8f63cb7)
- contains operates on strings not arrays (9dda87f)
- 📜 Control tag parsers can return an error (61663ab)
- Control tags actions are table-driven (20e4df3)
- Convert -> map[string] (767f1f4)
- Convert map -> [] (6075f39)
- Convert maps (2fed70b)
- Convert returns an error; create MustConvert (4df3f04)
- Coverage (6f7b67f)
- Coverage (36929af)
- Coverage (caca7a2)
- Coverage (78526e7)
- Coverage; simplify (a8afb01)
- 📄 Create an Expression interface; add some docs (2a2f333)
- Create LICENSE (e3425cc)
- 📦 Create top-level interface to liquid package (514559e)
- 📄 Docs (f15de87)
- 📄 Docs (803fbbc)
- Embed the Chunk in the AST nodes (089a0c8)
- ✅ Expression evaluator tests; fix revealed bugs (1f805d5)
- 🔧 Filters are an engine configuration (2e9903f)
- Filters can have (single) parameters (70aa70d)
- 👍 Filters support multiple argument, including expressions (a93848a)
- Finish generic comparison (dbdcca4)
- 🛠 Fix forloop.last with offset modifier (394036d)
- 🛠 Fix generic equality with nil (229059c)
- 🛠 Fix previous (87b8198)
- 🛠 Fix the raw tag (e2bb7c6)
- for over a map iterates over its keys (decd8dd)
- 📜 Functional is constructed within parser, not scanner (c02fbd5)
- FunctionalNode -> TagNode (18e2540)
- Generic Convert handles conversion to time (2083747)
- Generics (87708a0)
- GitHub templates (7bd8a8d)
- 👕 gometalinter doesn't have a config in this repo (28db298)
- identifiers can include '-' (606870e)
- 📜 If tag parses during parse stage (621992c)
- Implement {% else %}, {% elsif %} (cab7845)
- Implement {% if %} (60d2f78)
- Implement {% unless %} (6a06665)
- Implement <=, >=, contains (6c56efd)
- Implement a big chunk of filters (1630af7)
- Implement a[n] (555991c)
- Implement and, or, != (a5a3ad2)
- Implement ar.first, ar.list (c648a70)
- Implement booleans (6af4fca)
- Implement break, continue (a1784cd)
- Implement capture tag (055e789)
- Implement case (w/out else) (c5e7e6c)
- Implement comment tag (eb7a18e)
- Implement date formats (61b651c)
- Implement drops (ba874de)
- Implement expression scanner (57be549)
- 0️⃣ Implement filters: default; date (w/out format) (d849e74)
- Implement forloop variables (e9c35a3)
- Implement include (fab31d9)
- Implement loop modifiers (53a41f3)
- Implement loop reversed (383db45)
- Implement loop tag (babfc3e)
- Implement obj['name'] (63e2c5c)
- Implement raw tag (c09652b)
- Implement remaining numeric filters (5ec1f66)
- Implement some filters (30211ac)
- Implement sort: key (612f456)
- Implement string literals (without escapes) (ed150c5)
- Implement uniq filter (585cc5d)
- Implement variable assignment (cd15950)
- 👌 Improve docs (a077502)
- 👌 Improve some internal names (1da9d40)
- 🎉 Initial (58395a8)
- 👕 lint (a824673)
- 👕 Lint (e71bc95)
- 👕 Lint (09d3650)
- 👕 Lint (c4bd99b)
- 👕 Lint; remove dead code (fb26bb3)
- ⚡️ make install-dev-tools doesn't update packages (9714544)
- 0️⃣ Makefile default target is ci (3dba4ee)
- 🖨 Match print object to observed (d924e0b)
- Match split filter to observed (6a8127a)
- More filters (910d4b2)
- More filters (c433c08)
- ✅ More generic.Less; tests (43bedef)
- More time formats (2f0f6ba)
- 📦 Move assign tag -> tags package (d31fe04)
- 🚚 Move chunk marshalling to separate file (b367592)
- 🚚 Move chunks -> render (6161e6d)
- 📦 Move chunks to sub-package (2e61304)
- 📦 Move expression parser to sub-package (373b2fb)
- 🚚 Move expressions -> expression (9691dc2)
- 📦 Move filters to own package (4189f03)
- 🚚 Move generics -> evaluator (a434a75)
- 📦 Move generics to own package (f52d00f)
- 🚚 Move tag compilation to compiler stage (54e840c)
- 📦 Move tags to own package (83503a1)
- Negative integer indexes from end of list (c1fd00c)
- 🆕 New top-level Context wrapper (d6bc456)
- Optional filter arguments declared as functions (8397c5e)
- 📜 Parse control tag forms at parse time (5dddabe)
- 📜 Parse object expressions during parse stage; report error source (d4c895d)
- Rationalize some filenames (c4ff3d2)
- README (d29e4b2)
- README (c67d027)
- README links to godoc (a4b1835)
- Record source line number (08fcc4e)
- ✂ remove a debug print (e332e53)
- ✂ Remove else/elsif from unless (12045b5)
- ✂ Remove gratuitous Context wrapper (cb8911a)
- 📇 Rename (594ec99)
- 📇 Rename chunk -> token (69d26a2)
- 📇 Rename render.(Context,RenderContext) -> (NodeContext,Context) (411a2f0)
- 📇 Rename renderError -> render.Error (315af1a)
- 📇 Rename Settings -> Config (405c5bf)
- 📇 Rename some files (bcef4dc)
- 📇 Rename to match Liquid terminology (2e8f51a)
- 📜 Render tree is distinct type from parse AST (803471c)
- Render uses a switch instead of polymorphism (0559730)
- Renderers return a string, rather than taking an io.writer (8d9df82)
- ⚡️ Replace GetVariableMap -> UpdateBindings, RenderFile (a7cbb9b)
- ⏪ Restore tag tests (db5a3af)
- Separate interface.go from engine.go (ebc29dc)
- simplify (af95c44)
- simplify (846987d)
- simplify (c599761)
- Simplify external tag interface (f6c4299)
- slice, truncate use runes not bytes (a3c646c)
- SortByProperty can sort nil first or last (e2fd3bb)
- 📦 Split package render->parser (903acb8)
- 📜 Start to separate parser and compiler (c7d9af2)
- 🏷 Tags are an engine configuration (e6f8eac)
- 🏷 Tags are called within a RenderContext (41da3f9)
- 👕 tavis uses makefile lint (8f148dc)
- ✅ tests (d435cf5)
- Uh-oh – strftime gets the day of week wrong! (25e97ed)
- 🏗 Un-export ControlTagDefinition; create builder (0c7a8d2)
- Unconfuse unless/endunless (9b8da4f)
- Undefined tags, filters are errors not panics (9a807d0)
- ⚡️ Update Contributing to point to the project boards (dd41a36)
- ⚡️ Update guidelines to refer to issues board (aad76bd)
- 👉 Use C strptime to format dates (247bec3)
- ↪ Work around missing %-H in strftime (fc227aa)
- 📜 Yacc expression parsing (9c64c5a)
- 📦 Yacc, ragel source match package moves (a7a1ee5)