Try our Chrome extension
Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!Changedetection.io needs your support!
You can help us by supporting changedetection.io on these platforms;
- Rate us at AlternativeTo.net
- Star us on GitHub
- Follow us at Twitter/X
- G2 Software reviews
- Check us out on LinkedIn
- And tell your friends and colleagues :)
The more popular changedetection.io is, the more time we can dedicate to adding amazing features!
Many thanks :)
changedetection.io team
아직 없음 초 전.
False
아직 없음 초 전
17시간 전단일 스냅샷으로 이동
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
+ AI CODE CREATION
o GitHub Copilot Write better code with AI
o GitHub Copilot app Direct agents from issue to merge
o MCP Registry Integrate external tools
+ DEVELOPER WORKFLOWS
o Actions Automate any workflow
o Codespaces Instant dev environments
o Issues Plan and track work
o Code Review Manage code changes
o Code Quality Enforce quality at merge
+ APPLICATION SECURITY
o GitHub Advanced Security Find and fix vulnerabilities
o Code security Secure your code as you build
o Secret protection Stop leaks before they start
+ EXPLORE
o Why GitHub
o Documentation
o Blog
o Changelog
o Marketplace
View all features
* Solutions
+ BY COMPANY SIZE
o Enterprises
o Small and medium teams
o Startups
o Nonprofits
+ BY USE CASE
o App Modernization
o DevSecOps
o DevOps
o CI/CD
o View all use cases
+ BY INDUSTRY
o Healthcare
o Financial services
o Manufacturing
o Government
o View all industries
View all solutions
* Resources
+ EXPLORE BY TOPIC
o AI
o Software Development
o DevOps
o Security
o View all topics
+ EXPLORE BY TYPE
o Customer stories
o Events & webinars
o Ebooks & reports
o Business insights
o GitHub Skills
+ SUPPORT & SERVICES
o Documentation
o Customer support
o Community forum
o Trust center
o Partners
View all resources
* Open Source
+ COMMUNITY
o GitHub Sponsors Fund open source developers
+ PROGRAMS
o Security Lab
o Maintainer Community
o Accelerator
o GitHub Stars
o Archive Program
+ REPOSITORIES
o Topics
o Trending
o Collections
* Enterprise
+ ENTERPRISE SOLUTIONS
o Enterprise platform AI-powered developer platform
+ AVAILABLE ADD-ONS
o GitHub Advanced Security Enterprise-grade security features
o Copilot for Business Enterprise-grade AI features
o Premium Support Enterprise-grade 24/7 support
* Pricing
Type / to search
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Uh oh!
There was an error while loading. Please reload this page.
lodash / lodash Public
* Notifications You must be signed in to change notification settings
* Fork 7.2k
* Star 61.3k
* Code
* Issues 53
* Issues 54
* Pull requests 52
* Discussions
* Actions
* Projects
* Wiki
* Security and quality 3
* Insights
Additional navigation options
* Code
* Issues
* Pull requests
* Discussions
* Actions
* Projects
* Wiki
* Security and quality
* Insights
Releases: lodash/lodash
Releases Tags
Releases · lodash/lodash
Release list
* 4.18.1
* 4.18.0
* 4.0.0
* 3.0.0
Jump to release
* 4.18.1
* 4.18.0
* 4.0.0
* 3.0.0
4.18.1
4.18.1 Latest
Latest
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
jonchurch released this 01 Apr 21:01
4.18.1
This tag was signed with the committer’s verified signature.
jdalton John-David Dalton
GPG key ID: 31A0F07130B68AAF
Verified
Learn about vigilant mode.
cb0b9b9
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
Bugs
Fixes a ReferenceError issue in lodash lodash-es lodash-amd and lodash.template when using the template and fromPairs functions from the modular builds. See #6167 (comment)
These defects were related to how lodash distributions are built from the main branch using https://github.com/lodash-archive/lodash-cli. When internal dependencies change inside lodash functions, equivalent updates need to be made to a mapping in the lodash-cli. (hey, it was ahead of its time once upon a time!). We know this, but we missed it in the last release. It's the kind of thing that passes in CI, but fails bc the build is not the same thing you tested.
There is no diff on main for this, but you can see the diffs for each of the npm packages on their respective branches:
* lodash: 4.18.0-npm...4.18.1-npm
* lodash-es: 4.18.0-es...4.18.1-es
* lodash-amd: 4.18.0-amd...4.18.1-amd
* lodash.template4.18.0-npm-packages...4.18.1-npm-packages
Assets 2
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 10 per1234, conor-lacey, galoberlyn, yunusemreaksu, labkey-nicka, nelson6e65, Yuchen-Dai, adarshmadrecha, Jmenache, and VadimOvchinnikov reacted with thumbs up emoji 😄 1 ShaneLee-9 reacted with laugh emoji ❤️ 2 mcavigelli and artemko145v-star reacted with heart emoji
All reactions
* 👍 10 reactions
* 😄 1 reaction
* ❤️ 2 reactions
13 people reacted
4.18.0
4.18.0
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
jonchurch released this 31 Mar 18:19
4.18.0
This tag was signed with the committer’s verified signature.
jdalton John-David Dalton
GPG key ID: 31A0F07130B68AAF
Verified
Learn about vigilant mode.
59be2de
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.
v4.18.0
Full Changelog: 4.17.23...4.18.0
Security
_.unset / _.omit: Fixed prototype pollution via constructor/prototype path traversal (GHSA-f23m-r3pf-42rh, fe8d32e). Previously, array-wrapped path segments and primitive roots could bypass the existing guards, allowing deletion of properties from built-in prototypes. Now constructor and prototype are blocked unconditionally as non-terminal path keys, matching baseSet. Calls that previously returned true and deleted the property now return false and leave the target untouched.
_.template: Fixed code injection via imports keys (GHSA-r5fr-rjxr-66jc, CVE-2026-4800, 879aaa9). Fixes an incomplete patch for CVE-2021-23337. The variable option was validated against reForbiddenIdentifierChars but importsKeys was left unguarded, allowing code injection via the same Function() constructor sink. imports keys containing forbidden identifier characters now throw "Invalid imports option passed into _.template".
Docs
* Add security notice for _.template in threat model and API docs (#6099)
* Document lower > upper behavior in _.random (#6115)
* Fix quotes in _.compact jsdoc (#6090)
lodash.* modular packages
Diff
We have also regenerated and published a select number of the lodash.* modular packages.
These modular packages had fallen out of sync significantly from the minor/patch updates to lodash. Specifically, we have brought the following packages up to parity w/ the latest lodash release because they have had CVEs on them in the past:
* lodash.orderby
* lodash.tonumber
* lodash.trim
* lodash.trimend
* lodash.sortedindexby
* lodash.zipobjectdeep
* lodash.unset
* lodash.omit
* lodash.template
Assets 2
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 12 yunusemreaksu, HamoBoker, madakaheri, iharzh, per1234, ga-s-tsuruta, Emme243, toshimaru, phil-lgr, schorfES, and 2 more reacted with thumbs up emoji 😄 1 ShaneLee-9 reacted with laugh emoji 🚀 2 Yihao-G and VadimOvchinnikov reacted with rocket emoji
All reactions
* 👍 12 reactions
* 😄 1 reaction
* 🚀 2 reactions
14 people reacted
4.0.0
4.0.0
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
jdalton released this 12 Jan 22:35
4.0.0
bf06df4
lodash v4.0.0
2015 was big year! Lodash became the most depended on npm package, passed 1 billion downloads, & its v3 release saw massive adoption!
The year was also one of collaboration, as discussions began on merging Lodash & Underscore. Much of Lodash v4 is proofing out the ideas from those discussions. Lodash v4 would not be possible without the collaboration & contributions of the Underscore core team. In the spirit of merging our teams have blended with several members contributing to both libraries.
For 2016 & lodash v4.0.0 we wanted to cut loose, push forward, & take things up a notch!
Modern only
With v4 we’re breaking free from old projects, old environments, & dropping old IE < 9 support!
4 kB Core
Lodash’s kitchen-sink size will continue to grow as new methods & functionality are added. However, we now offer a 4 kB (gzipped) core build that’s compatible with Backbone v1.2.4 for folks who want Lodash without lugging around the kitchen sink.
More ES6
We’ve continued to embrace ES6 with methods like _.isSymbol, added support for cloning & comparing array buffers, maps, sets, & symbols, converting iterators to arrays, & iterable _(…).
In addition, we’ve published an es-build & pulled babel-plugin-lodash into core to make tree-shaking a breeze.
More Modular
Pop quiz! 📣
What category path does the bindAll method belong to? Is it
A) require('lodash/function/bindAll')
B) require('lodash/utility/bindAll')
C) require('lodash/util/bindAll')
Don’t know? Well, with v4 it doesn’t matter because now module paths are as simple as
var bindAll = require('lodash/bindAll');
We’ve also reduced module complexity making it easier to create smaller bundles. This has helped Lodash adoption with libraries like Async & Redux!
1st Class FP
With v3 we introduced lodash-fp. We learned a lot & with v4 we decided to pull it into core.
Now you can get immutable, auto-curried, iteratee-first, data-last methods as simply as
var _ = require('lodash/fp');
var object = { 'a': 1 };
var source = { 'b': 2 };
var newObject = _.assign(source)(object);
console.log(newObject);
// => { 'a': 1, 'b': 2 }
console.log(object);
// => { 'a': 1 }
var convert = require('lodash/fp/convert');
var assign = convert('assign', require('lodash.assign'));
// works too!
Chakra Optimized
Well actually, while we’re excited about Chakra, Lodash is optimized for great performance across all engines. Unlike many libraries, we don’t favor a single engine so we can deliver solid performance & support regardless of engine.
With v4 we’ve continued our commitment to performance; expanding support for lazy evaluation & improving the performance of core functionality like circular reference detection.
Emojis
Taking things up a notch Lodash v4 has added support for emojis! Includes things like
astral symbols, unicode modifiers, variation selector characters, zero-width joiners, & regional indicator symbols.
Breaking changes
We’ve introduced more breaking changes in this release than any other so be sure to check out the changelog for a full rundown of changes & give lodash-migrate a spin to help migrate older Lodash code to the latest release.
If you dig Lodash don’t forget to star the repo or npm star lodash!
Assets 2
Loading
Uh oh!
There was an error while loading. Please reload this page.
👍 11 aryankush25, xxxxxs0, andreylysenko, muhammadilyas-mset, Mlmolefe2, sizorlee, awingfield916-tech, svw7py6zqc-afk, huynhdev24, Shahnazaouliaei, and Chul25021994 reacted with thumbs up emoji 🎉 3 mcavigelli, elinaGittHuB, and Chul25021994 reacted with hooray emoji ❤️ 2 unix and xxxxxs0 reacted with heart emoji 🚀 5 FlorianWendelborn, xxxxxs0, chriswongez, ihadabs, and Shahnazaouliaei reacted with rocket emoji
All reactions
* 👍 11 reactions
* 🎉 3 reactions
* ❤️ 2 reactions
* 🚀 5 reactions
17 people reacted
3.0.0
3.0.0
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
jdalton released this 26 Jan 17:50
3.0.0
a6257b5
lodash v3.0.0
After a little over a year & more than 2,000 commits we’re excited to release lodash v3.0.0. lodash follows semantic versioning so with this major release we’ve taken the opportunity to clean house & make some back-compat breaking changes. We’ll get into that in a bit, but first lets talk about all the cool things this release has to offer.
String methods
By popular demand we surveyed the utility landscape for a cross-section of string APIs to add to lodash. We settled on 17 string methods:
_.camelCase, _.capitalize, _.deburr, _.endsWith, _.escapeRegExp,
_.kebabCase, _.pad, _.padLeft, _.padRight, _.repeat, _.snakeCase,
_.startsWith, _.trim, _.trimLeft, _.trimRight, _.trunc, & _.words
There’s familiar methods from ES5, like _.trim, & ES6, like _.endsWith, _.repeat, & _.startsWith, as well as some lesser known methods like _.deburr & _.kebabCase.
// trims whitespace like `String#trim` but
// also allows specifying characters to trim
_.trim(' abc ');
// → 'abc'
_.trim('-_-abc-_-', '_-');
// → 'abc'
// works great with `_.map` too
_.map([' foo ', ' bar '], _.trim);
// → ['foo', 'bar']
// deburr diacritical marks (http://en.wikipedia.org/wiki/Diacritic)
_.deburr('déjà vu');
// → 'deja vu'
// similar to a `dasherize` or `slugify` method
_.kebabCase('foo bar');
// → 'foo-bar'
Following casing rules with methods like _.camelCase, _.kebabCase, & _.snakeCase allows for strings to be transformed from say camel case, to kebab case, to snake case, & back again.
_.camelCase(_.snakeCase(_.kebabCase('fooBar')));
// → 'fooBar'
ES is our jam
Previous versions of lodash added _.assign, _.find, _.findIndex, & ES template delimiter support. In this release we’re taking our ES adoption up a notch by aligning _.includes, _.isFinite, & _.keys, supporting typed arrays in _.clone & _.isEqual, using Set & WeakMap for performance-gains, allowing Map & WeakMap to be used as _.memoize.Cache, & supporting ES modularized builds with lodash-cli.
Functional goodies
There’s lots of functional goodies in v3 like _.ary, _.curryRight, _.flow, _.rearg, & support for customizable argument placeholders in _.bind, _.bindKey, _.curry, _.curryRight, _.partial, & _.partialRight.
// infomercial fail
_.map(['6', '8', '10'], parseInt);
// → [6, NaN, 2]
// using a placeholder to pass over the
// `string` parameter & specify a `radix` of `0`
_.map(['6', '8', '10'], _.partial(parseInt, _, 0));
// → [6, 8, 10]
// is equivalent to
_.map(['6', '8', '10'], function(value) {
return parseInt(value, 0);
});
// customize `_.partial.placeholder`
_.partial.placeholder = '_';
_.map(['6', '8', '10'], _.partial(parseInt, '_', 0));
// → [6, 8, 10]
Also several methods now work out-of-the-box as iteratees for methods like _.map & _.reduce
_.map(['6', '8', '10'], _.parseInt);
// → [6, 8, 10]
_.map(['a', 'a'], ['b', 'b'], _.uniq);
// → [['a'], ['b']]
_.reduce([{ 'b': 2 }, { 'c': 3 }], _.assign, { 'a': 1 });
// → { 'a': 1, 'b': 2, 'c': 3}
We’ve heard from some functional programming fans that lodash wasn’t functional enough, often citing our method signatures as an issue. To ease composition & currying they’d prefer methods like _.filter be predicate first & collection second instead of collection first & predicate second.
It’d be a shame for those fans to lose out on lodash over something as little as method signatures so with v3 we’ve added _.ary & _.rearg. The _.ary method sets the argument cap of a function & _.rearg rearranges the arguments provided to a function.
// cap the number arguments provided to `parseInt` at one
_.map(['6', '8', '10'], _.ary(parseInt, 1));
// → [6, 8, 10]
// create a `filter` that’s predicate-first
var filter = _.rearg(_.filter, 1, 0);
filter('a', [{ 'a': 0 }, { 'a': 1 }]);
// → [{ 'a': 1 }]
// create an `includes` that’s auto-curried & needle-first
var includes = _(_.includes).ary(2).rearg(1, 0).curry(2).value();
includes(2)([1, 2, 3]);
// → true
You can also use individual packages like lodash.ary, lodash.curry, & lodash.rearg to convert functions.
var ary = require('lodash.ary'),
curry = require('lodash.curry'),
rearg = require('lodash.rearg');
var getobject = require('getobject'),
get = curry(rearg(ary(getobject, 2), [1, 0]), 2);
get('a.b.c')({ 'a': { 'b': { 'c': 'foo' } } });
// → 'foo'
Combined with _.runInContext you could easily create a version of lodash with auto-curried iteratee-first methods. In fact, that’s what we’ve done! Introducing lodash-fp.
var items = [
{ 'value': _.constant(['a', 'b']) },
{ 'value': _.constant(['b', 'c']) }
];
var getValues = _.flow(
_.map(_.result('value')),
_.flatten,
_.uniq
);
getValues(items);
// => ['a', 'b', 'c']
_.map(parseInt)(['6', '08', '10']);
// → [6, 8, 10]
lodash reduces the cost of method wrapping produced by _.ary, _.curry, & _.rearg by using a WeakMap to store function metadata. In this way a function is only wrapped once even though it may have _.ary, _.curry, & _.rearg applied.
Modules, modules, modules
In lodash v2 we introduced npm packages per-method as well as bundles of modules for AMD & Node.js. With v3 we’ve improved lodash-cli’s ability to inline dependencies allowing us to easily customize inlining per method, enabling a better balance between deep dependency graphs & code duplication.
In addition all modularized dependencies now use the ^ version range, instead of the ~, so they’ll update as needed without you having to worry about it. Moving forward all per-method packages will be independently updated, instead of in bulk, because lodash-cli will soon be able to detect changes in packages & automatically bump patch/minor version numbers.
The lodash & lodash-compat npm packages now come with modules baked in too.
Perfect for browserify and webpack!
// load the modern build
var _ = require('lodash');
// or a method category
var array = require('lodash/array');
// or a method
var chunk = require('lodash/array/chunk');
The method modules are organized by category so they’re easy to find.
lodash is available in a variety of other builds & module formats.
* npm packages for modern, compatibility, & per method builds
* AMD modules for modern & compatibility builds
* ES modules for the modern build
Performance
We’ve improved performance 20-40% overall in v3 by better utilizing the JIT in JavaScript engines, using internal helper functions that avoid optimization disqualifications & increase the likelihood of function inlining.
In v3 we’ve also introduced lazily evaluated chaining for massive performance wins in certain scenarios.
As mentioned above we’re using Set & WeakMap for performance-gains which all modern browsers, Node.js, & io.js can benefit from.
Breaking changes
lodash v3 is a major bump & we’ve introduced several back-compat breaking changes. One such change is that while we still test against Underscore/B...
Read more
Assets 2
Loading
Uh oh!
There was an error while loading. Please reload this page.
All reactions
Footer
© 2026 GitHub, Inc.
Footer navigation
* Terms
* Privacy
* Security
* Status
* Community
* Docs
* Contact
* Manage cookies
* Do not share my personal information
You can’t perform that action at this time.
팁: 공유하거나 무시 목록에 추가할 텍스트를 강조 표시합니다.
— 차이점 패치 다운로드
현재 비교는 그래픽 방식이 아닌 텍스트 기준으로 수행되며, 최신 스크린샷만 제공됩니다.
스크린샷을 찍으려면 Playwright/WebDriver를 활성화해야 합니다.