1 | ### v0.24.0
|
2 |
|
3 | - Bumps [base-data][] which removed `renameKey` option used when loading data. Use the `namespace` option instead.
|
4 |
|
5 | ### v0.23.0
|
6 |
|
7 | - Bumps [base-engine][] to fix a bug in [engine-cache][].
|
8 |
|
9 | ### v0.22.2
|
10 |
|
11 | - fixes `List` bug that was caused collection helpers to explode
|
12 |
|
13 | ### v0.22.0
|
14 |
|
15 | There should be no breaking changes in this release. If you experience a regression, please [create an issue](../../issues).
|
16 |
|
17 | - Externalizes a few core plugins to: [base-helpers][], [base-routes][], and [base-engine][]. The goal is to allow you to use only the plugins you need in your builds.
|
18 | - Improvements to lookup functions: `app.getView()` and `app.find()`
|
19 | - Bumps [base][] to take advantages of code optimizations.
|
20 |
|
21 | ### v0.21.0
|
22 |
|
23 | **Breaking changes**
|
24 |
|
25 | - The `queue` property has been removed, as well as related code for loading views using events. This behavior can easily be added using plugins or existing emitters.
|
26 |
|
27 | **Non-breaking**
|
28 |
|
29 | - The `View` and `Item` class have been externalized to modules [vinyl-item][] and [vinyl-view][] so they can be used in other libraries.
|
30 |
|
31 | ### v0.20.0
|
32 |
|
33 | - **Context**: In general, context should be merged so that the most specific context wins over less specific. This fixes one case where locals was winning over front-matter
|
34 | - **Helpers**: Exposes `.ctx()` method on helper context, to simplify merging context in non-built-in helpers
|
35 | - **Engines**: Fixes bug that was using default engine on options instead of engine that matches view file extension.
|
36 |
|
37 | ### v0.19.0
|
38 |
|
39 | - Numerous [dependency updates](https://github.com/jonschlinkert/templates/commit/6f78d88aa1920b84d20177bf35942e596b8e58b5)
|
40 |
|
41 | ### v0.18.0
|
42 |
|
43 | - [Fixes inheritance bug](https://github.com/jonschlinkert/templates/commit/66b0d885648600c97b4a158eaebf3e95443ec66e) that only manifests in node v0.4.0
|
44 | - Improved [error handling in routes](https://github.com/jonschlinkert/templates/commit/d7654b74502465587da1e490c09e486fbf43f6db)
|
45 |
|
46 | ### v0.17.0
|
47 |
|
48 | - Removed `debug` methods and related code
|
49 | - Improve layout handling with respect to template types (`partial`, `renderable` and `layout`)
|
50 | - Update dependencies
|
51 |
|
52 | ### v0.16.0
|
53 |
|
54 | - Improved context handling
|
55 | - Ensure collection middleware is handled [after app middleware](https://github.com/jonschlinkert/templates/commit/f47385f5172a2773c3ab2a969ebfccc533ec5e27)
|
56 |
|
57 | ### v0.15.0
|
58 |
|
59 | - removes `.removeItem` method that was deprecated in v0.10.7 from `List`
|
60 | - `.handleView` is deprecated in favor of `.handleOnce` and will be removed in a future version. Start using `.handleOnce` now.
|
61 | - adds a static `Templates.setup()` method for initializing any setup code that should have access to the instance before any other use code is run.
|
62 | - upgrade to [base-data][] v0.4.0, which adds `app.option.set`, `app.option.get` and `app.option.merge`
|
63 |
|
64 | ### v0.14.0
|
65 |
|
66 | Although 99% of users won't be effected by the changes in this release, there were some **potentially breaking changes**.
|
67 |
|
68 | - The `render` and `compile` methods were streamlined, making it clear that `.mergePartials` should not have been renamed to `mergePartialsSync`. So that change was reverted.
|
69 | - Helper context: Exposes a `this.helper` object to the context in helpers, which has the helper name and options that were set specifically for that helper
|
70 | - Helper context: Exposes a `this.view` object to the context in helpers, which is the current view being rendered. This was (and still is) always expose on `this.context.view`, but it makes sense to add this to the root of the context as a convenience. We will deprecate `this.context.view` in a future version.
|
71 | - Helper context: `.get`, `.set` and `.merge` methods on `this.options`, `this.context` and the `this` object in helpers.
|
72 |
|
73 | ### v0.13.0
|
74 |
|
75 | - All template handling is async by default. Instead of adding `.compileSync`, we felt that it made more sense to add `.compileAsync`, since `.compile` is a public method and most users will expect it to be sync, and `.compile` methods with most engines are typically sync. In other words, `.compileAsync` probably won't be seen by most users, but we wanted to explain the decision to go against node.js naming conventions.
|
76 | - Improved layout detection and handling
|
77 |
|
78 | ### v0.12.0
|
79 |
|
80 | - Adds helper methods, [.hasAsyncHelper](#hasasynchelper), [.hasHelper](#hashelper), [.getAsyncHelper](#getasynchelper), and [.getHelper](#gethelper)
|
81 | - Ensures that both collection and app routes are handled when both are defined for a view
|
82 |
|
83 | ### v0.11.0
|
84 |
|
85 | - Default `engine` can now be defined on `app` or a collection using using `app.option('engine')`, `views.option('engine')`
|
86 | - Default `layout` can now defined using `app.option('layout')`, `views.option('layout')`. No changes have been made to `view.layout`, it should work as before. Resolves [issue/#818](../../issues/818)
|
87 | - Improves logic for finding a layout, this should make layouts easier to define and find going forward.
|
88 | - The built-in `view` helper has been refactored completely. The helper is now async and renders the view before returning its content.
|
89 | - Adds `isApp`, `isViews`, `isCollection`, `isList`, `isView`, `isGroup`, and `isItem` static methods. All return true when the given value is an instance of the respective class.
|
90 | - Adds `deleteItem` method to List and Collection, and `deleteView` method to Views.
|
91 | - Last, the static `_.proto` property which is only exposed for unit tests was renamed to `_.plugin`.
|
92 |
|
93 | ### v0.10.7
|
94 |
|
95 | - Force-update [base][] to v0.6.4 to take advantage of `isRegistered` feature.
|
96 |
|
97 | ### v0.10.6
|
98 |
|
99 | - Re-introduces fs logic to `getView`, now that the method has been refactored to be faster.
|
100 |
|
101 | ### v0.10.0
|
102 |
|
103 | - `getView` method no longer automatically reads views from the file system. This was undocumented before and, but it's a breaking change nonetheless. The removed functionality can easily be done in a plugin.
|
104 |
|
105 | ### v0.9.5
|
106 |
|
107 | - Fixes error messages when no engine is found for a view, and the view does not have a file extension.
|
108 |
|
109 | ### v0.9.4
|
110 |
|
111 | - Fixes a lookup bug in render and compile that was returning the first view that matched the given name from _any_ collection. So if a partial and a page shared the same name, if the partial was matched first it was returned. Now the `renderable` view is rendered (e.g. page)
|
112 |
|
113 | ### v0.9.0
|
114 |
|
115 | - _breaking change_: changes parameters on `app.context` method. It now only accepts two arguments, `view` and `locals`, since `ctx` (the parameter that was removed) was technically being merged in twice.
|
116 |
|
117 | ### v0.8.0
|
118 |
|
119 | - Exposes `isType` method on `view`. Shouldn't be any breaking changes.
|
120 |
|
121 | ### v0.7.0
|
122 |
|
123 | - _breaking change_: renamed `.error` method to `.formatError`
|
124 | - adds `mergeContext` option
|
125 | - collection name is now emitted with `view` and `item` as the second argument
|
126 | - adds `isType` method for checking the `viewType` on a collection
|
127 | - also now emits an event with the collection name when a view is created
|
128 |
|
129 | ### v0.5.1
|
130 |
|
131 | - fixes bug where `default` layout was automatically applied to partials, causing an infinite loop in rare cases.
|