On Thursday, 19 October 2017 at 23:29:57 UTC, bauss wrote:
I'm pleased to announce that I have just released Diamond 2.1.0.

There has been a lot of updating to Diamond since last announced release.

Diamond has also moved repository from my personal Github to an organization Github.

The reason for that change is because I've started a couple side projects for a tool-chain that can be used with Diamond.

The organization repository can be found here: https://github.com/DiamondMVC

2.1.0 is not backward compatible with the versions released at the personal repository.

Here are some of the changes:

* Diamond now has its own organization repository
* Controller actions can be mapped by attributes (@HttpDefault, @HttpMandatory, @HttpAction) * Controllers do no longer require their type to be passed as a template parameter to the base-controller class * Views support sections (See: https://github.com/DiamondMVC/Diamond/wiki/Syntax-Reference#sections) * Views and web configurations have been split into separate files * Default headers can be set for different types of requests (Unlike in the legacy version of Diamond where there were only one type.) -- These types include gneeral, static files, errors and not found (404) * Better construct to control application type (module: diamond.core.apptype -- isWeb, isWebServer, isWebApi; all of them are booleans that can be used at compile-time with static if, instead of the old construct of using version. This works better because they're conditional, unlike versions) * Allows you to bind to multiple ips and ports, unlike the legacy version that only allowed one port for many ip addresses. * Renames of some members such as request -> httpRequest, response -> httpResponse * A routing class has been added to easier access routing data for requests (module: diamond.http.route)
* Most of the compile-time engine has been rewritten.
* A lot of bugs has been fixed, code is better structured etc.

For the latest release see:
http://code.dlang.org/packages/diamond

For the github repository see:
https://github.com/DiamondMVC/Diamond

To see what's upcoming see:
https://github.com/DiamondMVC/Diamond/wiki/Upcoming-Features

Thank you, that's all!

Even though it has only been 5 days since 2.1.0 has been announced, I am pleased to announce 2.4.0 now. I have spend the past days working almost 24/7 to improve Diamond and make it as close to a usable framework as it can get.

Everything that has been implemented between 2.1.0 and 2.4.0:

* Extension support (Extensions can be in form of local repositories or repositories that Dub can fetch.)
* Authentication (Can be used with or without the ACL)
* Cookies / Sessions
* ACL (Access Control List)
* CSRF Protection
* RESTFul / Type-secure routing
* Controllers in web-apis can have multiple routes
* Base-view can be passed to a view's controller
* Layout views can be changed dynamically
* Caching for expensive views
* Network restrictions

The wiki and template projects will be updated accordingly to the latest version of Diamond.

Thank you!

Reply via email to