1 | Forge ChangeLog
|
2 | ===============
|
3 |
|
4 | ## 0.7.0 - 2017-??-??
|
5 |
|
6 | ### Fixed
|
7 |
|
8 | - Fix test looping bugs so all tests are run.
|
9 | - Improved ASN.1 parsing. Many failure cases eliminated. More sanity checks.
|
10 | Better behavior in default mode of parsing BIT STRINGs. Better handling of
|
11 | parsed BIT STRINGs in `toDer()`. More tests.
|
12 | - Improve X.509 BIT STRING handling by using new capture modes.
|
13 |
|
14 | ### Changed
|
15 |
|
16 | - Major refactor to use CommonJS plus a browser build system.
|
17 | - Updated tests, examples, docs.
|
18 | - Updated dependencies.
|
19 | - Updated flash build system.
|
20 | - Improve OID mapping code.
|
21 | - Change test servers from Python to JavaScript.
|
22 | - Improve PhantomJS support.
|
23 | - Move Bower/bundle support to
|
24 | [forge-dist](https://github.com/digitalbazaar/forge-dist).
|
25 | - **BREAKING**: Require minimal digest algorithm dependencies from individual
|
26 | modules.
|
27 | - Enforce currently supported bit param values for byte buffer access. May be
|
28 | **BREAKING** for code that depended on unspecified and/or incorrect behavior.
|
29 | - Improve `asn1.prettyPrint()` BIT STRING display.
|
30 |
|
31 | ### Added
|
32 |
|
33 | - webpack bundler support via `npm run build`:
|
34 | - Builds `.js`, `.min.js`, and basic sourcemaps.
|
35 | - Basic build: `forge.js`.
|
36 | - Build with extra utils and networking support: `forge.all.js`.
|
37 | - Build WebWorker support: `prime.worker.js`.
|
38 | - Browserify support in package.json.
|
39 | - Karma browser testing.
|
40 | - `forge.options` field.
|
41 | - `forge.options.usePureJavaScript` flag.
|
42 | - `forge.util.isNodejs` flag (used to select "native" APIs).
|
43 | - Run PhantomJS tests in Travis-CI.
|
44 | - Add "Donations" section to README.
|
45 | - Add IRC to "Contact" section of README.
|
46 | - Add "Security Considerations" section to README.
|
47 | - Add pbkdf2 usePureJavaScript test.
|
48 | - Add rsa.generateKeyPair async and usePureJavaScript tests.
|
49 | - Add .editorconfig support.
|
50 | - Add `md.all.js` which includes all digest algorithms.
|
51 | - Add asn1 `equals()` and `copy()`.
|
52 | - Add asn1 `validate()` capture options for BIT STRING contents and value.
|
53 |
|
54 | ### Removed
|
55 |
|
56 | - **BREAKING**: Can no longer call `forge({...})` to create new instances.
|
57 | - Remove a large amount of old cruft.
|
58 |
|
59 | ### Migration from 0.6.x to 0.7.x
|
60 |
|
61 | - (all) If you used the feature to create a new forge instance with new
|
62 | configuration options you will need to rework your code. That ability has
|
63 | been removed due to implementation complexity. The main rare use was to set
|
64 | the option to use pure JavaScript. That is now available as a library global
|
65 | flag `forge.options.usePureJavaScript`.
|
66 | - (npm,bower) If you used the default main file there is little to nothing to
|
67 | change.
|
68 | - (npm) If you accessed a sub-resource like `forge/js/pki` you should either
|
69 | switch to just using the main `forge` and access `forge.pki` or update to
|
70 | `forge/lib/pki`.
|
71 | - (bower) If you used a sub-resource like `forge/js/pki` you should switch to
|
72 | just using `forge` and access `forge.pki`. The bower release bundles
|
73 | everything in one minified file.
|
74 | - (bower) A configured workerScript like
|
75 | `/bower_components/forge/js/prime.worker.js` will need to change to
|
76 | `/bower_components/forge/dist/prime.worker.min.js`.
|
77 | - (all) If you used the networking support or flash socket support, you will
|
78 | need to use a custom build and/or adjust where files are loaded from. This
|
79 | functionality is not included in the bower distribution by default and is
|
80 | also now in a different directory.
|
81 | - (all) The library should now directly support building custom bundles with
|
82 | webpack, browserify, or similar.
|
83 | - (all) If building a custom bundle ensure the correct dependencies are
|
84 | included. In particular, note there is now a `md.all.js` file to include all
|
85 | digest algorithms. Individual files limit what they include by default to
|
86 | allow smaller custom builds. For instance, `pbdkf2.js` has a `sha1` default
|
87 | but does not include any algorithm files by default. This allows the
|
88 | possibility to include only `sha256` without the overhead of `sha1` and
|
89 | `sha512`.
|
90 |
|
91 | ### Notes
|
92 |
|
93 | - This major update requires updating the version to 0.7.x. The existing
|
94 | work-in-progress "0.7.x" branch will be painfully rebased on top of this new
|
95 | 0.7.x and moved forward to 0.8.x or later as needed.
|
96 | - 0.7.x is a start of simplifying forge based on common issues and what has
|
97 | appeared to be the most common usage. Please file issues with feedback if the
|
98 | changes are problematic for your use cases.
|
99 |
|
100 | ## 0.6.x - 2016 and earlier
|
101 |
|
102 | - See Git commit log or https://github.com/digitalbazaar/forge.
|