Update CHANGES for 1.1.0 release
[knox.git] / CHANGES
1 ------------------------------------------------------------------------------
2 Release Notes - Apache Knox - Version 1.1.0
3 ------------------------------------------------------------------------------
4 ** New Feature
5     [KNOX-1040] - Initial new descriptor and provider config wizard support
6     [KNOX-1040] - Accommodate omission of cluster user in descriptor discovery config
7     [KNOX-1040] - Implemented the ability to add config elements to provider configurations and descriptors.
8     [KNOX-1040] - Added modification support: delete, discard changes, save changes
9     [KNOX-1040] - Separated the provider config selection modal into its own component.
10     [KNOX-1040] - Added visual indicator that a provider config has not been removed because it is referenced, and improved editable fields
11     [KNOX-1040] - Initial changes to support simple descriptors and provider configurations in the Admin UI.
12
13 ** Improvement
14     [KNOX-1381] - Fix logging
15     [KNOX-1378] - Declare SSO params using KnoxSSO service option  knoxsso.expected.params
16     [KNOX-1379] - Default dispatch whitelist should not include localhost when the Knox host domain can be determined
17     [KNOX-1363] - Support service role-based whitelist for dispatches and redirects
18     [KNOX-1357] - Add configurable list of AutoDeploy topologies to deploy on server start
19     [KNOX-1350] - Complete centralization of manager.xml topology config in gateway-site.xml
20     [KNOX-1339] - (KIP-11 Federation)  Add support for header preauth dispatch
21     [KNOX-1350] - Centralize Group Lookup Config in gateway-site.xml
22     [KNOX-1338] - Add Config Property for Knox Admin Groups for AclsAuthz Provider Use
23     [KNOX-1326] - merge DATANODE rewrite rules into HDFSUI
24     [KNOX-1336] - Upgrade libpam4j to abstractj/1.9.1
25     [KNOX-1315] - Spark UI urls issue: Jobs, stdout/stderr and threadDump links (Guang Yang via lmccay)
26     [KNOX-1143] - Add MR job history ws rest api rewrite rule to jobhistoryui (Guang Yang via lmccay)
27     [KNOX-1089] - Upgrade Jetty
28     [KNOX-1329] - Upgrade the transitive springframework spring core to even newer version
29     [KNOX-1290] - Create gateway definition for Log Search - version 0.5.0 (Olivér Szabó via lmccay)
30     [KNOX-1329] - Upgrade the transitive springframework spring core from pac4j
31     [KNOX-1328] - Change Default Authentication to KnoxSSO for Admin UI
32     [KNOX-1320] - Upgrade JQuery in the KnoxAuth Application
33     [KNOX-1327] - Log REST invocation error exceptions encountered during service discovery at ERROR level
34     [KNOX-1322] - Support configuration property to forcibly treat topologies as read-only
35     [KNOX-1314] - SSOCookieProvider should be able to derive a default provider URL
36     [KNOX-1319] - Better logging when discovery fails to access service configurations
37     [KNOX-1318] - Update available Admin UI services to include NiFi
38     [KNOX-1317] - Ambari service discovery config handling of nested derived properties
39     [KNOX-1193] - NiFi service discovery support
40     [KNOX-1154] - Dump Kerberos settings upon startup. (Rick Kellogg via Phil Zampino)
41     [KNOX-1310] - The X-Content-Type-Options header should be set as 'nosniff'
42     [KNOX-1309] - Admin API resource names should be validated
43     [KNOX-1308] - Implement safeguards against XML entity injection/expansion in the Admin API
44     [KNOX-1227] - Add KnoxSSO and KnoxToken services to the new descriptor service options
45     [KNOX-1266] - Employ gateway-site config for default discovery address and cluster values
46     [KNOX-1275] - Add json-smart explicitly to gateway-spi (Saravanan Krishnamoorthy via lmccay)
47     [KNOX-1306] - Remove requirement for cluster when discovery address is specified in admin UI new descriptor wizard.
48     [KNOX-1193] - LOGSEARCH discovery support
49     [KNOX-1305] - Add postfix and infix rewrite functions
50     [KNOX-1236] - Support service discovery for YARNUIV2
51     [KNOX-1202] - Validate resource names
52     [KNOX-1300] - Add default provider configuration for demo LDAP to the distribution
53     [KNOX-1193] - Add service discovery support for Spark Thrift UI
54     [KNOX-1293] - Support for Ambari discovery of SPARK2 services
55     [KNOX-1294] - Upgrade Jackson-Databind to 2.9.5
56     [KNOX-1292] - Upgrade Groovy to 2.4.8
57     [KNOX-1289] - Deletion of generated topology deletes associated descriptor file
58     [KNOX-1135] - Add configuration property for allowing remote configuration to be read by unauthenticated clients
59     [KNOX-1281] - HA provider configuration wizard should require the service name property value
60     [KNOX-1279] - HaProvider wizard should include ability to specify ZooKeeper-related properties
61     [KNOX-1257] - WebAppSec provider configuration wizard
62     [KNOX-1276] - Improve HA provider configuration wizard
63     [KNOX-1269] - Generate services declared in descriptor without URLs or params, but with valid HaProvider ZK config
64     [KNOX-1267] - Add support for Ranger-related service discovery with HTTPS configurations
65     [KNOX-1268] - Add support for HDFS-related service discovery with HTTPS configurations
66     [KNOX-1258] - Add Anonymous authentication provider to provider config wizard options.
67     [KNOX-1259] - Removed height restriction on resource type and resource list tables
68     [KNOX-1263] - Admin UI provider config details should organize providers by role rather than name
69     [KNOX-1187] - Support for Distributed Alias Service
70     [KNOX-1182] - Removed lingering configuration, which is no longer used for RM-based services
71     [KNOX-1233] - Excluded lang-tag from the pac4j-oidc dependency
72     [KNOX-1243] - Normalize the required DNs that are Configured in KnoxToken Service
73     [KNOX-1220] - HostMap provider configuration wizard option in Admin UI
74     [KNOX-1212] - Support new YARN webui2 in Knox (Sunil Govindan via Phil Zampino)
75     [KNOX-1153] - Support for determining whether HA is enabled or not from the service's configuration
76     [KNOX-1215] - Hadoop Group Lookup Provider Config Wizard
77     [KNOX-1229] - Ambari service discovery REST invocations need reasonable timeout
78     [KNOX-1228] - Atlas HA ZooKeeper Config Discovery
79     [KNOX-1224] - Knox Proxy HADispatcher to support Atlas in HA (Nixon Rodrigues via Phil Zampino)
80     [KNOX-1219] - Eliminated duplicate useTwoWaySsl dispatch filter params
81     [KNOX-1216] - Admin UI and runtime validation for new descriptor provider configuration reference
82     [KNOX-1211] - Admin UI XSS/XSRF Protection
83     [KNOX-1202] - Added UI elements to indicate invalid param values
84     [KNOX-1202] - Descriptor and Provider Configuration Wizard Input Validation
85     [KNOX-1190] - Compress cookies set by Pac4J, in some cases the cookie size exceeds 4K and cause them not to set.
86     [KNOX-1200] - Update Apache parent pom version
87     [KNOX-1193] - Discovery support for SOLR, STORM and STORM-LOGVIEWER, and config for additional support
88     [KNOX-1198] - Support Ambari service discovery mappings override/augmentation with external config
89     [KNOX-1193] - Added discovery support for LIVYSERVER, SPARKHISTORYUI, JOBHISTORYUI, YARNUI, FALCON, OOZIEUI, HBASEUI, HDFSUI, DRUID-COORDINATOR-UI and DRUID-OVERLORD-UI
90     [KNOX-1194] - Safe loading and dumping of yaml, and filter empty-value properties from JSON output.
91     [KNOX-1176] - Update provider configuration references if new reference is invalid
92     [KNOX-1186] - Descriptors and Topology Generation Support for Service Versioning
93     [KNOX-1167] - Support HDFS Federation in Knox topology generation
94     [KNOX-1188] - Maintain provider parameter order in generated topologies
95     [KNOX-1181] - Add support for RANGER and RANGERUI service endpoint discovery via Ambari
96     [KNOX-1159] - Create ".sha1" files when releasing instead of ".sha"
97     [KNOX-1040] - Added ability to edit provider params, service params, and provider URLs.
98     [KNOX-1178] - Add test to ensure regex or support in RegexIdentityAssertionFilter
99     [KNOX-1169] - Clear Cluster Configuration Monitor Cache When No Relevant Descriptors Remain
100     [KNOX-1153] - Service-level overrides for HA provider configuration in generated topologies, and alternate provide config formats.
101
102 ** Bug
103     [KNOX-1360] - Fix ambari broken images (Aleksandr Kovalenko via Sandeep More)
104     [KNOX-1358] - Create new version definition for SHS (Marco Gaido via lmccay)
105     [KNOX-1345] - Fix javadoc errors
106     [KNOX-1353] - SHS always showing link to incomplete applications (Marco Gaido via lmccay)
107     [KNOX-1356] - Fix X-Forwarded-Context header (Marco Gaido via Sandeep More)
108     [KNOX-1352] - Service Discovery is not honoring the enabled attribute of HA Provider configuration
109     [KNOX-1349] - Fix Knox versioning for service defs. (UnitTest to be followed in next commit)
110     [KNOX-1348] - Provider Configuration Wizard HA Provider Validation for ZooKeeper Ensemble is Wrong
111     [KNOX-1347] - X-Forwarded-Context header is not rewritten correctly
112     [KNOX-1346] - SNI Mismatch Failures due to Wrong Host Header
113     [KNOX-1344] - Atlas HA dispatch mishandling SSO redirection
114     [KNOX-1342] - Prevent Host Header from being sent to Atlas
115     [KNOX-1341] - Constrain cookies added to the HadoopAuthCookieStore
116     [KNOX-1340] - HDFSUI proxy to a host specified in query string (Bharat Viswanadham via Sandeep More)
117     [KNOX-1335] - Spark service discovery when SSL is configured
118     [KNOX-1333] - Admin UI needs to handle SSO cookie expiration
119     [KNOX-1149] - HBase High Availability Fails with Kerberos Secured Cluster
120     [KNOX-1330] - Fix favicon for Zeppelin (Prabhjyot Singh via Sandeep More)
121     [KNOX-1331] - Unable to update referenced (XML format) provider config from Admin UI
122     [KNOX-1166] - Upgrade HTTPClient due to Hostname Verification Bug
123     [KNOX-1326] - Fix the Datanode link on the Namenode page
124     [KNOX-1314] - SSOCookieProvider derive a default provider URL with configured gateway.path and fix handling of X-FORWARDED-HOST with port in it.
125     [KNOX-1324] - Remote Configuration Monitor should not log stacktrace when client is not configured
126     [KNOX-1323] - Reconcile WebAppSecurity provider X-Frame-Options and X-Content-Type-Options param names
127     [KNOX-1157] - Scoped rewrite rules are treated as global rules in some cases (Wei Han via Phil Zampino)
128     [KNOX-1313] - Contributing provider config wizards incorrectly produce config when validation fails
129     [KNOX-1310] - Handle custom param value for X-Content-Type-Options header
130     [KNOX-1312] - Zeppelin-related discovery is incorrectly configured
131     [KNOX-1311] - Ambari logos are not showing up in Ambari Web UI (Yusaku Sako via lmccay)
132     [KNOX-1244] - YARNUIV2 fix HA support (Sunil Govind via Sandeep More)
133     [KNOX-1274] - Update location headers to make sure SSO redirects are proper (Marco Gaido via Sandeep More)
134     [KNOX-1295] - X-Forwarded-Context contains not the full base path in SHS request (Atilla Csoma and Marco Gaido via lmccay)
135     [KNOX-1297] - HDFSUI requires its own HA Dispatch Provider
136     [KNOX-1296] - Fix logging for remote alias service
137     [KNOX-1114] - In case of port conflict log error and move on
138     [KNOX-1287] - Invalid federated namenode namespace declaration should not produce invalid URLs in topologies.
139     [KNOX-1288] - NPE during service discovery
140     [KNOX-1249] - Fix rewrite issues with YarnUIV2 (Sunil Govind via Sandeep More)
141     [KNOX-1283] - DefaultURLManager markFailed method throws NPE if urls is empty
142     [KNOX-1277] - make sure HDFS UI is rendered correctly without a forward slash (Bharat Viswanadham  via Sandeep More)
143     [KNOX-1282] - Update rewrite rules to reflect changes to content type (Bharat Viswanadham via Sandeep More)
144     [KNOX-1264] - Fix job link under the jobHistoryUI (Sunil Govind via Sandeep)
145     [KNOX-1278] - HaProvider wizard uses comma instead of semi-colon as delimiter
146     [KNOX-1271] - AtlasZookeeperURLManager not handling empty namespace config values correctly
147     [KNOX-1272] - ZEPPELINWS URLs are generated incorrectly
148     [KNOX-1253] - TopologyService incorrectly reports failure to delete file that has been successfully deleted.
149     [KNOX-1261] - Fix issue where listener is not decrypting the value before updating, fix  annoying error messages
150     [KNOX-1254] - Make sure Remote Alias Registry prefers remote over local
151     [KNOX-1256] - AclsAuthz provider wizard produces incorrect param
152     [KNOX-1251] - Fix NPE in RemoteAliasService#stop()
153     [KNOX-1246] - Update service config in Knox to support latest configurations for Ranger.(Vishal Suvagia via lmccay)
154     [KNOX-1248] - AtlasZookeeperURLManager handle missing namespace property from Atlas config with appropriate default value
155     [KNOX-1182] - For YARN HA, RESOURCEMANAGER service should have both active and standby endpoint URLs
156     [KNOX-1242] - Fix rewrite rules for HDFS UI] - Datanode UI link
157     [KNOX-1239] - HBaseZookeeperURLManager ignores configured ZooKeeper namespace
158     [KNOX-1238] - Fix Custom Truststore Settings for Gateway
159     [KNOX-1233] - Pac4j dependency causing intermittent compilation errors
160     [KNOX-1230] - Many Concurrent Requests to Knox causes URL Mangling
161     [KNOX-1231] - Atlas HA URL Manager must handle ZooKeeeper namespaces that begin with leading slash
162     [KNOX-1223] - Fix redirect rules for Zeppelin /api/ticket (Prabhjyot Singh  via Sandeep More)
163     [KNOX-1091] - Knox Audit Logging] - duplicate correlation ids (Kevin Risden via Sandeep More)
164     [KNOX-1210] - Update response code from 403 to 401 for token validation failures (for XHR request)
165     [KNOX-1210] - Fix token expiration for XHR request
166     [KNOX-1217] - PAM auth provider configuration wizard should allow for specifying the login module/service
167     [KNOX-1202] - Eliminate unintended persistence of UI-only provider configuration properties
168     [KNOX-1208] - Fix WEBHBASE ZooKeeper ensemble discovery when proxying HA HBase
169     [KNOX-1203] - Shiro-based provider configurations must be produced with correct param order from Admin UI
170     [KNOX-1200] - Fixing maven assembly errors
171     [KNOX-1201] - Disable DocTypes
172     [KNOX-1195] - Some misc code cleanups
173     [KNOX-1197] - Fix a bug where Anonymous auth is not picked up with federation provider
174     [KNOX-1199] - fix missing ASL header
175     [KNOX-1199] - Ambari View API for Tez View needs Double Quotes Encoded on Dispatch
176     [KNOX-1192] - Make sure config variables such as defaultUrl get picked up
177     [KNOX-1177] - Retighten the rewrite rule on oozieui to reduce false positives. Replace http with * in rule.
178     [KNOX-1177] - Retighten the rewrite rule on oozieui to reduce false positives
179     [KNOX-1108] - NiFiHaDispatch not failing over (Jeff Storck via lmccay)
180     [KNOX-1040] - Fixed refresh after descriptor saving, and added editable discovery fields to descriptor detail view
181
182 ------------------------------------------------------------------------------
183 Release Notes - Apache Knox - Version 1.0.0
184 ------------------------------------------------------------------------------
185 ** New Feature
186 ** Improvement
187    * [KNOX-998]  - Rename class packages to org.apache.knox.gateway
188    * [KNOX-1161] - Update hadoop dependencies to Hadoop 3 (Colm O hEigeartaigh, reviewed by Sandeep More)
189    * [KNOX-1043] - Ambari Service Discovery Support for HA-Enabled Services
190    * [KNOX-1144] - Establish provider configuration reference relationships for existing descriptors at gateway startup
191    * [KNOX-1137] - KnoxCLI For Listing Provider Configurations and Descriptors in a Remote Configuration Registry
192    * [KNOX-1145] - Upgrade Jackson due to CVE-2017-7525
193 ** Bug
194    * [KNOX-1151] - Need Explicit curator-recipes dependency in pom
195    * [KNOX-1141] - Coverity Issues Reported For AmbariConfigurationMonitor
196    * [KNOX-1116] - Builds of src distributions result in unexpected result from gateway version API.
197
198 ------------------------------------------------------------------------------
199 Release Notes - Apache Knox - Version 0.14.0
200 ------------------------------------------------------------------------------
201 ** New Feature
202    * [KNOX-1014] - Service Discovery and Topology Generation Framework (Phil Zampino via lmccay)
203    * [KNOX-1062] - Service-Level Parameter Support in Service Discovery and Topology Generation (Phil Zampino via lmccay)
204    * [KNOX-1077] - Knox should notice simple descriptors on startup (Phil Zampino via lmccay)
205    * [KNOX-1063] - Simple Descriptor discovery should notice YAML file with .yaml extension (Phil Zampino via lmccay)
206    * [KNOX-1105] - Provide indication that topologies were generated from simple descriptors (Phil Zampino via lmccay)
207    * [KNOX-1110] - Simple Descriptors Must Accommodate Application elements (Phil Zampino via lmccay)
208    * [KNOX-1039] - Added admin APIs for managing shared provider configurations and descriptors (Phil Zampino via Sandeep More)
209    * [KNOX-970] - Add NiFi HA dispatch to service def (Jeff Storck via lmccay)
210    * [KNOX-970] - Add support for proxying NiFi (Jeff Storck via lmccay)
211    * [KNOX-842] - Add support for Livy (Spark REST Service).
212    * [KNOX-1017] - Add support for enabling "Strict-Transport-Security" header in Knox responses (Latha Appanna via lmccay)
213    * [KNOX-1049] - Default Service or App Context for Topologies
214    * [KNOX-1041] - High Availability Support For Apache SOLR, HBase & Kafka (Rick Kellogg via Sandeep More)
215    * [KNOX-1046] - Add Client Cert Wanted Capability with Configurable Validation that Checks for It
216    * [KNOX-1072] - Add Client Cert Required Capability to KnoxToken
217    * [KNOX-1107] - Remote Configuration Registry Client Service (Phil Zampino via lmccay)
218    * [KNOX-1128] - Readonly protection for generated topologies in Knox Admin UI
219    * [KNOX-1013] - Monitor Ambari for Cluster Topology changes (Phil Zampino via lmccay)
220    * [KNOX-1136] - Provision Consistent Credentials For Generated Topologies (phil zampino via lmccay)
221    * [KNOX-1129] - Remote Configuration Monitor Should Define The Entries It Monitors If They're Not Yet Defined (Phil Zampino via lmccay)
222    * [KNOX-1125] - KNOXCLI Additions to Support Management of Knox config in remote registry (Phil Zampino via Sandeep More)
223 ** Improvement
224    * [KNOX-921] - Httpclient max connections are always set to default values
225    * [KNOX-1106] - Tighten the rewrite rule on oozieui to reduce false positives (Wei Han via Sandeep More)
226    * [KNOX-1104] - Test to verify behavior of HaProvider service with only a single URL ( Phil Zampino via Sandeep More)
227    * [KNOX-1034] - Make Default identity-assertion provider actually be the default
228    * [KNOX-1078] - Add option to preserve original string when lookup fails in regex based identity assertion provider (Wei Han via Sandeep More)
229    * [KNOX-1049] - add unit test to gatewayfiltertest
230    * [KNOX-1076] - Update nimbus-jose-jwt to 4.41.2
231    * [KNOX-1049] - check for null topology to avoid NPE in tests
232    * [KNOX-1088] - Remove LDAP BaseDirectoryService*
233    * [KNOX-1073] - Upgrade PAC4J to a more recent version
234    * [KNOX-1001] - Knox Shell Sqoop.Request class is Package Private (Andrei Viaryshka via lmccay)
235    * [KNOX-1021] - Should handle empty string for endpoint token service audience list
236    * [KNOX-1082] - Add support to validate the "nbf" claim for JWTs
237    * [KNOX-1067] - Support different signature algorithms for JWTs
238    * [KNOX-1045] - Knox Token Service has a trailing whitespace for the token_type attribute
239    * [KNOX-1081] - Remove Picketlink Provider Module
240    * [KNOX-895] - Pass Headers and Cookies to websocket backend
241    * [KNOX-1064] - Externalize Hadoop Service Configuration Details and Service URL Creation (Phil Zampino via Sandeep More)
242    * [KNOX-1070] - Drop support for Java 7 (Rick Kellogg via Sandeep More)
243    * [KNOX-1075 and KNOX-1070] - Enforce minimum maven and Java version (Rick Kellogg via Sandeep More)
244    * [KNOX-1048] - Knoxshell samples missing hadoop-examples.jar
245    * [KNOX-1069] - KnoxSSO token audience config should trim values
246    * [KNOX-1055] - Spark page characters & should be treated as a delimiter (Mars via Sandeep More)
247    * [KNOX-1074] - Workflow Manager view fails to load when using ambari through KNOX (Venkatasairam Lanka via lmccay)
248    * [KNOX-1071] - Replace java.util.Random with SecureRandom
249    * [KNOX-1014] - remove extraneous directory
250    * [KNOX-1065] - Add some unit tests for the DefaultTokenAuthorityService
251    * [KNOX-1060] - JWT.getExpires() returns null
252    * [KNOX-1058] - Fix JWTToken.parseToken
253    * [KNOX-1036] - Fix a number of issues relating to JWTokenAuthority
254    * [KNOX-1054] - Make DefaultURLManager thread-safe (Phil Zampino via Sandeep More)
255    * [KNOX-1052] - Add some tests for the Knox SSO Service
256    * [KNOX-1049] - Default Service or App Context for Topologies
257    * [KNOX-1042] - Fix test timeout (Phil Zampino via Sandeep More)
258    * [KNOX-1047] - Add some tests for the Knox Token Service
259    * [KNOX-1044] - Change Rest Assured "expect" to "then"
260    * [KNOX-1038] - Replace deprecated rest-assured "content" call with "body"
261    * [KNOX-1037] - Upgrade rest-assured dependency
262    * [KNOX-1035] - Move JWTTokenTest to gateway-spi module + add more tests
263    * [KNOX-1027] - Add support to configure the issuer for the JWT filters
264    * [KNOX-1028] - X-Frame-Options and other security headers are ineffective
265    * [KNOX-962] - Add signature validation tests for the JWT filters
266    * [KNOX-1024] - Add Kafka test to GatewayBasicFuncTest
267    * [KNOX-1020] - Minor code improvements
268    * [KNOX-1019] - Remove test-driver "hack" to copy services
269    * [KNOX-1018] - Remove junit.framework calls
270    * [KNOX-738] - Remove references to deprecated httpclient class DefaultHttpClient
271    * [KNOX-963] - Use GatewayTestDriver to configure LDAP in gateway-tests
272    * [KNOX-978] - Add a test for the SOLR REST API
273    * [KNOX-989] - Report metrics at service level (/webhdfs/v1) instead of url with args (/webhdfs/v1/?op=LISTSTATUS) (Mohammad Kamrul Islam via Sandeep More)
274    * [KNOX-993] - The samples README for knoxshell references the 0.5.0 userguide
275    * [KNOX-992] - Add README for the knoxshell distribution (Colm O hEigeartaigh and lmccay via lmccay)
276    * [KNOX-1119] - Pac4J OAuth/OpenID Principal Needs to be Configurable (Andreas Hildebrandt via lmccay)
277    * [KNOX-1120] - Pac4J Stop Using ConfigSingleton
278    * [KNOX-1128] - Readonly protection for generated topologies in Knox Admin UI
279    * [KNOX-1083] - HttpClient default timeout will be 20 sec
280    * [KNOX-1124] - Service Discovery Doesn't Work For Simple Descriptors With .yaml Extension (Phil Zampino  via Sandeep More)
281    * [KNOX-1117] - HostMap Provider configuration comment in topologies included with Knox has typos (Phil Zampino via Sandeep More)
282    * [KNOX-1119] - Add missing tests for valid and invalid id attributes
283    * [KNOX-1128] - Readonly protection for generated topologies in Knox Admin UI
284 ** Bug
285    * [KNOX-1003] - Fix the rewrite rules for Zeppelin 0.7.2 UI
286    * [KNOX-1004] - Failing (flaky) Knox unit tests
287    * [KNOX-1005] - WebHbase get rid of extra decoding
288    * [KNOX-1061] - KnoxSSO Redirects with Query Params in the OriginalUrl Broken
289    * [KNOX-1068] - Add support for HTTP Head request
290    * [KNOX-1079] - Regression: proxy for Atlas fails with j_spring_security_check during login (Madhan Neethiraj via lmccay)
291    * [KNOX-1022] - Configuring knox token ttl to higher value generates an access token which is not valid
292    * [KNOX-1118] - Remove POC Service Definition for AmbariUI
293    * [KNOX-1134] - Regression due to KNOX-1119
294    * [KNOX-1132] - Address Coverity Defects in gateway-service-remoteconfig (Phil Zampino via lmccay)
295    * [KNOX-1139] - Fix threapool size for UnitTests (Attila Csoma via Sandeep More)
296
297 ------------------------------------------------------------------------------
298 Release Notes - Apache Knox - Version 0.13.0
299 ------------------------------------------------------------------------------
300 ** New Feature
301    * [KNOX-976] - Add Jupyter Kernel Gateway Service Definitions (Jesus Alvarez via lmccay)
302    * [KNOX-626] - NameNode UI through Knox has various tabs not working
303    * [KNOX-975] - Add NodeManager Service Definition
304    * [KNOX-982] - Datanode JMX REST Knox service
305    * [KNOX-974] - Update HDFS UI services
306    * [KNOX-973] - Update Yarn UI services
307    * [KNOX-786] - Spark Thriftserver UI support through Knox (Chandana Mirashi via lmccay)
308    * [KNOX-981] - Make Topology Instance Available in WebContext for Runtime Access
309    * [KNOX-788] - Apache Atlas Admin UI Support through Knox (Nixon Rodrigues via Sandeep More)
310    * [KNOX-789] - Apache Atlas REST API support (Nixon Rodrigues via Sandeep More)
311    * [KNOX-940] - Support REST access exposing metrics (Mohammad Kamrul Islam via Sandeep More)
312    * [KNOX-932] - Option to remove the server-name from HTTP-header response (Lawrence McCay IV via lmccay)
313    * [KNOX-768] - Apache Kafka REST API Support (Rick Kellogg via Sandeep More)
314    * [KNOX-751] - Need rewrite function to capture href information from single page host to rewrite output of node hosts (Jeffrey E Rodriguez via lmccay)
315    * [KNOX-928] - Support Default Topology Feature and some misc fixes
316    * [KNOX-928] - Topology Port Mapping Feature
317    * [KNOX-938] - JWTProvider to accept Query Param as well as Bearer Token
318    * [KNOX-390] - extended to include proxy provided headers such as X-Forwarded-For
319    * [KNOX-390] - Include client IP and HTTP verb in audit log
320 ** Improvement
321    * [KNOX-909] - Ambari rewrite update for SmartSense
322    * [KNOX-910] - Move from SHA-1 to SHA-256 (Jeffrey E Rodriguez via Sandeep More)
323    * [KNOX-917] - Fix Pig view in Ambari (Gaurav Nagar via Sandeep More)
324    * [KNOX-920] - Make avatica service use default policies
325    * [KNOX-923] - Add ClientData to KnoxToken Service to Include in JSON Response
326    * [KNOX-911] - Ability to scope cookies to a given Path (Attila Kanto via lmccay)
327    * [KNOX-892] - Fix FindBugs "Dodgy Code" issues (Colm O hEigeartaigh via lmccay)
328    * [KNOX-816] - Make private inner classes static (Colm O hEigeartaigh via lmccay)
329    * [KNOX-849] - Fix SimplePrincipalMapper and CommonIdentityAssertionFilter
330    * [KNOX-930] - ScopingCookies Feature Logging too Much
331    * [KNOX-939] - Missing Licenses Element in POM files
332    * [KNOX-937] - Remove redundant type information from Collections (Colm O hEigeartaigh via Sandeep More)
333    * [KNOX-944] - Make PBE Hashing, Iteration Count and Salt Configurable and Manageable
334    * [KNOX-942] - Remove extraneous spaces around '=' (Colm O hEigeartaigh via lmccay)
335    * [KNOX-948] - Refactor AbstractJWTFilter implementations (Colm O hEigeartaigh via lmccay)
336    * [KNOX-928] - minor fix for templating of ConcurrentHashMap usage
337    * [KNOX-952] - Add common tests for the two JWT filters (Colm O hEigeartaigh via lmccay)
338    * [KNOX-946] - Spelling (Colm O hEigeartaigh via Sandeep More)
339    * [KNOX-954] - Properly handle parsing errors for JWT tokens
340    * [KNOX-956] - Consolidate ldif files in gateway-tests  (Colm O hEigeartaigh via Sandeep More)
341    * [KNOX-957] - Remove hard-coded versions from gateway-test-release (Colm O hEigeartaigh via Sandeep More)
342    * [KNOX-947] - SSOCookieProvider to be configurable for signature verification key/PEM
343    * [KNOX-958] - Consolidate test config/drivers (Colm O hEigeartaigh via Sandeep More)
344    * [KNOX-759] - jansi dependency causes issues starting knox shell (Colm O hEigeartaigh via lmccay)
345    * [KNOX-964] - upgrade to httpclient 4.5.3 to avoid licensing issues HTTPCLIENT-1743/LEGAL-240 (Jeffrey E Rodriguez via lmccay)
346    * [KNOX-965] - SecureQueryDecryptProcessor decode call could return null thus it would get a NPE (Jeffrey E Rodriguez via lmccay)
347    * [KNOX-967] - Duplicate dependencies defined in root pom (Colm O hEigeartaigh via lmccay )
348    * [KNOX-776] - Rewrite rule handling for Websockets (Jesus Alvarez via Sandeep More)
349    * [KNOX-977] - Exclude extraneous bundle.map in admin-ui file from release
350    * [KNOX-789] - Add specific policy definition to Atlas (Nixon Rodrigues via lmccay)
351    * [KNOX-972] - Update Hbase UI service (Jeffrey E Rodriguez via lmccay)
352    * [KNOX-986] - JMX Metric Reporter and OutOfMemory Issues (Zsombor Gegesy via Sandeep More)
353 ** Bug
354    * [KNOX-908] - Update copyright in NOTICE file
355    * [KNOX-918] - Static Member for redirectToUrl in Shiro RedirectToFilter
356    * [KNOX-913] - Invalid login.jsp redirect for Ranger Admin UI
357    * [KNOX-936] - On websocket error properly close all the sessions and containers.
358    * [KNOX-933] - PicketLink Provider must set Secure and HTTPOnly flags on Cookie (Krishna Pandey via lmccay)
359    * [KNOX-950] - Fix a bug that prevents wss:// protocol from connection to websocket backend.
360    * [KNOX-960] - Fix build failures
361    * [KNOX-966] - NPE when Shiro is misconfigured (Rob Vesse via lmccay)
362    * [KNOX-754] - Revert KNOX-754 scope change to just the Location header"
363    * [KNOX-690] - Revert KNOX-690 fixing the encoding/decoding in the parser and template
364    * [KNOX-949] - WeBHDFS proxy replaces %20 encoded spaces in URL with + encoding
365    * [KNOX-995] - KnoxSSO Form IDP Issue with Firefox
366    * [KNOX-992] - Add README for the knoxshell distribution (Colm O hEigeartaigh and lmccay via lmccay)
367    * [KNOX-993] - The samples README for knoxshell references the 0.5.0 userguide
368    * [KNOX-994] - Introducing a new variable that enhances the function, needed for Zeppelin / fix
369
370 ------------------------------------------------------------------------------
371 Release Notes - Apache Knox - Version 0.12.0
372 ------------------------------------------------------------------------------
373 ** New Feature
374     * [KNOX-841] - Proxy support for Solr UI and API
375     * [KNOX-719] - YARN RM HA implementation for REST API and UI (Jeffrey E Rodriguez and Sumit Gupta)
376     * [KNOX-848] - Support for Gremlin Server REST (Shi Wang via Sumit Gupta)
377     * [KNOX-861] - Support for pluggable validator for Header pre authentication provider (Mohammad Kamrul Islam via Sandeep More)
378     * [KNOX-850] - KnoxToken API for Acquiring a Knox Access Token
379     * [KNOX-710] - Support Zeppelin UI through Knox
380     * [KNOX-865] - Added a release module for KnoxShell
381     * [KNOX-881] - Add KnoxSh init, list and destroy to knoxshell.sh
382 ** Improvement
383     * [KNOX-841] - Changed version number for Solr proxy support
384     * [KNOX-890] - Make IdleTimeout Configurable in Knox Gateway Server (make default 5 mins)
385     * [KNOX-890] - Make IdleTimeout Configurable in Knox Gateway Server
386     * [KNOX-845] - refactoring for the release tests
387     * [KNOX-868] - Add /ext/native to java.library.path in gateway.sh (Mohammad Kamrul Islam via Sandeep More)
388     * [KNOX-869] - Support for multiple pre-auth validaors (Mohammad Kamrul Islam via Sandeep More)
389     * [KNOX-839] - new ant tasks to help with admin-ui development
390     * [KNOX-873] - JWTFederationFilter must Validate Expected Audiences
391     * [KNOX-874] - Updated hadoop dependency in root pom
392     * [KNOX-864] - Making gateway and ldap scripts upstart compatible (Attila Kanto via Sumit Gupta)
393     * [KNOX-854] - Consolidate DocumentBuilderFactory calls + enable SECURE_PROCESSING (Colm O hEigeartaigh via Sumit Gupta)
394     * [KNOX-828] - Adding truncate for HBase table in KnoxShell (Vincent Devillers via Sumit Gupta)
395     * [KNOX-845] - Added webhdfs groovy shell tests using MiniDFSCluster
396     * [KNOX-806] - Implement Closeable for deallocable resources (Vincent Devillers via Sumit Gupta)
397     * [KNOX-805] - ability to define custom HttpClient (Vincent Devillers via Sumit Gupta)
398     * [KNOX-809] - Enhance the 'put' in HFDS for ClientDSL (Vincent Devillers via Sumit Gupta)
399     * [KNOX-810] - Add status in HDFS for ClientDSL (Vincent Devillers via Sumit Gupta)
400     * [KNOX-813] - Added rename in HDFS for ClientDSL (Vincent Devillers/Khanh Maudoux via Sumit Gupta)
401     * [KNOX-858] - Simplifying Hamcrest dependencies (Colm O hEigeartaigh via Sumit Gupta)
402 ** Bug
403     * [KNOX-876] - Fix FindBugs "Experimental" issues (Colm O hEigeartaigh via lmccay)
404     * [KNOX-883] - Fix FindBugs "Correctness" issues (Colm O hEigeartaigh via lmccay)
405     * [KNOX-730] - pac4jRequestedUrl = null after saml2 assertion is parsed
406     * [KNOX-879] - Fix url encoding issue for KnoxSSO
407     * [KNOX-875] - Added version element to topology schema (Jeffrey E Rodriguez via Sandeep More)
408     * [KNOX-866] - Fix validate-topology cli command (Richard Ding via Sandeep More)
409     * [KNOX-863] - Consolidate TransformerFactory calls + enable (Colm O hEigeartaigh via Sandeep More)
410     * [KNOX-877] - Coverity Scan Cleanup
411     * [KNOX-871] - Fix FindBugs -  Malicious code vulnerability (Colm O hEigeartaigh via Sandeep More)
412     * [KNOX-769] - Fix SecureClusterTest for Java 1.7
413     * [KNOX-867] - Fix FindBugs, bad practice issues (Colm O hEigeartaigh via Sandeep More)
414     * [KNOX-838] - Admin UI title change
415     * [KNOX-820] - Changed the originalUrl parsing so that multiple query params get included
416     * [KNOX-859] - Added rule for app.*.js, extensions, jax, and components (Prabhjyot Singh via Sandeep More)
417     * [KNOX-855] - Add application/x-javascript mime type to the list of compressed resources and make it configurable
418     * [KNOX-836] - Fix for websocket termination based on message size (Sandeep More via Sumit Gupta)
419     * [KNOX-903] - KnoxShell allows self signed certs to be used without any checks
420     * [KNOX-900] - In the WebsocketMultipleConnectionTest before sending data check whether the socket is active
421     * [KNOX-897] - X-Forwarded-Port incorrectly defaults to the one configured for Knox if standard ports (80 and 443) are used (Attila Kanto via Sandeep More)
422         * [KNOX-901] - Finding free ports for namenode
423         * [KNOX-902] - Fix the hardcoded knoxsso topology name (Attila Kanto via Sandeep More)
424         * [KNOX-904] - Reverting back httpclient to 4.5.1 due to bug in 4.5.2
425     * [KNOX-905] - added httpclient properties to knoxshell log4j properties file
426         * [KNOX-906] - Log WARN of Removed Impersonation Params
427     * [KNOX-907] - Ambari Hive 2.0 view fix
428
429 ------------------------------------------------------------------------------
430 Release Notes - Apache Knox - Version 0.11.0
431 ------------------------------------------------------------------------------
432 ** New Feature
433     * [KNOX-643] - Initial metrics api and implementation
434     * [KNOX-237] - Hadoop Group Mapping as a Knox Provider (Sandeep More via lmccay)
435     * [KNOX-817] - Gateway service definition for Avatica (Josh Elser via lmccay)
436     * [KNOX-528] - Support for Apache SOLR REST APIs (Kevin Risden, John McParland via lmccay)
437     * [KNOX-758] - Druid services (Nishant Bangarwa via Sumit Gupta)
438     * [KNOX-749] - Initial admin UI source project and productized distribution
439 ** Improvement
440     * [KNOX-744] - Logout for KnoxSSO WebSSO API
441     * [KNOX-795] - Make KnoxSSO Cookie Name Configurable
442     * [KNOX-763] - Added rewrite filter apply capability to text values in html content
443 ** Bug
444     * [KNOX-779] - Exclude older org.codehaus.jackson dependencies from build cycle
445     * [KNOX-785] - Update Apache Shiro dependency (Colm O hEigeartaigh via lmccay)
446     * [KNOX-780] - Remove dependency on SNAPSHOT version of hadoop-common-test jar
447     * [KNOX-790] - URL parameters with empty/null value are ignored (Nishant Bangarwa via lmccay)
448     * [KNOX-713] - Knox Shell HDFS.get.Response is Package Private
449     * [KNOX-792] - Fix FindBugs "performance" issues - Colm O hEigeartaigh via lmccay
450     * [KNOX-812] - WebSSOResource doesn't make use of target audiences
451     * [KNOX-803] - Adding rewrite rules for Map Reduce History Server UI (Shi Wang via lmccay)
452     * [KNOX-820] - Knox query processing: If the originalUrl value has "ampersand"(&) in it, the value after ampersand is ignored.
453     * [KNOX-826] - Need favicon icon for Admin UI
454     * [KNOX-757] - shiro related log4j properties (John McParland via Sumit Gupta)
455     * [KNOX-784] - Fix for httpclientconnection metric naming conflict
456     * [KNOX-763] - Added import rewrite function for html content containing @import
457     * [KNOX-763] - Missing function files
458     * [KNOX-767] - Fix for CDATA handling (Jeffrey E Rodriguez via Sumit Gupta)
459     * [KNOX-791] - XML attribute special character fix and unit test (Sandeep More via Sumit Gupta)
460     * [KNOX-818] - created new jaxb beans for REST API
461     * [KNOX-804] - custom cache manager class
462     * [KNOX-824] - Added WebAppSec provider capability to Jersey service deployments
463     * [KNOX-825] - setting to turn off directory browsing
464     * [KNOX-826] - added the icon to the source project as well
465     * [KNOX-827] - added manager topology
466     * [KNOX-830] - Admin UI Fails to Authenticate with KnoxSSO
467
468 ------------------------------------------------------------------------------
469 Release Notes - Apache Knox - Version 0.10.0
470 ------------------------------------------------------------------------------
471 ** New Feature
472     * [KNOX-752] - Implementation of initial websocket support (Sandeep More via Sumit Gupta)
473     * [KNOX-537] - Linux PAM Authentication Provider (jeffreyr97/hkropp via lmccay)
474 ** Improvement
475     * [KNOX-743] - Add submitSqoop via knox shell api
476     * [KNOX-729] - added filter apply capability to html content
477     * [KNOX-764] - initial service definition registry service
478     * [KNOX-644] - Limit/page results of LDAP group membership search (Kevin Risden via lmccay)
479     * [KNOX-733] - Add support for custom truststore to Knox shell client
480 ** Bug
481     * [KNOX-723] - Adding html content based filter for main page trailing slash issue
482     * [KNOX-765] - Namenode UI fails to download few js and css (Mohammad Kamrul Islam via lmccay)
483     * [KNOX-629] - Misleading output for system-user-auth-test when userSearchBase used
484     * [KNOX-753] - Update References to Docs in README for Latest Release
485     * [KNOX-762] - Remove dependency on httpcomponents httpclient 4.5.2
486     * [KNOX-756] - Build failure with "ant release"
487     * [KNOX-754] - encoding response headers
488     * [KNOX-732] - Knox does not recompress javascript resources (Sandeep More via lmccay)
489     * [KNOX-748] - Fix Resource Leak in X509CertificateUtil.writeCertificateToJKS (Sandeep More via lmccay)
490     * [KNOX-750] - Change test-patch to attempt -p0 and -p1 patches before failing
491     * [KNOX-740] - Address new coverity scan issues (Sandeep More via lmccay)
492     * [KNOX-742] - Export Commands in KnoxCLI for the gateway-identity Public Cert
493     * [KNOX-690] - quick unit test for toEncodedString method
494     * [KNOX-690] - fixing the encoding/decoding in the parser and template
495     * [KNOX-508] - knox to uptake Apache DS 2.0.0-M16 or later
496
497 ------------------------------------------------------------------------------
498 Release Notes - Apache Knox - Version 0.9.1
499 ------------------------------------------------------------------------------
500 ** New Feature
501 ** Improvement
502     * [KNOX-711] Added the ability to scope rewrite rules
503 ** Bug
504     * [KNOX-705] - Views in Ambari UI don't render when proxied by the AMBARIUI service
505     * [KNOX-705] - Improvement on 404 error messages with ambari views
506     * [KNOX-705] - rules to support view changes in Ambari
507     * [KNOX-712] - submitPig does not allow multiple argument via arg() (Pierre Regazzoni via lmccay)
508     * [KNOX-713] - Knox Shell HDFS.get.Request is Package Private (Chris Snow via lmccay)
509     * [KNOX-714] - Remove Permissive MIT License from NOTICE File
510     * [KNOX-715] - submitJava should allow multiple argument via arg() (Pierre Regazzoni via lmccay)
511     * [KNOX-716] - replayBufferSize is kept in bytes
512     * [KNOX-717] - changed the location header in RANGERUI rewrite to be more specific
513     * [KNOX-721] - added rewrite rules to take care of no slash url
514     * [KNOX-721] - added rewrite rules to take care of no slash url
515     * [KNOX-721] - Loosening up the match criteria as the Location header coming back from Ranger is not always correct
516     * [KNOX-722] - Null Pointer Exception while Knox SSO configured for OKTA/SAML v2
517     * [KNOX-722] - changed KnoxSessionStore to not base64 empty cookie value
518     * [KNOX-722] - Null Pointer Exception while Knox SSO configured for OKTA/SAML v2
519     * [KNOX-723] - qualifying the login page resources with the frontend path
520     * [KNOX-724] - ambari view fixes
521     * [KNOX-725] - defining policy chain for ambari and ranger services
522     * [KNOX-726] - Clean up Skipped Unit Tests
523     * [KNOX-731] - added ranger and ambari services to topology
524
525 ------------------------------------------------------------------------------
526 Release Notes - Apache Knox - Version 0.9.0
527 ------------------------------------------------------------------------------
528 ** New Feature
529     * [KNOX-66] - Ambari REST API support
530     * [KNOX-668] - Ranger UI proxy support with related REST API support changes
531     * [KNOX-669] - Adding support for anonymous authentication
532     * [KNOX-670] - Knox should be able to host simple web apps
533     * [KNOX-673] - Ambari UI proxy support with related REST API support changes
534     * [KNOX-674] - Expose Jetty's SSL cipher suite configuration via gateway-site.xml
535     * [KNOX-692] - Enable Jetty's JSP support in Knox hosted applications.
536     * [KNOX-686] - Default Form based SSO IDP as an Application
537     * [KNOX-697] - Identity asserter provider that supports case mapping for users and groups
538     * [KNOX-700] - Add Clickjacking Protection to WebAppSec Provider
539
540 ** Improvement
541     * [KNOX-630] - KnoxSSO Needs to Populate Configured Audiences
542     * [KNOX-631] - Config Driven Keystore for Signing and Validation Certs in KnoxSSO
543     * [KNOX-662] - Change pac4j-knoxsso.xml Template to Reflect new Requirements
544     * [KNOX-667] - Added maven profile and updated ant targets
545     * [KNOX-667] - changed nested release profile to match 'package' profile
546     * [KNOX-677] - Upgrade to latest Groovy
547     * [KNOX-675] - Upgrade Knox's Jetty dependency to latest 9.x
548     * [KNOX-674] - Expose Jetty's SSL cipher suite configuration via gateway-site.xml
549     * [KNOX-675] - Upgrade Knox's Jetty dependency to latest 9.x
550     * [KNOX-675] - Upgrade Knox's Jetty dependency to latest 9.x. Fix circular dependency.
551     * [KNOX-676] - Knox build failures. Attempt 1.
552     * [KNOX-676] - Knox build failures. Attempt 2.
553     * [KNOX-676] - Knox build failures. Attempt 3.
554     * [KNOX-677] - Upgrade to latest Groovy. (via Colm O hEigeartaigh)
555     * [KNOX-678] - Malformed UTF-8 characters in JSON Response
556     * [KNOX-679] - Make ResponseCookieFilter Configurable
557     * [KNOX-680] - Update Knox's HttpClient dependency to latest version
558     * [KNOX-680] - Revert - Update Knox's HttpClient dependency to latest version"
559     * [KNOX-688] - KnoxSSO Authentication should not result in a valid JSESSIONID
560     * [KNOX-692] - Enable Jetty's JSP support in Knox hosted applications.
561     * [KNOX-693] - KnoxSSO Token Expiration should be Optional
562     * [KNOX-693] - added test for SSOCookieProvider and no expiry time
563     * [KNOX-694] - Enhance LDAP user search configurability
564     * [KNOX-695] - Expose configuration of HttpClient's connection and socket timeout settings
565     * [KNOX-697] - Identity asserter provider that supports case mapping for users and groups
566     * [KNOX-699] - External meta-data for simple hosted web apps
567     * [KNOX-701] - KnoxSSO Redirect Back to External App has CORS Problem for Form IDP
568     * [KNOX-702] - Templates for AD and Application Hosting Topologies
569
570 ** Bug
571     * [KNOX-169] - Test issue for patch test automation via PreCommit-Knox-Build job
572     * [KNOX-658] - adding additional dependency as provided
573     * [KNOX-660] - Incompatible Dependencies in Pac4j Provider
574     * [KNOX-660] - Revert j2e-pac4j upgrade
575     * [KNOX-661] - NPE in Pac4j Provider when clientName Parameter is Missing
576     * [KNOX-665] - Credential Collectors and Samples Prompting with Double Colons
577     * [KNOX-681] - A PUT with Content-Type application/xml but no body causes NullPointerException
578     * [KNOX-681] - Revert - A PUT with Content-Type application/xml but no body causes NullPointerException"
579     * [KNOX-683] - Test failing due to port conflicts
580     * [KNOX-684] - Increase test timeouts for failing tests
581     * [KNOX-684] - Increase test timeouts for failing tests. Part 2.
582     * [KNOX-685] - Knox tests cleanup after Jetty 9 upgrade
583     * [KNOX-687] - Address new Coverity Scan issues    
584     * [KNOX-689] - Applications Deployment Contributor can't find service.xml
585     * [KNOX-689] - Revert - Applications Deployment Contributor can't find service.xml    
586     * [KNOX-704] - Remove bogus sleep() from knoxauth redirecting.html
587     * [KNOX-706] - KnoxSSO Default IDP must not require specific URL
588     * [KNOX-707] - Enter Key within KnoxSSO Default IDP Form does not Submit
589     * [KNOX-708] - Wrong CSS link in KnoxAuth Application's redirecting.html
590     * [KNOX-709] - HBase request URLs must not be URL encoded
591
592 ------------------------------------------------------------------------------
593 Release Notes - Apache Knox - Version 0.8.0
594 ------------------------------------------------------------------------------
595 ** New Feature
596     * [KNOX-641] - Support CAS / OAuth / OpenID C / SAML protocols using pac4j - (Jérôme Leleu via lmccay)
597 ** Improvement
598     * [KNOX-502] - Invalid requests (404s) should be logged and audited
599     * [KNOX-519] - Prompt user to provide password, rather providing as an argument to knoxcli cmd (J.Andreina via lmccay)
600     * [KNOX-647] - Rename LDAP artifacts from test to demo
601     * [KNOX-650] - Add posixGroups support for LDAP groups lookup
602     * [KNOX-651] - getting rid of warning for missing bundle version
603     * [KNOX-651] - Moving some tests to integration-test phase
604     * [KNOX-651] - made the secure tests multi module
605     * [KNOX-652] - Remove hsso-release module from build
606     * [KNOX-651] - Attempt number 2 to fix the jenkins build
607     * [KNOX-651] - Attempt to fix Jenkins build error
608     * [KNOX-651] - Fixed gateway-test-release module id
609     * [KNOX-651] - Initial changes to add a 'release' test project
610     * [KNOX-650] - Add posixGroups support for LDAP groups lookup
611     * [KNOX-655] - Pac4j Provider Client Selection from client_name Query Parameter (Jérôme Leleu via lmccay)
612     * [KNOX-658] - updated hadoop dependencies for jdk8 support
613     * [KNOX-658] - slight change to the way JAXB works in JDK8
614     * [KNOX-659] - Default Keystore Details in Pac4j Provider SAML Config to Gateway Identity
615 ** Bug
616     * [KNOX-507] - Deletion of Non existing Alias from a cluster should not be successful (J.Andreina via lmccay)
617     * [KNOX-589] - Fixing Jericho java.lang.IllegalStateException (Jeffrey E Rodriguez via Sumit Gupta)
618     * [KNOX-594] - Stopping HS2 'SET-COOKIE' header to go back and managing 'hive.server2.auth' cookie
619     * [KNOX-656] - Test GatewayLdapPosixGroupFuncTest failing intermittently
620     * [KNOX-657] - _default Topology Must Redeploy After Restart
621     * [KNOX-660] - Incompatible Dependencies in Pac4j Provider
622     * [KNOX-661] - NPE in Pac4j Provider when clientName Parameter is Missing
623     * [KNOX-662] - Change pac4j-knoxsso.xml Template to Reflect new Requirements
624     * [KNOX-660] - Revert j2e-pac4j upgrade
625
626 ------------------------------------------------------------------------------
627 Release Notes - Apache Knox - Version 0.7.0
628 ------------------------------------------------------------------------------
629 ** New Feature
630     * [KNOX-476] - implementation for X-Forwarded-* headers support and population
631     * [KNOX-547] - KnoxCLI adds new validate-topology and list-topologies commands.
632     * [KNOX-548] - KnoxCLI adds a new system-user-auth-test command to test a topology's system username and password
633     * [KNOX-549] - Test service connections through Knox with Knox CLI
634     * [KNOX-549] - New Service-Test API can be added to topology. Accessible via Http call or KnoxCLI
635     * [KNOX-560] - Test LDAP Authentication+Authorization from KnoxCLI
636     * [KNOX-565] - Supporting All the Quick Links on Ambari Dashboard to Go Through Knox
637     * [KNOX-579] - Regex based identity assertion provider with static dictionary lookup
638     * [KNOX-602] - JWT/SSO Cookie Based Federation Provider
639     * [KNOX-602] - protect against NPE in audience validation
640     * [KNOX-604] - Expose configuration of HttpClient's max connections per route setting
641     * [KNOX-611] - Expose configuration for Jetty's thread pool and connection queue
642     * [KNOX-624] - Expose configuration for Jetty's request and response buffer sizes
643     * [KNOX-625] - initial template file for topology using ui proxy services
644     * [KNOX-634] - CORS Support as Part of WebAppSec Provider
645
646 ** Improvement
647     * [KNOX-394] - Request and response URLs must be parsed as literals not templates. Part 2.
648     * [KNOX-394] - Request and response URLs must be parsed as literals not templates
649     * [KNOX-534] - auditing shiro authentication exceptions
650     * [KNOX-538] - Log some important system properties at startup
651     * [KNOX-539] - add message to identity mapping audit entries
652     * [KNOX-545] - Simplify Keystore Management for Cluster Scaleout
653     * [KNOX-546] - Consuming intermediate response during kerberos request dispatching
654     * [KNOX-566] - Make the Default Ephemeral DH Key Size 2048 for TLS
655     * [KNOX-553] - Added topology validation from KnoxCLI to TopologyService deployment.
656     * [KNOX-558] - HttpClient connections are not always returned to the pool for HBase on Windows
657     * [KNOX-559] - renaming service definition files
658     * [KNOX-561] - Allow Knox pid directory to be configured via the knox-env.sh file
659     * [KNOX-573] - KNOX-574 make SecureOnly and MaxAge configurable for SSO
660     * [KNOX-575] - Adds more logging for ShiroProvider LDAP Authentication.
661     * [KNOX-576] - CLI user-auth-test should print a message when a user successfully authenticates.
662     * [KNOX-564] - Topology deployment fails for no configured providers
663     * [KNOX-570] - added zookeeper lookup capability for HS2 HA
664     * [KNOX-580] - Initial refactoring out of default HA dispatch
665     * [KNOX-590] - CLI sys-user-auth-test and user-auth-test have improved messages and work for more Shiro configs
666     * [KNOX-590] - add more ShiroProvider configuration support to KnoxCLI sys-user-auth-test and user-auth-test
667     * [KNOX-593] - removed replayBufferSize and CappedBufferHttpEntity references
668     * [KNOX-593] - Moved SPNEGO code to httpclient
669     * [KNOX-596] - Add diagnostics to topology deployment
670     * [KNOX-597] - Improve diagnostic logging of HTTP traffic
671     * [KNOX-600] - setting all service params as filter params for dispatch
672     * [KNOX-607] - Fix SSOCookieProvider to Handle null Query Strings
673     * [KNOX-608] - Improve Knox read and write performance by tuning buffer sizes.
674     * [KNOX-609] - Add unit tests for the SSOCookieFederationProvider.
675     * [KNOX-610] - DefaultTokenService issueToken should never return null
676     * [KNOX-613] - Provide Credential Collector Abstraction to Client Shell
677     * [KNOX-615] - Domain Cookies cannot Wildcard IP Addresses
678     * [KNOX-617] - Add the use of CredentialCollectors to Samples
679     * [KNOX-621] - Simplify KnoxSSO API Resource Path
680     * [KNOX-622] - Misconfigured providers should cause topology deployment to fail
681     * [KNOX-635] - open up default whitelist for dev - localhost
682     * [KNOX-635] - Provide Whitelisting for Redirect Destinations for KnoxSSO
683     * [KNOX-640] - Make Cookie Domain Configurable
684
685 ** Bug
686     * [KNOX-394] - Request and response URLs must be parsed as literals not templates
687     * [KNOX-423] - XmlFilterReaderTest failed with IBM JVM JAVA
688     * [KNOX-447] - Incorrect parsing and expansion of valueless query params
689     * [KNOX-460] - UrlRewriteServletFilterTest failed with IBM JAVA
690     * [KNOX-544] - Knox process does not exit if startup fails due to credential store issues
691     * [KNOX-550] - reverting back to original hive kerberos dispatch behavior
692     * [KNOX-554] - Fixed support for gateway.path change + added support for X-Forward-* headers in admin topology API.
693     * [KNOX-555] - Prevent dispatch client from attempting retry and redirects
694     * [KNOX-556] - fix extraneous imports
695     * [KNOX-556] - provide better diagnostics for keystore failures
696     * [KNOX-562] - Fix Null pointer exceptions in KnoxCLI LDAP commands
697     * [KNOX-581] - Hive dispatch not propagating effective principal name
698     * [KNOX-582] - Query Parameter rewrite does not honor empty string value (jeffreyr via lmccay)
699     * [KNOX-584] - Fix for UT instability in GatewayBasicFuncTest.testCLIServiceTest
700     * [KNOX-598] - Concurrent JDBC clients via KNOX to Kerberized HiveServer2 causes HTTP 401 error (due to Kerberos Replay attack error)
701     * [KNOX-598] - Concurrent JDBC clients via KNOX to Kerberized HiveServer2 causes HTTP 401 error (due to Kerberos
702     * [KNOX-599] - Template with {**} in queries are expanded with =null for query params without a value
703     * [KNOX-601] - Knox test failures on windows
704     * [KNOX-601] - Knox test failures on windows
705     * [KNOX-603] - Coverity: Potential resource leak in BaseKeystoreService.createKeystore
706     * [KNOX-614] - Incorrect URI template expansion with {**} query params #fragments
707     * [KNOX-616] - XmlUrlRewriteStreamFilter unscapes escaped special characters
708     * [KNOX-616] - XmlUrlRewriteStreamFilter unscapes escaped special characters
709     * [KNOX-620] - Jenkins Knox-master-verify failing since #725 due to JDK version issues
710     * [KNOX-626] - Minor fix to namespace parsing
711     * [KNOX-623] - Gateway provider rewriter doesn't support boolean attributes in HTML.
712     * [KNOX-632] - added back configuration for 'replayBufferSize'
713     * [KNOX-632] - Oozie dispatch failing for secure clusters. Fix tests.
714     * [KNOX-632] - Oozie dispatch failing for secure clusters
715     * [KNOX-633] - Upgrade apache commons-collections
716     * [KNOX-637] - Compilation Error in gateway-service-admin and gateway-test test projects (arshad.mohammad via lmccay)
717     * [KNOX-636] - IdentityAsserterHttpServletRequestWrapper must override getUserPrincipal
718     * [KNOX-638] - Hive dispatch failing for secure clusters
719     * [KNOX-639] - Knoxcli.sh create-master should not allow empty strings
720
721 ------------------------------------------------------------------------------
722 Release Notes - Apache Knox - Version 0.6.0
723 ------------------------------------------------------------------------------
724 ** New Feature
725     * [KNOX-134] - Knox should avoid repeated LDAP authentication even if Shiro session is disabled.
726     * [KNOX-177] - Simplify service deployment contributor implementation
727     * [KNOX-185] - Use Shiro AuthenticationInfo caching to avoid repeated ldap bind
728     * [KNOX-195] - Simple way to introduce new service without requiring code
729     * [KNOX-473] - Configurable front end URL for simplified load balancer configuration
730     * [KNOX-481] - Support configuration driven REST API integration (aka Stacks)
731     * [KNOX-493] - Data and sub data directory should be made configurable. (Andreina J via lmccay)
732     * [KNOX-500] - Support for Storm REST APIs
733     * [KNOX-504] - Enable SSL Mutual Authentication
734     * [KNOX-521] - Enhance Principal Mapping to Handle Dynamic Mappings
735     * [KNOX-523] - Java 8 Compatibility
736     * [KNOX-524] - Support LDAP authentication caching
737     * [KNOX-532] - Update Knox build to use JDK 1.7
738
739 ** Improvement
740     * [KNOX-263] - Docs - User Guide list of Services missing straight MapReduce?
741     * [KNOX-291] - Improve audit for topology deployment process
742     * [KNOX-458] - Surface Config for Shiro LDAP Connection Pooling
743     * [KNOX-462] - Proper error message when root tag of topology file incorrect
744     * [KNOX-466] - Log exception stack traces at INFO level when they reach gateway servlet
745     * [KNOX-468] - Add default config to optimize LDAP group lookup
746     * [KNOX-471] - User's guide needs update after trying examples
747     * [KNOX-480] - KnoxCLI needs to print usage when alias not provided
748     * [KNOX-491] - Increase default replay buffer size to 8K
749     * [KNOX-492] - Support service level replayBufferLimit for Ozzie, Hive and HBase
750
751 ** Bug
752     * [KNOX-175] - Filter order in generated gateway.xml needs to be consistent
753     * [KNOX-343] - Knox PID directory does not exists on Ubuntu after reboot
754     * [KNOX-378] - Knox rewrites numbers in JSON to engineering notation
755     * [KNOX-464] - Location headers have wrong hostname when used behind load balancer
756     * [KNOX-465] - Initial audit record can contain leftover principal name
757     * [KNOX-467] - Unit tests failing on windows
758     * [KNOX-479] - Remove cacheManager configuration from template files
759     * [KNOX-494] - knox-env.sh script should print proper warning message , if JAVA is not set. (Andreina J via lmccay)
760     * [KNOX-501] - Avoid NPE , in case of passing invalid argument to KnoxCli.
761     * [KNOX-505] - Failure during removing credential from Cluster should exit with proper error message
762     * [KNOX-525] - Fix ServiceRegistry Persistence to deal with Upgrade from 0.4.0
763     * [KNOX-526] - Dispatch Refactoring Breaks Upgrade Compatibility
764     * [KNOX-529] - Wildcard Group Principal Mapping Not Working
765     * [KNOX-530] - Running Oozie jobs through Knox on a cluster with HDFS HA does not rewrite proper namenode host name.
766     * [KNOX-531] - Fix extraneous audit entries for wildcard group mappings
767
768 ** Sub-task
769     * [KNOX-483] - Implement service configuration 
770     * [KNOX-487] - Add policy information to Service Definitions
771     * [KNOX-510] - KnoxSSO API
772     * [KNOX-511] - Picketlink SAML Federation Provider
773     * [KNOX-533] - Add Version to KnoxSSO URL Patterns
774
775 ------------------------------------------------------------------------------
776 Release Notes - Apache Knox - Version 0.5.1
777 ------------------------------------------------------------------------------
778 ** Improvement
779   * [KNOX-470] - add README and site docs for samples
780
781 ** Bug
782     * [KNOX-467] - Unit tests failing on windows. Second attempt.
783     * [KNOX-467] - Unit tests failing on windows
784     * [KNOX-466] - Log exception stack traces at INFO level when they reach gateway servlet
785     * [KNOX-459] - added null checks to the closing of resultEnums to avoid NPEs
786     * [KNOX-465] - Initial audit record can contain leftover principal name
787     * [KNOX-459] - fixed LDAP connection leaks in KnoxLdapRealm
788     * [KNOX-464] - Location headers have wrong hostname when used behind load balancer
789     * [KNOX-468] - update group lookup topologies to configure cache manager
790
791 ------------------------------------------------------------------------------
792 Release Notes - Apache Knox - Version 0.5.0
793 ------------------------------------------------------------------------------
794 ** New Feature
795     * [KNOX-74] - Support YARN REST API access via the Gateway
796     * [KNOX-25] - KNOX should support authentication using SPNEGO from browser
797
798 ** Improvements
799     * [KNOX-455] - Configuration for Excluding SSL Protocols
800     * [KNOX-422] - provide support for IBM JVM - via Pascal Oliva
801     * [KNOX-437] - KnoxLdapContextFactory should be configured by default in all topology files
802     * [KNOX-88] - Support HDFS HA
803     * [KNOX-415] - Add some static group entires, associate some users with groups in user.ldif in the bundled Apache DS
804     * [KNOX-404] - GATEWAY_HOME/conf needs to be added to gateway server classpath
805     * [KNOX-402] - New GatewayService - TopologyService
806     * [KNOX-401] - Add service role request attribute
807     * [KNOX-355] - Support KNOX authentication provider based on hadoop.security.authentication.server.AuthenticationHandler
808     * [KNOX-353] - adding support for hadoop java client through redirection
809     * [KNOX-375] - add functional test for KNOX-242 find client bind dn using ldapsearch
810
811 ** Bug
812     * [KNOX-451] - WebHDFS HA failover does not account for URL of unsuccessful request
813     * [KNOX-414] - WebHDFS HA enablement in web.xml is sensitive to order of context listeners
814     * [KNOX-453] - HDFS HA not working for secure clusters
815     * [KNOX-450] - WebHDFS HA retry should also handle RetriableException scenarios
816     * [KNOX-442] - Align DSL with WebHCat REST API changes.
817     * [KNOX-448] - Remove Reference to ReflectiveOperationException
818     * [KNOX-446] - Disable unstable unit tests in WebHdfsHaFuncTest
819     * [KNOX-445] - Fix HaDescriptorManagerTest.testDescriptorStoring to be platform independent.
820     * [KNOX-444] - KnoxCLI Usability Improvements
821     * [KNOX-442] - Align Tests with Hive API Change
822     * [KNOX-441] - Ensure all pom.xml files reference junit so that excludeGroups work
823     * [KNOX-439] - URL pattern matching fails for default ports HTTP 80 and HTTPS 443
824     * [KNOX-418] - remove the Pseudo federation provider
825     * [KNOX-432] - Add Transfer_Encoding to EXCLUDE_HEADERS
826     * [KNOX-431] - Update ISSUES file for 0.5.0 release
827     * [KNOX-426] - change assertion provider name to Default
828     * [KNOX-428] - Prepare pom.xml files for publishing via mvn deploy.
829     * [KNOX-424] - Fix maven groupId
830     * [KNOX-432] - Add Transfer_Encoding to EXCLUDE_HEADERS
831     * [KNOX-410] - TopologyService Incorrect when _default Topology is Deployed
832     * [KNOX-424] - Fix maven groupId
833     * [KNOX-426] - change assertion provider name to Default
834     * [KNOX-425] - rename Pseudo identity assertion provider
835     * [KNOX-421] - optimize webhdfs file upload
836     * [KNOX-413] - Yarn responses with TrackingUrl in the body not getting blanked out
837     * [KNOX-349] - Completes JSON and XML support for PUT/GET of single topology and collection.
838     * [KNOX-410] - Set topology name back to original value after deploying _default topology
839     * [KNOX-349] - KNOX API for Topology Management. Support for deploy/undeploy topologies.
840     * [KNOX-406] - Add provider name to test topologies to prevent intermittent test failures
841     * [KNOX-403] - Optimize KnoxLdapRealm to reduce number of ldapsearches
842     * [KNOX-349] - Knox API for Topology Management. Adds default admin topology to install and negative tests.
843     * [KNOX-349] - Knox API for Topology Management. Initial step only supports GETs for topologies collection and single topology.
844     * [KNOX-398] - Func test for Knox server info REST API.
845     * [KNOX-366] - fixed stale pid detection again
846     * [KNOX-398] - initial contribution for the Knox management API
847     * [KNOX-396] - gateway.sh and ldap.sh status commands incorrect
848     * [KNOX-395] - POC for Jersey Topology Service from Knox
849     * [KNOX-350] - DOAP file for the Knox Project
850     * [KNOX-391-392] - KnoxLdapRealm should use LdapName.equals for groupDn compare
851     * [KNOX-389] - Knoxcli.cmd fails when space in JAVA_HOME
852     * [KNOX-387] - replace JndiLdapRealm with KnoxLdapRelam in unit tests and functional tests
853     * [KNOX-386] - update topology template files to use KnoxLdapRealm
854     * [KNOX-385] - removed the config element for path to forward to and derive the path from the default topology name instead
855     * [KNOX-383] - log computed bind dn and the mechanism to help diagnostics
856     * [KNOX-382] - fixed extraneous output in shell scripts
857     * [KNOX-381] - Expansion of authority only URL should not be prefixed with //
858     * [KNOX-377] - detect stale pid and allow ldap server to restart in its presence
859     * [KNOX-374] - KnoxLdapRealm does not default values correctly for userSearchBase and groupSearchBase
860     * [KNOX-373] - add unit tests to verify default values for userSearchBase, groupSearchBase
861     * [KNOX-372] - add unit tests to check default values for userSearchAttributeName, userObjectClass
862     * [KNOX-371] - group membership lookup need to use userdn computed by search
863     * [KNOX-369] - add support for new config param groupSearchBase
864     * [KNOX-368] - add support for new config param userSearchBase
865     * [KNOX-370] - add support for new config param userObjectClass
866     * [KNOX-367] - add support for new config param userSearchAttributeName
867     * [KNOX-366] - detect stale pid file a allow server start in its presence.
868     * [KNOX-362] - logging of startup failure due to missing master secret and inability to prompt for one
869     * [KNOX-361] - implicitly deploy the _default app for forwarding to the default topology
870     * [KNOX-358] - refactor redirecting servlet into a forwarding servlet
871     * [KNOX-310] - Parsing of JSON response for rewriting failing
872     * [KNOX-356] - change redirect servlet to use 307s instead of 302s
873     * [KNOX-354] - added PseudoAuthFederation Provider to accept user.name as proof of a pre-authenticated authentication event.
874     * [KNOX-344] - Updated Knox Hive samples to be consistent with Hive 0.13.
875
876 ------------------------------------------------------------------------------
877 Release Notes - Apache Knox - Version 0.4.0
878 ------------------------------------------------------------------------------
879
880 ** Improvements
881     * [KNOX-193] - document configuration to use AD as authentication source
882     * [KNOX-211] - Add classes KnoxLdapRealm, KnoxLdapContextFactory
883     * [KNOX-212] - provide sample topology files to work with KnoxLdapRealm
884     * [KNOX-214] - ShiroSubjectIdentityAdapter needs to map ldap groups looked up by shiro to java subject principals
885     * [KNOX-215] - enhance AbstractIdentityAssertionFilter to make use of ldap groups looked up by shiro
886     * [KNOX-216] - add functional tests to test ldap group lookup and usage
887     * [KNOX-217] - enhance KnoxLdapGroupRealm to accept password alias in place of plain text password
888     * [KNOX-221] - provide sample ldif file to work with KnoxLdapRealm
889     * [KNOX-225] - update sample ldif file with ldapgroups to work with apache ds 2
890     * [KNOX-230] - provide ldap schema file to allow creation of daynamic groups in apache ds
891     * [KNOX-231] - shiro realm implementation to support ldap dynamic groups
892     * [KNOX-232] - add automation test case for ldap dynamic group support
893     * [KNOX-233] - add a topology template file to illustrate the use of dynamic groups
894     * [KNOX-234] - add documentation for dynamic groups
895     * [KNOX-268] - document work around for Knox to Hadoop SPNego authn problem
896     * [KNOX-21] - Utilize knox.auth cookie to prevent re-authentication for every request from end user
897     * [KNOX-105] - Command line tooling for CMF provisioning
898     * [KNOX-165] - Stress testing
899     * [KNOX-166] - Improve diagnosability of connectivity issues
900     * [KNOX-167] - Knox passes down incorrect Host header to Hadoop service
901     * [KNOX-188] - encryptQueryString Password is Recreated when Topology is Changed.
902     * [KNOX-199] - ExampleHBase.groovy fails with HBase 0.96 due to empty column qualifier REST API incompatibility
903     * [KNOX-203] - Gateway fails to start when {GATEWAY_HOME}/bin not writable
904     * [KNOX-205] - Launcher script (gateway.sh) not working when gateway installed via RPM
905     * [KNOX-206] - User should be able to run gateway.sh script under its own but not root account
906     * [KNOX-209] - Fix the Location of KEYS File
907     * [KNOX-213] - Reame PostAuthenticationFilter to ShiroSubjectIdentityAdapter
908     * [KNOX-219] - Fix NOTICE file for Releases
909     * [KNOX-220] - Fix JWT POC Code for HSSO
910     * [KNOX-222] - Remove hadoop-examples.jar from source tree
911     * [KNOX-223] - generated shiro.ini file does not preserve property order
912     * [KNOX-226] - Need more Linux friendly installation layout
913     * [KNOX-229] - some properties of KnoxLdapRealm need to be renamed
914     * [KNOX-235] - Pre-authenticated SSO/Federation Provider
915     * [KNOX-244] - Knox run from the directory with spaces in Windows OS
916     * [KNOX-245] - Knox is missing rewrite rule for WebHCat root path.
917     * [KNOX-246] - Knox is missing authorization filter for HBase root path.
918     * [KNOX-247] -  Exception in Oozie workflow definition response rewrite
919     * [KNOX-249] - Fix issues with shell scripts and home directory
920     * [KNOX-251] - knoxcli.sh reports NullPointerException if not given arguments
921     * [KNOX-253] - log error message for exception  ldapContextFactory.getSystemLdapContext()
922     * [KNOX-254] - use system password set using knoxcli in KnoxLdapContextFactory
923     * [KNOX-269] - Set JSSESSIONID cookie as HttpOnly and Secure.
924     * [KNOX-270] - service level authorization should return 403 on deny
925     * [KNOX-271] - Audit records duplication when no matching filter was found for requested resource
926     * [KNOX-280] - Topology undeploy is broken
927     * [KNOX-281] - Fix the typo in user's guide
928     * [KNOX-282] - document configuration to look up group membership from ldap
929     * [KNOX-287] - Update documentation to be consistent with Hive 0.12 configuration
930     * [KNOX-289] - Remove incubating/incubator from source and build
931     * [KNOX-292] - Invalid command line arguments don't print usage.
932     * [KNOX-294] - Add -version support to gateway.sh
933     * [KNOX-297] - Should not send Knox stack trace to client in error responses
934     * [KNOX-298] - add a topology template for using Active Directroy as authentication back end
935     * [KNOX-299] - Cannot update existing master via knoxcli
936     * [KNOX-301] - Unit tests unstable on different platforms
937     * [KNOX-306] - Change linux scripts to use /bin/bash
938     * [KNOX-308] - Windows .cmd scripts not passing parameters to java correctly.
939     * [KNOX-309] - Attempt to reparse topology files to recover from overlapping write
940     * [KNOX-311] - Parameters not passed to java properly by knoxcli.sh on Ubuntu.
941     * [KNOX-312] - PID File Created For Failed Deployments
942     * [KNOX-313] - WebHdfs service broken for HDFS 2.4.0
943     * [KNOX-314] - JDBC/HTTP for Hive Requires Specialized Dispatch
944     * [KNOX-318] - HBase demo scripts fail against recent HBase versions
945     * [KNOX-319] - Build fails on windows
946     * [KNOX-322] - Incomplete Documentation for Quick Start
947     * [KNOX-323] - Update Apache Knox Details Doc
948     * [KNOX-324] - Obsolete Knox Directory Layout Doc
949     * [KNOX-325] - Obsolete Docs for Services Supported
950     * [KNOX-326] - Obsolete Docs for Sandbox Config
951     * [KNOX-327] - Incomplete/Obsolete Docs for Gateway Details
952     * [KNOX-328] - Obsolete Docs for Configuration
953     * [KNOX-329] - Obsolete Docs for KnoxCLI
954     * [KNOX-330] - Consolidate Authentication, GroupLookup and Shiro Docs
955     * [KNOX-331] - Obsolete Docs for Secure Clusters
956     * [KNOX-332] - Clarifications in Docs for Preauth SSO
957     * [KNOX-333] - Incomplete Docs for HBase
958     * [KNOX-334] - Obsolete Docs for Hive
959     * [KNOX-335] - Obsolete Docs for Limitations
960     * [KNOX-336] - Obsolete Disclaimer in Export Controls Page
961     * [KNOX-337] - Knox not authenticating with HBase 0.98 in secure mode
962     * [KNOX-342] - Document configuration for enabled HBase Access Control
963     * [KNOX-344] - Update documentation/samples to be consistent with Hive 0.13.
964     * [KNOX-345] - WebHDFS and Oozie not specifying dispatch provider and end up with HiveDispatchProvider
965     * [KNOX-346] - The knox-env.sh script should prefer JAVA_HOME over java on path.
966     * [KNOX-347] - Fix Knox DSL documentation
967     * [KNOX-139] - Move hostmap provider configuration from a rewrite function provider to real provider config
968     * [KNOX-140] - Support a forced redeploy of topologies
969     * [KNOX-161] - Support Hive 0.11.0 via JDBC+ODBC/Thrift/HTTP
970     * [KNOX-174] - support service specific cap for buffering request entities for replay against WWW-authenticate challenge
971     * [KNOX-202] - Diagnosability/troubleshooting when wrong protocol (http vs https) used
972     * [KNOX-240] - Update Hadoop dependencies to 2.x
973     * [KNOX-257] - add a template topology file to illustrate preauth provider
974     * [KNOX-261] - Better env checking and error messages in gateway.sh
975     * [KNOX-262] - Improve JRE detection in scripting
976     * [KNOX-263] - Docs - User Guide list of Services missing straight MapReduce?
977     * [KNOX-265] - Add master secret generation to knoxcli
978     * [KNOX-275] - Add topology template file to illustrate use of staticgroup and SLA
979     * [KNOX-296] - Provide a command line tools to redeploy all topologies
980     * [KNOX-300] - create a topology file that uses openldap as authen back end
981     * [KNOX-315] - Add support for service params in topology file
982     * [KNOX-316] - Create windows service template file for LDAP server.
983     * [KNOX-320] - Simplify scripts for using Knox on windows
984     * [KNOX-341] - Knox needs to work with secure Hive asserting authenticated user as doAs
985     * [KNOX-4] - Extend Shiro Provider to Include Groups
986     * [KNOX-23] - Generate audit log of all gateway activity
987     * [KNOX-33] - Provide support for hosting Jersey services for the purposes of protocol mediation of non-REST services
988     * [KNOX-48] - Cluster topology must not be exposed in datanode redirect query parameters
989     * [KNOX-54] - Support horizontal scalability of gateway via clustering
990     * [KNOX-172] - Support ~ to represent user's home directory in WebHDFS
991     * [KNOX-179] - Simple way to introduce new provider/servlet filters into the chains
992     * [KNOX-194] - Document Knox HA with Apache HTTP Server + mod_proxy + mod_proxy_balancer
993     * [KNOX-198] - CSRF header support
994     * [KNOX-228] - Knox should support dynamic LDAP Groups
995     * [KNOX-243] -  bat/cmd script for the gateway 
996     * [KNOX-248] - XML configuration file to describe how to launch Knox as Windows service
997     * [KNOX-90] - Support HBase/Stargate for Kerberized cluster
998     * [KNOX-92] - Support Hive/JDBC/HTTP for Kerberized cluster
999     * [KNOX-208] - Upgrade ApacheDS for demo LDAP server to ApacheDS 2
1000     * [KNOX-290] - Upgrade Shiro dependency to 1.2.3
1001     * [KNOX-210] - Create functional test template
1002
1003 ------------------------------------------------------------------------------
1004 Release Notes - Apache Knox - Version 0.3.0
1005 ------------------------------------------------------------------------------
1006
1007 ** New Feature
1008     * [KNOX-8] - Support HBase via HBase/Stargate
1009     * [KNOX-9] - Support Hive via JDBC+ODBC/Thrift/HTTP
1010     * [KNOX-11] - Access Token Federation Provider
1011     * [KNOX-27] - Access Kerberos secured Hadoop cluster via gateway using basic auth credentials
1012     * [KNOX-31] - Create lifecycle scripts for gateway server
1013     * [KNOX-50] - Ensure that all cluster topology details are rewritten for Oozie REST APIs
1014     * [KNOX-61] - Create RPM packaging of Knox
1015     * [KNOX-68] - Create start/stop scripts for gateway
1016     * [KNOX-70] - Add unit and functional testing for HBase
1017     * [KNOX-71] - Add unit and functional tests for Hive
1018     * [KNOX-72] - Update site docs for HBase integration
1019     * [KNOX-73] - Update site docs for Hive integration
1020     * [KNOX-82] - Support properties file format for topology files
1021     * [KNOX-85] - Provide Knox client DSL for HBase REST API
1022     * [KNOX-98] - Cover HBase in samples
1023     * [KNOX-99] - Cover Hive in samples
1024     * [KNOX-116] - Add rewrite function so that authenticated username can be used in rewrite rules
1025     * [KNOX-120] - Service Level Authorization Provider with ACLs
1026     * [KNOX-131] - Cleanup noisy test PropertyTopologyBuilderTest
1027     * [KNOX-169] - Test issue for patch test automation via PreCommit-Knox-Build job
1028
1029 ** Improvement
1030     * [KNOX-40] - Verify LDAP over SSL
1031     * [KNOX-42] - Change gateway URLs to match service URLs as closely as possible
1032     * [KNOX-45] - Clean up usage and help output from server command line
1033     * [KNOX-49] - Prevent Shiro rememberMe cookie from being returned
1034     * [KNOX-55] - Support finer grain control over what is included in the URL rewrite
1035     * [KNOX-56] - Populate RC directory with CHANGES on people.a.o
1036     * [KNOX-75] - make Knox work with Secure Oozie
1037     * [KNOX-97] - Populate staging and release directories with KEYS
1038     * [KNOX-100] - document steps to make Knox work with secure hadoodp cluster
1039     * [KNOX-101] - Use session instead of hadoop in client DSL samples
1040     * [KNOX-117] - Provide ServletContext attribute access to RewriteFunctionProcessor via UrlRewriteEnvironment
1041     * [KNOX-118] - Provide rewrite functions that resolve service location information
1042     * [KNOX-129] - Document topology file
1043     * [KNOX-141] - Diagnostic debug output when generated SSL keystore info doesn't match environment
1044     * [KNOX-143] - Change "out of the box" setup to use sandbox instead of sample
1045     * [KNOX-153] - Document RPM based install process
1046     * [KNOX-155] - Remove obsolete module gateway-demo
1047     * [KNOX-164] - document hostmap provider properties
1048     * [KNOX-168] - Complete User's Guide for 0.3.0 release
1049
1050 ** Bug
1051     * [KNOX-47] - Clean up i18n logging and any System.out or printStackTrace usages
1052     * [KNOX-57] - NPE when GATEWAY_HOME deleted out from underneath a running gateway instance
1053     * [KNOX-58] - NameNode endpoint exposed to gateway clients in runtime exception
1054     * [KNOX-60] - getting started - incorrect path to gateway-site.xml
1055     * [KNOX-69] - Branch expansion for specdir breaks on jenkins
1056     * [KNOX-76] - users.ldif file bundled with knox should not have hadoop service principals
1057     * [KNOX-77] - Need per-service outbound URL rewriting rules
1058     * [KNOX-78] - spnego authorization to cluster is failing
1059     * [KNOX-79] - post parameters are lost while request flows from knox to secure cluster
1060     * [KNOX-81] - Fix naming of release artifacts to include the word incubating
1061     * [KNOX-83] - do not use mapred as end user prinicpal in examples
1062     * [KNOX-84] - use EXAMPLE.COM instead of sample.com in template files for kerberos relam
1063     * [KNOX-89] - Knox doing SPNego with Hadoop for every client request is not scalable
1064     * [KNOX-102] - Update README File
1065     * [KNOX-106] - The Host request header should be rewritten or removed
1066     * [KNOX-107] - Service URLs not rewritten for WebHDFS GET redirects
1067     * [KNOX-108] - Authentication failure submitting job via WebHCAT on Sandbox
1068     * [KNOX-109] - Failed to submit workflow via Oozie against Sandbox HDP2Beta
1069     * [KNOX-111] - Ensure that user identity details are rewritten for Oozie REST APIs
1070     * [KNOX-124] - Fix the OR semantics in AclAuthz
1071     * [KNOX-126] - HiveDeploymentContributor uses wrong external path /hive/api/vi
1072     * [KNOX-127] - Sample topology file (sample.xml) uses inconsistent internal vs external addresses
1073     * [KNOX-128] - Switch all samples to use guest user and home directory
1074     * [KNOX-130] - Throw exception on credential store creation failure
1075     * [KNOX-132] - Cleanup noisy test GatewayBasicFuncTest.testOozieJobSubmission()
1076     * [KNOX-136] - Knox should support configurable session timeout
1077     * [KNOX-137] - Log SSL Certificate Info
1078     * [KNOX-142] - Remove Templeton from user facing config and samples and use WebHCat instead
1079     * [KNOX-144] - Ensure cluster topology details are rewritten for HBase/Stargate REST APIs
1080     * [KNOX-146] - Oozie rewrite rules for NN and JT need to be updated to use hostmap
1081     * [KNOX-147] - Halt Startup when Gateway SSL Cert is Expired
1082     * [KNOX-148] - Add cluster topology details rewrite for XML responses from HBase/Stargate REST APIs
1083     * [KNOX-149] - Changes to AclsAuthz Config and Default Mode
1084     * [KNOX-150] - correct comment on session timeout  in sandbox topology file
1085     * [KNOX-151] - add documentation for session timeout configuration
1086     * [KNOX-152] - Dynamic redeploy of topo causes subsequent requests to fail
1087     * [KNOX-154] - INSTALL file is out of date
1088     * [KNOX-156] - file upload through Knox broken
1089     * [KNOX-157] - Knox is not able to process PUT/POST requests with large payload
1090     * [KNOX-158] - EmptyStackException while getting webhcat job queue in secure cluster
1091     * [KNOX-159] - oozie job submission thorugh knox fails for secure cluster
1092     * [KNOX-162] - Support Providing Your own SSL Certificate
1093     * [KNOX-163] - job submission through knox-webchat results in NullPointerException
1094
1095 ------------------------------------------------------------------------------
1096 Release Notes - Apache Knox - Version 0.2.0
1097 ------------------------------------------------------------------------------
1098 HTTPS Support (Client side)
1099 Oozie Support
1100 Protected DataNode URL query strings
1101 Pluggable Identity Asserters
1102 Principal Mapping
1103 URL Rewriting Enhancements
1104 KnoxShell Client DSL
1105