Skip to content
Aug 30, 2013


The Borel release!
Dec 20, 2012


- Removed enums.h, parsers.h, and all dependencies
* Unify all enumerated syntax into one enum
* syntax map is now `extern`, making it much more efficient
* Converted all syntax uses to new methodology
+ Add "check-syntax" CLI command
+ make install-cli, make, and make syntax now create syntax maps on build
Dec 16, 2012


- Remove Nodes namespace
- Remove "policy" as a widget attribute
+ Add "properties" as a widget attribute
* "input" widget content is now empty text, instead of standard text
* Mogu now uses an internal userid instead of the user's encrypted login. This is more secure and takes up less space in the database.
* Now compiles with the -std=c++0x flag, for C++11 features.
* "make purge" now removes the generated configuration file.
+ Add "memberlist" widget type and its necessary handlers -- untested
+ Add "change_group" action, which changes the active user group
* Fixed a problem with upgrading to the newest version of Redis
+ cityhash 1.0.3 now included in the repository for backward compatibility. If you're using Mogu for the first time, you can use whatever version you want, but make sure it's consistent across all of your servers!
* "mogu find-orphans" works again
* "set_index" also emits "hidden_changed"
+ Add "test" action, which works much better than either of its predecessors, which are now deprecated.
* Reworked all widgets to separate them out into sensible classes, instead of...whatever model I was using previously. 5x faster widget creation now.
Oct 28, 2012


+ Remove unused code
+ Add media player widget type (unimplemented)
+ You can use "listener" or "listeners" in MoguScript now.
+ Action blocking works again
+ Add "emit" action which allows you to simulate a click action.
+ Displaying encrypted data no longer shows underscores in the view
+ Merging now works properly again
+ Event listeners no longer have to be widgets
+ Create FiniteAutomaton template
+ Change NodeValueParser into a Finite Automaton
+ NVP is now only instantiated once per user, except where recursion is necessary -- incredibly performance gains
+ Completely redid user management, session management, login, and dynamic data handling (both reading and writing).
+ Overall, about half of the engine was rewritten.
Oct 15, 2012


+ Valgrind reporting no memory errors, including with concurrent sess…

+ "{set text}" can now hold a statement value like "@data.node@ ^1^"
+ Widgets now have a value callback which is bound at creation to more easily get their text values.
+ Widgets now have a value vallback which is bound at creation to more easily set their text values.
+ Added '!' as a valid wrapper for inline redis commands (untested; barely implemented)
+ Added '|' as a valid wrapper for registered widget names (tested, fully implemented)
+ Can now parse the states of named widgets using '|widget name| $state$'
+ NodeValueParser now has its own test environment (src/tests)
+ Event handling completely redesigned. At least ~30% increase of instantiation and firing speed
+ Perspective handler now works just like other events (except currently does not work)
+ "Signal" is no longer required for creating events!
+ Bubble/Trickle signal degradation no longer needs to be padded by one (note: This will break all currently written bubble/trickle events -- decrease the degradation of these by 1!)
+ Widgets now emit a signal when the setHidden() method is called on them.
Oct 2, 2012


Mogu Aristotle (Beta 1.0)
Something went wrong with that request. Please try again.