You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1152 lines
39 KiB

  1. 3.2.6 / 2013-06-02
  2. ==================
  3. * update connect
  4. 3.2.5 / 2013-05-21
  5. ==================
  6. * update connect
  7. * update node-cookie
  8. * add: throw a meaningful error when there is no default engine
  9. * change generation of ETags with res.send() to GET requests only. Closes #1619
  10. 3.2.4 / 2013-05-09
  11. ==================
  12. * fix `req.subdomains` when no Host is present
  13. * fix `req.host` when no Host is present, return undefined
  14. 3.2.3 / 2013-05-07
  15. ==================
  16. * update connect / qs
  17. 3.2.2 / 2013-05-03
  18. ==================
  19. * update qs
  20. 3.2.1 / 2013-04-29
  21. ==================
  22. * add app.VERB() paths array deprecation warning
  23. * update connect
  24. * update qs and remove all ~ semver crap
  25. * fix: accept number as value of Signed Cookie
  26. 3.2.0 / 2013-04-15
  27. ==================
  28. * add "view" constructor setting to override view behaviour
  29. * add req.acceptsEncoding(name)
  30. * add req.acceptedEncodings
  31. * revert cookie signature change causing session race conditions
  32. * fix sorting of Accept values of the same quality
  33. 3.1.2 / 2013-04-12
  34. ==================
  35. * add support for custom Accept parameters
  36. * update cookie-signature
  37. 3.1.1 / 2013-04-01
  38. ==================
  39. * add X-Forwarded-Host support to `req.host`
  40. * fix relative redirects
  41. * update mkdirp
  42. * update buffer-crc32
  43. * remove legacy app.configure() method from app template.
  44. 3.1.0 / 2013-01-25
  45. ==================
  46. * add support for leading "." in "view engine" setting
  47. * add array support to `res.set()`
  48. * add node 0.8.x to travis.yml
  49. * add "subdomain offset" setting for tweaking `req.subdomains`
  50. * add `res.location(url)` implementing `res.redirect()`-like setting of Location
  51. * use app.get() for x-powered-by setting for inheritance
  52. * fix colons in passwords for `req.auth`
  53. 3.0.6 / 2013-01-04
  54. ==================
  55. * add http verb methods to Router
  56. * update connect
  57. * fix mangling of the `res.cookie()` options object
  58. * fix jsonp whitespace escape. Closes #1132
  59. 3.0.5 / 2012-12-19
  60. ==================
  61. * add throwing when a non-function is passed to a route
  62. * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
  63. * revert "add 'etag' option"
  64. 3.0.4 / 2012-12-05
  65. ==================
  66. * add 'etag' option to disable `res.send()` Etags
  67. * add escaping of urls in text/plain in `res.redirect()`
  68. for old browsers interpreting as html
  69. * change crc32 module for a more liberal license
  70. * update connect
  71. 3.0.3 / 2012-11-13
  72. ==================
  73. * update connect
  74. * update cookie module
  75. * fix cookie max-age
  76. 3.0.2 / 2012-11-08
  77. ==================
  78. * add OPTIONS to cors example. Closes #1398
  79. * fix route chaining regression. Closes #1397
  80. 3.0.1 / 2012-11-01
  81. ==================
  82. * update connect
  83. 3.0.0 / 2012-10-23
  84. ==================
  85. * add `make clean`
  86. * add "Basic" check to req.auth
  87. * add `req.auth` test coverage
  88. * add cb && cb(payload) to `res.jsonp()`. Closes #1374
  89. * add backwards compat for `res.redirect()` status. Closes #1336
  90. * add support for `res.json()` to retain previously defined Content-Types. Closes #1349
  91. * update connect
  92. * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382
  93. * remove non-primitive string support for `res.send()`
  94. * fix view-locals example. Closes #1370
  95. * fix route-separation example
  96. 3.0.0rc5 / 2012-09-18
  97. ==================
  98. * update connect
  99. * add redis search example
  100. * add static-files example
  101. * add "x-powered-by" setting (`app.disable('x-powered-by')`)
  102. * add "application/octet-stream" redirect Accept test case. Closes #1317
  103. 3.0.0rc4 / 2012-08-30
  104. ==================
  105. * add `res.jsonp()`. Closes #1307
  106. * add "verbose errors" option to error-pages example
  107. * add another route example to express(1) so people are not so confused
  108. * add redis online user activity tracking example
  109. * update connect dep
  110. * fix etag quoting. Closes #1310
  111. * fix error-pages 404 status
  112. * fix jsonp callback char restrictions
  113. * remove old OPTIONS default response
  114. 3.0.0rc3 / 2012-08-13
  115. ==================
  116. * update connect dep
  117. * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
  118. * fix `res.render()` clobbering of "locals"
  119. 3.0.0rc2 / 2012-08-03
  120. ==================
  121. * add CORS example
  122. * update connect dep
  123. * deprecate `.createServer()` & remove old stale examples
  124. * fix: escape `res.redirect()` link
  125. * fix vhost example
  126. 3.0.0rc1 / 2012-07-24
  127. ==================
  128. * add more examples to view-locals
  129. * add scheme-relative redirects (`res.redirect("//foo.com")`) support
  130. * update cookie dep
  131. * update connect dep
  132. * update send dep
  133. * fix `express(1)` -h flag, use -H for hogan. Closes #1245
  134. * fix `res.sendfile()` socket error handling regression
  135. 3.0.0beta7 / 2012-07-16
  136. ==================
  137. * update connect dep for `send()` root normalization regression
  138. 3.0.0beta6 / 2012-07-13
  139. ==================
  140. * add `err.view` property for view errors. Closes #1226
  141. * add "jsonp callback name" setting
  142. * add support for "/foo/:bar*" non-greedy matches
  143. * change `res.sendfile()` to use `send()` module
  144. * change `res.send` to use "response-send" module
  145. * remove `app.locals.use` and `res.locals.use`, use regular middleware
  146. 3.0.0beta5 / 2012-07-03
  147. ==================
  148. * add "make check" support
  149. * add route-map example
  150. * add `res.json(obj, status)` support back for BC
  151. * add "methods" dep, remove internal methods module
  152. * update connect dep
  153. * update auth example to utilize cores pbkdf2
  154. * updated tests to use "supertest"
  155. 3.0.0beta4 / 2012-06-25
  156. ==================
  157. * Added `req.auth`
  158. * Added `req.range(size)`
  159. * Added `res.links(obj)`
  160. * Added `res.send(body, status)` support back for backwards compat
  161. * Added `.default()` support to `res.format()`
  162. * Added 2xx / 304 check to `req.fresh`
  163. * Revert "Added + support to the router"
  164. * Fixed `res.send()` freshness check, respect res.statusCode
  165. 3.0.0beta3 / 2012-06-15
  166. ==================
  167. * Added hogan `--hjs` to express(1) [nullfirm]
  168. * Added another example to content-negotiation
  169. * Added `fresh` dep
  170. * Changed: `res.send()` always checks freshness
  171. * Fixed: expose connects mime module. Cloases #1165
  172. 3.0.0beta2 / 2012-06-06
  173. ==================
  174. * Added `+` support to the router
  175. * Added `req.host`
  176. * Changed `req.param()` to check route first
  177. * Update connect dep
  178. 3.0.0beta1 / 2012-06-01
  179. ==================
  180. * Added `res.format()` callback to override default 406 behaviour
  181. * Fixed `res.redirect()` 406. Closes #1154
  182. 3.0.0alpha5 / 2012-05-30
  183. ==================
  184. * Added `req.ip`
  185. * Added `{ signed: true }` option to `res.cookie()`
  186. * Removed `res.signedCookie()`
  187. * Changed: dont reverse `req.ips`
  188. * Fixed "trust proxy" setting check for `req.ips`
  189. 3.0.0alpha4 / 2012-05-09
  190. ==================
  191. * Added: allow `[]` in jsonp callback. Closes #1128
  192. * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
  193. * Updated: connect 2.2.2
  194. 3.0.0alpha3 / 2012-05-04
  195. ==================
  196. * Added public `app.routes`. Closes #887
  197. * Added _view-locals_ example
  198. * Added _mvc_ example
  199. * Added `res.locals.use()`. Closes #1120
  200. * Added conditional-GET support to `res.send()`
  201. * Added: coerce `res.set()` values to strings
  202. * Changed: moved `static()` in generated apps below router
  203. * Changed: `res.send()` only set ETag when not previously set
  204. * Changed connect 2.2.1 dep
  205. * Changed: `make test` now runs unit / acceptance tests
  206. * Fixed req/res proto inheritance
  207. 3.0.0alpha2 / 2012-04-26
  208. ==================
  209. * Added `make benchmark` back
  210. * Added `res.send()` support for `String` objects
  211. * Added client-side data exposing example
  212. * Added `res.header()` and `req.header()` aliases for BC
  213. * Added `express.createServer()` for BC
  214. * Perf: memoize parsed urls
  215. * Perf: connect 2.2.0 dep
  216. * Changed: make `expressInit()` middleware self-aware
  217. * Fixed: use app.get() for all core settings
  218. * Fixed redis session example
  219. * Fixed session example. Closes #1105
  220. * Fixed generated express dep. Closes #1078
  221. 3.0.0alpha1 / 2012-04-15
  222. ==================
  223. * Added `app.locals.use(callback)`
  224. * Added `app.locals` object
  225. * Added `app.locals(obj)`
  226. * Added `res.locals` object
  227. * Added `res.locals(obj)`
  228. * Added `res.format()` for content-negotiation
  229. * Added `app.engine()`
  230. * Added `res.cookie()` JSON cookie support
  231. * Added "trust proxy" setting
  232. * Added `req.subdomains`
  233. * Added `req.protocol`
  234. * Added `req.secure`
  235. * Added `req.path`
  236. * Added `req.ips`
  237. * Added `req.fresh`
  238. * Added `req.stale`
  239. * Added comma-delmited / array support for `req.accepts()`
  240. * Added debug instrumentation
  241. * Added `res.set(obj)`
  242. * Added `res.set(field, value)`
  243. * Added `res.get(field)`
  244. * Added `app.get(setting)`. Closes #842
  245. * Added `req.acceptsLanguage()`
  246. * Added `req.acceptsCharset()`
  247. * Added `req.accepted`
  248. * Added `req.acceptedLanguages`
  249. * Added `req.acceptedCharsets`
  250. * Added "json replacer" setting
  251. * Added "json spaces" setting
  252. * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
  253. * Added `--less` support to express(1)
  254. * Added `express.response` prototype
  255. * Added `express.request` prototype
  256. * Added `express.application` prototype
  257. * Added `app.path()`
  258. * Added `app.render()`
  259. * Added `res.type()` to replace `res.contentType()`
  260. * Changed: `res.redirect()` to add relative support
  261. * Changed: enable "jsonp callback" by default
  262. * Changed: renamed "case sensitive routes" to "case sensitive routing"
  263. * Rewrite of all tests with mocha
  264. * Removed "root" setting
  265. * Removed `res.redirect('home')` support
  266. * Removed `req.notify()`
  267. * Removed `app.register()`
  268. * Removed `app.redirect()`
  269. * Removed `app.is()`
  270. * Removed `app.helpers()`
  271. * Removed `app.dynamicHelpers()`
  272. * Fixed `res.sendfile()` with non-GET. Closes #723
  273. * Fixed express(1) public dir for windows. Closes #866
  274. 2.5.9/ 2012-04-02
  275. ==================
  276. * Added support for PURGE request method [pbuyle]
  277. * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
  278. 2.5.8 / 2012-02-08
  279. ==================
  280. * Update mkdirp dep. Closes #991
  281. 2.5.7 / 2012-02-06
  282. ==================
  283. * Fixed `app.all` duplicate DELETE requests [mscdex]
  284. 2.5.6 / 2012-01-13
  285. ==================
  286. * Updated hamljs dev dep. Closes #953
  287. 2.5.5 / 2012-01-08
  288. ==================
  289. * Fixed: set `filename` on cached templates [matthewleon]
  290. 2.5.4 / 2012-01-02
  291. ==================
  292. * Fixed `express(1)` eol on 0.4.x. Closes #947
  293. 2.5.3 / 2011-12-30
  294. ==================
  295. * Fixed `req.is()` when a charset is present
  296. 2.5.2 / 2011-12-10
  297. ==================
  298. * Fixed: express(1) LF -> CRLF for windows
  299. 2.5.1 / 2011-11-17
  300. ==================
  301. * Changed: updated connect to 1.8.x
  302. * Removed sass.js support from express(1)
  303. 2.5.0 / 2011-10-24
  304. ==================
  305. * Added ./routes dir for generated app by default
  306. * Added npm install reminder to express(1) app gen
  307. * Added 0.5.x support
  308. * Removed `make test-cov` since it wont work with node 0.5.x
  309. * Fixed express(1) public dir for windows. Closes #866
  310. 2.4.7 / 2011-10-05
  311. ==================
  312. * Added mkdirp to express(1). Closes #795
  313. * Added simple _json-config_ example
  314. * Added shorthand for the parsed request's pathname via `req.path`
  315. * Changed connect dep to 1.7.x to fix npm issue...
  316. * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
  317. * Fixed `req.flash()`, only escape args
  318. * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
  319. 2.4.6 / 2011-08-22
  320. ==================
  321. * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
  322. 2.4.5 / 2011-08-19
  323. ==================
  324. * Added support for routes to handle errors. Closes #809
  325. * Added `app.routes.all()`. Closes #803
  326. * Added "basepath" setting to work in conjunction with reverse proxies etc.
  327. * Refactored `Route` to use a single array of callbacks
  328. * Added support for multiple callbacks for `app.param()`. Closes #801
  329. Closes #805
  330. * Changed: removed .call(self) for route callbacks
  331. * Dependency: `qs >= 0.3.1`
  332. * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
  333. 2.4.4 / 2011-08-05
  334. ==================
  335. * Fixed `res.header()` intention of a set, even when `undefined`
  336. * Fixed `*`, value no longer required
  337. * Fixed `res.send(204)` support. Closes #771
  338. 2.4.3 / 2011-07-14
  339. ==================
  340. * Added docs for `status` option special-case. Closes #739
  341. * Fixed `options.filename`, exposing the view path to template engines
  342. 2.4.2. / 2011-07-06
  343. ==================
  344. * Revert "removed jsonp stripping" for XSS
  345. 2.4.1 / 2011-07-06
  346. ==================
  347. * Added `res.json()` JSONP support. Closes #737
  348. * Added _extending-templates_ example. Closes #730
  349. * Added "strict routing" setting for trailing slashes
  350. * Added support for multiple envs in `app.configure()` calls. Closes #735
  351. * Changed: `res.send()` using `res.json()`
  352. * Changed: when cookie `path === null` don't default it
  353. * Changed; default cookie path to "home" setting. Closes #731
  354. * Removed _pids/logs_ creation from express(1)
  355. 2.4.0 / 2011-06-28
  356. ==================
  357. * Added chainable `res.status(code)`
  358. * Added `res.json()`, an explicit version of `res.send(obj)`
  359. * Added simple web-service example
  360. 2.3.12 / 2011-06-22
  361. ==================
  362. * \#express is now on freenode! come join!
  363. * Added `req.get(field, param)`
  364. * Added links to Japanese documentation, thanks @hideyukisaito!
  365. * Added; the `express(1)` generated app outputs the env
  366. * Added `content-negotiation` example
  367. * Dependency: connect >= 1.5.1 < 2.0.0
  368. * Fixed view layout bug. Closes #720
  369. * Fixed; ignore body on 304. Closes #701
  370. 2.3.11 / 2011-06-04
  371. ==================
  372. * Added `npm test`
  373. * Removed generation of dummy test file from `express(1)`
  374. * Fixed; `express(1)` adds express as a dep
  375. * Fixed; prune on `prepublish`
  376. 2.3.10 / 2011-05-27
  377. ==================
  378. * Added `req.route`, exposing the current route
  379. * Added _package.json_ generation support to `express(1)`
  380. * Fixed call to `app.param()` function for optional params. Closes #682
  381. 2.3.9 / 2011-05-25
  382. ==================
  383. * Fixed bug-ish with `../' in `res.partial()` calls
  384. 2.3.8 / 2011-05-24
  385. ==================
  386. * Fixed `app.options()`
  387. 2.3.7 / 2011-05-23
  388. ==================
  389. * Added route `Collection`, ex: `app.get('/user/:id').remove();`
  390. * Added support for `app.param(fn)` to define param logic
  391. * Removed `app.param()` support for callback with return value
  392. * Removed module.parent check from express(1) generated app. Closes #670
  393. * Refactored router. Closes #639
  394. 2.3.6 / 2011-05-20
  395. ==================
  396. * Changed; using devDependencies instead of git submodules
  397. * Fixed redis session example
  398. * Fixed markdown example
  399. * Fixed view caching, should not be enabled in development
  400. 2.3.5 / 2011-05-20
  401. ==================
  402. * Added export `.view` as alias for `.View`
  403. 2.3.4 / 2011-05-08
  404. ==================
  405. * Added `./examples/say`
  406. * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
  407. 2.3.3 / 2011-05-03
  408. ==================
  409. * Added "case sensitive routes" option.
  410. * Changed; split methods supported per rfc [slaskis]
  411. * Fixed route-specific middleware when using the same callback function several times
  412. 2.3.2 / 2011-04-27
  413. ==================
  414. * Fixed view hints
  415. 2.3.1 / 2011-04-26
  416. ==================
  417. * Added `app.match()` as `app.match.all()`
  418. * Added `app.lookup()` as `app.lookup.all()`
  419. * Added `app.remove()` for `app.remove.all()`
  420. * Added `app.remove.VERB()`
  421. * Fixed template caching collision issue. Closes #644
  422. * Moved router over from connect and started refactor
  423. 2.3.0 / 2011-04-25
  424. ==================
  425. * Added options support to `res.clearCookie()`
  426. * Added `res.helpers()` as alias of `res.locals()`
  427. * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
  428. * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
  429. * Renamed "cache views" to "view cache". Closes #628
  430. * Fixed caching of views when using several apps. Closes #637
  431. * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
  432. Closes #638
  433. * Fixed partial lookup precedence. Closes #631
  434. Shaw]
  435. 2.2.2 / 2011-04-12
  436. ==================
  437. * Added second callback support for `res.download()` connection errors
  438. * Fixed `filename` option passing to template engine
  439. 2.2.1 / 2011-04-04
  440. ==================
  441. * Added `layout(path)` helper to change the layout within a view. Closes #610
  442. * Fixed `partial()` collection object support.
  443. Previously only anything with `.length` would work.
  444. When `.length` is present one must still be aware of holes,
  445. however now `{ collection: {foo: 'bar'}}` is valid, exposes
  446. `keyInCollection` and `keysInCollection`.
  447. * Performance improved with better view caching
  448. * Removed `request` and `response` locals
  449. * Changed; errorHandler page title is now `Express` instead of `Connect`
  450. 2.2.0 / 2011-03-30
  451. ==================
  452. * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
  453. * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
  454. * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
  455. * Dependency `connect >= 1.2.0`
  456. 2.1.1 / 2011-03-29
  457. ==================
  458. * Added; expose `err.view` object when failing to locate a view
  459. * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
  460. * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
  461. 2.1.0 / 2011-03-24
  462. ==================
  463. * Added `<root>/_?<name>` partial lookup support. Closes #447
  464. * Added `request`, `response`, and `app` local variables
  465. * Added `settings` local variable, containing the app's settings
  466. * Added `req.flash()` exception if `req.session` is not available
  467. * Added `res.send(bool)` support (json response)
  468. * Fixed stylus example for latest version
  469. * Fixed; wrap try/catch around `res.render()`
  470. 2.0.0 / 2011-03-17
  471. ==================
  472. * Fixed up index view path alternative.
  473. * Changed; `res.locals()` without object returns the locals
  474. 2.0.0rc3 / 2011-03-17
  475. ==================
  476. * Added `res.locals(obj)` to compliment `res.local(key, val)`
  477. * Added `res.partial()` callback support
  478. * Fixed recursive error reporting issue in `res.render()`
  479. 2.0.0rc2 / 2011-03-17
  480. ==================
  481. * Changed; `partial()` "locals" are now optional
  482. * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
  483. * Fixed .filename view engine option [reported by drudge]
  484. * Fixed blog example
  485. * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
  486. 2.0.0rc / 2011-03-14
  487. ==================
  488. * Fixed; expose `HTTPSServer` constructor
  489. * Fixed express(1) default test charset. Closes #579 [reported by secoif]
  490. * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
  491. 2.0.0beta3 / 2011-03-09
  492. ==================
  493. * Added support for `res.contentType()` literal
  494. The original `res.contentType('.json')`,
  495. `res.contentType('application/json')`, and `res.contentType('json')`
  496. will work now.
  497. * Added `res.render()` status option support back
  498. * Added charset option for `res.render()`
  499. * Added `.charset` support (via connect 1.0.4)
  500. * Added view resolution hints when in development and a lookup fails
  501. * Added layout lookup support relative to the page view.
  502. For example while rendering `./views/user/index.jade` if you create
  503. `./views/user/layout.jade` it will be used in favour of the root layout.
  504. * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
  505. * Fixed; default `res.send()` string charset to utf8
  506. * Removed `Partial` constructor (not currently used)
  507. 2.0.0beta2 / 2011-03-07
  508. ==================
  509. * Added res.render() `.locals` support back to aid in migration process
  510. * Fixed flash example
  511. 2.0.0beta / 2011-03-03
  512. ==================
  513. * Added HTTPS support
  514. * Added `res.cookie()` maxAge support
  515. * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
  516. * Added mount support for `res.redirect()`, now respects the mount-point
  517. * Added `union()` util, taking place of `merge(clone())` combo
  518. * Added stylus support to express(1) generated app
  519. * Added secret to session middleware used in examples and generated app
  520. * Added `res.local(name, val)` for progressive view locals
  521. * Added default param support to `req.param(name, default)`
  522. * Added `app.disabled()` and `app.enabled()`
  523. * Added `app.register()` support for omitting leading ".", either works
  524. * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
  525. * Added `app.param()` to map route params to async/sync logic
  526. * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
  527. * Added extname with no leading "." support to `res.contentType()`
  528. * Added `cache views` setting, defaulting to enabled in "production" env
  529. * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
  530. * Added `req.accepts()` support for extensions
  531. * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
  532. static file server `connect.static.send()`.
  533. * Changed; replaced `connect.utils.mime()` with npm _mime_ module
  534. * Changed; allow `req.query` to be pre-defined (via middleware or other parent
  535. * Changed view partial resolution, now relative to parent view
  536. * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
  537. * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
  538. * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
  539. * Fixed; using _qs_ module instead of _querystring_
  540. * Fixed; strip unsafe chars from jsonp callbacks
  541. * Removed "stream threshold" setting
  542. 1.0.8 / 2011-03-01
  543. ==================
  544. * Allow `req.query` to be pre-defined (via middleware or other parent app)
  545. * "connect": ">= 0.5.0 < 1.0.0". Closes #547
  546. * Removed the long deprecated __EXPRESS_ENV__ support
  547. 1.0.7 / 2011-02-07
  548. ==================
  549. * Fixed `render()` setting inheritance.
  550. Mounted apps would not inherit "view engine"
  551. 1.0.6 / 2011-02-07
  552. ==================
  553. * Fixed `view engine` setting bug when period is in dirname
  554. 1.0.5 / 2011-02-05
  555. ==================
  556. * Added secret to generated app `session()` call
  557. 1.0.4 / 2011-02-05
  558. ==================
  559. * Added `qs` dependency to _package.json_
  560. * Fixed namespaced `require()`s for latest connect support
  561. 1.0.3 / 2011-01-13
  562. ==================
  563. * Remove unsafe characters from JSONP callback names [Ryan Grove]
  564. 1.0.2 / 2011-01-10
  565. ==================
  566. * Removed nested require, using `connect.router`
  567. 1.0.1 / 2010-12-29
  568. ==================
  569. * Fixed for middleware stacked via `createServer()`
  570. previously the `foo` middleware passed to `createServer(foo)`
  571. would not have access to Express methods such as `res.send()`
  572. or props like `req.query` etc.
  573. 1.0.0 / 2010-11-16
  574. ==================
  575. * Added; deduce partial object names from the last segment.
  576. For example by default `partial('forum/post', postObject)` will
  577. give you the _post_ object, providing a meaningful default.
  578. * Added http status code string representation to `res.redirect()` body
  579. * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
  580. * Added `req.is()` to aid in content negotiation
  581. * Added partial local inheritance [suggested by masylum]. Closes #102
  582. providing access to parent template locals.
  583. * Added _-s, --session[s]_ flag to express(1) to add session related middleware
  584. * Added _--template_ flag to express(1) to specify the
  585. template engine to use.
  586. * Added _--css_ flag to express(1) to specify the
  587. stylesheet engine to use (or just plain css by default).
  588. * Added `app.all()` support [thanks aheckmann]
  589. * Added partial direct object support.
  590. You may now `partial('user', user)` providing the "user" local,
  591. vs previously `partial('user', { object: user })`.
  592. * Added _route-separation_ example since many people question ways
  593. to do this with CommonJS modules. Also view the _blog_ example for
  594. an alternative.
  595. * Performance; caching view path derived partial object names
  596. * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
  597. * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
  598. 1.0.0rc4 / 2010-10-14
  599. ==================
  600. * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
  601. * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
  602. * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
  603. * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
  604. * Added `partial()` support for array-like collections. Closes #434
  605. * Added support for swappable querystring parsers
  606. * Added session usage docs. Closes #443
  607. * Added dynamic helper caching. Closes #439 [suggested by maritz]
  608. * Added authentication example
  609. * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
  610. * Changed; `express(1)` generated app using 2 spaces instead of 4
  611. * Default env to "development" again [aheckmann]
  612. * Removed _context_ option is no more, use "scope"
  613. * Fixed; exposing _./support_ libs to examples so they can run without installs
  614. * Fixed mvc example
  615. 1.0.0rc3 / 2010-09-20
  616. ==================
  617. * Added confirmation for `express(1)` app generation. Closes #391
  618. * Added extending of flash formatters via `app.flashFormatters`
  619. * Added flash formatter support. Closes #411
  620. * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
  621. * Added _stream threshold_ setting for `res.sendfile()`
  622. * Added `res.send()` __HEAD__ support
  623. * Added `res.clearCookie()`
  624. * Added `res.cookie()`
  625. * Added `res.render()` headers option
  626. * Added `res.redirect()` response bodies
  627. * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
  628. * Fixed `res.sendfile()` responding with 403 on malicious path
  629. * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
  630. * Fixed; mounted apps settings now inherit from parent app [aheckmann]
  631. * Fixed; stripping Content-Length / Content-Type when 204
  632. * Fixed `res.send()` 204. Closes #419
  633. * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
  634. * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
  635. 1.0.0rc2 / 2010-08-17
  636. ==================
  637. * Added `app.register()` for template engine mapping. Closes #390
  638. * Added `res.render()` callback support as second argument (no options)
  639. * Added callback support to `res.download()`
  640. * Added callback support for `res.sendfile()`
  641. * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
  642. * Added "partials" setting to docs
  643. * Added default expresso tests to `express(1)` generated app. Closes #384
  644. * Fixed `res.sendfile()` error handling, defer via `next()`
  645. * Fixed `res.render()` callback when a layout is used [thanks guillermo]
  646. * Fixed; `make install` creating ~/.node_libraries when not present
  647. * Fixed issue preventing error handlers from being defined anywhere. Closes #387
  648. 1.0.0rc / 2010-07-28
  649. ==================
  650. * Added mounted hook. Closes #369
  651. * Added connect dependency to _package.json_
  652. * Removed "reload views" setting and support code
  653. development env never caches, production always caches.
  654. * Removed _param_ in route callbacks, signature is now
  655. simply (req, res, next), previously (req, res, params, next).
  656. Use _req.params_ for path captures, _req.query_ for GET params.
  657. * Fixed "home" setting
  658. * Fixed middleware/router precedence issue. Closes #366
  659. * Fixed; _configure()_ callbacks called immediately. Closes #368
  660. 1.0.0beta2 / 2010-07-23
  661. ==================
  662. * Added more examples
  663. * Added; exporting `Server` constructor
  664. * Added `Server#helpers()` for view locals
  665. * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
  666. * Added support for absolute view paths
  667. * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
  668. * Added Guillermo Rauch to the contributor list
  669. * Added support for "as" for non-collection partials. Closes #341
  670. * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
  671. * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
  672. * Fixed instanceof `Array` checks, now `Array.isArray()`
  673. * Fixed express(1) expansion of public dirs. Closes #348
  674. * Fixed middleware precedence. Closes #345
  675. * Fixed view watcher, now async [thanks aheckmann]
  676. 1.0.0beta / 2010-07-15
  677. ==================
  678. * Re-write
  679. - much faster
  680. - much lighter
  681. - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
  682. 0.14.0 / 2010-06-15
  683. ==================
  684. * Utilize relative requires
  685. * Added Static bufferSize option [aheckmann]
  686. * Fixed caching of view and partial subdirectories [aheckmann]
  687. * Fixed mime.type() comments now that ".ext" is not supported
  688. * Updated haml submodule
  689. * Updated class submodule
  690. * Removed bin/express
  691. 0.13.0 / 2010-06-01
  692. ==================
  693. * Added node v0.1.97 compatibility
  694. * Added support for deleting cookies via Request#cookie('key', null)
  695. * Updated haml submodule
  696. * Fixed not-found page, now using using charset utf-8
  697. * Fixed show-exceptions page, now using using charset utf-8
  698. * Fixed view support due to fs.readFile Buffers
  699. * Changed; mime.type() no longer accepts ".type" due to node extname() changes
  700. 0.12.0 / 2010-05-22
  701. ==================
  702. * Added node v0.1.96 compatibility
  703. * Added view `helpers` export which act as additional local variables
  704. * Updated haml submodule
  705. * Changed ETag; removed inode, modified time only
  706. * Fixed LF to CRLF for setting multiple cookies
  707. * Fixed cookie complation; values are now urlencoded
  708. * Fixed cookies parsing; accepts quoted values and url escaped cookies
  709. 0.11.0 / 2010-05-06
  710. ==================
  711. * Added support for layouts using different engines
  712. - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
  713. - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
  714. - this.render('page.html.haml', { layout: false }) // no layout
  715. * Updated ext submodule
  716. * Updated haml submodule
  717. * Fixed EJS partial support by passing along the context. Issue #307
  718. 0.10.1 / 2010-05-03
  719. ==================
  720. * Fixed binary uploads.
  721. 0.10.0 / 2010-04-30
  722. ==================
  723. * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
  724. encoding is set to 'utf8' or 'utf-8'.
  725. * Added "encoding" option to Request#render(). Closes #299
  726. * Added "dump exceptions" setting, which is enabled by default.
  727. * Added simple ejs template engine support
  728. * Added error reponse support for text/plain, application/json. Closes #297
  729. * Added callback function param to Request#error()
  730. * Added Request#sendHead()
  731. * Added Request#stream()
  732. * Added support for Request#respond(304, null) for empty response bodies
  733. * Added ETag support to Request#sendfile()
  734. * Added options to Request#sendfile(), passed to fs.createReadStream()
  735. * Added filename arg to Request#download()
  736. * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
  737. * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
  738. * Changed; Request#sendfile() now streams
  739. * Changed; Renamed Request#halt() to Request#respond(). Closes #289
  740. * Changed; Using sys.inspect() instead of JSON.encode() for error output
  741. * Changed; run() returns the http.Server instance. Closes #298
  742. * Changed; Defaulting Server#host to null (INADDR_ANY)
  743. * Changed; Logger "common" format scale of 0.4f
  744. * Removed Logger "request" format
  745. * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
  746. * Fixed several issues with http client
  747. * Fixed Logger Content-Length output
  748. * Fixed bug preventing Opera from retaining the generated session id. Closes #292
  749. 0.9.0 / 2010-04-14
  750. ==================
  751. * Added DSL level error() route support
  752. * Added DSL level notFound() route support
  753. * Added Request#error()
  754. * Added Request#notFound()
  755. * Added Request#render() callback function. Closes #258
  756. * Added "max upload size" setting
  757. * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
  758. * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
  759. * Added callback function support to Request#halt() as 3rd/4th arg
  760. * Added preprocessing of route param wildcards using param(). Closes #251
  761. * Added view partial support (with collections etc)
  762. * Fixed bug preventing falsey params (such as ?page=0). Closes #286
  763. * Fixed setting of multiple cookies. Closes #199
  764. * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
  765. * Changed; session cookie is now httpOnly
  766. * Changed; Request is no longer global
  767. * Changed; Event is no longer global
  768. * Changed; "sys" module is no longer global
  769. * Changed; moved Request#download to Static plugin where it belongs
  770. * Changed; Request instance created before body parsing. Closes #262
  771. * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
  772. * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
  773. * Updated support to node --version 0.1.90
  774. * Updated dependencies
  775. * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
  776. * Removed utils.mixin(); use Object#mergeDeep()
  777. 0.8.0 / 2010-03-19
  778. ==================
  779. * Added coffeescript example app. Closes #242
  780. * Changed; cache api now async friendly. Closes #240
  781. * Removed deprecated 'express/static' support. Use 'express/plugins/static'
  782. 0.7.6 / 2010-03-19
  783. ==================
  784. * Added Request#isXHR. Closes #229
  785. * Added `make install` (for the executable)
  786. * Added `express` executable for setting up simple app templates
  787. * Added "GET /public/*" to Static plugin, defaulting to <root>/public
  788. * Added Static plugin
  789. * Fixed; Request#render() only calls cache.get() once
  790. * Fixed; Namespacing View caches with "view:"
  791. * Fixed; Namespacing Static caches with "static:"
  792. * Fixed; Both example apps now use the Static plugin
  793. * Fixed set("views"). Closes #239
  794. * Fixed missing space for combined log format
  795. * Deprecated Request#sendfile() and 'express/static'
  796. * Removed Server#running
  797. 0.7.5 / 2010-03-16
  798. ==================
  799. * Added Request#flash() support without args, now returns all flashes
  800. * Updated ext submodule
  801. 0.7.4 / 2010-03-16
  802. ==================
  803. * Fixed session reaper
  804. * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
  805. 0.7.3 / 2010-03-16
  806. ==================
  807. * Added package.json
  808. * Fixed requiring of haml / sass due to kiwi removal
  809. 0.7.2 / 2010-03-16
  810. ==================
  811. * Fixed GIT submodules (HAH!)
  812. 0.7.1 / 2010-03-16
  813. ==================
  814. * Changed; Express now using submodules again until a PM is adopted
  815. * Changed; chat example using millisecond conversions from ext
  816. 0.7.0 / 2010-03-15
  817. ==================
  818. * Added Request#pass() support (finds the next matching route, or the given path)
  819. * Added Logger plugin (default "common" format replaces CommonLogger)
  820. * Removed Profiler plugin
  821. * Removed CommonLogger plugin
  822. 0.6.0 / 2010-03-11
  823. ==================
  824. * Added seed.yml for kiwi package management support
  825. * Added HTTP client query string support when method is GET. Closes #205
  826. * Added support for arbitrary view engines.
  827. For example "foo.engine.html" will now require('engine'),
  828. the exports from this module are cached after the first require().
  829. * Added async plugin support
  830. * Removed usage of RESTful route funcs as http client
  831. get() etc, use http.get() and friends
  832. * Removed custom exceptions
  833. 0.5.0 / 2010-03-10
  834. ==================
  835. * Added ext dependency (library of js extensions)
  836. * Removed extname() / basename() utils. Use path module
  837. * Removed toArray() util. Use arguments.values
  838. * Removed escapeRegexp() util. Use RegExp.escape()
  839. * Removed process.mixin() dependency. Use utils.mixin()
  840. * Removed Collection
  841. * Removed ElementCollection
  842. * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
  843. 0.4.0 / 2010-02-11
  844. ==================
  845. * Added flash() example to sample upload app
  846. * Added high level restful http client module (express/http)
  847. * Changed; RESTful route functions double as HTTP clients. Closes #69
  848. * Changed; throwing error when routes are added at runtime
  849. * Changed; defaulting render() context to the current Request. Closes #197
  850. * Updated haml submodule
  851. 0.3.0 / 2010-02-11
  852. ==================
  853. * Updated haml / sass submodules. Closes #200
  854. * Added flash message support. Closes #64
  855. * Added accepts() now allows multiple args. fixes #117
  856. * Added support for plugins to halt. Closes #189
  857. * Added alternate layout support. Closes #119
  858. * Removed Route#run(). Closes #188
  859. * Fixed broken specs due to use(Cookie) missing
  860. 0.2.1 / 2010-02-05
  861. ==================
  862. * Added "plot" format option for Profiler (for gnuplot processing)
  863. * Added request number to Profiler plugin
  864. * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
  865. * Fixed issue with routes not firing when not files are present. Closes #184
  866. * Fixed process.Promise -> events.Promise
  867. 0.2.0 / 2010-02-03
  868. ==================
  869. * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
  870. * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
  871. * Added expiration support to cache api with reaper. Closes #133
  872. * Added cache Store.Memory#reap()
  873. * Added Cache; cache api now uses first class Cache instances
  874. * Added abstract session Store. Closes #172
  875. * Changed; cache Memory.Store#get() utilizing Collection
  876. * Renamed MemoryStore -> Store.Memory
  877. * Fixed use() of the same plugin several time will always use latest options. Closes #176
  878. 0.1.0 / 2010-02-03
  879. ==================
  880. * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
  881. * Updated node support to 0.1.27 Closes #169
  882. * Updated dirname(__filename) -> __dirname
  883. * Updated libxmljs support to v0.2.0
  884. * Added session support with memory store / reaping
  885. * Added quick uid() helper
  886. * Added multi-part upload support
  887. * Added Sass.js support / submodule
  888. * Added production env caching view contents and static files
  889. * Added static file caching. Closes #136
  890. * Added cache plugin with memory stores
  891. * Added support to StaticFile so that it works with non-textual files.
  892. * Removed dirname() helper
  893. * Removed several globals (now their modules must be required)
  894. 0.0.2 / 2010-01-10
  895. ==================
  896. * Added view benchmarks; currently haml vs ejs
  897. * Added Request#attachment() specs. Closes #116
  898. * Added use of node's parseQuery() util. Closes #123
  899. * Added `make init` for submodules
  900. * Updated Haml
  901. * Updated sample chat app to show messages on load
  902. * Updated libxmljs parseString -> parseHtmlString
  903. * Fixed `make init` to work with older versions of git
  904. * Fixed specs can now run independant specs for those who cant build deps. Closes #127
  905. * Fixed issues introduced by the node url module changes. Closes 126.
  906. * Fixed two assertions failing due to Collection#keys() returning strings
  907. * Fixed faulty Collection#toArray() spec due to keys() returning strings
  908. * Fixed `make test` now builds libxmljs.node before testing
  909. 0.0.1 / 2010-01-03
  910. ==================
  911. * Initial release