- Fix regression in ``intersection``, ``intersection_by``, and ``intersection_with`` introduced in ``v4.0.0`` where the a single argument supplied to intersection should return the same argument value instead of an empty list.
- Revert removal of ``deep_pluck`` and rename to ``pluck``. Previously, ``deep_pluck`` was removed and ``map_`` was recommended as a replacement. However, ``deep_pluck`` (now defined as ``pluck``) functionality is not supported by ``map_`` so the removal ``pluck`` was reverted.
- Make ``add`` only support two argument addition. (**breaking change**) - Make ``difference`` return duplicate values from first argument and maintain sort order. (**breaking change**) - Make ``invoke`` work on objects instead of collections. Use ``invoke_map`` for collections. (**breaking change**) - Make ``set_`` support mixed ``list``/``dict`` defaults within a single object based on whether key or index path substrings used. (**breaking change**) - Make ``set_`` modify object in place. (**breaking change**) - Only use ``merge`` callback result if result is not ``None``. Previously, result from callback (if provided) was used unconditionally. (**breaking change**) - Remove functions: (**breaking change**)
- ``deep_pluck`` (no alternative) [**UPDATE:** ``deep_pluck`` functionality restored as ``pluck`` in ``v4.0.1``] - ``mapiter`` (no alternative) - ``pluck`` (use ``map_``) - ``update_path`` (use ``update`` or ``update_with``) - ``set_path`` (use ``set_`` or ``set_with``)
- ``deep_map_values`` to ``map_values_deep`` - ``deep_property`` to ``property_deep`` - ``include`` to ``includes`` - ``index_by`` to ``key_by`` - ``mod_args`` to ``over_args`` - ``moving_average`` to ``moving_mean`` - ``pairs`` to ``to_pairs``
- ``assign``. Moved to ``assign_with``. - ``clone`` and ``clone_deep``. Moved to ``clone_with`` and ``clone_deep_with``. - ``is_match``. Moved to ``is_match_with``. - ``max_`` and ``min_``. Moved to ``max_by`` and ``min_by``. - ``omit``. Moved to ``omit_by``. - ``pick``. Moved to ``pick_by``. - ``sorted_index``. Moved to ``sorted_index_by``. - ``sum_``. Moved to ``sum_by``. - ``uniq``/``unique``. Moved to ``uniq_by``.
- Renamed ``callback`` argument to ``predicate``: (**breaking change**)
- Rename ``comparison`` argument in ``sort`` to ``comparator``. - Rename ``index`` and ``how_many`` arguments in ``splice`` to ``start`` and ``count``. - Remove ``multivalue`` argument from ``invert``. Feature moved to ``invert_by``. (**breaking change**)
3.4.8
Not secure
-------------------
- Make internal function inspection methods work with Python 3 annotations. Thanks tgriesser_!
3.4.7
Not secure
-------------------
- Fix bug in ``get`` where an iterable default was iterated over instead of being returned when an object path wasn't found. Thanks urbnjamesmi1_!
3.4.6
Not secure
-------------------
- Fix bug in ``get`` where casting a string key to integer resulted in an uncaught exception instead of the default value being returned instead. Thanks urbnjamesmi1_!