0.8
- added raiser()
- added idistinct()
- added key argument to i?distinct()
- added key argument to is_distinct()
- added group_by_keys()
Backward incompatible changes:
- walk_values() now updates defaultdict item factory to composition of mapper and old one
- izip_dicts() now packs values in tuple separate from key
- @decorator raises AttributeError not NameError when non-existent argument is accessed by name

0.7
- added i?flatten()
- added pairwise()
- added nth()
- added is_seqcont()
- greatly optimized @decorator
- added @log_durations and @print_durations
- @logs_calls and @print_calls now provide call signature on return
- @logs_calls and @print_calls now log errors, optional for @log_calls
- better call signature stringification for @(log|print)_(calls|errors)
- fixed i?partition() and i?chunks() with xrange()
Backward incompatible changes:
- is_iter() now returns False given xrange() object

0.6.0
- added izip_values() and izip_dicts()
- added last() and butlast()
- added isnone() and notnone() primitives
- added extended fn semantics to group_by(), count_by() and i?partition_by()
- added fill argument to with_prev()
- optimized ilen()

0.5.6
- fixed installation issue

0.5.5
- added count_by()
- added i?partition_by()

0.5.4
- added @post_processing() flow utility
- partition() and chunks() can handle iterators now
- added ipartition() and ichunks()

0.5.3
- fixed decorators produced with @decorator over non-functions
- optimized @ignore and @silent

0.5.2
- added i?without()
- more and better docs
Backward incompatible changes:
- compact() now strips all falsy values not just None

0.5.1
- added ints and slices to extended fn semantics
- added extended semantics to *_fn(), compose(), complement and i?juxt()
- can now @monkey() patch modules
- cached properties can now be set

0.5.0
- added type testing utilities
- added @monkey
- added cut_prefix() and cut_suffix() privately
- added @silent_lookuper
- exported @retry directly from from funcy
- better support for arg introspection in @decorator
Backward incompatible changes:
- removed defaults for log_calls() and log_errors()
- @make_lookuper decorated functions now will raise LookupError on memory miss,
  use @silent_lookuper for old behavior
- call object in @decorator access to func, args and kwargs
  is now done through _func, _args and _kwargs

0.4.1
- decorators created with @decorator are now able to pass additional args and kwargs
- @collecting, @joining() and @limit_error_rate() now exported directly from funcy
- @tap(), @log_calls and @log_errors() now exported directly from funcy
- added @print_calls and @print_errors
- better handling passing None to optional parameter
- docs for debugging utilities
Backward incompatible changes:
- @log renamed to @log_calls

0.4.0
- extended predicate/mapping semantics for seq and coll utils
- added str_join()
- added @collecting and @joining()
- added sums() and isums()
- better docs

0.3.4
- added with_prev()
- added iterable()
- support iterators in walk*(), select*(), empty() and project()
- reexport itertools.chain()
- faster curry
- more docs

0.3.3
- added compact(), i?reductions()
- added default argument to @ignore()
- added tap() experimental debug utility
- @make_lookuper() now works on functions with arguments
- exposed ilen() publicly
- added default argument to @ignore()
- fix: join() and merge() now correctly fail when receive [None, ...]
- better docs
Backward incompatible changes:
- renamed @memoize.lookup() to @make_lookuper()

0.3.2
- added ilen()
- added some object helpers: namespace base class and @cached_property
- more docs

0.3.1
- added @memoize.lookup()
- more and better docs
Backward incompatible changes:
- removed generator based @decorator version
- pluck() now accepts key as first parameter

0.3.0
- partial docs
- added where(), pluck() and invoke() inspired by underscore
- added split_by()
- second() made public
- reexport itertools.cycle()
- walk() and select() work with strings now
Backward incompatible changes:
- renamed groupby() to group_by()
- separated split_at() from split()
- automatically unpack one-element tuples returned from re_*()
- join() now returns None on empty input instead of TypeError
- made fallback() accept multiple arguments
Bugfixes:
- fixed join() swallowing first coll from iterator of colls

0.2.1
- one argument keep()
- fallback() flow

0.2
- added curry() to funcs
- added re_test(), re_tester() and re_finder() to strings
- added second() to seqs
- added one() and one_fn() to colls and funcolls
- support defaultdicts in walk*(), select*(), project(), empty()
- one argument and uncallable default in iffy()
