Releases: Morgul/rpgdice
v2.0.3
Initial Typescript Support
This release adds initial Typescript types. It's not exhaustive, but it does document the external API and the classes that exposes.
Note: This is a bit experimental, since the correct solution is to convert the library over to typescript, but that's quite a bit more work.
v2.0.2
v2.0.1
v2.0.0
This release is a huge change for the project. Lots of effort has gone into it over the last several years.
Features
- upgraded to ES2015+ Syntax
- removed
lodash
dependency - cleaned up minor bugs, typos, etc.
- simplified syntax for maintainability.
- Variables can now contain strings that themselves can be parsed.
- We now support several more math operations:
- Added exponent operator
- Added modulo
- Added factorial
- Added support for parentheses (they were ignored before)
- No production dependencies
Bug Fixes
- Missing
eval
on Expression. - Cleaned up some
var
expressions.
Fixed Associativity
Our math functions are correctly left to right associative. (They were not before.) This allows you to do things like: 2+8-2+8
. This will correctly return 16
, as opposed to the 0
all previous versions returned.
Additional Changes
- Added ESLint rules
- Added
lint-staged
prehook - Reformatted project code
- Updated code to current ES2015 standards.
Breaking Changes
- requires node >= 10.0.0
- removed
lodash
dependency - removed bundles
Bundle Removal
Sadly, we've had to remove the bundled version of this project. The reason is simple: in the time between adding parcel
and releasing v2.0.0
, our bundler had become deprecated, with some pretty nasty side effects. So, for now we're dropping bundles, with the hopes of moving to a UMD, CJS, and ESM output once the codebase moved to Typescript.
v2.0.0-rc.3
This release sees a huge outstanding bug fixed, as well as a host of new math features. A shoutout to @mrfigg, who not only discovered the bugs, but authored the fixes.
Features
We now support several more math operations:
- Added exponent operator
- Added modulo
- Added factorial
- Added support for parentheses (they were ignored before)
Bug Fixes
In addition, now our math functions are correctly left to right associative. (They were not before.) This allows you to do things like: 2+8-2+8
. This will correctly return 16
, as opposed to the 0
all previous versions returned.
Additional Changes
- Added ESLint rules
- Added
lint-staged
prehook - Reformatted project code
- Updated code to current ECMA standards.
v2.0.0-rc.2
This version is a minor improvement over the last release.
Features
The headliner feature is that variables can now contain strings that themselves can be parsed. So, for example, you can do 'Weapon.Damage' + 1
where Weapon.Damage
is equal to '1d6 + 8'
. This would turn into: 1d6 + 8 + 1
.
Bug Fixes
- Missing
eval
on Expression. - Cleaned up some
var
expressions.
v2.0.0-rc.1
We've upgraded the code to ES6, we've removed lodash
as a dependency, and rebuilt the build system from the ground up. It's MUCH slimmer when bundled now (~1mb to ~56kb on disk) and should be slightly faster. We're also 'dependency free'; our only runtime dependency is a wrapper library around crypto.randomBytes
to keep the bundle size down. We could move this to an optional dependency, and fall back to Math.random
, but I feel the trade off is fine.
The change to ES6, however, does require node >= 6.0.0, or bundling with babel (unless you're only supporting evergreen browsers; we're only using ES2015 syntax). I'm ok with dropping older node support, frankly.
I still want to fix a few minor things before declaring it good as a release, but this release should help us get feedback.
Features
- upgraded to ES2015+ Syntax
- removed
lodash
dependency - switched to parceljs bundler
- cleaned up minor bugs, typos, etc.
- simplified syntax for maintainability.
Breaking Changes
- requires node >= 6.0.0
- removed
lodash
dependency - bundle renamed
/dist/rpgdice.min.js
- bundle is now a UMD, exports a global called
window.rpgdice
when used in a script.
v1.3.0
It's been three years, and we've finally got another release. Believe it, or not, there's no API changes! Instead, this is a final release in the v1.X line, before we get crazy and migrate to ES6, and do some other large overhauls of the code base.
In this version, we upgraded all our dependencies, and regenerated everything. It should still be just as compatible as v1.2.4
was, but we can't test against node < v4 due to changes in mocha
.
Features
- upgraded dependencies to the latest versions.
Breaking Changes
- upgraded to lodash v4
Note: The lodash upgrade shouldn't be a breaking change. However, there's a very small chance you were depending on behavior that is subtly different, or you were relying on rpgdicejs
to pull in lodash for you, hence why it's listed as a breaking change.