Releases: BrianMitchL/gift-exchange
v4.0.1
No user changes, just updates to build dependencies.
What's Changed
- Update deps by @BrianMitchL in #35
Full Changelog: v4.0.0...v4.0.1
v4.0.0
What's Changed
- Bump ssri from 6.0.1 to 6.0.2 by @dependabot in #13
- Update dependencies by @BrianMitchL in #15
- Bump browserslist from 4.16.0 to 4.16.6 by @dependabot in #16
- Update dev dependencies by @BrianMitchL in #19
- Update deps by @BrianMitchL in #24
- Replace TSDX with Other Tooling by @BrianMitchL in #33
Breaking Changes
- Node 16+ is required to develop and build this package
- To install and use the package, older versions should continue to work
- The compiled files have changed slightly with new file names and newer bundlers that has changed the emitted structure slightly.
dist/giftexchange.cjs.js
- not minifieddist/giftexchange.esm.js
- not minifieddist/giftexchange.umd.development.js
- not minifieddist/giftexchange.umd.production.js
- minifieddist/index.d.ts
Full Changelog: v3.0.0...v4.0.0
v3.0.0
This is a relatively small update, but with some breaking changes.
Breaking Changes
- All files in the published package have consistent filenames
- This shouldn't affect CommonJS or ESM imports
- UMD builds are now at
dist/giftexchange.umd.production.min.js
instead ofdist/gift-exchange.umd.production.min.js
calculateSync
has been renamed tocalculate
, and the oldcalculate
has been removedDerangementError
was removed in favor of a standardError
and setting the name property to "GiftExchangeError"- The bundle size was reduced from 1.2KB to under 500B through the removal of
DerangementError
and the bundled polyfills forObject.setPrototypeOf
andclass
- All code was moved to the single
src/index.ts
file to simplify emitted files and types
New Features
- There is a new exported function,
validateMatches
, which is used internally, in case you want to use it to build your own implementation
v2.1.0
New Features
- UMD build available from the
GiftExchange
property- Development:
dist/gift-exchange.umd.development.js
- Production:
dist/gift-exchange.umd.production.min.js
- Development:
- Custom timeouts
- New options format for passing in exclusions and timeouts
- Deprecate
calculate
in favor ofcalculateSync
If you were calling calculateSync(people, exclusions)
you can now
use the new format: calculateSync(people, { exclusions })
. The
old format will continue to work as well.
Commits
- Merge pull request #10 from BrianMitchL/custom-timeouts 127fb0f
- Add timeout option and add overloads for new call syntax 32e2534
- Merge pull request #9 from BrianMitchL/umd 3394810
- Fix test CI step bdd171a
- Create UMD build 4213a05
- Update dependencies remove unneeded async keyword ed26759
- Merge pull request #8 from BrianMitchL/update-deps 7a8d941
- update-deps 0f1785c
- Update description 57d4151
v2.0.0
Exclusion Improvements
The main breaking change is the improvement made to exclusions such that a Person's group can be excluded in addition to a Person's name. This brings a new interface structure for an Exclusion and hopefully makes it more clear what the properties mean.
Here's how you would upgrade an exclusion to the new structure
Before (v1.0.0):
const exclusions: Exclusion[] = [{
type: 'name',
subject: 'Brian',
// this always referred to the 'name'
value: 'Freja'
}];
After (v2.0.0):
const exclusions: Exclusion[] = [{
type: 'name',
subject: 'Brian',
excludedType: 'name',
excludedSubject: 'Freja'
}];
Other Breaking Changes
If you imported things outside of the main index file, some refactoring in directory structure was done, so those imports may have changes (models was deleted and merged into utils).
v1.0.0
Initial Release
This is a crude initial release in order to get the ball moving. You can install it by running npm i gift-exchange