Starting with tag: [TAG 2.0.3 cygnus@janrain.com**20080111193129] [UPGRADE: fix typo in example path Kevin Turner **20080115012001] [ProtocolError, ServerError: subclass OpenIDError Kevin Turner **20080115012110] [OpenID::ServerError: add server_url to attributes. Kevin Turner **20080115015938] [Consumer.complete_id_res: catch all OpenIDError instead of just DiscoveryFailure and ProtocolError. Fixes #104. Kevin Turner **20080115020629 This seems to be the desired behavior. IdResHandler.check_auth: don't bother casting an OpenIDError to another OpenIDError. ] [The following set of changes gets ruby-openid to work with Ruby 1.9, rubys@intertwingly.net**20080115194849 revision 15006 and REXML revision 1301. The codebase with this patch continues to work on Ruby 1.8.6. ] [OpenID::normalize_url: urinorm raises URI::Error, not ArgumentError. Kevin Turner **20080121222310] [StandardFetcher.fetch: catch more exceptions to wrap in to FetchingErrors. Kevin Turner **20080121235054] [Consumer.IdResHandler.verify_return_to_args: include more details in exception messages. Kevin Turner **20080131193411] [HTMLTokenizer: raise OpenIDError instead of RuntimeError Kevin Turner **20080213014953] [set version to 2.0.4 Kevin Turner **20080213020144] [TAG 2.0.4 Kevin Turner **20080213020231] [Properly convert timestamps to ints before storing in DB, and vise versa dag@janrain.com**20080520183629] [Not Null constraints on activerecordstore association dag@janrain.com**20080520184114] [Handle blank content types in OpenID::Yadis::DiscoveryResult.where_is_yadis? sam@37signals.com**20080508154458] [whitespace cygnus@janrain.com**20080520190235] [Use create! in ActiveRecordStore - failed nonce or association creation will raise dag@janrain.com**20080520201231] [Return nil in SReg:Response.from_success_response when no signed args are found. dag@janrain.com**20080520201927] [Add timeout setting to StandardFetcher. Raises FetchingError on timeout dag@janrain.com**20080520205737] [fetchers.rb: gracefully handle errors happening in redirects, particularly invalid URLs dag@janrain.com**20080520224832] [Use ProtocolError instead of StandardError for bad requests in idres.rb and association.rb dag@janrain.com**20080520225738] [handle pathological case in discovery dag@janrain.com**20080520231745] [Bring PAPE with empty auth_policies into compliance dag@janrain.com**20080520233841] [PAPE: use auth_time instead of auth_age for compliance with draft 2 dag@janrain.com**20080521001615] [Fix #112 for Ruby. Be explicit about implicit namespaces. dag@janrain.com**20080522232009] [Add optional form_tag_attrs arg to server.OpenIDResponse.to_form_markup dag@janrain.com**20080523002535] [to_html methods for server and consumer that provide complete autosubmitting html documents dag@janrain.com**20080523195433] [Check_auth: send the whole message back, not just the signed parts. (openid2 compliance) dag@janrain.com**20080526233015] [update copyrights to say 2008 chowells@janrain.com**20080527211415] [change the auto-submit form generated to hide the continue button. chowells@janrain.com**20080527231550] [fetcher: set range header to 0-1MB dag@janrain.com**20080529205348] [Use html_markup in rails example dag@janrain.com**20080529233533] [pape.from_success_response returns nil when response is unsigned dag@janrain.com**20080530213108] [Dont explicitly set no-encryption session type with OpenID 1 requests dag@janrain.com**20080530215244] [remove login generator dag@janrain.com**20080530225412] [OpenID::Consumer::IdResHandler.verify_discovery_results_openid1: fall back to OpenID 1.0 type if 1.1 endpoint cannot be found dag@janrain.com**20080602213346] [Normalize return_to URI before checking dag@janrain.com**20080602235521] [server..CheckIDRequest.from_message: raise ProtocolError if claimed_id is provided without identity Kevin Turner **20080603233615] [server..Decoder.default_decoder: more readable error message Kevin Turner **20080603234403] [test for including session_type in no-encryption assoc response Kevin Turner **20080604184323] [typo Kevin Turner **20080604185010] [test ProtocolError.which_encoding in no_message test Kevin Turner **20080604185809] [README: Add /contribute/ URL Kevin Turner **20080604210205] [Manual Rollback of OpenID::ServerError: add server_url to attributes dag@janrain.com**20080603214242] [Add a handful of trustroot test cases dag@janrain.com**20080604001951] [Extra parsehtml test cases, fixes dag@janrain.com**20080604230946] [Handle trust_root = '' the same as trust_root missing dag@janrain.com**20080604234910] [message: raise a special exception for invalid openid.ns dag@janrain.com**20080605000754] [Add trustroot test case for scheme caps normalization dag@janrain.com**20080605001438] [Raise KVFormError instead of ArgumentError in kvform.rb dag@janrain.com**20080605181244] [Don't silently fail when trustroot.parse is passed a crazy argument dag@janrain.com**20080605190641] [server..Decode.decode: make sure ProtocolError has a Message even after InvalidOpenIDNamespace dag@janrain.com**20080605192353] [Add 2 missing trust root tests dag@janrain.com**20080605201336] [Update README and examples/README dag@janrain.com**20080605203014] [Add a note about change to name of ca list instance var dag@janrain.com**20080605205213] [Deprecate server.CheckIDRequest.namespace and stop using == OPENID1_NS anywhere in server dag@janrain.com**20080605224937] [Add CHANGES-2.1.0 cygnus@janrain.com**20080605234829] [message: allow two values for OPENID1_NS dag@janrain.com**20080605235534] [Change OpenID::VERSION to 2.1.0 cygnus@janrain.com**20080605235733] [Use FileStore in rails demo RP cygnus@janrain.com**20080606000400] [rails_openid example: fix exception with empty identifier dag@janrain.com**20080606001955] [Fix the instantiation of the Filesystem store in the rails_openid example dag@janrain.com**20080606002655] [Message.is_openid1: add parens to quiet warning Kevin Turner **20080606145055] [#220 server.rb Fix to_form_markup to use the return_to frrom the request chowells@janrain.com**20080604232208] [fix test failure from old patch & namespace changes dag@janrain.com**20080606175918] [Fix pape code in example consumer dag@janrain.com**20080606180458] [update version number in gemspec dag@janrain.com**20080606181630] [TAG 2.1.0 dag@janrain.com**20080606181754] [Do not send namespace aliases for extensions with OpenID 1 messages that we create Kevin Turner **20080606220817] [Set OpenID::VERSION to 2.1.1, move VERSION declaration to openid.rb cygnus@janrain.com**20080606224852] [TAG 2.1.1 cygnus@janrain.com**20080606225012] [Add test cases for trust roots with non-ASCII characters in path or hostname cygnus@janrain.com**20080611180811] [admin/fixperms: Fix stale entries cygnus@janrain.com**20080611182725] [Accept response code 206 from fetcher results. Fixes #260 Kevin Turner **20080611222412] [Yadis::get_canonical_id: case-insensitive comparison Kevin Turner **20080613204158 Porting a patch from =wil: 1. There should only be a single CanonicalID in each XRD (in the latest XRI resolution spec), so I made it use the first CID found instead of the last. 2. Use case-insensitive comparison when comparing CanonicalIDs. ] [xrds.rb: fix stray colon Kevin Turner **20080613211804] [TrustRoot.TOP_LEVEL_DOMAINS: updated Kevin Turner **20080625205022] [Add admin/gettlds.py to ease updating of TLD list in trust root validation Kevin Turner **20080625205518] [move OpenID::VERSION definition in openid.rb, for #256 Kevin Turner **20080625211405] [Message.from_http_response: accept 206 code Kevin Turner **20080625233130] [TrustRoot.check_sanity: don't fail if the trust root is not parseable Kevin Turner **20080626000635] [OpenID::Server::CheckIDRequest.answer: document return type Kevin Turner **20080626003126] [htmltokenizer: Don't raise OpenIDError from htmltokenizer (it's not in the OpenID module namespace) #255 Kevin Turner **20080627201838] [htmltokenizer: define HTMLTokenizerError to raise Kevin Turner **20080627202413] [Yadis.html_yadis_location: catch HTMLTokenizerError Kevin Turner **20080627203209] [LICENSE: htmltokenizer is (c) 2004 Ben Giddings Kevin Turner **20080627203443] [util: remove call to srand Kevin Turner **20080627220135 From the Ruby FAQ: 9.2 How do random number seeds work? It depends. In Ruby versions prior to 1.5.2, the random number generator had (by default) a constant seed, and so would produce the same series of numbers each time a program was run. If you needed less deterministic behaviors, you called srand to set up a less predictable seed. Newer Rubys (Rubies?) have a different behavior. If rand is called without a prior call to srand, Ruby will generate its own random(ish) seed. Successive runs of a program that does not use srand will generate different sequences of random numbers. To get the old, predictable, behavior (perhaps for testing), call srand with a constant seed. ] [update version to 2.1.2 Kevin Turner **20080627223805] [TAG 2.1.2 Kevin Turner **20080627223914] [Provide the user_setup_url in the SetupNeededResponse even in OpenID 2 chowells@janrain.com**20080710232446] [Generate user_setup_url correctly chowells@janrain.com**20080711220729] [Fix logic error caused by strange ruby precedence rules chowells@janrain.com**20080711220805] [test_idres: hopefully fix buildbot issues on 1.9 chowells@janrain.com**20080711225516] [Don't use Range header for requests dag@janrain.com**20081031231957]