SENTRY-369: Update changelog.txt, notice.txt, etc... for 1.4.0 release ( Tuong Truong via Sravya Tirukkovalur)
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 759ea94..962ac73 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,53 +1,181 @@
-Release Notes - Sentry - Version v1.2.0
+Release Notes - Sentry - Version 1.4.0
+
+** Sub-task
+    * [SENTRY-97] - Create service configuration properties
+    * [SENTRY-129] - Implement Hive Sentry Authz DDL Task Factory
+    * [SENTRY-134] - Use BoneCP, add unique constraint to GROUP_NAME, and expose jdo/datanucleus properties
+    * [SENTRY-137] - Validate privilege scope in sentry service
+    * [SENTRY-138] - Use server timestamp for createTime for role, privilege and group
+    * [SENTRY-142] - Create database backed ProviderBackend
+    * [SENTRY-143] - Merge db_policy_store branch into master
+    * [SENTRY-153] - Add Hive e2e test with grant/revoke statements
+    * [SENTRY-156] - Support local privilege validation APIs
+    * [SENTRY-160] - Class to table mapping in package.jdo is incorrect
+    * [SENTRY-364] - Bump up hive and hadoop versions from SNAPSHOT to released bits
+    * [SENTRY-365] - Create release branch for 1.4.0
+    * [SENTRY-369] - Update changelog.txt, notice.txt, etc... for 1.4.0 release
+
+
 
 ** Bug
-    * [SENTRY-15] - log4j.properties file under sentry-tests references the old access package
-    * [SENTRY-1] - use default on HiveServer2 fails with invalid privileges exception
-    * [SENTRY-2] - Code cleanup in various poms
-    * [ACCESS-8] - Log warning if authorization is not used with strong authentication
-    * [ACCESS-49] - Modify test cases to restrict LOAD from specific locations
-    * [ACCESS-140] - malformatted policy is permitted conditionally
-    * [ACCESS-164] - policy file doesn't check non-exist entity mapping
-    * [ACCESS-174] - access only throw first error message in HiveServer2 log, and ignore the rest
-    * [ACCESS-180] - per DB policy file usability issues
-    * [ACCESS-197] - Child authorizeable objects are not inheriting permissions from parent
-    * [ACCESS-201] - Bad error message in HiveAuthzBinding
-    * [ACCESS-203] - Update trunk version to 1.1 and update dependencies
-    * [ACCESS-230] - CREATE TABLE AS works even if user does not have DB-level access
-    * [ACCESS-231] - ALTER TABLE SET TBLPROPERTIES allows updates to tables even when the user doesn't have the right privileges
-    * [ACCESS-232] - The per-db policy fies can't be accessed if they are not in the same file system as the global policy file.
-    * [ACCESS-233] - The URI permission checks should append path separator before checking the parent path
-    * [ACCESS-235] - Format unqualified URI as DFS uri by default
+    * [SENTRY-118] - cast udf should be added to sentry udf whitelist for hive
+    * [SENTRY-131] - bin/sentry script doesn't find config-tool.sh under some circumstances
+    * [SENTRY-133] - Alter table create partition if not exists - results in error
+    * [SENTRY-161] - Sentry master branch is trying to download Hadoop tarball from nonexisting URL
+    * [SENTRY-162] - Cleanup DB store privilege metadata on Hive DDL statements
+    * [SENTRY-166] - Sentry does not accept URIs with an equals sign (=) in path. Fails with llegalArgumentException: Invalid key value
+    * [SENTRY-169] - JAAS login options not compatible with IBM JDK  
+    * [SENTRY-172] - config-tool.sh is missing from master branch
+    * [SENTRY-174] - Sentry should not package hadoop, hive and other jars
+    * [SENTRY-175] - sentry script throws error for the dbstore service invocation
+    * [SENTRY-176] - Not able to read policy files on HDFS (Regression)
+    * [SENTRY-177] - Sentry Policy Service does not treat role names as case insensitive
+    * [SENTRY-178] - Poor performance for Sentry Policy Service as #of privileges is scaled up
+    * [SENTRY-181] - Add a test case for duplicate privileges
+    * [SENTRY-182] - Granting ALL privileges to table does not seem to do the right thing when using the SimpleDbPolicyProvider
+    * [SENTRY-183] - Sentry Policy Service goes into an unusable state when granting privileges. Subsequent access fail with a DataNucleusException: "Iteration request failed: SELECT ..."
+    * [SENTRY-186] - e2e tests for solr document-level security
+    * [SENTRY-187] - Use invariants rather than default for specification of update index level authorization
+    * [SENTRY-188] - Reduce the logging level during per-db policy loading
+    * [SENTRY-190] - Support for getting set of roles from ProviderBackend
+    * [SENTRY-191] - Sentry Policy Service should not require passing the RPC requestor's user/group information
+    * [SENTRY-192] - Convert solr doc-level e2e test to be based on roles rather than groups
+    * [SENTRY-194] - Sentry script should note use Hive script by default for service and tool execution
+    * [SENTRY-195] - Sentry schema tool can't process comments inside statement
+    * [SENTRY-200] - Remove sentry-provider dependencies on hive 
+    * [SENTRY-201] - TestDatabaseProvider tests fail after Sentry schema tool was added.
+    * [SENTRY-202] - Sentry end to end tests which use ClusterDFS will need to explicitly add the policy file to HDFS
+    * [SENTRY-203] - Column name mismatch causes DataNucleus to throw exceptions
+    * [SENTRY-204] - Test cases extending SentryServiceIntegrationBase are failing
+    * [SENTRY-205] - Sentry throws Exception when trying to revoke Table level privileges
+    * [SENTRY-206] - Sentry distribution should include a template config file for the service
+    * [SENTRY-207] - Sentry script should return non-zero exist status in error conditions
+    * [SENTRY-209] - Empty list returned when calling listPrivilegesByRoleName
+    * [SENTRY-210] - Exception Thrown When Trying to grantRoleToGroup
+    * [SENTRY-212] - Restrict access to hive config property hive.sentry.active.role.set which is set by Sentry Hive binding
+    * [SENTRY-213] - Sentry schema tool doesn't handle sentry.javax.jdo.* properties
+    * [SENTRY-214] - Sentry Service does not allow the same Privilege to be associated to multiple Roles
+    * [SENTRY-217] - Add Insert and URI tests for Sentry DB provider
+    * [SENTRY-218] - Use defaults for user, password and driver in SchemaTool 
+    * [SENTRY-219] - Sentry Cache Backend Provider initialization does not work as expected
+    * [SENTRY-220] - Trivial fix to SentrySchemaTool to set default driver
+    * [SENTRY-221] - Privilege scope is case sensitive
+    * [SENTRY-222] - Privileges are sometimes granted to the wrong roles
+    * [SENTRY-224] - Provider resource should not be required for DB provider backend
+    * [SENTRY-229] - SentrySchemaTool initSchema does not work with postgres 8.1and oracle
+    * [SENTRY-231] - Fix JDK 6 build
+    * [SENTRY-235] - Change tests in TestSentryServerWithoutKerberos to use new Sentry service APIs
+    * [SENTRY-236] - Sentry PolicyFile provider incorrectly logs error messages when reading policy file
+    * [SENTRY-237] - Support log4j configuration for Sentry service
+    * [SENTRY-238] - Denied Show roles and show role grant throw thrift exception
+    * [SENTRY-239] - Setup in TestDatabaseProvider is flaky
+    * [SENTRY-241] - Sentry GrantRevokeTask should fire the sentry failure look
+    * [SENTRY-243] - The operation type needs to be set in the grant/revoke task context for the failure hook
+    * [SENTRY-244] - Sentry deprecated properties do not work
+    * [SENTRY-245] - Fix failing db provider tests
+    * [SENTRY-246] - Load command does not seem to work with filter push down
+    * [SENTRY-247] - Go back to using filter push down once the bugs are fixed
+    * [SENTRY-248] - The sentry-provider-cache dependency is not correctly set
+    * [SENTRY-249] - "Use default" should be allowed for all the users even when using filter push down
+    * [SENTRY-250] - Create external table fails with filter push down
+    * [SENTRY-251] - PolicyProviderForTest.addPrivilege breaks in some cases
+    * [SENTRY-252] - Per db policy files based tests should be updated for dbprovider usage
+    * [SENTRY-253] - Creating external table seems to be failing when using provider db.
+    * [SENTRY-254] - Privilege name in provider db has a limit of length 128 which might be very low for long uris.
+    * [SENTRY-255] - Revoke on Server privilege fails
+    * [SENTRY-256] - Fix TestDbEndToEnd.testEndToEnd1
+    * [SENTRY-257] - Upgrade master to use version 1.4.0-incubating-SNAPSHOT
+    * [SENTRY-259] - Implement Hive metastore plugin
+    * [SENTRY-260] - Add support to use DB2  as database for sentry metastore
+    * [SENTRY-262] - Updating patch for SENTRY-178
+    * [SENTRY-263] - Remove usage of getHostString() from AbstractTestWithStaticConfiguration
+    * [SENTRY-266] - Implement _HOST substitution in principal
+    * [SENTRY-268] - Allow only granted roles to be set in "SET ROLE <roleName>"
+    * [SENTRY-269] - Add a test case for Denied Alter table, should fire SentryOnFailureHook
+    * [SENTRY-271] - Test TestSentryServiceIntegration is flaky
+    * [SENTRY-272] - Test TestSentryStoreToAuthorizable.testUri is failing on comparing URI string
+    * [SENTRY-273] - org.apache.sentry.tests.e2e.dbprovider.TestDbUriPermissions is failing
+    * [SENTRY-274] - MySQL init scripts contains invalid comments
+    * [SENTRY-275] - Fix compilation error in SentryService
+    * [SENTRY-276] - SentryService tests are currently timing out
+    * [SENTRY-277] - Add Pig+HCat test for Metastore auth plugin
+    * [SENTRY-278] -  TestSearchModelAuthorizables.testTooManyKV and  TestDBModelAuthorizables.testTooManyKV fail
+    * [SENTRY-279] - Revert back using lowercase for uri label
+    * [SENTRY-280] - Sentry-202 missing changes
+    * [SENTRY-281] - Revoking a parent privilege should revoke all child privileges
+    * [SENTRY-282] - Select on DB should give privileges to query tables within it.
+    * [SENTRY-283] - Secure connection from HS2 to Sentry service fails
+    * [SENTRY-284] - Create test for creating external partition
+    * [SENTRY-285] - privilege->action=all is not same as privilege
+    * [SENTRY-288] - Dissable MetastoreBinding for test cases that do not require it
+    * [SENTRY-289] - Kerberos based connection from HS2 and Metastore to Sentry service fails
+    * [SENTRY-290] - Handle null pointer in SentryPolicyProcessor
+    * [SENTRY-294] - The Sentry service client should execute UGI privilege action by default
+    * [SENTRY-297] - Increase privilege_name to 4000 in mysql to be consistent with other dbs
+    * [SENTRY-299] - Partial Revoke Fails under certain conditions
+    * [SENTRY-300] - HiveAuthzBinding checks for Hive server2 config which is not available when using Sentry with Hive meta store server
+    * [SENTRY-301] - Sentry plugin fails access service from secure Hive Metastore 
+    * [SENTRY-302] - Partial revoke on Table fails if both ALL and a SELECT/INSERT grant exists
+    * [SENTRY-304] - Limit on index key in MYSQL (innoDB ) is 767 bytes
+    * [SENTRY-305] - SHOW CURRENT ROLES shouldn't require admin privileges
+    * [SENTRY-306] - Fix grant all on table in db based provider
+    * [SENTRY-307] - Unqualified URIs should be reconstructed in a standard way
+    * [SENTRY-309] - Metastore binding should use fully qualified URI for validating alter table operations
+    * [SENTRY-310] - Make Hive operation to required privileges more granular
+    * [SENTRY-311] - Metastore plugin needs to be changed to updated privilege model
+    * [SENTRY-312] - Add 'decimal' and 'date' to default UDF whitelist
+    * [SENTRY-313] - Fix some uri failing tests
+    * [SENTRY-314] - Metastore plugin should verify the storage descriptor before referencing
+    * [SENTRY-315] - SHOW CURRENT ROLE fails if the one of the groups doesn't have any roles granted
+    * [SENTRY-317] - Fix TestDbOperations.testLoad test
+    * [SENTRY-319] - group names should be case sensitive.
+    * [SENTRY-321] - SentryMetastorePostEventListener should use sentry config to create SentryClient
+    * [SENTRY-332] - A role may got empty privilege, although the role have some privileges
+    * [SENTRY-336] - Fix test failures on real cluster
+    * [SENTRY-337] - When the parameter sentry.metastore.service.users isn't set or set empty, starting metastore will throw java.lang.NullPointerException
+    * [SENTRY-363] - CTAS from view is requiring select on underlying table
+
+
 
 
 ** Improvement
-    * [SENTRY-5] - Normalize the usernames used in the end to end tests
-    * [ACCESS-100] - ResourceAuthzProvider should ensure the subject name is non-null before doing the group lookup
-    * [ACCESS-157] - Access hard codes hive authentication method none
-    * [ACCESS-211] - Add maven profile for compiling access with upstream Apache hadoop/hive
-    * [ACCESS-221] - Restrict the URI access granted from a per-database policy file
+    * [SENTRY-106] - Make solr testing work against apache 4.7 version
+    * [SENTRY-193] - Add schematool for creating Sentry store schema from the SQL scripts
+    * [SENTRY-211] - Do the user: group lookup in the Sentry db policy server
+    * [SENTRY-258] - Increase field PRIVILEGE_NAME to 4000 characters to enable long URIs
+    * [SENTRY-293] - Create a new mvn cluster test profile for provider db tests
+    * [SENTRY-303] - Allow users to grant/revoke SELECT/INSERT to ALL tables in a Database
+    * [SENTRY-333] - Add conf directory to sentry distribution
+    * [SENTRY-361] - Sentry server should use sentry-site.xml in conf directory by default
+
+** New Feature
+    * [SENTRY-3] - Create a diagnostics tool for configuration validation
+    * [SENTRY-37] - Implement a DB backed policy store
+    * [SENTRY-115] - Give bindings the ability to access the group mappings
+    * [SENTRY-157] - Support filter pushdown in DB Store client to reduce data transfer from DB Store service
+    * [SENTRY-158] - Hive bindings should enable MR level ACLs for session user
+    * [SENTRY-165] - Implement createShowRolesTask() in SentryHiveAuthorizationTaskFactoryImpl
+    * [SENTRY-184] - Add Sentry service APIs to query roles and privileges
+    * [SENTRY-199] - Create tool that will convert policy file into into DB store
+    * [SENTRY-215] - SHOW GRANT ROLE xxx ON [SERVER, DATABASE, TABLE, URI] xxx
+    * [SENTRY-216] - Support SHOW CURRENT ROLES
+
 
 
 
 ** Task
-    * [ACCESS-16] - Implement the test cases in the test plan
-    * [ACCESS-34] - Analyze Path Security
-    * [ACCESS-115] - Format all files using a consistent code style formatter for the project
-    * [ACCESS-122] - Remove context.close() mid-test
-    * [ACCESS-123] - Fix confusing communication mechanism to request if ANY access is exists
-    * [ACCESS-125] - TestUserManagement major issues
-    * [ACCESS-127] - TestSandboxOps Major issues
-    * [ACCESS-130] - TestMovingToProduction major issues
-    * [ACCESS-136] - TestCrossDbOps major issues
-    * [ACCESS-145] - TestMetadataObjectRetrieval major issues
-    * [ACCESS-147] - TestPrivilegeAtTransform major issues
-    * [ACCESS-149] - TestPrivilegesAtDatabaseScope major issues
-    * [ACCESS-152] - TestPrivilegesAtTableScope minor issues
-    * [ACCESS-166] - Policy Engine should do expanded validation of policy file
-    * [ACCESS-194] - Explore options for metastore access restriction
-    * [ACCESS-195] - Support username mapping at access level
+    * [SENTRY-159] - Convert AbstractSolrSentryTestBase to use MiniSolrCloudCluster rather than Lucene test hierarchy
+    * [SENTRY-164] - Missing implementation for  HiveAuthorizationTaskFactory: createShowRolesTask()
+    * [SENTRY-230] - e2e test for doc level security to cover failure scenarios around Index level auth
+    * [SENTRY-356] - Apache Sentry 1.4.0 Release
 
-** Sub-task
-    * [ACCESS-101] - Implement more test cases regarding subquery
-    * [ACCESS-209] - be able to run e2e test in cluster mode
-    * [ACCESS-225] - Update master branch version to 1.2.0-SNAPSHOT
+
+** Test
+    * [SENTRY-223] - Add a test for updates with doc-level security
+    * [SENTRY-233] - Disable hdfs blockcache during solr e2e tests
+    * [SENTRY-261] - Improve test coverage for grant/revoke statements in Hive e2e tests
+    * [SENTRY-287] - Add test case for giving select privieleges on a table in a non default database
+    * [SENTRY-291] - Remove duplicate testSameGrantTwice
+
+
+
diff --git a/NOTICE.txt b/NOTICE.txt
index 7232bcb..9fde419 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
 Apache Sentry
-Copyright 2013 The Apache Software Foundation
+Copyright 2013-2014  The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).