UNPKG

6.24 kBMarkdownView Raw
1# Change Log
2All notable changes to this project will be documented in this file.
3This project adheres to [Semantic Versioning](http://semver.org/).
4
5## 5.2.0 - 2017-12-08
6### Added
7- Added ability for the prerender server to restart Chrome due to some connection issues we've been seeing after a server is running for a few hours.
8
9## 5.1.1 - 2017-12-08
10### Changed
11- Chrome re-uses the original request ID on a redirect so we are saving off the fact that we saw a redirect to make sure we return a correct 301
12- Changed dependencies from ^ to ~ to make the semver more specific
13
14## 5.1.0 - 2017-12-06
15### Added
16- Added removal of `<link rel="import" src="">` tags after the page is done loading to the `removeScriptTags` plugin. Imported HTML can have script tags in it, and since it's already been rendered to the page we can safely remove it when running that plugin.
17
18## 5.0.3 - 2017-11-29
19### Added
20- Added `if (window.customElements) customElements.forcePolyfill = true`, `ShadyDOM = {force: true}`, and `ShadyCSS = {shimcssproperties: true}` to fix Polymer app rendering.
21
22## 5.0.2 - 2017-11-20
23### Changed
24- Added back `res.setHeader` for plugins to use
25
26## 5.0.1 - 2017-11-15
27### Changed
28- Set `renderType` to `html` for non "/render" endpoint
29
30## 5.0.0 - 2017-11-15
31### Added
32- Added Headless Chrome as a rendering engine!
33- Added new event types: `requestReceived`, `tabCreated`, `pageLoaded`.
34- Added new Prerender server option: `chromeLocation`
35- Added ability to request jpg and png screenshots
36- Added ability to request pdf export of a page
37- Added ability to request HAR file of page load times
38
39### Changed
40- Removed PhantomJS and all references to it
41- Removed old event types: `beforePhantomRequest`, `onPhantomPageCreate`, `afterPhantomRequest`, `beforeSend`
42- Removed In Memory Cache (moved to new repo)
43- Removed S3 HTML Cache (moved to new repo)
44- Removed Prerender server options that are no longer needed: `workers`, `iterations`, `softIterations`, `cookiesEnabled`, `pageDoneCheckTimeout`, `resourceDownloadTimeout`, `jsTimeout`, `noJsExecutionTimeout`, `evaluateJavascriptCheckTimeout`
45
46See the Readme.me for in depth descriptions of all of the new changes!
47
48## 4.4.1 - 2016-12-28
49### Changed
50- Whoops. Make sure `shouldEncodeURLBeforeBrowserFetch` defaults to true.
51
52## 4.4.0 - 2016-12-28
53### Added
54- Added `shouldEncodeURLBeforeBrowserFetch` to allow projects that use prerender to determine whether they want to call `encodeURI` on the URL before fetching it in PhantomJS. Useful for some URLs that might have encoded slashes in them, since encoding them further would cause incorrect behavior.
55
56## 4.3.1 - 2016-08-25
57### Changed
58- Fixed issue where PhantomJS crashed and then disposing caused bad phantomjs state
59
60## 4.3.0 - 2016-08-04
61### Changed
62- Bumped all dependency versions to latest
63
64## 4.2.0 - 2016-08-04
65### Added
66- Added ability for cluster master to kill last known phantomjs pid for a worker if the worker dies (preventing orphaned phantomjs instances)
67### Changed
68- Better terminating for cluster workers
69
70## 4.1.0 - 2016-07-27
71### Added
72- Added NUM_SOFT_ITERATIONS to try to kill phantomjs and reclaim memory when no requests are in flight. This should be set to a low number (1-10) so that PhantomJS can be restarted often when it isn't doing anything else. NUM_ITERATIONS should still be set to something like 40-50 to make sure to force kill PhantomJS even if a request is in flight.
73- Added clearing of memory cache to prevent PhantomJS from returning a 304
74### Changed
75- Fixed issue where prerender-status-code set to `200` was causing the page to skip being cached
76- Fixed an issue where we weren't using the correct pid when trying to force kill PhantomJS.
77- Moved clearing of memory cache and local storage to before the page loads instead of after. This will prevent edge cases that could cause a 304.
78
79## 4.0.10 - 2016-06-01
80### Changed
81- Fixed issue where S3HtmlCache was calling next() before finishing saving to the cache
82
83## 4.0.9 - 2016-05-08
84### Changed
85- Fixed issue where we were calling `hasOwnProperty` on a `querystring` that no longer had Object on it's prototype chain
86
87## 4.0.8 - 2016-03-24
88### Changed
89- Fixed issue where a webpage calling window.close would cause Prerender to be unable to shutdown PhantomJS properly
90
91## 4.0.7 - 2016-03-22
92### Changed
93- S3 cache plugin was incorrectly saving non-200 status code responses to the cache
94
95## 4.0.6 - 2016-03-09
96### Changed
97- preserve phantom arguments when server is restarting
98- use default when phantomArguments is empty
99
100## 4.0.5 - 2016-02-29
101### Changed
102- prevent multiple phantomjs instances from being started with low number of iterations
103- try to check to see if phantomjs has actually been disposed. if not, force kill it.
104
105## 4.0.4 - 2016-02-18
106### Changed
107- added engines to package.json and fixed possible bug in checking options passed in
108- prevent weird hangup on error setting a header with a newline
109- make sure we catch any errors thrown from phridge and continue
110- kill workers (and phantomjs) on SIGTERM
111
112## 4.0.3 - 2016-02-12
113### Added plugin to send a header of X-Prerender: 1 with every request
114
115## 4.0.2 - 2016-02-12
116#### Now using PhantomJS version 2.1
117### Changed
118- Changed `PHANTOM_CLUSTER_NUM_WORKERS` to `PRERENDER_NUM_WORKERS` in server.js
119- Changed `PHANTOM_WORKER_ITERATIONS` to `PRERENDER_NUM_ITERATIONS` in server.js
120- Switched from `phantomjs-node` bridge to `phridge`
121 - All Prerender plugins that access PhantomJS need to be rewritten to support new [phridge](https://github.com/peerigon/phridge) integration.
122 For example, change this:
123 ```
124 req.prerender.page.set('onConsoleMessage', function(msg) {
125 console.log(msg);
126 });
127 ```
128 to this:
129 ```
130 req.prerender.page.run(function() {
131
132 this.onConsoleMessage = function(msg) {
133 console.log(msg);
134 };
135 });
136 ```
137 Please see [phridge](https://github.com/peerigon/phridge) for more info on how to interact with PhantomJS through `phridge`.
138
139 ###Removed
140 - Removed `PHANTOM_CLUSTER_BASE_PORT` since `phridge` doesn't start a webserve to talk to PhantomJS, so it's no longer needed.
141 - Removed `PHANTOM_CLUSTER_MESSAGE_TIMEOUT` since `phridge` doesn't start a webserve to talk to PhantomJS, so it's no longer needed.
142
\No newline at end of file