UNPKG

5.39 kBMarkdownView Raw
1## 5.1 Apr 26, 2019
2
3- *Breaking* Requires Node >= 10.1 (we use `fs.promises` etc)
4- *Feature* template.setCertificate(process.env.APPLE_PASS_CERTIFICATE);
5- *Feature* template.setPrivateKey(
6 process.env.APPLE_PASS_PRIVATE_KEY,
7 process.env.APPLE_PASS_KEY_PASSWORD,
8 )
9- *Feature* use `process.env.APPLE_WWDR_CERT_PEM` to override Apple Certificate
10- Lot of refactoring...
11
12## 4.3 Nov 1, 2017
13
14- Switched from using _in-house_ Zip implementation to `yazl` and refactored `Pass.pipe` for simplier form using `async` function.
15
16## 4.2 Nov 1, 2017
17
18- switched from our fork of `node-apn` to native HTTP2 implementation from Node 8.8 LTS.
19- don't compress any file, just store inside of Zip, so, it suppose to be faster and more compatible
20
21## 4.1 October 14, 2017
22
23- added `textDirection` to constants
24- added `associatedStoreIdentifiers` into templatable fields (thanks to @antoniomika)
25
26## 4.0 August 19, 2017
27
28- Replaced `openssl` spawning for native JavaScript `node-forge` implementation of manifest signing.
29
30## 3.8 August 17, 2017
31
32- Implemented `Template.pushUpdates(pushToken)` that sends APN update request for a given pass type to a pushToken (get pushToken at PassKit Web Service)
33
34## 3.7 August 15, 2017
35
36- Implemented `Fields.setDateTime(key, label, date, formatOptions = {})` to set date/time style values to a structure fields. Example: `pass.auxiliaryFields.setDateTime('arrival', 'ARRIVAL TIME', arrivalDateObj, { dateStyle: constants.dateTimeFormat.NONE, timeStyle: constants.dateTimeFormat.SHORT })`
37
38## 3.6 August 14, 2017
39
40- Added `setValue(key, value)` method for structure fields to make templating easier. Example: `pass.headerFields.setValue('port', 'New Port')`
41- Added tests for `Fields` class to increase test coverage
42
43## 3.5 August 14, 2017
44
45- Impletmented `Pass.stream` that returns `Pass` as a readable stream. Useful for `Koa` responses, etc.
46
47## 3.4 August 13, 2017
48
49- Color values setters at `Template` (`backgroundColor`, `foregroundColor` and `labelColor`) now can accept any valid CSS color string (like 'purple', '#fff', etc) and converts them into `rgb(...)` format that is only acceptable by Apple Wallet pass
50- `Pass.validate` enforces `rgb()` style values for color fields
51- `Pass.validate` enforces `webServiceURL` and `authenticationToken` to be either both present or both missing
52- Exporting `PASS_MIME_TYPE` from `contants`
53- Added `expirationDate` and `relevantDate` setters and getter to the `Pass` class that accepts both, `Date` or a `string` and converts that to correct W3C date string (or throws if it's impossible)
54- Added `Pass.addLocation` that accepts point value either as GeoJSON array, `{lat, lng}` or `{ longitude: number, latitude: number, altitude?: number }`
55
56## 3.3 August 12, 2017
57
58- implemented `Pass.transitType()` to set/get transit type for board passes (with values validation and constants)
59- `Temlate` now loads/stores structure level values and passes them to Passes
60
61## 3.1.0 August 9, 2017
62
63- Added `Template.load` static method to load template, images and key from a folder (no localization support yet, but coming)
64- Added blank templates for all possible images
65- Increased test coverage
66
67## 3.0.0 August 8, 2017
68
69- Rewritten in ES6 Classes, targetting Node 8
70- Moved tests to Jest
71- Added some fields values validation
72- Refactored deprecated calls
73- Addes ESLint + prettier code style enforcement
74- Moved to `@destinationstransfers` scoped package (original module seems to not merging any PR in last two years)
75
76## 2.1.1 April 16, 2015
77
78Update package.json with async dependency (tomasdev)
79
80Emit error if it failed to sign the zip with manifest file (tomasdev)
81
82## 2.1.0 March 2, 2015
83
84Add support for Node.js 0.12 and io.js 1.4
85
86Fix failing image tests on Node.js 0.12 and io.js 1.4
87
88Fix failing signature check on Node.js 0.12 and io.js 1.4
89
90Remove unused async dependency
91
92## 2.0.1 November 14, 2012
93
94Fix addImage not working with buffers.
95
96## 2.0.0 November 1, 2012
97
98New API for updating structure fields:
99
100 passbook.headerFields.add("time", "The Time", "10:00AM");
101 passbook.backFields.add({ key: "url", label: "Web site", value: "<http://example.com>" });
102 console.log(passbook.backFields.get("url"));
103 passbook.backFields.remove("url");
104 console.log(passbook.backFields.all());
105
106The `pipe` method no longer accepts a callback, instead, register listener on
107the `end` and `error` events.
108
109For HTTP servers, you can use the `render` method.
110
111New optimization to send completes resources first (useful when downloading
112images from URLs).
113
114Renamed `createPassbook` to `createPass`.
115
116## 1.1.1 October 24, 2012
117
118Fix piping support for files/HTTP resources.
119
120## 1.1.0 October 24, 2012
121
122API change: instead of generating passbook into a buffer, we pipe it into an
123output stream. Like so:
124
125 fs = File.createWriteStream("demo.pkpass");
126 passbook.pipe(fs, function(error) {
127 . . .
128 });
129
130You can now add images by specifing an HTTP/S URL.
131
132You can now add images directly to the template, every passbook created from
133that template will include these images.
134
135New streaming zip implementation. Passbook is now able to acquire resources
136(images) in paralle.
137
138## 1.0.2 October 15, 2012
139
140Should not fail on boardingPass.
141
142Should be able to inspect pass.json: call getPassbookJSON().
143
144## 1.0.1 October 9, 2012
145
146First release. Yay!