-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathCHANGES.txt
200 lines (150 loc) · 9.31 KB
/
CHANGES.txt
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
Changelog
=========
Added:
Changed:
Fixed:
Deprecated:
Removed:
0.8.2 (2015-11-05)
Added:
- Displaying applied delays in event log (tracker) page if there was one. Users can now filter based on added delays
by adding "d:200" to display all 200 ms delays, operators like >, <, >=, <= are also available.
0.8.1 (2015-11-04)
Added:
- Database authentication. Now you can specify MongoDB user (mongo.user) and password (mongo.password) in the .ini file.
- Now looking for environment variables for database connection setup:
+ export MONGO_URI=mongodb://<dbuser>:<dbpassword>@mongo_host:mongo_port/database
+ export MONGO_DB=stubodb
- Cache (Redis) connection info can now be supplied through environment variables:
+ export REDIS_ADDRESS=new_hostname_or_ip
+ export REDIS_PORT=6379
+ export REDIS_PASSWORD=very_secret
More information can be found here: https://github.com/SpectoLabs/mirage/wiki/Configuration
Changed:
Fixed:
- Track all hosts not showing information for all hostnames due to bug when loading initial cookie.
0.8.0 (2015-10-27)
Added:
- Documentation for Tracker API and how to create useful queries. Also, created documentation for Tracker record details.
Changed:
- Disabled certificate verification when importing scenarios (executing commands)
- Changed all REST API (v2) URL paths: removed "/stubo/" from URL since it doesn't hold any information and there is no
point in providing application former name inside url.
- Updated documentation, tests to accommodate URL changes.
0.7.2 (2015-10-26)
Added:
- Direct upload API (addresses https://github.com/SpectoLabs/mirage/issues/10). Now users can upload exported .zip files
directly into Mirage. There were also few modifications how Mirage parses .yaml configuration files such as
now it only reads scenario and session names. All archived .json files will be treated as stubs and will be
imported under the same scenario. This will make it easier to generate initial test data since you don't have
to updated .yaml configuration file with each created stub file. Multiple PRs.
Changed:
- Changed how Mirage exports scenarios to ".yaml" files. Now it doesn't add some non compatible tags like {{values}} to yaml file since
readers couldn't parse that information. Those lines were added to export files so it would be possible to change values
during import but it is a lot easier to do that with standard "yaml" libraries.
- Delete scenario button is now disabled by default if scenario has active sessions in "playback" or "record" mode.
- Updates to documentation https://github.com/SpectoLabs/mirage/pull/62, https://github.com/SpectoLabs/mirage/pull/61.
Fixed:
- Fixed bug when you could have deleted scenario which had active sessions. PR: https://github.com/SpectoLabs/mirage/pull/49
Removed:
- Documentation cleanup in https://github.com/SpectoLabs/mirage/pull/62, https://github.com/SpectoLabs/mirage/pull/61. A lot
of content added to project wiki https://github.com/SpectoLabs/mirage/wiki. Since it is a lot easier to maintain wiki than
sphinx docs - only essential, tightly coupled information like API reference and few other things were left in traditional
docs.
0.7.1 (2015-10-20):
Added:
- Added button to create scenario where users can also specify a session name and Mirage will start recording.
- "End all sessions" button now instead of being disabled for dormant sessions - switches either to "begin playback"
or "start recording" based on current stub count.
- Added new API for getting information about found response (similar to get stub response) although instead of Mirage
just using that information to create the original response - it now provides data about desired headers, body and
status code. This enables proxy to store encoded data inside Mirage with required headers for decoding and then
recreating original response without tampering with it. Original design was limited to plain text only.
- Users can now override session and scenario by supplying any hostname. So a user that is accessing Mirage through the
hostname A - can also create scenario, start session and end it for host B. This was needed for running Mirage in container
environment where communication between proxy and Mirage was established via DNS aliases (or links).
- Added all javascript libraries to source control to make development and management easier.
Changed:
- By default user is now tracking all hosts (you can still choose to see only your host and that value will be saved in a cookie).
This was needed due to the fact that while running Mirage in a container - it' fairly difficult to know on which hostname
Mirage is accessible through the container network or any other SDN.
- Date rolling by default now expects YYYY/MM/DD instead of YYYY/DD/MM.
Deprecated:
Removed:
- Old design templates
- Old web UI handlers, utilities (in service/api.py)
- Old web UI javascript files and CSS styles
Fixed:
- Fixed bug when due to websocket being blocked - tracker page failed to load new pages and filter. Now if it's available
in browser but terminated upon creation (i.e. firewall blocks it) - it will fall back to HTTP calls.
- When ensuring tracker indexes during startup - Mirage now reuses initial MongoDB connection, this solves some bugs when
running in a container environment.
- Fixed problem when during startup Mirage also tried to import some functions from testing packages that required
testing dependencies.
0.7 (2015-10-02)
Added:
- REST API for Mirage management. This API currently covers most of the management commands
although it may slightly change (for example current "get response stub" request body is likely to be changed)
This new API also has new functionality that was not available in the previous JSON API such as Tracker collection
record filtering and pagination through REST. It also provides WebSocket supported filtering to speed up search
in Tracker.
- Moved from Tornado template engine to React.js.
- New UI based on React.js framework. All web UI has been restructured, old /manage page was removed and its functionality
split into "management" side menu where users can directly access scenario, module, delay policies or direct command
execution pages. All of the data to this front-end is supplied by the new REST APIv2 and almost nothing is rendered
on the server side (except for showing current Mirage version, however that may also change in future releases)
- Webpack configuration for compiling .jsx files to .js, this creates javascript bundles that can be easily imported
in the separate pages and decreases loading time.
- Dockerfile for building Mirage Docker image and separate docker-compose script to launch dockerized Mirage environment
that interconnects through container network.
- Syntax highlighting for
Changed:
- Deployment and application startup has been changed. Now, instead of executing setup.py, copying configuration to
virtualenv and then from there launching Mirage by calling "stubo" command (that was far from standard approach at
launching Python application) - it was changed to installing requirements from requirements.txt file with pip and then
executing "python run.py" in the project root.
- Tracker collection is now being checked during each application startup. Mirage now checks whether it exists and can
create a capped collection if it' not there. Then it ensures indexes.
Deprecated:
- Current web UI is currently deprecated, although not removed.
- Current handlers, handlers_mt, api functionality for serving and legacy UI is deprecated.
Fixed:
- Multiple open connections to MongoDB during tests
- Performance degradation due to indexing fixed
- Fault in multi-date rolling (BA issue)
0.6.6 (2015-08-10)
------------------
- Fixed bug when due to variable imports from testing packages startup failed
- Imports refactored, modules are now more independent
0.6.5 (2015-07-24)
------------------
- Correctly showing weighted delays in /manage page #77
- Moving python package requirements into separate requirements file, added production and development requirement files to avoid installing unnecessary testing packages in production. #78
0.6.4 (2015-07-16)
------------------
- Added indexes to database, optimized queries to database - /manage page is loading quickly now even when there are tens of thousands of stubs and tracker collection larger than > 100 000 records. #75
- Switched to mongo aggregation framework functionality when querying scenarios for their sizes and record dates. #68
- Added API call to rename scenario (should improve automated testing as it is a solution to several GitHub issues raised by BA). #71
- Optimised stub insertion #69
- Brought back export to .commands file, new YAML format files are exported in separate directory #64
- Fixed several bugs that could have been causing memory overflow in Stubo instances. #61 #62
- Parameter overrides when uploading stubs
- “worst latency” chart
0.6.3 (2015-06-30)
------------------
- YAML config (#12)
- Fix to support repeating elements within XMLMangler (#55)
- New weighted delay (#45)
0.6.2
------
- Rest support
- Parameterize session on get/export and exec/cmds calls (#39)
0.6.1 (2015-05-11)
------------------
- Return the http status code of exec/cmds requests (#28)
- Added tracker scenario filter (#23)
- Added stub priority
- Export runnable scenarios
0.6 (2015-03-25)
----------------
- Initial cut of open source version