WebViewJavascriptBridge Changelog ================================= Release Checklist ----------------- - gitu-update - Note Changelog - Bump `WebViewJavascriptBridge.podspec` version "X.Y.Z" - gitm-commit "vX.Y.Z" - gitt-tag "vX.Y.Z" - pod trunk push Version History --------------- v5.1.1 + Swift unit tests and examples + Implement removeHandler v5.1.0 + A single instantiation function for all webview types. + Improved test runner. + New instructions & templates for github issues and pull requests. v5.0.5 + Run all tests for both UIWebView and WKWebView webviews/bridges. + Allow for calling handlers from JS with just a handler name and responseCallback function (#184). v5.0.3 & v5.0.4 + Recalled builds :) v5.0.2 + Fix bug that could cause a crash if the webview loads a new page immediately after JS sends a message. v5.0.1 + Removed `WebViewJavascriptBridge -reset`. It should never have been exposed as a public API. + Fixed compilation in C99 mode + Inline JS source code. WVJB no longer requires `WebViewJavascriptBridge.js.txt` to be included as a resource. + Automated testing: see `make test` + Added Makefile with common commands + Significantly simplified and improved wvjb load detection + Simplify API by focusing on explicitly named handlers instead of a default handler and plain `send`. v4.1.4 + Improve how WVJB handles the case when there is no ObjC handler for a message received from js. + If an objc handler throws and exception, let it bubble up to the webkit engine instead of catching it in WVJB. v4.1.3 + Update podspec file with tag v4.1.2 + Fix bug: webViewDidStart/FinishLoad were called twice and isLoading was always true (#86) v4.1.1 + Better JS initialization script (thank @refractalize!) + When passing nil to an objc response callback, replace it with [NSNull null] (becomes null in js) v4.1.0 + Allow for sending null/nil data packets + Drop support for JSONKit + Clean up internal represenation of messages v4.0.2 + Fix NSInvalidArgumentException: "attempt to insert nil object" when using shorthand -callHandler: + Fix sending messages including __WVJB_MESSAGE_SEPERATOR__ string v4.0.1 + Fix detection of arc_weak support v4.0.0 + Consolidate platform-specific code into a single WebViewJavascriptBridge.m/h using macros (57ee322a4c5310eadd28b28f4d8522cd54123301) + Bugfix: Don't make navigation decisions for webviews we don't control (254ea00267f8c1e03727885f4e1e0fd5f5c78be8) v3.1.0 + Dont inject the WVJB bridge until all requests have finished loading (61b853) + Add podspec file (818d49cfc) + Memory leaks fixed (b06988f1, 20ce1b0b) + New major contributor @peyton! v3.0.0 + OSX Support + New major contributor @oakho! v2.1.2 + Copy handler and response blocks v2.1.1 + Handle edge cases gracefully (e.g. don't crash on unknown command or unexpected response) v2.1.0 + Remove WVJBResponse object and the notion of responding with an error. See 4ab41bb4d7. v2.0.0 + Messages are objects instead of strings. Supports NSDictionary*/Objects, NSArray*/Arrays, NSNumber*/Number & NSString*/String. + Messages are encoded with NSJSONSerialization. Optional fallback to JSONKit for iOS 4 support. + Messages can expect responses. A message received with an expected response is accompanied by a WVJBResponse* object. + Handlers can be registered by name, and called with data and an optional expected response. + Responses expect either an error or data (`-(void)respond:(id)data`, -(void)respondWithError:(id)error) v0.0.1 + ObjC: A WebViewJavascriptBridge class (a UIWebViewDelegate) that enables message passing to and from the JS + ObjC: A protocol called WebViewJavascriptBridgeDelegate that lets you handle messages received from the JS + JS: Event when the bridge is ready - document.addEventListener('WebViewJavascriptBridgeReady', function() {}, false) + JS: Ability to set your message handler - WebViewJavascriptBridge.setMessageHandler(function() {}) + JS: Function to send messages - WebViewJavascriptBridge.sendMessage('a message'); + All messages are strings. Use JSON in your js and e.g. JSONKit in iOS to send structured messages