1 | # Change Log
|
2 | All notable changes to this project will be documented in this file.
|
3 | This 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 |
|
46 | See 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 |