Skip to content
Choose a tag to compare

Changes since 1.2.0

  • Added in an optional checkForUpdates feature which appears in the About section of your app. This is just for projects hosted on GitHub, we check it's API to see if there are new releases for your project. Feel free to modify this section of ugui.js to fit the needs of your app.
  • Added getFileSize helper function that returns an object of bytes, kilobytes, and megabytes. It also takes a callback function.
  • Improved the readAFolder function to have better error handling and work with callbacks better.
  • Added Gitter Chatroom link and Reddit Community Forum link to the README.
  • Update the package.json some more

Breaking Changes

Choose a tag to compare

New Features in this release:

  • Package.json file has been improved to have more common presets used by developers.
  • It's now super easy to get started with UGUI by just running npm install and npm start.
  • API Documentation has been finished!
  • We now display a command line preview on page load, rather than only after having interacted with something.

Bug Fixes since 1.1.0:

  • Allow more than one EZDZ box on a page.
  • Set correct values for folder browse boxes during Load Settings
  • Added in traditional select style dropdowns to index.html
  • Logarithmic ranges work in Range Sliders.
  • Modal system is more general rather than just targeting the About modal so developers can use it too now
  • Improved ugui.helpers.readAFolder.

Breaking Changes since 1.1.0:

  • In 1.2.0 We stopped exposing fillExeDropdown, WarnDupArgNames, and updateCommandLineOutputPreviewHint to the ugui.helpers API. It's extremely unlikely these would be of any use to developers, so there's no need to clutter up the API with them.
  • In 1.1.3 the way readAFolder works changed. See notes.

Yes dear readers, there were indeed breaking changes...

Choose a tag to compare

While working on the API documentation I found a bug with reading contents of folders and ended up improving some stuff while fixing it. 📂🪲


Now when you use a folder browse element or the helper function we accurately return the file size for files in the contents object.

//Read the contents of a specific folder and store them in a variable
var catPics = ugui.helpers.readAFolder("C:/pictures/cats");
//Returns an object of each item in the root of the folder with size and isFolder properties

Breaking Changes:

Previously to get the array of item names from a folder you'd need to do:

//Returns an array of the names of all items in the root of the folder

Which was confusing and bad, so if you were using that you'll need to change it to

//Returns an array of the names of all items in the root of the folder

I'm not bumping this from 1.1.2 to 2.0.0 because this is a very minor breaking change that likely no one was using anyway.

Choose a tag to compare


  • The Bootstrap Slider library needed updating to handle logarithmic ranges.
  • Gave up on embedding video, there's no need to include a media folder and video in every copy of UGUI. Youtube embedding isn't reliable enough without packaging custom NW.js with UGUI. Just putting a placeholder image there instead and linking to the website.
  • Made the modal system more general rather than targeting the About modal specifically so developers can add their own modals with less effort.

Breaking Changes:

^^that's zero

Choose a tag to compare

Bug fixes:

  • EZDZ drag and drop box had a conflict when there was more than one on a page.
  • When loading settings the value of folder browse boxes were returned as undefined.
  • Bootstrap style fake dropdowns don't support "required", added in a traditional select dropdown.

Breaking Changes:


Choose a tag to compare

Now you can allow users to select a file OR a folder. Our save/load settings will handle this as best it can. There is still a Chromium based limitation that prevents the ability to set the value of <input type="file"> so we do our best to work around it.

New Features:

  • Support for folder browsing

Bug Fixes since 1.0.0:

  • When About modal appears affect the body using CSS class instead of inline style as not to override developer intentions.
  • Create app.sass and app.js files as the go-to location for storing app specific code.

Breaking Changes:

Choose a tag to compare

Previously I was manually editing the CSS of the body when the modal appears to change the overflow. However on apps where the developer never wants the body to have an overflow, this would force one after opening the about modal. To fix this, I changes this effect to use a CSS class instead of inline style.

Also set up an app.sass and app.js file as the go-to location for storing app specific code.

Choose a tag to compare

After 200 commits and exactly 1 year (to the day), UGUI's first official version is now released:


  • Multiple simplified ways to run a CLI using NW.js
  • Easy File System access to read/write/delete files and folders.
  • Custom argument value definitions
  • UI Goodies like auto locking/unlocking of submit buttons based on required form elements
  • Error checking
  • Custom UGUI Developer tools to make life easier.
  • Bootswatch system comes preloaded with 19 theme options, Developer Tool bar lets you quickly try them out and keep the one you like.
  • Previewing CLI help menu from within NW.js
  • CLI command output preview updates in real-time
  • Multiple CLI support in a single app.
  • Almost a complete re-write of the EZDZ plugin for use with Bootstrap, Bootswatch, and NW.js
  • Range Slider's come with the default template
  • Saving and Loading of settings.
  • Exposing parts of the ugui.js file to the ugui global object to make life easier for developers.
  • The best documented source code in the history of ever!
  • and many.... many more