 85bf1341f3
			
		
	
	85bf1341f3
	
	
	
		
			
			Frontend Enhancements: - Complete React TypeScript frontend with modern UI components - Distributed workflows management interface with real-time updates - Socket.IO integration for live agent status monitoring - Agent management dashboard with cluster visualization - Project management interface with metrics and task tracking - Responsive design with proper error handling and loading states Backend Infrastructure: - Distributed coordinator for multi-agent workflow orchestration - Cluster management API with comprehensive agent operations - Enhanced database models for agents and projects - Project service for filesystem-based project discovery - Performance monitoring and metrics collection - Comprehensive API documentation and error handling Documentation: - Complete distributed development guide (README_DISTRIBUTED.md) - Comprehensive development report with architecture insights - System configuration templates and deployment guides The platform now provides a complete web interface for managing the distributed AI cluster with real-time monitoring, workflow orchestration, and agent coordination capabilities. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
	
		
			13 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	fast-equals CHANGELOG
5.2.2
- #139 - Add file extensions to type definition files to allow it to work in projects with NodeNextmodule resolution
5.2.1
Bugfixes
- #138 - Actually fix reference to srccode inindex.d.tsby flattening types in file
5.2.0
Enhancements
- Support Preact objects in equality comparison
Bugfixes
- #137 - Fix circular React references in object comparisons
5.1.3
Enhancements
- #136 - More than double speed of iterables (Map/Set) equality comparisons
Maintenance
- #135 - Include dequalanddequal/litein benchmark comparisons
5.1.2
Maintenance
Re-release of 5.1.0 with correct pre-release setup.
5.1.1
DO NOT USE
This was an accidental pre-release when cleaning up release setup.
5.1.0
Enhancements
- #127 - Add support for custom Functioninstance comparisons (resolves #118)
- #128 - Add support for URLinstance comparisons (resolves #121)
- #129 - Add support for Errorinstance comparisons (resolves #123)
- #130 - Add support for custom Numberinstance comparisons (resolves #112)
Bugfixes
- #132 - Fix assert.deepEqualcheck in benchmark (resolves #125)
- #126 - Export explicit types via export type(attempts to resolve #114)
5.0.1
Bugfixes
- Fix reference to metaOverridein typings and documentation (holdover from temporary API in v5 beta)
5.0.0
Breaking changes
constructor equality now required
To align with other implementations common in the community, but also to be more functionally correct, the two objects being compared now must have equal constructors.
Map / Set comparisons no longer support IE11
In previous verisons, .forEach() was used to ensure that support for Symbol was not required, as IE11 did not have Symbol and therefore both Map and Set did not have iterator-based methods such as .values() or .entries(). Since IE11 is no longer a supported browser, and support for those methods is present in all browsers and Node for quite a while, the comparison has moved to use these methods. This results in a ~20% performance increase.
createCustomEqual contract has changed
To better facilitate strict comparisons, but also to allow for meta use separate from caching, the contract for createCustomEqual has changed. See the README documentation for more details, but froma high-level:
- metais no longer passed through to equality comparators, but rather a general- stateobject which contains- meta
- cachenow also lives on the- stateobject, which allows for use of the- metaproperty separate from but in parallel with the circular cache
- equalsis now on- state, which prevents the need to pass through the separate- isEqualmethod for the equality comparator
createCustomCircularEqual has been removed
You can create a custom circular equality comparator through createCustomEqual now by providing circular: true to the options.
Custom meta values are no longer passed at callsite
To use meta properties for comparisons, they must be returned in a createState method.
Deep links have changed
If you were deep-linking into a specific asset type (ESM / CJS / UMD), they have changed location.
NOTE: You may no longer need to deep-link, as the build resolution has improved.
Enhancements
New "strict" comparators available
The following new comparators are available:
- strictDeepEqual
- strictShallowEqual
- strictCircularDeepEqual
- strictCircularShallowEqual
This will perform the same comparisons as their non-strict counterparts, but will verify additional properties (non-enumerable properties on objects, keyed objects on Array / Map / Set) and that the descriptors for the properties align.
TypedArray support
Support for comparing all typed array values is now supported, and you can provide a custom comparator via the new areTypedArraysEqual option in the createCustomEqual configuration.
Better build system resolution
The library now leverages the exports property in the package.json to provide builds specific to your method of consumption (ESM / CommonJS / UMD). There is still a minified UMD version available if you want to use it instead.
arePrimitiveWrappersEqual option added to createCustomEqual configuration
If you want a custom comparator for primitive wrappers (new Boolean() / new Number() / new String()) it is now available.
4.0.3
- Remove unnecessary second strict equality check for objects in edge-case scenarios
4.0.2
- #85 - createCustomCircularEqualtyping is incorrect
4.0.1
- #81 - Fix typing issues related to importing in index.d.tsfile
4.0.0
Breaking Changes
Certain ES2015 features are now required
In previous versions, there were automatic fallbacks for certain ES2015 features if they did not exist:
Due to the omnipresence of support in both browser and NodeJS, these have been deprecated. There is still an option if you require support for these legacy environments, however; see createCustomEqual and createCustomCircularEqual for more details.
createCustomEqual contract has changed
To allow more flexibility and customizability for a variety of edge cases, createCustomEqual now allows override of specific type value comparisons in addition to the general comparator it did prior. See the documentation for more details.
Enhancements
createCustomCircularEqual added
Like createCustomEqual, it will create a custom equality comparator, with the exception that it will handle circular references. See the documentation for more details.
Cross-realm comparisons are now supported
Prior to 4.x.x., instanceof was used internally for checking of object classes, which only worked when comparing objects from the same Realm. This has changed to instead use an object's StringTag, which is not realm-specific.
TypeScript typings improved
For better typing in edge-case scenarios like custom comparators with meta values, typings have been refactored for accuracy and better narrow flow-through.
3.0.3
- Fix #77 - better circular object validation
3.0.2
- Fix #73 - support comparison of primitive wrappers
- #76 - improve speed and accuracy of RegExpcomparison in modern environments
3.0.1
- Fix #71 - use generic types for better type flow-through
3.0.0
Breaking changes
When creating a custom equality comparator via createCustomEqual, the equality method has an expanded contract:
// Before
type EqualityComparator = (objectA: any, objectB: any, meta: any) => boolean;
// After
type InternalEqualityComparator = (
  objectA: any,
  objectB: any,
  indexOrKeyA: any,
  indexOrKeyB: any,
  parentA: any,
  parentB: any,
  meta: any,
) => boolean;
If you have a custom equality comparator, you can ignore the differences by just passing additional undefined parameters, or you can use the parameters to further improve / clarify the logic.
- Add #57 - support additional metadata for custom equality comparators
2.0.4
- Fix #58 - duplicate entries in Map/Setcan create false equality success
- #60 - Add documentation for key equality of Mapbeing a part ofdeepEqual
2.0.3
- Fix #50 - copy-pasta in cacheable check
2.0.2
- Optimize iterables comparisons to not double-iterate
- Optimize loop-based comparisons for speed
- Improve cache handling in circular handlers
- Improve stability of memory by reducing variable instantiation
2.0.1
- Fix #41 - prevent .rpt2_cachedirectory from being published for better CI environment support (thanks @herberttn)
2.0.0
Breaking changes
- There are longer fast-equals/es,fast-equals/lib,fast-equals/mjslocations- Instead, there are 3 builds in distfor different consumption types:- fast-equals.js(UMD /- browser)
- fast-equals.esm.js(ESM /- module)
- fast-equals.cjs.js(CommonJS /- main)
 
 
- Instead, there are 3 builds in 
- There is no default export anymore, only the previously-existing named exports
- To get all into a namespace, use import * as fe from 'fast-equals
 
- To get all into a namespace, use 
Updates
- Rewritten completely in TypeScript
- Improve speed of Map/Setcomparisons
- Improve speed of React element comparisons
Fixes
- Consider pure objects (Object.create(null)) to be plain objects
- Fix typings for createCustomEqual
1.6.3
- Check the size of the iterable before converting to arrays
1.6.2
- Fix #23 - false positives for map
- Replace uglifywithterser
- Use rollupto build all the distributables (main,module, andbrowser)- Maintain libandestranspilations in case consumers were deep-linking
 
- Maintain 
1.6.1
- Upgrade to babel@7
- Add "sideEffects": falsetopackage.jsonfor better tree-shaking inwebpack
1.6.0
- Add ESM support for NodeJS with separate .mjsextension exports
1.5.3
- Fix Map/Setcomparison to not require order to match to be equal
1.5.2
- Improve speed of object comparison through custom hasKeymethod
1.5.1
- Fix lack of support for unicodeandstickyRegExp flag checks
1.5.0
- Add circularDeepEqualandcircularShallowEqualmethods
- Add metathird parameter tocomparatorcalls, for use withcreateCustomEqualmethod
1.4.1
- Fix issue where lastIndexwas not being tested onRegExpobjects
1.4.0
- Add support for comparing promise-like objects (strict equality only)
1.3.1
- Make reactcomparison more accurate, and a touch faster
1.3.0
- Add support for deep-equal comparisons between reactelements
- Add comparison with react-fast-compare
- Use rollupfordistfile builds
1.2.1
- Fix errors from TypeScript typings in strict mode (thanks @HitoriSensei)
1.2.0
- Surface isSameValueZeroassameValueZeroEqualoption
1.1.0
- Add TypeScript typings (thanks @josh-sachs)
1.0.6
- Support invalid date equality via isSameValueZero
1.0.5
- Replace isStrictlyEqualwithisSameValueZeroto ensure thatshallowEqualaccounts forNaNequality
1.0.4
- Only check values when comparing Setobjects (improves performance ofSetcheck by ~12%)
1.0.3
- Make MapandSetcomparisons more explicit
1.0.2
- Fix symmetrical comparison of iterables
- Reduce footprint
1.0.1
- Prevent babel transpilation of typeofinto helper for faster runtime
1.0.0
- Initial release