New directory layout for freedom, improved samples, support for secure sockets, better logging
Main changes:
- There is now a "freedom" directory and the typing files for freedom code is in a subdirectory called "typings" (following the DefinitelyTyped convention).
- The freedom file to use is now: "freedom-for-*-for-uproxy.js"
- Note: freedom file is self contained. It depends on the environment having some background code; you can see an example here for what is needed.
- Consolidated use of Shanjian's logging (code now uses "log.debug(s:string)", "log.info(s:string)", "log.warn(s:string)", and "log.info(s:error)")
- Cleaned up code for sample apps (when you run them, you'll see better logging output, as well as a single logged peerconnection creation function).
- Uses freedom-for-chrome 0.3
- Requires new chrome app permissions, see this example.
- Provides a 'secure' function for tcp sockets
- Makes freedom logging available to freedom modules (see freedom wiki on logging)
- editor_support/sublime_text now has a project file to make sublime_text for editing uproxy easier.
- tools directory contains a handy script for grunt inclusion (don't depend on the main Gruntfile, depend on the one in tools). This provides a common building structure for typescript code, samples, and for copying non-typescript files into the appropriate directory. See the section on code layout in the coding guide.
How to upgrade:
- Fix paths from "freedom__/_" to "freedom/typings/*"
- Update any chrome app permissions if you use sockets.
- Use the freedom-for-*-for-uproxy from the freedom directory.
- If your Gruntfile previously dependent on the uproxy-lib Gruntfile, make it now require from tools/common-grunt-rules.js
Things to do in time:
- change the dbg/dbgWarn/dbgError and any console.log calls to using the new logging interface.
[ if you think that's 9 is a big number; read about releases and semantic versioning in our coding guide, semantic versioning is smart and cool, and we use it. ]
There are many plans to make this better, e.g. consolidate our logging interface with Freedom's; but it's a good step forward in usability, features, and directory layout.