2017 in review
2017 is almost over already. The whole year has been a blur for me (in particular due to major changes in my professional life). This has been another interesting year for Asuswrt-Merlin, for multiple reasons. First of all, 2017 marked the 5th anniversary of this project. This milestone was reached last April, however I was too busy with other things at the time so I completely missed it. So here's a belated happy birthday to us!
2017 finally saw the begining of the transition to the new 382 code base. As expected, this transition wasn't an easy one, and is still being done in stages (as Asus is gradually migrating their routers to the new platform). The RT-AC88U and RT-AC3100 have been completely migrated, and the RT-AC56U and RT-AC68U are under development.
This year also saw the addition of a new platform to Asuswrt-Merlin (Broadcom HND), with one new model being supported (the RT-AC86U). Great hardware at a very reasonable price. The software had some growing pains (this is a whole new platform from Broadcom, with a lot of low-level changes), but it's gradually getting there. If Asus/Broadcom can take care of the remaining issues, I personally believe this might be Asus's best model since the RT-AC68U. The RT-AC88U was a great router, however its high price is what prevented it from becoming a classic.
The year also brought a few organizational changes. The Mediafire download site was retired, with Sourceforge taking its place as the primary download site, and Onedrive became the new mirror site. Special thanks goes to the Sourceforge owner (who personally helped with one minor issue I had with their service) and to a Microsoft employee who helped evaluate and ultimately switch to Onedrive for the mirror site. This change allowed me to automate a lot of the process involved in releasing new versions, as I can now use a script to take care of uploading the files to both mirrors, saving me about 30 mins of manual work. Now, if I could also simplify the process of updating the website's changelog and SHA signatures...
Also, we have just moved the official #asuswrt IRC channel from DALnet to Freenode, where I am now registered as an official project group. Already, my interactions with the Freenode administrators have been more positive than with those from the previous network, where I never succeeded in getting ahold of them when I needed to contact them about an issue I had with their network.
Development got split in two separate repositories on Github: the legacy 380 code, and the new 382 (and beyond) code. As mentioned before, the 380 branch will only be maintained for the near future for security updates and important fixes, and will gradually be dropped. More on these plans later.
The past year also saw the community continuing to expand. The principal fork (@john9527 ) is very actively maintained, and there are also a lot of interest in add-ons such as AB-Solution and Skynet. The community has also been doing great at handling most of the technical support needs of fellow users. Thank you everyone who's actively participating - your continued activity means I can devote more time to actual development.
2017 in numbers was 15 releases, now two separate code branches, and we apparently have an established user base of somewhere close to 150,000 users according to the traffic hitting the firmware update server (the CDN counts the number of unique IPs hitting it each day). I have a hard time believing this number personally, but it seems to remain steady, with a slight increase throughout the year, so I guess it might be close to the truth.
What's in store for 2018?
Work continues on 382.2, further stabilizing it, and adding the RT-AC56U and RT-AC68U to that platform (work is almost done on these.) As Asus continues to migrate other models, these will be migrated as well, with the RT-AC3200 being next in line. Unfortunately, to keep the project at a manageable level for a lone developer, I have decided to drop active support for the older MIPS platform, which means the RT-N66U and RT-AC66U. These will keep getting security/major fixes through the 380 legacy branch for at least a few months, but eventually they will be completely dropped. The decision to drop these two specific models was due to a few reasons:
The migration timetable is highly dependent on Asus's own, so I can't provide any kind of ETA as to when other models will be migrated and integrated into 382.
Asus is also progressively adding some new features to the 382 code base, with IPSEC server and Let's Encrypt support being the latest ones added to specific models. Asus plans to eventually add these features to more models, so once again Asuswrt-Merlin will be keeping in-sync with them as much as possible.
Development-wise, the same trend as this past year will remain when it comes to development focus, where very little work will be done to add any new features (outside of those developed by Asus themselves). Work will continue on porting models to the 382 code base, keeping things in sync with new Asus updates, with a small dose of bug fixing when possible. Asus's recent shift to increased closedness of their code is limiting things a fair bit here when compared to the level of freedom I had with the code back in 2012. Also the increased complexity makes it even harder for one single person to be able to view the whole picture, which means I've had to become more selective as to which portion of the code I can devote time to. There's no way one single part-time developer can understand and maintain the whole Asuswrt code on his own, when Asus has a whole team of engineers involved, and they can talk to one another to understand how things work.
For the legacy 380 base, at least one minor update is slowly cooking with 380.69_2 to address a few issues reported in the latest release. Once 380.69 becomes more stable, I will stop providing builds for any model that's already moved to the 382 base (and is stable enough there). Future releases in the coming months will mostly be for major security updates for OpenSSL and the likes. I don't expect to have more than, maybe 3 or 4 releases in 2018 for 380, depending on how things go. I'd be willing to listen to any serious offer if someone wants to take over maintaining this legacy branch. Be warned that it's a lot of work, and I might not be able to provide a lot of help if I'm already too busy with the 382 side of things.
So for the first few months, the release schedule should look like this:
In closing
We survived the move from the 380 to the 382 code base (which was the biggest interrogation at that same time period a year ago). 2018 focus will be on continuing to stabilize and maintain this new platform, while gradually phasing out the old one.
Personally, I'm happy with the popularity of this project, which has gone beyond my original expectations. I'm less happy however with the current complexity of the code, as more new features are getting added, while more portions are getting moved into closed source binary. Debugging any newly reported issue has become increasingly difficult over time due to the sheer complexity of the code. I've started taking steps to compensate at least a bit - more adjustments might be made as necessary during 2018.
In conclusion, I'd like to once again thank the community for their participation, @thiggins for providing us a place to interact, and Asus for actively supporting me (there was a period where I was worried, but everything eventually got sorted out).
2017 is almost over already. The whole year has been a blur for me (in particular due to major changes in my professional life). This has been another interesting year for Asuswrt-Merlin, for multiple reasons. First of all, 2017 marked the 5th anniversary of this project. This milestone was reached last April, however I was too busy with other things at the time so I completely missed it. So here's a belated happy birthday to us!
2017 finally saw the begining of the transition to the new 382 code base. As expected, this transition wasn't an easy one, and is still being done in stages (as Asus is gradually migrating their routers to the new platform). The RT-AC88U and RT-AC3100 have been completely migrated, and the RT-AC56U and RT-AC68U are under development.
This year also saw the addition of a new platform to Asuswrt-Merlin (Broadcom HND), with one new model being supported (the RT-AC86U). Great hardware at a very reasonable price. The software had some growing pains (this is a whole new platform from Broadcom, with a lot of low-level changes), but it's gradually getting there. If Asus/Broadcom can take care of the remaining issues, I personally believe this might be Asus's best model since the RT-AC68U. The RT-AC88U was a great router, however its high price is what prevented it from becoming a classic.
The year also brought a few organizational changes. The Mediafire download site was retired, with Sourceforge taking its place as the primary download site, and Onedrive became the new mirror site. Special thanks goes to the Sourceforge owner (who personally helped with one minor issue I had with their service) and to a Microsoft employee who helped evaluate and ultimately switch to Onedrive for the mirror site. This change allowed me to automate a lot of the process involved in releasing new versions, as I can now use a script to take care of uploading the files to both mirrors, saving me about 30 mins of manual work. Now, if I could also simplify the process of updating the website's changelog and SHA signatures...
Also, we have just moved the official #asuswrt IRC channel from DALnet to Freenode, where I am now registered as an official project group. Already, my interactions with the Freenode administrators have been more positive than with those from the previous network, where I never succeeded in getting ahold of them when I needed to contact them about an issue I had with their network.
Development got split in two separate repositories on Github: the legacy 380 code, and the new 382 (and beyond) code. As mentioned before, the 380 branch will only be maintained for the near future for security updates and important fixes, and will gradually be dropped. More on these plans later.
The past year also saw the community continuing to expand. The principal fork (@john9527 ) is very actively maintained, and there are also a lot of interest in add-ons such as AB-Solution and Skynet. The community has also been doing great at handling most of the technical support needs of fellow users. Thank you everyone who's actively participating - your continued activity means I can devote more time to actual development.
2017 in numbers was 15 releases, now two separate code branches, and we apparently have an established user base of somewhere close to 150,000 users according to the traffic hitting the firmware update server (the CDN counts the number of unique IPs hitting it each day). I have a hard time believing this number personally, but it seems to remain steady, with a slight increase throughout the year, so I guess it might be close to the truth.
What's in store for 2018?
Work continues on 382.2, further stabilizing it, and adding the RT-AC56U and RT-AC68U to that platform (work is almost done on these.) As Asus continues to migrate other models, these will be migrated as well, with the RT-AC3200 being next in line. Unfortunately, to keep the project at a manageable level for a lone developer, I have decided to drop active support for the older MIPS platform, which means the RT-N66U and RT-AC66U. These will keep getting security/major fixes through the 380 legacy branch for at least a few months, but eventually they will be completely dropped. The decision to drop these two specific models was due to a few reasons:
- They are still very actively supported by John's fork
- There were a number of limitations related to that older MIPS platform and its older Linux kernel
- Dropping an entire SDK (6.34 + Kernel 2.6.19) removes a significant burden from the project, which now has to deal with a new (radically different) platform, with the RT-AC86U's Broadcom HND SDK.
- I don't know yet what are Asus's plans regarding 382 and these two models, but even if they get migrated, I suspect they won't be as frequently updated as newer models, which is now an important factor due to the amount of closed source components part of Asuswrt
The migration timetable is highly dependent on Asus's own, so I can't provide any kind of ETA as to when other models will be migrated and integrated into 382.
Asus is also progressively adding some new features to the 382 code base, with IPSEC server and Let's Encrypt support being the latest ones added to specific models. Asus plans to eventually add these features to more models, so once again Asuswrt-Merlin will be keeping in-sync with them as much as possible.
Development-wise, the same trend as this past year will remain when it comes to development focus, where very little work will be done to add any new features (outside of those developed by Asus themselves). Work will continue on porting models to the 382 code base, keeping things in sync with new Asus updates, with a small dose of bug fixing when possible. Asus's recent shift to increased closedness of their code is limiting things a fair bit here when compared to the level of freedom I had with the code back in 2012. Also the increased complexity makes it even harder for one single person to be able to view the whole picture, which means I've had to become more selective as to which portion of the code I can devote time to. There's no way one single part-time developer can understand and maintain the whole Asuswrt code on his own, when Asus has a whole team of engineers involved, and they can talk to one another to understand how things work.
For the legacy 380 base, at least one minor update is slowly cooking with 380.69_2 to address a few issues reported in the latest release. Once 380.69 becomes more stable, I will stop providing builds for any model that's already moved to the 382 base (and is stable enough there). Future releases in the coming months will mostly be for major security updates for OpenSSL and the likes. I don't expect to have more than, maybe 3 or 4 releases in 2018 for 380, depending on how things go. I'd be willing to listen to any serious offer if someone wants to take over maintaining this legacy branch. Be warned that it's a lot of work, and I might not be able to provide a lot of help if I'm already too busy with the 382 side of things.
So for the first few months, the release schedule should look like this:
- 382.2: adding RT-AC56U and RT-AC68U, first few models with IPSEC and Let's Encrypt support
- 380.69_2: minor bugfix release
- 382.2_2 (if necessary): minor fixes for the newly added models
- 382.3: adding the RT-AC3200 and possibly other models if possible
- 380.70: Any new security fixes available at the time, dropping all models already ported to 382
In closing
We survived the move from the 380 to the 382 code base (which was the biggest interrogation at that same time period a year ago). 2018 focus will be on continuing to stabilize and maintain this new platform, while gradually phasing out the old one.
Personally, I'm happy with the popularity of this project, which has gone beyond my original expectations. I'm less happy however with the current complexity of the code, as more new features are getting added, while more portions are getting moved into closed source binary. Debugging any newly reported issue has become increasingly difficult over time due to the sheer complexity of the code. I've started taking steps to compensate at least a bit - more adjustments might be made as necessary during 2018.
In conclusion, I'd like to once again thank the community for their participation, @thiggins for providing us a place to interact, and Asus for actively supporting me (there was a period where I was worried, but everything eventually got sorted out).