Pre-release 2.6-beta is available now
Published on December 26, 2020 by billz

2.6-beta pre-release

This pre-release has lots of new changes under the hood! A feature request for extending DHCP to interfaces other than wlan0 led to a rethink of how this project manages configurations behind the scenes. A valid concern raised is that manual user configuration changes to services like dhcpcd and dnsmasq are squashed by RaspAP. 

Without a facility to merge existing configurations with changes made via the UI, RaspAP essentially became the one and only source of truth whereby manual changes were always overwritten. Moreover, many default values were hardcoded with no means to easily redefine them.

Changes in this release are a first step toward addressing the above. Default values are stored in config/defaults.json and assigned in the absence of user-defined ones. DHCP configurations made in RaspAP are now safely written to the system and merged with existing settings. This is achieved with some clever pattern matching of RaspAP configuration blocks.

Likewise with dnsmasq, this project has streamlined handling of these configurations. Rather than a single, monolithic configuration file, RaspAP now manages these configs per-interface or feature. User configs may be created alongside these files without concern for RaspAP overwriting them.

In parallel with these backend changes, the frontend has seen some important updates. Adapter IP address settings are now logically combined with the DHCP server options for each interface. As well, the DHCP server settings page is now fully ajaxified, such that selecting a new interface instantly updates all the relevant fields. We think you'll agree this is a big usability enhancement.

Finally, a significant portion of the codebase has been modularized, meaning that difficult to follow (and maintain) procedural code is now properly broken up into discrete functions. It's not perfect, but greatly improved and paves the way for future work. 

Feeling brave? Beta testers are welcome to dive in and evaluate this pre-release! Join the beta by running the Quick Installer like so:

curl -sL | bash -s -- --branch 2.6-beta

tl;dr — RaspAP plays nicer with manual config changes, extends DHCP support to more interfaces, with more modularized code, plus some nifty frontend updates.

GitHub discussions

Lastly, say hello to GitHub discussions for RaspAP 👋🏼 Discussions is a place to have ongoing conversations about a project in a dedicated space, ask questions and more. It fills a vital gap between GitHub issues, which is mainly focused on reporting code defects, and other community resources such as /r/RaspAP and @RaspAP on Reddit and Twitter, respectively. Have an idea, question or want to show off your project? Join the conversation.

Thanks as always to you, our Open Collective financial backers, and our awesome developer community.