04/25/2015

v1.0.1 released

We just pushed a quick update to the online platform with a few fixes and improvements. Enjoy! :)

  • Cluster nodes now automatically try to restart on fatal failure
  • New "FatalError" flag on applications.
  • We added a default configuration in case of a missing _app.json file.
  • Minor performance improvements on the routing system.
  • Performance improvements on application startup.
  • Stability fixes
  • Sandboxing improvements (permissions are now properly limited to code execution & public reflection on the public platform. Can be configurated on private hosting.). This security fix deprecates all previous host versions.
  • The x86 .NET4 client library is now available on Nuget along the x64 one.

Fatal Error state

The platform won't try to start Applications with this flag on to avoid unnecessary error logs. It is set whenever a fatal error (Compilation errors in most cases) occurs during the application's startup. Redeploying or switching the active deployment unsets it.

You can know if the flag is set by calling the Get application API and looking for the value of the fatalErrorOccured member. We will soon update the management portal to display the flag value. 

Default _app.json values

On Stormancer v1.0.0, forgetting to add a _app.json file to your application would cause it to fail as early as during deployment because the platform would have been unable to determine which kind of host it should use to run it.

Now if the _app.json file is missing, Stormancer will default to a NET45 host version * (last version available). That's quite useful and dangerous at the same time so please use this feature cautiously. (And expect us to add a big warning to your app that use as soon as we figure the best way to show it).

Please take a few seconds imagine what could happen if we were to introduce breaking changes to a new version of the runtime while you are running an apps that targets NET45 version * . Yes, the app may (or may not) stop working suddently.

We recommand you to specifically target at least minor version numbers in the _app.json file, for instance 1.0.* . More in this documentation article.

Sandbox

Stormancer now uses .NET Level2 security to enforce a sandbox around server applications. By default, the sandbox is enforced on public and private cloud applications but it can be deactivated in private cloud environment. We however recommand developers to use it on both environment to allow portability between these two environments.

The Sandbox currently restricts your code to public members reflection and much nothing more. We value your feedback and if you feel that you need other permissions, please ask.

Performance improvements

We reduced the number of message copies in the routing system. This improved substantially its performance (So much that our testing bench became the bottleneck. We need new hardware.)

Leveraging improvements in the sandbox, we were able to reduce the startup time of application by up to 50%. Server compilation is now the main activity during startup. (expect 4 seconds for most projects)

Enjoy!


No Comments

Post Reply

You must sign in to comment.