Skip to content
This repository has been archived by the owner on Feb 24, 2020. It is now read-only.

Latest commit

 

History

History
292 lines (245 loc) · 10.7 KB

Changelog.md

File metadata and controls

292 lines (245 loc) · 10.7 KB

v0.10.8 ** - 2016 June 13

  • Upgrade diet-qs with the new querystrings module that fixes nested Query String to Array conversions.
  • New Utils Controller
  • Moved isset() into the Util Controller

v0.10.6 ** - 2016 May 10

  • Ports are now wildcards for every hostname. Listening on a Port (app.listen(8000)) will accept any Hostname request within that Port. Listening on a Hostname (app2.listen('http://test.com:8000/')) within that Port will have priority.

v0.10.5 ** - 2016 April 29

  • Error.stack not always present on Error in controllers/router.js by @demarius
  • initialized is not constant in index.js (es6, strict mode fix)
  • Replaced Native Object.observe with object.observe module to support observe in Node >= v6.0.0

v0.10.4 ** - 2016 March 10

  • Check if path contains query in Signal#redirect by @demarius

v0.10.3 - v0.10.4 ** - 2016 March 3

=======

v0.10.4 ** - 2016 March 24

  • Check if path contains query in Signal#redirect. Thanks @demarius

v0.10.3 ** - 2016 March 24

Stashed changes

  • AB Load Testing Comparison between Vanilla Node, Diet.js and Express.js

v0.10.2 ** - 2016 Feburary 17

  • add second argument isLast to $.end(yourData, isLast), $.json(yourData, isLast), $.success(yourData, isLast) and $.failure(yourData, isLast). Setting isLast to true will stop the execution of the middleware chain completely
    // usage
    $.end('hello world', true)

v0.10.1 ** - 2016 January 25

  • Check existence of app.routes and routes in hosts.js and iterator.js

v0.10.0 ** - 2016 January 24 - Major Release

  • Drop support for Node versions below v4.2.4
  • Middleware renamed to Controller
  • Introducing ES6 Generator Controllers (yield and *)
  • Introducing app.controller function method registering
    • can be called as a normal function
    • creates a thunk around the controller for generators when called with yield
  • Introducing app.protocol(name, handler)
  • Introducing Server Event Handlers
    • server.on(event, handler)
    • server.off(event, handler)
    • server.one(event, handler)
    • server.onAll(event, handler)
    • server.many(event, handler)
    • server.emit(event, handler)
  • Introducing App Event Handlers
    • app.on(event, handler)
    • app.off(event, handler)
    • app.one(event, handler)
    • app.onAll(event, handler)
    • app.many(event, handler)
    • app.emit(event, handler)
  • Introducing Server Events
    • init
    • create (new app)
  • Introducing App Events
    • listen
    • route.attach
    • route.start
    • route.end
    • route.controller.attach
    • route.controller.start
    • route.controller.iterate
    • route.controller.end
    • route.error
    • protocol.attach
  • Add Examples for:
    • Events
    • Generators

v0.9.23 - v0.9.26 ** - 2016 January 4

  • Introducing app.model()
  • Introducing app.view()
  • Introducing app.controller()
  • Added support for yo (generator-diet)
  • Support for node 4.2.4, 5.3.0

v0.9.22** - 2015 October 24

  • Body/footer separation in host.js for clarity

v0.9.21** - 2015 October 24

  • Don't JSON stringify $.failure() and $.success() responses because $.end() does it too

v0.9.19 - v0.9.20** - 2015 October 23

  • Fixed a https bug in host.js - if the port was undefined in the header it used 80. For https it should be 443. Now it's using the server's configuration to choose a default fallback protocol.

v0.9.16 - v0.9.18 - 2015 October

  • Chainable Server Instance Creation, Listening and Routing. Now you can do stuff like:
server()
	.listen(8000)
	.get('/', function($){ $.end('hello world'); })
	.get('/other', function($){ $.end('hello other world') });
	.missing(function($){ $.end('404 :)') });
  • Fixed bugs with $.end

v0.9.8 - v0.9.16 - 2015 June - October

  • $.end() now serves JSON responses on requests where the "x-requested-with" == "XMLHttpRequest" or the "Authorization" header is set and contains "Bearer" or "Token" in it's value
  • $.end() now accepts JSON objects as a value and sends it as a JSON response
  • app.html now enables $.html as the default response when using $.end
  • Added $.html() - by default it just sets the content-header to html - to ovewrite it set a handler for $.htmlModule (input) in your diet header modules
  • Bug Fixes
  • Added Unit Tests for the new $.end() function

v0.9.7 - 2015 June

  • Fixed a bug that didn't allow registering named addresses without a port

v0.9.6 - 2015 June

  • Fixed a bug in server options that caused to display the diet header for every server instance

v0.9.5 - 2015 June

  • A server instance now has an options attribute server(options)
  • Added options.silent to server options which if set to true disables all logs generated by diet for that Server Instance

v0.9.4 - 2015 June

  • Treat localhost addresses equally (127.0.0.1, 192.168.99.100, localhost)
  • Listen on multiple addresses without redirects or host configs

v0.9.3 - 2015 May

  • The body for POST and PUT methods now require the appropriate "Content-Type" header to be parsed. For URL encoded body "application/x-www-form-urlencoded" is required, for JSON requests "application/json". If no "Content-Type" is specified then $.body contains the raw body content.

v0.9.2 - 2015 February

  • Support for options, put, head, patch, trace and delete HTTP methods
  • Added app.put
  • Added app.head
  • Added app.patch
  • Added app.delete
  • Added app.trace
  • Added app.options
  • Fixed body parsing mechanism. Every route's body is parsed that has a Content-Type or Transfer-Encoding Header. According to rfc2616-sec4

v0.9.1 - 2014 December - Security Patch

  • 100% Unit Test Coverage
  • Build coverage with TravisCI
  • Fixed a bug that didn't allow to create https server with other ports than 80

v0.9.0 - 2014 December - Major Release

  • Completely rewritten source code
  • New website with better documentation
  • Dropped the plugin system
  • Introduced middleware
  • Introduced app.error for error handling
  • Introduced app.missing for not found pages
  • Introduced app.header for global middleware at the beginning of routes
  • Introduced app.footer for global middleware at the end of routes
  • app.failure replaced app.error
  • Changed app.error to record errors instead of ending the response
  • Fixed many bugs

v0.8.6 - 2014 October

  • Fixed a bug that caused starting an HTTPS server in failure with port 80

v0.8.5 - 2014 September

  • Better Docs

v0.8.4 - 2014 September

  • support for safe asynchronous error handling. replaced try catch with domains
  • setting signal.passed to false also stops the plugin chain just as signal.data.passed

v0.8.3 - 2014 September

  • fixed a bug in the chain. when signal.data.passed is false and $.end() is called the chain stops and other listeners on the same route will not be called.
  • calling $.error() from now on sets $.passed to false

v0.8.2 - 2014 September

  • updated readme

v0.8.1 - 2014 September

  • added app.server
  • cleaned up unnecessary console.logs

v0.8.0 - 2014 September - Major Release

  • Unit Test Coverage 100%
  • Deprecated new App now require('diet') returns a server object
  • Replaced the querystring module with the new diet-qs
  • Added new signal method $.send to appending to the response message
  • Added new signal method $.chain to allow adding plugins to the plugin chain on the fly.
  • Added chainable commands like require('diet').server().start().get('/')
  • Changed the Plugin framework
    • Removed module.exports.onload listener
    • Added module.parent.return() instead
    • Added module.parent.options to access the plugin options
    • Added module.parent.app to access the calling application
  • Extended documentation
  • Added examples
  • Fixed every known bug

v0.7.x - 2014 August

  • Started Unit Testing
  • Fixed several bugs
  • Better documentation
  • Extended the Signal $

v0.6.x - 2014 Summer

  • Changed new Domain to new App
  • Extended the Signal $
  • Fixed several bugs
  • Better documentation

v0.5.x - 2014 Spring - Major Release

  • Rewrote diet completely from the ground up
  • Introducing Plugins
  • Introducing the new Domain function
  • Introducing the Signal $
  • Introducing Sinatra like Router
  • MIT Licensed

v0.4.0 - 2013 Winter - 2014 Winter

  • Separated the code into several modules
    • Upload into diet-upload
    • Cookies into diet-cookies
    • Accounts into diet-accounts
    • Request into diet-request
    • Comet into diet-comet
    • Dictionary into diet-dictionary
    • tasks into diet-tasks
    • MySQL into diet-mysql
    • Use into diet-use
    • Next into nextjs
  • Fixed Several Bugs

v0.3.x - v0.4.0 2013 Spring & Summer - Major Release

  • Fixed several bugs

v0.2.5 - Started on 2013 Februray 20 - Winter

  • app.dictionary introduced
  • response.head introduced
  • response.html now includes arguments from response.head as a default
  • stand alone dictionary module
  • Improved html/form module with inside labels
  • comet.onExit introduced
  • cheerio introduced for html manipulation

v0.2.4 - Started on 2013 Junuary 23 - Winer

  • Cross file locals introduced inside the html module
  • Echo is now not part of the html module
  • Introduced app.notFound for 404 error routing
  • Introduced auto app.www
  • Introduced app.denie_requests
  • Introduced app.domain_redirect
  • public folder now can have any name because .html is no longer requires "/public" as the public folder's name instead uses the custom one specified in app.options.public

v0.2.3 - Started on 2012 October 3 - Fall

  • MySQL data mapping
  • MySQL is now based on the mysql.js javascript module
  • MySQL API drastically changed
  • Better form handling logic with check module
  • Improved overall stability

v0.2.2 - Started on 2012 - Spring

  • Added subdomain support with app.subdomain()
  • Better cookie set

v0.2.1 - Started on 2011 - Winter

  • Extension Apps with app.extend(); for a site which requires additional embeddable systems to improve it's customer experience, for example a forum, feedback or blog system
  • Very Simple Image Processing API with ImageMagick

v0.2.0 - Started on 2011 October 31 - Fall - Major Release

  • Easy HTTP/HTTPS server creation
  • Advanced Route Handling
    • With Manual URL handling (ex: /home, /about, /work)
    • With Dynamic URL Handling (ex: /posts/9874, /user/john)
  • Static File Handler
  • Advanced HTML with Node Module
    • With automatic .html to html with node integration
    • With Object Logger
    • With Advanced Error Tracking
  • Included Mysql Manager
  • Included Cookie Manager
  • Included HTML Upload Module
  • Included Async Module
  • Included Extension Modules ex: isset()
  • Stand alone HTTP Router - dropped expressjs
  • Stand alone HTML Parser - dropped jade

v0.1.0 - Started on 2011 June 1 - Summer

  • mysql support for express
  • based on express and jade