Today is the day! I'm pleased to announce the release of Teknik v3.0. This release has quite a few changes, additions, and fixes I hope you will all enjoy.
Let's take a look!
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 has changed and the previous Basic Auth method will no longer work. There will be updates soon for the existing tools to support the new authentication system. Until then, the API is open for unauthed users as well.
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.
There is a new page to view your Service Data, and as well as having it all in one place, you can now delete any previously made Upload, Paste, Shortened URL, or Vault.
Ever make a paste that you wanted to update, or found an error with? Now you can! As long as you make the paste while being logged in, you can edit the paste to your heart's content.
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.
We have cleaned up a good portion of the UI. From little things like adding icons and spacing to the nav dropdowns, to added button disabling when an action is taken.
With some of these new features, a couple changes to the services offered have been made.
There are many many bug fixes during the rewrite, as issues were found, and optimizations made.
There will be some caveats with the change:
Thank you all for your continued support, and I hope you will enjoy these new improvements!