Skip to content

Releases: UWNetworksLab/uProxy-lib

v26.1.0: Merge pull request #164 from uProxy/dborkan-metrics

18 May 20:21

Choose a tag to compare

New and notable:

  • TypeScript interface for freedomjs-anonymized-metrics #164
  • workaround for freedom-on-firefox TCP socket onDisconnect issue - #169

Other changes:

  • TCP sockets now discard unprocessed inbound data when close is invoked #167
  • churn pipe refactoring significantly boosts churn throughput - #168

uproxy-networking merge

18 May 20:20

Choose a tag to compare

New and notable:

  • now includes all code from uproxy-networking, obsoleting that repository

Requirified uProxy Lib

27 Mar 17:03

Choose a tag to compare

uProxy lib is now using require & browserify.

Details of the updated build system are here:
https://docs.google.com/document/d/1H3ac_gZFJfhUGyumCbAKhXSa-_UsusDmsAUqXe4h-JQ/edit

Note: there is now a setup.sh script (installs all needed dependencies form npm, bower, tsd, and sets up the third_party code in build/); install instructions have been updated too. The new paths for distribution code is: build/dist/

v14.0.0

28 Oct 21:23

Choose a tag to compare

  • Moved to using grunt-ts
  • chat2 sample removed (copy-paste chat demo added, does similar, but lacks multi-data channel chats)
  • Many networking and peer-connection improvements; e.g. peer-connection now manages connection state using a control data channel.

v10.0.2 - PeerConnection support ArrayBuffers over DataChannels (& a custom freedom branch binding)

26 Aug 21:13

Choose a tag to compare

https://github.com/uProxy/uproxy-lib/tree/v10.0.2
https://www.npmjs.org/package/uproxy-lib/10.0.2

Main changes:

  • Uses fixed branches of freedom (for config, debugging, and tcp sockets)
  • Includes a prepublish script, so you can't accidentally publish totally borken stuff
  • Better comments for array buffer functions in declaration file
  • Array buffer util for chunking and new tests for chunking/concat
  • New typescript declaration file for freedom tcp error constants so you know what tcp function can raise what error.
  • More comments link to the github issue.
  • peerconnection has a global table of active peer connection that are in the top level environment to aid debugging.
  • data channel's chunking of arrays has been simplified
  • data channel's correctly handle array buffers now.
  • Sample chat apps have been simplified a little.
  • Bugfix to common-build-rules to avoid compilation of samples with specs.
  • typescript src is now correctly included for sourcemaps to work in sample apps.

Upgrade hints:

  • arraybuffers is now a dependency of webrtc so any code you have that uses webrtc/* should make sure that it includes arraybuffers. e.g. add a line like this: <script src='lib/arraybuffers/arraybuffers.js'></script> to your HTML file of your sample app. See uproxy-lib/src/freedom/samples/freedomchat-chromeapp/main.html
    for an example.
  • Array buffer chunking uses ArrayBuffer.slice, for unit tests, include the array buffer slice adapter ("arraybuffer-slice": "~0.1.2" from the npm package deps)

These enable my new networking socks-rtc-net stack to work (UWNetworksLab/uProxy-networking#101). :)

New directory layout for freedom, improved samples, support for secure sockets, better logging

22 Aug 01:28

Choose a tag to compare

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:

[ 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.

provides logger implemented as freedom custom api

12 Jul 00:51

Choose a tag to compare

provides logger implemented as freedom custom api