-
Notifications
You must be signed in to change notification settings - Fork 36
Expand file tree
/
Copy pathCHANGELOG
More file actions
208 lines (143 loc) · 8.38 KB
/
CHANGELOG
File metadata and controls
208 lines (143 loc) · 8.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
Version 2.9 12/07/2019
======================
* Updates to project dependencies, to handle upstream Selenium project changes (contributed by https://github.com/DeathBeforeDecaf)
* Bundle Apache HTTP client and commons-logging, since Selenium no longer depends on these projects.
Version 2.8 14/08/2018
======================
* Update to fix compile errors when running against newer versions of Guava (related to the Files.fileTreeTraverser() API)
Version 2.7 08/04/2018
=======================
* Add JMX annotations, so the VideoProxy still works under Selenium 3.9.0
Version 2.6 19/11/2017
======================
* Update project to build against upstream code changes - Selenium 3.7.1 now required (Use version 2.5 for Selenium 3.6.0 and below).
* Expand unit test coverage for hub proxy
Version 2.5 11/11/2017
======================
* Bump build to Java 8 bytecode
* Refactor to make unit testing easier
* Add some unit tests
* Fix rounding bug in FPS calculations
* Bundle JNA dependencies in JAR file - recent versions of Selenium no longer use this
Version 2.4 01/10/2017
======================
* Update version dependencies a bit (contributed by saikek)
* Add AWS video upload support (contributed by ovidiubute)
Version 2.3 26/02/2017
======================
* Fix failure introduced by Selenium 3.1 in the capabilities setting code (issue #27, issue #35)
* Greatly improve X11 screenshot performance by writing a greatly simplified version of the AWT Robot code (issue #14)
This is off by default for now, but can be enabled in Linux/Unix by passing "-Dvideo.source=x11" to the JVM
Version 2.2 01/01/2017
=======================
* Re-add support for Selenium V2, by using Java reflection to smooth over incompatible changes (issue #27)
Version 2.1 01/11/2016
=======================
* Properly fix issue #23, where JNA was picking up the system version of libvpx on Linux, causing the JVM to segfault.
Version 2.0 01/11/2016
=======================
* Update build to support Selenium 3 (contributed by mhardin)
Version 1.9 23/12/2015
======================
* Recompile 32-bit Windows native dependencies, to fix problem where they were dynamically linked against GCC's libc library (issue #19)
* Commit fix for issue #5 (where the node can get into an inconsistent recording state if the hub gets restarted)
* Logging/documentation improvements
Version 1.8 26/06/2015
======================
* A lot of POM changes to upload this project to Maven central (no code changes)
* Fix issue where the native code zip file was being included in the source JAR file
Version 1.7 12/02/2014
======================
* Fix for issue where dynamically changing resolution before recording a test didn't record at the new resolution - we used the
resolution at startup (fix contributed by https://github.com/suayipozmen)
Version 1.6 05/02/2014
======================
* Fix issue #10 - make video download requests wait until the Hub has retrieved the video from the Node
Version 1.5 22/11/2014
======================
* Bundled the org.json:json Maven artifact, so we can parse JSON from Selenium 2.44 onwards - they dropped it as a dependency (issue #9)
* Fix integer promotion bug in the xvfb acceleration code, which allows us to record in larger resolutions (fix contributed by https://github.com/DeathBeforeDecaf)
* Bump Selenium version we are compiling against to 2.43 (shouldn't make any difference)
Version 1.4 21/11/2014
======================
* Add pre-compiled and tested binaries for 32-bit Windows
* Add check in Java code to make sure we are taking screenshots with the correct bit depth
Version 1.3 11/09/2014
======================
* Make the node delete extracted native dependencies and recorded videos on exit (fixes issue #7).
This could cause the machine the node was running on to diskfill if the node was repeatedly restarted.
Version 1.2 15/08/2014
======================
* Add a new means of taking screenshots for Xvfb, where we can memory-map the Xvfb output into our address space to run the video encoder directly on.
Note that this requires an extra JVM flag to make this work.
* Check that the video data source is sane on startup, instead of when we first record a video.
Version 1.1 8/07/2014
=====================
* Add an API call to the Node to reset the video recording to a known state (will be used in future releases)
* Fix some resource leaks in Video Download/Info servlets (issue #4)
Version 1.0 1/07/2014
=====================
* Bump to release version (no code changes)
Version 0.11 29/06/2014
=======================
* Handle native code error conditions better (but haven't managed to test it because it works perfectly :/)
* Tweak the IVideoStore interface again to also pass in the video content length (in bytes)
* Reduce the excess video recording time when closing the session to be 1/2 a second (was 1 second)
* Plug a security hole which existed in most of the video storage mechanisms by which a request could access any file ending in .webm off the filesystem.
Version 0.10 25/06/2014
=======================
* Fix an issue where HTTP connections leaked, and we couldn't acquire any more
* Change the native code extraction logic to only happen once at startup (previously we also did it when recording a video too)
* Bump the default framerate to 15 - some platforms can record faster than others.
Version 0.9 24/06/2014
======================
* Recompiled Windows x86_64 binaries to fix video length bug (Issue #3)
* Changed the interface for IVideoStore to be a bit cleaner
Version 0.8 23/06/2014
======================
* Added pre-compiled binaries for OS X
* Added pre-compiled binaries for Linux x86 (32-bit)
* Recompiled all binaries (except Windows x86_64) to fix video length bug (Issue #3)
* Change the API for IVideoStore to also include requested capabilities + node capabilities when storing the job. This is intended
for use when integrating with custom job reporting code.
* Renames packages/POM from 'com.mooo.aimmac23' -> 'com.aimmac23'
* Removed experimental support for Windows x86 (32-bit). 64-bit binaries compiled by the same process crashed, so these probably won't work either.
Version 0.7 20/06/2014
======================
* Added experimental support for Windows x86 (32-bit). I don't have a 32-bit JVM on-hand to test that the native code works.
* Wrote a plugin to make how we store videos be extensible
* LocalTempFileStore - the pre-existing storage mechanism
* LocalFileVideoStore - permanent storage in a directory
* BasicWebDAVStore - permanent storage in a WebDAV directory on a webserver
* Added HubVideoInfoServlet to provide storage-plugin specific information about where a video is kept
Version 0.6 26/05/2014
======================
* Fixed an issue where videos were not immediately available after the session was closed - only after the Hub had finished tidying up the node. We now immediately transfer the video to the Hub.
Version 0.5 03/05/2014
======================
* Make the target framerate be configurable
* Fix a playback framerate issue when the video wasn't recorded fast enough (was playing too fast)
* Recompile binaries on glibc 2.13, because not all Linux installations have 2.17
Version 0.4 21/04/2014
======================
* Commit some pre-built linux binaries to Git.
* Make Maven assemble the native code zip file.
* Added support for Windows x86_64 - committed some binaries for it (details on wiki). Note that this requires a 64 bit JVM to work.
Version 0.3 18/04/2014
======================
* Move the compiled MKV encoder code out into its own library, where it should be.
* Fix C memory leak by actually freeing up memory.
Version 0.2 15/04/2014
======================
Convert project to use a WebM/VP8 encoder - we now use JNA to run the encoder, with a C implementation to abstract away the complicated C data structures.
* Higher framerates achieved
* Capped framerate at 8 fps, slightly slower than the maximum speed, due to continuing time-base issues
* Implementation now restricted to Linux-only.
Version 0.1 08/04/2014n
======================
Initial implementation. Used a Java implementation of an h264 encoder. It centralized videos on the Hub using some download servlets, and allowed the user to get the video.
* The encoder wasn't very fast (~4 fps, with the Java Robot taking screenshots)
* The videos generated were massive
* Some time-base issues
* Some browsers/players refused to play back the video
* Patent issues for encoding h264