JLRoutes

URL routing library for iOS with a simple block-based API

BSD-3-CLAUSE License

Stars
5.7K
Committers
35

Bot releases are visible (Hide)

JLRoutes - JLRoutes 2.1.1 Latest Release

Published by lickel about 3 years ago

Support for Swift Package Manager

JLRoutes - JLRoutes 2.1

Published by joeldev almost 7 years ago

Release Notes

JLRoutes 2.1 has the following new features and improvements:

New

  • It is now possible to change the default route definition class using +[JLRoutes setDefaultRouteDefinitionClass:]
  • Much more of the JLRRouteDefinition API is exposed in the header and intended to be overridden in subclasses (see README for more details).
  • A new class, JLRRouteHandler, has been added to provide helper methods for creating route handler blocks that are routed to classes or object instances (see README for more details).

Improvements

  • The initializer for JLRRouteDefinition no longer requires a scheme parameter to be provided
  • JLRRouteResponse now holds on to the final parameters passed to the handler block, via a parameters property
  • JLRRouteResponse and JLRRouteDefinition now conform to NSCopying
  • Many miscellaneous API improvements
  • Significant code cleanup
JLRoutes - JLRoutes 2.0.6

Published by joeldev almost 7 years ago

Release Notes

  • Rewrote optional route parsing to be much less buggy and fragile.
JLRoutes - JLRoutes 2.0.5

Published by joeldev over 7 years ago

Release Notes

  • Significantly improved documentation.
  • Minor code cleanup.
JLRoutes - JLRoutes 2.0.4

Published by joeldev over 7 years ago

Release Notes

  • Added an option to control how URL host is treated (#89)
  • Other minor tweaks
JLRoutes - JLRoutes 2.0.3

Published by joeldev over 7 years ago

Release Notes

  • Fixed a regression where domain names were not properly excluded from the logic that prepends the URL host to the path components (#88).
  • Added a few new methods for querying routes (#49):
+ (NSDictionary <NSString *, NSArray <JLRRouteDefinition *> *> *)allRoutes;
- (NSArray <JLRRouteDefinition *> *)routes;
  • Added a new method for registering a route by instance, allowing for subclasses/customization:
- (void)addRoute:(JLRRouteDefinition *)routeDefinition;
  • Turned on some stricter warning settings, including warnings as errors.
  • Started improving documentation, more to come on this front.
JLRoutes - JLRoutes 2.0.2

Published by joeldev over 7 years ago

Release Notes

  • Query param evaluation now also takes into account the global shouldDecodePlusSymbols option. Previously it was only applied to parsed route parameters. (#87)
JLRoutes - JLRoutes 2.0.1

Published by joeldev almost 8 years ago

Release Notes

  • JLRoutes now explicitly requires iOS 8.0 or macOS 10.10 and higher, due to use of NSURLComponents queryItems. (#83)
    • If you require iOS 7 support, please continue to use version 1.6.4.
  • Fixed issues related to looping over the mutable routes array without copying it. (#81)
JLRoutes - JLRoutes 2.0

Published by joeldev about 8 years ago

Release Notes

  • URL parsing has been entirely rewritten and now relies heavily on NSURLComponents
  • Split apart functionality into internal classes to make the code easier to read and maintain
  • Numerous misc bug fixes and improvements over the 1.x codebase
JLRoutes - JLRoutes 1.6.4

Published by joeldev about 8 years ago

Notable Changes

  • Optional route parsing has been rewritten

Important Note: This will be the last release of the current parsing logic and architecture. The next release will feature completely rewritten route parsing (using NSURLComponents) and a greatly improved internal architecture.

JLRoutes - JLRoutes 1.6.3

Published by joeldev about 8 years ago

Notable Changes

  • Massive code cleanup in both JLRoutes.m and the unit test .m.
  • Deprecated a bunch of class-method APIs that I don't want to support anymore. All depreciated APIs can be easily replaced by calling the same method on the +globalRoutes instance instead.
  • Fixed a bug where unmatchedURLHandler would get called when evaluating canRouteURL:.

Contributors

  • @Zeeker
JLRoutes - JLRoutes 1.6.2

Published by joeldev about 8 years ago

Fixed another crash.

JLRoutes - JLRoutes 1.6.1

Published by joeldev about 8 years ago

Fixed a crash.

JLRoutes - JLRoutes 1.6

Published by joeldev over 8 years ago

Notable Changes

  • JLRoutes now requires iOS 7.0+ or OS X 10.9+
  • Added support for fragment routing
  • Removed use of a deprecated NSString method

Contributors

  • @wlisac
  • @inacioferrarini
JLRoutes - JLRoutes 1.5.5

Published by joeldev over 8 years ago

Notable Changes

  • Improved Swift compatibility by adding nullability annotations
  • Upgraded unit testing bundle format to remove a deprecation warning
JLRoutes - JLRoutes 1.5.4

Published by joeldev over 8 years ago

Notable Changes

  • Fixed a crash
  • Improved optional parameters support
  • Improved support for iOS 9 Universal Links

Contributors

  • @hoppenichu
  • @ravelantunes
  • Paul (unknown username)
JLRoutes - JLRoutes 1.5.3

Published by joeldev about 9 years ago

Notable Changes

  • New target for building as an iOS framework
  • It is now possible to register multiple routes with a single handler block

Contributors

  • @zats
  • @philipengberg
JLRoutes - JLRoutes 1.5.2

Published by joeldev over 9 years ago

Notable Changes

  • Fixed analyzer warnings
  • Fixed a bug with adding non-zero priority routes

Contributors

  • @jessedc
  • @jcampbell05
  • @ZevEisenberg
JLRoutes - JLRoutes 1.5.1

Published by joeldev over 10 years ago

Changes

  • Updated project settings for Xcode 5.1
  • Unit tests now use the XCTest macros
  • Warning fixes for -Wimplicit-atomic-properties, -Wsign-conversion, -Wreceiver-is-weak, and -Wformat-nonliteral.

Contributors

  • @jessedc
  • @kav
JLRoutes - JLRoutes 1.5

Published by joeldev over 10 years ago

Changes

  • 64-bit support
  • JLRoutes now functions when created via alloc/init or new
  • Added methods for removing routes and entire namespaces
  • Many crashes and routing issues related to wildcards have been fixed
  • There is a new global setting that allows disabling the '+' => ' ' decoding in values
  • Removed the binary releases. Sorry to anyone that may have been using them!
  • Documentation, warning fixes, and other misc changes

Contributors

  • @jakemarsh
  • @speednoisemovement
  • @nolanw
  • @martijnthe
  • @DressTheMonkey
  • @andreagiavatto
Package Rankings
Top 0.44% on Cocoapods.org
Badges
Extracted from project README
Platforms CocoaPods Compatible Carthage Compatible Build Status Apps