I committed several weeks ago to roll Really Simple History 0.6 RC1 over into a final release on Dec. 1. That’s still the plan, but I’m having trouble resisting the urge to tinker. I’m starting to see how a project like this could remain in indefinite limbo if I don’t just draw a line in the sand and release a final "hard" version that people can rely on for production code. The current SVN trunk includes a number of backwards-compatible enhancements. I’m working hard to test them all as comprehensively as possible, but I’m going to avoid adding risk to 0.6. Instead, I’ll save them for 0.7, which will come out in beta before Christmas.
The enhancements targeted for 0.7, some of them already complete, include the following:
- Configurable location for the blank.html file: You’ll be able to override the name and directory location of blank.html in case your server architecture demands that it be served from a different location.
- Automatic handling of history points whose keys contain spaces or other special characters; encodeURIComponent is my friend.
- Automatic title changes: You’ll be able to pass a third argument to dhtmlHistory.add and update the document title with its value. You’ll also be able to pass in a base document title through the options bundle so that each call to add just swaps out the subtitle.
- One-line initialization: You’ll be able to pass your listener into the dhtmlHistory.initialize without having to call addListener separately.
- Private methods that are actually private: Methods that are currently marked "private" but are accessible to anyone will become inner functions with no public access.
- Better global namespacing: I was hesitant to change the API for the 0.6 version, but I’d like to follow the YUI model and group all of RSH’s objects into a single global variable. Instead of dhtmlHistory and historyStorage, we’ll end up with RSH.history and RSH.storage.
The roadmap for 1.0 includes the following:
- JSUnit and Selenium test suites.
- Adapters for major frameworks using the MooTools model.
- Customizable downloads.
- Serious tutorials and documentation.
In the meantime, downloads for 0.6 RC1 have crept to
just under 350 almost 700. Look for me to "flip the switch" on Saturday, promote 0.6 to the stable production version, and deprecate 0.4 once and for all.