1 | compound-railway-changelog(3) -- RailwayJS History
|
2 | ==================================================
|
3 |
|
4 | ## 0.2.13 Sun, 25 Mar 2012
|
5 |
|
6 | - Added db-tools and seedjs
|
7 | - Removing validations before loading models
|
8 | - Models not running in sandbox, just a regular `require`, `publish` method deprecated, use `module.exports` instead
|
9 | - Removed `import` and `export` methods from controller scope
|
10 | - **IMPORTANT** jugglingdb dependency removed from railway, add it to your project when it's necessary
|
11 | - Added filter names uniquenes checking, issue #136
|
12 | - Added support for coffeescript format for locales, thanks to [David Butler](https://github.com/dwbutler)
|
13 | - Add support for file uploads to form helper, via [David Butler](https://github.com/dwbutler)
|
14 | - New helper `csrf_tag` to create the hidden input tag, thanks to [fsateler](https://github.com/fsateler)
|
15 | - Changes to routing (fixed behavior of `as` option), now it affects helper names too, via [fsateler](https://github.com/fsateler)
|
16 |
|
17 | ## 0.2.10
|
18 |
|
19 | ### Monitoring API
|
20 |
|
21 | Allow to collect information about response handling, db queries, etc..
|
22 | Now we can build our own newrelic, with blackjack and hookers!
|
23 |
|
24 | ### Bootstrap 2.0
|
25 |
|
26 | Updated generators, helpers and ejs-ext module.
|
27 | Many thanks to [Garret Johnson](https://github.com/garrettrayj)
|
28 |
|
29 | ### Various fixes:
|
30 |
|
31 | - allowing nested namespaces within routes, thanks Ross Grayton
|
32 | - spec helper adjustments (for new node verion)
|
33 | - express 3.0 server startup, thanks @keichii
|
34 |
|
35 | ## 0.2.8 Sun, 29 Jan 2012
|
36 |
|
37 | ### Helpers extenstion API
|
38 |
|
39 | Extend helpers API prototype object:
|
40 |
|
41 | railway.helpers.HelperSet.prototype.myCoolHelper = function () {
|
42 | return '<p>Application-wide helper</p>'; // use this in your plugins
|
43 | };
|
44 |
|
45 | to get `<%- myCoolHelper %>` availabe in every view
|
46 |
|
47 | ### Stylus support
|
48 |
|
49 | Generate your application with `--stylus` option to work with stylus out-of-box:
|
50 |
|
51 | - store your assets in `/app/assets/styles/*.styl`
|
52 | - access styles at `GET /styles/*.css`
|
53 |
|
54 |
|
55 | ## 0.2.7 Fri, 20 Jan 2012
|
56 |
|
57 | - complex names in forms (see details below)
|
58 | - view option to disable layout `app.set 'view options', layout : false`
|
59 | - display env info in index.html
|
60 | - tests/fixes [rolling on travis-ci now](http://travis-ci.org/#!/1602/express-on-railway)
|
61 |
|
62 | ### Complex names in forms
|
63 |
|
64 | **Important change!** Now resourceful form helpers generates input names within csope:
|
65 |
|
66 | form_for(post, function (f)
|
67 | f.input('title')
|
68 | });
|
69 |
|
70 | Will generate `<input name="Post[title]" />` instead of `<input name="title" />`
|
71 | For all existing code this behavior **is not turned on** to not break anything,
|
72 | but for newly generated apps it turned on in `config/environment` file
|
73 |
|
74 | app.set 'view options', complexNames: true
|
75 |
|
76 | CRUD generator also rewritten to match new structure
|
77 |
|
78 |
|
79 | ## 0.2.6 Fri, 13 Jan 2012
|
80 |
|
81 | Major amends:
|
82 |
|
83 | - routing moved to separate project
|
84 | - default database engine is `memory`
|
85 | - node 0.4 compatible
|
86 |
|
87 | Minor improvements:
|
88 |
|
89 | - scaffold/show populated with properties
|
90 | - cleanup init generator
|
91 | - remove unnecesary dependencies
|
92 | - cleanup css [by Eric Chan]
|
93 | - improve locale.yaml loading [by VladimirTechMan]
|
94 |
|
95 | Bugfixes:
|
96 |
|
97 | - incorrect behavior for coffee-script server.coffee when running `rw s`
|
98 | - body entries in server log for GET requests
|
99 | - jade-ext, ejs-ext dependencies with bundled ejs and jade (bad monkey-patching)
|
100 | - relative paths in require inside models and controllers
|
101 |
|
102 | ## 0.2.0 For node 0.6.0, jugglingdb 0.0.6
|
103 |
|
104 | A lot of changes in core, fully rewritten controllers flow, node 0.6.0 compatible
|
105 |
|
106 | Migration notes:
|
107 |
|
108 | - Model.allInstances deprecated, use Model.all
|
109 | - No more class definition in model files, do it in db/schema.js
|
110 | - If you want to define non-persistence class in model file, publish it using `publish` method, not `export` (not allowed in node 0.6.0).
|
111 | - Mongoose driver not available out of box for direct using (only within jugglingdb logic layer)
|
112 | - db/schema not reloaded every time in dev mode, you should reload server after changing `db/schema` [issue #63]
|
113 |
|
114 | New features:
|
115 |
|
116 | - logging actions, app.enable('log actions') to turn on
|
117 | - logging jugglingdb queries
|
118 | - generic routes: app.get(':controller/:action');
|
119 | - incredibly fast controllers (2.5x faster) (controllers pool)
|
120 | - sexy bootstrap scaffolding
|
121 |
|
122 | ## 0.1.9 Experimental release
|
123 |
|
124 | - removed mongoose and datamapper, switched to jugglingdb
|
125 | - cleaning up all generators stuff, related to different ORMs
|
126 |
|
127 | ## 0.1.8.1
|
128 |
|
129 | - RIAK datamapper *beta*, thanks Taliesin Sisson (https://github.com/taliesins)
|
130 | - routes tuning (map.all, map.root, path alias, helpers alias)
|
131 | - controller changes: params, body, session objects published in controller context
|
132 | - skipBeforeFilter, skipAfterFilter support
|
133 | - controllerName and actionName available in all views
|
134 | - some bugfixes
|
135 | - minor changes
|
136 |
|
137 | ## 0.1.7
|
138 |
|
139 | ### Test generators
|
140 |
|
141 | ensure mongo and redis servers are running, then run
|
142 |
|
143 | nodeunit test/generators.coffee
|
144 |
|
145 | or
|
146 |
|
147 | npm test
|
148 |
|
149 | ### Testing API for controllers
|
150 |
|
151 | Check out autogenerated tests for controllers, additional nodeunit stubs
|
152 | can be used:
|
153 |
|
154 | test.redirect '/path'
|
155 | test.render 'viewName'
|
156 | test.send 'what'
|
157 | test.success() # check status 200
|
158 | test.assign 'memberName'
|
159 |
|
160 | More stubs coming soon
|
161 |
|
162 |
|
163 | ### Localize form labels automagically
|
164 |
|
165 | Now form labels can be localized automatically, just use it as previously:
|
166 |
|
167 | <% form_for(user, {}, function (form) { %>
|
168 | <%- form.label('name') %>
|
169 | <% }); %>
|
170 |
|
171 | And add translation to `locales/en.yml`:
|
172 |
|
173 | en:
|
174 | models:
|
175 | User:
|
176 | fields:
|
177 | name: User name
|
178 | email: Email address
|
179 |
|
180 | ### Jade templating engine (and any others)
|
181 |
|
182 | Application can be generated with `--tpl` key, for now possibly values are
|
183 |
|
184 | - jade
|
185 | - ejs (default)
|
186 |
|
187 | This list can be extended. Check out packages npm `ejs-ext` and `jade-ext`
|
188 | if you need to learn how to do it. It easy: just add another `lang-ext` package
|
189 | and install it before running `railway g app --tpl lang`
|
190 |
|
191 | ## 0.1.6
|
192 |
|
193 | - Merge javascripts and stylesheets
|
194 | - NPM 1.0.6 support (requires `sudo npm link` after `railway init`)
|
195 | - Filter parameter logging
|
196 | - CSRF protection (turned on by default)
|
197 | - Faster server startup (two-stage loading)
|
198 |
|
199 | Small improvements:
|
200 |
|
201 | - By default static cache max age is one day
|
202 | - Merge js and css option turned on in production
|
203 | - Railway helpers now instantiated per request (localization support can be hooked up now)
|
204 | - Heroku-friendly app generation for mongo
|
205 |
|
206 | ## 0.1.5
|
207 |
|
208 | - Extension API
|
209 | - Logger support (app.set('quiet', true) now forces logger to log in `log/ENV.log`
|
210 | - Railway common API (almost all existing modules)
|
211 | - Observers support
|
212 |
|
213 | Observer is a kind of controller, that listen for some event in
|
214 | the system, for example: paypal, twitter or facebook observers
|
215 | listens for callback from foreign service. Email observer may
|
216 | listen some events related to emails.
|
217 |
|
218 | If you need app.on('someEvent') you should place this code in
|
219 | `APPROOT/app/observers/NAME_observer.js`
|
220 |
|
221 | ## 0.1.3
|
222 |
|
223 | ### HTTPS Support
|
224 |
|
225 | Just place your key and cert into config directory, railway will use it.
|
226 | Default names for keys are `tsl.key` and `tsl.cert`, but you can store in in another place, in that case just pass filenames to createServer function:
|
227 | `server.js`
|
228 |
|
229 | require('railway').createServer({key: '/tmp/key.pem', cert: '/tmp/cert.pem'});
|
230 |
|
231 | 0.1.2
|
232 | =====
|
233 |
|
234 | - npmfile
|
235 | - Extenstions
|
236 | - Support (partially) security tokens generation
|
237 |
|
238 | 0.1.1
|
239 | =====
|
240 |
|
241 | - Localization in `config/locales/*.yml`
|
242 | - Coffeescript support for models, controllers and initializers
|
243 | - Disable caching settings: `app.disable('model cache');` and `app.disable('eval cache');`
|
244 |
|
245 | 0.0.9
|
246 | =====
|
247 |
|
248 | Scaffold generator `railway generate scaffold ModelName field1:type1 field2:type2`
|
249 | It generates model, crud controller and appropriated views
|
250 |
|
251 | 0.0.8
|
252 | =====
|
253 |
|
254 | Now you can run `railway init blog` and railway will create directory structure
|
255 | within `blog` root folder
|
256 |
|
257 | By default will created file `config/database.json` that will force you to use
|
258 | mongoose driver, feel free to modify it and use redis or mysql (both supported)
|
259 |
|
260 | Also, running `express -t ejs` no longer required
|
261 |
|
262 | 0.0.7
|
263 | =====
|
264 |
|
265 | Mongoose driver support
|
266 |
|
267 | Describe your schema in `db/schema.js`, it's just commonjs module which should export
|
268 | models. For describing logic please use `app/models/*.js` files. Every model
|
269 | described in schema accessible as global object in all models and controllers.
|
270 |
|
271 | 0.0.6
|
272 | =====
|
273 |
|
274 | Added features generator for `cucumis`. Run `railway generate features`, then
|
275 | you will be able to create `features` using Gherkin language, parsed by kyuri.
|
276 |
|
277 | 0.0.5
|
278 | =====
|
279 |
|
280 | * CRUD generator
|
281 | * improved `form_for` helper
|
282 | * binary file bugfixes
|
283 | * layouts moved to `app/views/layouts`
|
284 |
|
285 | 0.0.4
|
286 | =====
|
287 |
|
288 | * Rewritten controllers
|
289 | * Rewritten models
|
290 | * ORM for mysql, redis, works like datamapper (e.g. one entity -- one object)
|