Module Registration: You can now optionally call AMD's define() to register modules, enhancing compatibility with AMD loaders. This makes it easier to integrate Underscore.js into various environments.
Enhanced Grouping: The ability to group items by a specific property, such as 'account_id', is now available with the new _.groupBy() function. This simplifies data organization and retrieval.
Improvements
Improved Equality Checks: The _.isEqual function has been reimplemented to handle different types more effectively, ensuring more accurate comparisons. This enhances the reliability of equality checks in your code.
Better Type Checking: The isXXX functions have been refined to reduce false positives, particularly changing _.isNumber(NaN) to return true, which aligns with expected behavior.
Safe Exports Check: The exports check has been made safer, improving the stability of module exports across different environments.
Fixes
Fix incorrect memoization example in documentation, ensuring users have accurate guidance on using this feature.
Fixes issues with the throttle function, ensuring it starts at the beginning of the call, providing a more predictable behavior.
Resolve typo in documentation, enhancing clarity and professionalism in the user-facing materials.
Others
Update comments and formatting for better readability and understanding, making the codebase more user-friendly for developers.