UNPKG

8.73 kBMarkdownView Raw
1compound-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
21Allow to collect information about response handling, db queries, etc..
22Now we can build our own newrelic, with blackjack and hookers!
23
24### Bootstrap 2.0
25
26Updated generators, helpers and ejs-ext module.
27Many 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
39Extend 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
45to get `<%- myCoolHelper %>` availabe in every view
46
47### Stylus support
48
49Generate 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
70Will generate `<input name="Post[title]" />` instead of `<input name="title" />`
71For all existing code this behavior **is not turned on** to not break anything,
72but for newly generated apps it turned on in `config/environment` file
73
74 app.set 'view options', complexNames: true
75
76CRUD generator also rewritten to match new structure
77
78
79## 0.2.6 Fri, 13 Jan 2012
80
81Major amends:
82
83- routing moved to separate project
84- default database engine is `memory`
85- node 0.4 compatible
86
87Minor 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
95Bugfixes:
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
104A lot of changes in core, fully rewritten controllers flow, node 0.6.0 compatible
105
106Migration 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
114New 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
141ensure mongo and redis servers are running, then run
142
143 nodeunit test/generators.coffee
144
145or
146
147 npm test
148
149### Testing API for controllers
150
151Check out autogenerated tests for controllers, additional nodeunit stubs
152can 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
160More stubs coming soon
161
162
163### Localize form labels automagically
164
165Now form labels can be localized automatically, just use it as previously:
166
167 <% form_for(user, {}, function (form) { %>
168 <%- form.label('name') %>
169 <% }); %>
170
171And 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
182Application can be generated with `--tpl` key, for now possibly values are
183
184- jade
185- ejs (default)
186
187This list can be extended. Check out packages npm `ejs-ext` and `jade-ext`
188if you need to learn how to do it. It easy: just add another `lang-ext` package
189and 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
199Small 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
213Observer is a kind of controller, that listen for some event in
214the system, for example: paypal, twitter or facebook observers
215listens for callback from foreign service. Email observer may
216listen some events related to emails.
217
218If 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
225Just place your key and cert into config directory, railway will use it.
226Default 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
2310.1.2
232=====
233
234 - npmfile
235 - Extenstions
236 - Support (partially) security tokens generation
237
2380.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
2450.0.9
246=====
247
248Scaffold generator `railway generate scaffold ModelName field1:type1 field2:type2`
249It generates model, crud controller and appropriated views
250
2510.0.8
252=====
253
254Now you can run `railway init blog` and railway will create directory structure
255within `blog` root folder
256
257By default will created file `config/database.json` that will force you to use
258mongoose driver, feel free to modify it and use redis or mysql (both supported)
259
260Also, running `express -t ejs` no longer required
261
2620.0.7
263=====
264
265Mongoose driver support
266
267Describe your schema in `db/schema.js`, it's just commonjs module which should export
268models. For describing logic please use `app/models/*.js` files. Every model
269described in schema accessible as global object in all models and controllers.
270
2710.0.6
272=====
273
274Added features generator for `cucumis`. Run `railway generate features`, then
275you will be able to create `features` using Gherkin language, parsed by kyuri.
276
2770.0.5
278=====
279
280 * CRUD generator
281 * improved `form_for` helper
282 * binary file bugfixes
283 * layouts moved to `app/views/layouts`
284
2850.0.4
286=====
287
288 * Rewritten controllers
289 * Rewritten models
290 * ORM for mysql, redis, works like datamapper (e.g. one entity -- one object)