So you may have noticed a lull in features for the site in recent months. This is because I've been working on a new version of the site, written in .NET Core! Along with this, there are optimizations, new features, and bug fixes.
Let's take a look at what is coming!
Our biggest overhaul is how Teknik's authentication system works. Teknik now can act as an identity provider (Both OAuth and OpenID Connect). This will allow better integration with 3rd party applications and scripts, as well make it super simple to integrate into additional services.
Due to this major change, the authentication method for accessing the API will change and the previous Basic Auth method will no longer work. There will be an updated help document to show how to interact with the auth system using your scripts and programs.
This has been asked for quite awhile, and it's finally here! Just as with Pastes, you can now set your uploads to expire. This can either be set for your current session, or as a default setting. Uploads are also able to be modified after being uploaded to expire.
With the update to .NET Core, comes performance improvements in just the framework, but also there are many improvements in the backend code to streamline the request pipeline.
One of the biggest draws for people who want to host an instance of Teknik is that it was only usable on a Windows machine. Now with .NET Core, it can be hosted on *nix and Mac OS as well. Each service is also decoupled from the main core code so that you can either make another mail/git interface to hook into, or easily host those services elsewhere.
This, combined with the new identity server, you can run your own hosted version of Teknik, keeping the files and data on your system, while using our authentication. This would allow any Teknik use to utilize your service, but you would be in control of the data.
All of the client side code has been moved to be outside of the .NET code. It's managed using npm and gulp, which should hopefully allow better understanding and contributions from those not familiar with .NET. The HTML templates are still within the core code, but are fairly simple to understand.
There are many many bug fixes during the rewrite, as issues were found, and optimizations made.
It will be coming when it is damn well ready. Which hopefully will be soon! There will be an initial migration phase that will cause some downtime, especially to user registration/login. This is required to move all the existing accounts to the new authentication system.
There will be some caveats with the change:
Thank you all for your continued support, and I hope you will enjoy these new improvements! If you want to see the current progress, you can look at https://dev.teknik.io/, or if you want to contribute to the new version, you can make a PR to the
core branch of the repository.