compound
Version:
CompoundJS - MVC framework for NodeJS
291 lines (195 loc) • 8.73 kB
Markdown
compound-railway-changelog(3) -- RailwayJS History
==================================================
## 0.2.13 Sun, 25 Mar 2012
- Added db-tools and seedjs
- Removing validations before loading models
- Models not running in sandbox, just a regular `require`, `publish` method deprecated, use `module.exports` instead
- Removed `import` and `export` methods from controller scope
- **IMPORTANT** jugglingdb dependency removed from railway, add it to your project when it's necessary
- Added filter names uniquenes checking, issue #136
- Added support for coffeescript format for locales, thanks to [David Butler](https://github.com/dwbutler)
- Add support for file uploads to form helper, via [David Butler](https://github.com/dwbutler)
- New helper `csrf_tag` to create the hidden input tag, thanks to [fsateler](https://github.com/fsateler)
- Changes to routing (fixed behavior of `as` option), now it affects helper names too, via [fsateler](https://github.com/fsateler)
## 0.2.10
### Monitoring API
Allow to collect information about response handling, db queries, etc..
Now we can build our own newrelic, with blackjack and hookers!
### Bootstrap 2.0
Updated generators, helpers and ejs-ext module.
Many thanks to [Garret Johnson](https://github.com/garrettrayj)
### Various fixes:
- allowing nested namespaces within routes, thanks Ross Grayton
- spec helper adjustments (for new node verion)
- express 3.0 server startup, thanks @keichii
## 0.2.8 Sun, 29 Jan 2012
### Helpers extenstion API
Extend helpers API prototype object:
railway.helpers.HelperSet.prototype.myCoolHelper = function () {
return '<p>Application-wide helper</p>'; // use this in your plugins
};
to get `<%- myCoolHelper %>` availabe in every view
### Stylus support
Generate your application with `--stylus` option to work with stylus out-of-box:
- store your assets in `/app/assets/styles/*.styl`
- access styles at `GET /styles/*.css`
## 0.2.7 Fri, 20 Jan 2012
- complex names in forms (see details below)
- view option to disable layout `app.set 'view options', layout : false`
- display env info in index.html
- tests/fixes [rolling on travis-ci now](http://travis-ci.org/#!/1602/express-on-railway)
### Complex names in forms
**Important change!** Now resourceful form helpers generates input names within csope:
form_for(post, function (f)
f.input('title')
});
Will generate `<input name="Post[title]" />` instead of `<input name="title" />`
For all existing code this behavior **is not turned on** to not break anything,
but for newly generated apps it turned on in `config/environment` file
app.set 'view options', complexNames: true
CRUD generator also rewritten to match new structure
## 0.2.6 Fri, 13 Jan 2012
Major amends:
- routing moved to separate project
- default database engine is `memory`
- node 0.4 compatible
Minor improvements:
- scaffold/show populated with properties
- cleanup init generator
- remove unnecesary dependencies
- cleanup css [by Eric Chan]
- improve locale.yaml loading [by VladimirTechMan]
Bugfixes:
- incorrect behavior for coffee-script server.coffee when running `rw s`
- body entries in server log for GET requests
- jade-ext, ejs-ext dependencies with bundled ejs and jade (bad monkey-patching)
- relative paths in require inside models and controllers
## 0.2.0 For node 0.6.0, jugglingdb 0.0.6
A lot of changes in core, fully rewritten controllers flow, node 0.6.0 compatible
Migration notes:
- Model.allInstances deprecated, use Model.all
- No more class definition in model files, do it in db/schema.js
- 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).
- Mongoose driver not available out of box for direct using (only within jugglingdb logic layer)
- db/schema not reloaded every time in dev mode, you should reload server after changing `db/schema` [issue #63]
New features:
- logging actions, app.enable('log actions') to turn on
- logging jugglingdb queries
- generic routes: app.get(':controller/:action');
- incredibly fast controllers (2.5x faster) (controllers pool)
- sexy bootstrap scaffolding
## 0.1.9 Experimental release
- removed mongoose and datamapper, switched to jugglingdb
- cleaning up all generators stuff, related to different ORMs
## 0.1.8.1
- RIAK datamapper *beta*, thanks Taliesin Sisson (https://github.com/taliesins)
- routes tuning (map.all, map.root, path alias, helpers alias)
- controller changes: params, body, session objects published in controller context
- skipBeforeFilter, skipAfterFilter support
- controllerName and actionName available in all views
- some bugfixes
- minor changes
## 0.1.7
### Test generators
ensure mongo and redis servers are running, then run
nodeunit test/generators.coffee
or
npm test
### Testing API for controllers
Check out autogenerated tests for controllers, additional nodeunit stubs
can be used:
test.redirect '/path'
test.render 'viewName'
test.send 'what'
test.success() # check status 200
test.assign 'memberName'
More stubs coming soon
### Localize form labels automagically
Now form labels can be localized automatically, just use it as previously:
<% form_for(user, {}, function (form) { %>
<%- form.label('name') %>
<% }); %>
And add translation to `locales/en.yml`:
en:
models:
User:
fields:
name: User name
email: Email address
### Jade templating engine (and any others)
Application can be generated with `--tpl` key, for now possibly values are
- jade
- ejs (default)
This list can be extended. Check out packages npm `ejs-ext` and `jade-ext`
if you need to learn how to do it. It easy: just add another `lang-ext` package
and install it before running `railway g app --tpl lang`
## 0.1.6
- Merge javascripts and stylesheets
- NPM 1.0.6 support (requires `sudo npm link` after `railway init`)
- Filter parameter logging
- CSRF protection (turned on by default)
- Faster server startup (two-stage loading)
Small improvements:
- By default static cache max age is one day
- Merge js and css option turned on in production
- Railway helpers now instantiated per request (localization support can be hooked up now)
- Heroku-friendly app generation for mongo
## 0.1.5
- Extension API
- Logger support (app.set('quiet', true) now forces logger to log in `log/ENV.log`
- Railway common API (almost all existing modules)
- Observers support
Observer is a kind of controller, that listen for some event in
the system, for example: paypal, twitter or facebook observers
listens for callback from foreign service. Email observer may
listen some events related to emails.
If you need app.on('someEvent') you should place this code in
`APPROOT/app/observers/NAME_observer.js`
## 0.1.3
### HTTPS Support
Just place your key and cert into config directory, railway will use it.
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:
`server.js`
require('railway').createServer({key: '/tmp/key.pem', cert: '/tmp/cert.pem'});
0.1.2
=====
- npmfile
- Extenstions
- Support (partially) security tokens generation
0.1.1
=====
- Localization in `config/locales/*.yml`
- Coffeescript support for models, controllers and initializers
- Disable caching settings: `app.disable('model cache');` and `app.disable('eval cache');`
0.0.9
=====
Scaffold generator `railway generate scaffold ModelName field1:type1 field2:type2`
It generates model, crud controller and appropriated views
0.0.8
=====
Now you can run `railway init blog` and railway will create directory structure
within `blog` root folder
By default will created file `config/database.json` that will force you to use
mongoose driver, feel free to modify it and use redis or mysql (both supported)
Also, running `express -t ejs` no longer required
0.0.7
=====
Mongoose driver support
Describe your schema in `db/schema.js`, it's just commonjs module which should export
models. For describing logic please use `app/models/*.js` files. Every model
described in schema accessible as global object in all models and controllers.
0.0.6
=====
Added features generator for `cucumis`. Run `railway generate features`, then
you will be able to create `features` using Gherkin language, parsed by kyuri.
0.0.5
=====
* CRUD generator
* improved `form_for` helper
* binary file bugfixes
* layouts moved to `app/views/layouts`
0.0.4
=====
* Rewritten controllers
* Rewritten models
* ORM for mysql, redis, works like datamapper (e.g. one entity -- one object)