Strobl Industries Logo
Metis Syiro

Announcements

Syiro 1.6 Release Schedule Change

We would like to announce that after the release of Syiro 1.5, we will be pausing Syiro development for approximately 4 weeks to work on our new developer experience, mainly a homebrewed wiki system that will enable us to be more flexible in how we present and structure the developer experience of getting started and using Syiro. We will be moving our documentation off our GitHub as we get closer to launch and will post more updates as we progress post-1.5.

This 4 week "hiatus" will also enable us to more broadly brainstorm radical and new things we want to do with Syiro in 1.6 and beyond. We have some non-finalized internal ideas and usecases we're going to tackle during the hiatus, so you can expect a separate blog (compared to the developer experience blogs) in the future as well.

Going forward, our plans for the 1.6 release cycle is to begin picking up development again on September 7th, rolling out RC1 on September 21st, RC2 on October 5th, and final on October 19th. Syiro 1.7+ release schedules will be changed accordingly.

New Infrastructure

We are happy to announce that we have moved our infrastructure over to DigitalOcean. This will enable us to be more elaborate in the services we will provide and enables more choices in the backends we intend on using.

Metis of the Future

Metis has evolved extensively in its 14 release history. It has endured a plethora of changes, a complete rewrite of both the server-side and client-side code, significant modularity (primarily in the client-side code), and use throughout a multitude of frontend apps and backend infrastructure.

But no matter how much innovation we have put into Metis, we have always been limited by the capabilities and performance of the language the backend was written in, PHP. Where we've wanted to make Metis as modular as possible, the lackluster Class system of PHP has held us back. Where we've wanted native support for not just the Linux ecosystem, the additionally needs of PHP have been a roadblock. We have desired to utilize concurrency to dramatically improve performance, we simply haven't been able to reliably do so without calling upon PHP libraries that we simply can't expect everyone to have.

In order to introduce significant performance improvements, integrate with software such as Memcached, and be able to quickly innovate, we need to separate ourselves from PHP. Today we are announcing that Metis 1.4.7, the current release, will be the last release of Metis in PHP. Starting on March 23rd, 2015, work will begin in a new future branch in a language we have come to love.

gopher Metis 2.0 will be written in Go. Go is a no-compromise, modern programming language that has been fundamental to a lot of incredible technology we know, like Canonical's Ubuntu Juju, or the container software called Docker. Go will provide us the high-performance we need through asynchronous function calls as well as Go's Channels model. Go has incredible support for other operating systems, the ability to compile down the Go code into an executable binary, has a fantastic set of core libraries, and has the community support we feel is needed to ensure we can integrate capabilities not seen before.

Metis 2.0 will have feature parity with the current PHP version, with obvious performance improvements along with changes to how querying the backend would work. We'd have Metis itself be a Go library so backend applications can utilize Metis without the need for the HTTP server.

Metis 2.1 would come roughly 6 weeks later and follow the same release schedule as Syiro. Metis 2.1 would feature a new file synchronization system and Windows Server support. We'd then move on to future versions of Metis and evaluate integrating support with software like Memcached.

We hope this provides some insight into the future of Metis. We're excited to see what this bright future will bring!