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
Diamond has also moved repository from my personal Github to an
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:
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,
* Controllers do no longer require their type to be passed as a
template parameter to the base-controller class
* Views support sections (See:
* 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:
For the github repository see:
To see what's upcoming see:
Thank you, that's all!