Apache Ranger 2.6.0 release notes¶
Apache Ranger 2.6.0 was released on February 15, 2025. The release adds import and export of individual policies, moves the embedded web server to Tomcat 9, reduces plugin memory use, and extends the docker setup to Oracle, SQL Server and Ozone.
The cwiki page for this release lists JIRA keys only; the summaries in the tables below were taken from JIRA for the same keys.
Highlights¶
- Import and export individual policies from the Admin UI and REST API (RANGER-4936).
- Policy engine — less memory to build the engine (RANGER-4905), trie traversal enhancements (RANGER-4893, RANGER-4922), rationalized match types for policy and tag evaluation (RANGER-4990), denials for descendant resources ignored where appropriate (RANGER-5001), validity-schedule policy condition (RANGER-4970), authorization of multiple accesses grouped by access groups in one call (RANGER-4820).
- Federated users — a new user type for external users coming from data sharing (RANGER-5008, RANGER-4973, RANGER-4972).
- HBase plugin — configurable authorization level: table, column family or column (RANGER-4670).
- Platform — embedded Tomcat upgraded from 8.5.x to 9.x (RANGER-4892), Hadoop 3.3.6 (RANGER-4904), Spring 5.3.39 (RANGER-4912), Atlas 2.4.0 (RANGER-5095).
- Plugins use session cookies for all REST calls when available (RANGER-4908) and can load extra configuration files and a Kerberos identity at initialization (RANGER-5103, RANGER-5116).
- Operations — utility to migrate admin audit logs from
x_trx_logtox_trx_log_v2(RANGER-4809), configuration for theranger-common-hamodule (RANGER-4879) and a fix so only one UserSync/TagSync instance is active (RANGER-4520), LDAP sync interval no longer capped at one hour (RANGER-4307), audit REST API can return event time in a chosen time zone (RANGER-4992). - Docker — Oracle (RANGER-5073) and SQL Server (RANGER-5080) databases, Ozone (RANGER-3801), UBI 9 base image (RANGER-3746).
Component versions¶
The release was built and tested with the following component versions (as recorded in the release notes):
| Component | Version |
|---|---|
| Java | JDK 8 |
| Python | 3.10.12 |
| MariaDB | 10.7.3 |
| PostgreSQL | 12 |
| Oracle | 23.6 |
| Apache Solr | 8.11.3 |
Artifacts¶
| Artifact | Location |
|---|---|
| Source tarball | apache-ranger-2.6.0.tar.gz (signature, SHA-512) |
| Binary tarballs | https://downloads.apache.org/ranger/2.6.0/services/ (admin, usersync, tagsync, kms), https://downloads.apache.org/ranger/2.6.0/plugins/, https://downloads.apache.org/ranger/2.6.0/tools/ |
| Release directory | https://downloads.apache.org/ranger/2.6.0/ |
| Git tag | release-ranger-2.6.0 |
| Docker images | apache/ranger:2.6.0, apache/ranger-db:2.6.0, apache/ranger-solr:2.6.0, apache/ranger-zk:2.6.0 on Docker Hub |
| Maven Central | org.apache.ranger:*:2.6.0 |
| Archive | archive.apache.org/dist/ranger/2.6.0/ |
Verify every download against its .asc signature and checksum file before you use it; see Download and verify.
Resolved issues¶
The tables below list the 106 JIRA issues recorded in the release notes for this version (1 new features, 50 improvements, 45 bugs fixed, 10 tasks). Each key links to the issue in the Apache JIRA.
New features¶
| JIRA | Summary |
|---|---|
| RANGER-4936 | Feature to import and export individual policies |
Improvements¶
| JIRA | Summary |
|---|---|
| RANGER-4889 | update mem-sizing tool to support access request evaluations |
| RANGER-4893 | Enhance trie to support process of evaluators during traversal |
| RANGER-4891 | replace use of PrivilegedAction with PrivilegedExceptionAction in calls to UserGroupInfomation.doAs() |
| RANGER-4908 | update plugin library to use session cookies for all REST API calls when available |
| RANGER-4904 | update Hadoop version to 3.3.6 |
| RANGER-4905 | Reduce memory needed to create Ranger policy engine |
| RANGER-4922 | Reduce time to find tags associated with multi-level resource |
| RANGER-4622 | Fix the default value of ranger.accesslog.rotate.rename_on_rotate configuration in ranger--admin-default-site.xml |
| RANGER-3746 | [docker]: Ranger base image on UBI 9 with memory and build optimizations |
| RANGER-4814 | Ranger - Upgrade Aircompressor to 0.27 |
| RANGER-4925 | Cache downloaded archives during CI docker build |
| RANGER-3801 | Add support for Ozone in docker |
| RANGER-4307 | Allow the synchronization time interval of LDAP users to exceed the one hour limit, and users can customize the time interval |
| RANGER-4912 | Upgrade Spring framework to 5.3.39 |
| RANGER-4820 | Support authorization of multiple accesses grouped by access groups in one policy engine call |
| RANGER-4809 | Utility to migrate admin audit logs in x_trx_log table x_trx_log_v2 table |
| RANGER-4607 | Ranger REST API improvements |
| RANGER-4964 | Issue with x_trx_log_IDX_trx_id Index in x_trx_log Table, causing patch failure |
| RANGER-4970 | Condition to support validity schedule |
| RANGER-4973 | Enhance Ranger UI to support a new user type for external users from Data Sharing |
| RANGER-4984 | Ranger "Federated User" enum order should be correct to avoid potential failure in Ranger Admin |
| RANGER-4992 | Ranger REST API for audit access logs to return additional event time field in specific timezone format |
| RANGER-4967 | Refactor RangerTagEnricher class for reusability |
| RANGER-4990 | Rationalize processing of match-types for policy and tag evaluation |
| RANGER-5001 | Ignore denials for descendent resources |
| RANGER-5007 | Expose service configs set from Ranger UI for plugin consumption |
| RANGER-5005 | Use sortpom maven plugin to improve readability of pom files |
| RANGER-4996 | Make meta attributes fields in policy rest api response configurable |
| RANGER-3641 | Add API to enhance KMS capabilities |
| RANGER-4670 | Hbase plugin configurable authorization level (table, column family, column) |
| RANGER-5065 | Disable releases for apache.snapshots repo |
| RANGER-5066 | Improve CI workflow |
| RANGER-5008 | Handle creation of federated user in Ranger |
| RANGER-5068 | Bump rat plugin to 0.16.1 |
| RANGER-5021 | Add timeouts to job stages in CI |
| RANGER-5073 | Docker setup to support Oracle database |
| RANGER-5079 | remove unnecessary warn log in JDK15+ for failure in instantiating NashornScriptEngine |
| RANGER-5095 | Bump Atlas to 2.4.0 to fix CVE's |
| RANGER-5072 | Bump org.apache.avro:avro from 1.11.3 to 1.11.4 |
| RANGER-4875 | Improve API /api/zones/{zoneId}/service-headers to filter services based on zone module access. |
| RANGER-4879 | Config Update for HA Implementation needed for ranger-common-ha module |
| RANGER-5103 | RangerPluginConfig to support additional config files during initialization |
| RANGER-5087 | Bump nimbus-jose-jwt to 10.0.1 |
| RANGER-5091 | Bump dnsjava to 3.6.2 due to cve-2024-25638 |
| RANGER-5086 | Bumpup protobuf to 3.25.5 |
| RANGER-5015 | Implementing Best Practices While Exporting CSV and Excel Files |
| RANGER-5024 | Upgrade Jetty dependency to address CVE-2024-8184 |
| RANGER-5080 | Docker setup to support SQL Server database |
| RANGER-5116 | Ranger plugin to support configurations to initialize kerberos identity |
| RANGER-4892 | Upgrade Ranger Tomcat from 8.5.x to 9.x |
Bugs fixed¶
| JIRA | Summary |
|---|---|
| RANGER-4919 | maven build fails after knox-gateway-version bump to 2.0.0 |
| RANGER-4385 | [Ranger UI] Querying role information by role name in the role management module does not display correct data |
| RANGER-4313 | fix typo in DefaultSchemaRegistryClient to achieve mvn test |
| RANGER-3880 | Ranger Setup Fails because useSSL flag is not set explicitly. |
| RANGER-4213 | Getting 302 status code instead of 419 in case of session timeout |
| RANGER-4921 | Fix docker compose command in CI |
| RANGER-4914 | Ranger TagSync does not support ofs path parsing for Ozone-Atlas currently |
| RANGER-4915 | The default SSL Ciphers are too weak for user sync service |
| RANGER-4944 | [Ranger react UI] Remove save option and cancel option on User profile page for users other than ROLE_SYS_ADMIN role |
| RANGER-4938 | Ensure that only one instance of Ranger plugin is created in an Ozone Manager process |
| RANGER-4949 | Creating security zone with any role selected fails for oracle DB |
| RANGER-4901 | [Ranger React UI] Admin audits for "Import Delete" operation type do not display service name field |
| RANGER-4951 | CI Build: GitHub Runner is running out of disk space |
| RANGER-4956 | RangerBasePlugin is not getting initialised when tag dedup feature is enabled |
| RANGER-4961 | Policies retrieved for a resource does not include tag policies |
| RANGER-4963 | Unescaped spaces with disjunctive matching in solr ranger_auth |
| RANGER-4777 | Improve API /public/v2/api/service-headers to filter services depending on user role |
| RANGER-4833 | Upgrade from Bootbox.js to Bootprompt.js |
| RANGER-4966 | Remove self node from the resourceTrie only if it has no children, no evaluators and no wildcard-evaluators |
| RANGER-4977 | Hbase scan operation returns denied columns in result |
| RANGER-4942 | Fix Dockerfiles of ./build_ranger_using_docker.sh |
| RANGER-5010 | Validity schedule unit tests fail |
| RANGER-5016 | Deprecate version field in docker-compose.yaml |
| RANGER-5002 | Installation with Oracle failed during schema vx_principal creation |
| RANGER-5067 | ranger-nestedstructure-plugin is not built on linux |
| RANGER-5019 | spotbugs check doesn't work for sub-module maven build |
| RANGER-5070 | Update profiles to include dependent modules |
| RANGER-5071 | CI: Javascript tests with PhantomJS failing |
| RANGER-5006 | User name column in Ranger audit not rendering properly when it is of larger length |
| RANGER-5075 | HDFS plugin installation fails with error - java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory |
| RANGER-5089 | Getting 204 instead of 404 status code when invalid service name is passed |
| RANGER-4453 | Exception while calling solr api when ranger authorisation is disabled for solr |
| RANGER-4520 | Both usersync/tagsync instances becoming active and syncing users/tags |
| RANGER-4791 | Fixing build issue for Phantomjs Auto configuration failed due to OPEN_SSL |
| RANGER-5107 | Update README.md in plugin-nestedstructure |
| RANGER-5106 | Remove redundant mvn calls in README |
| RANGER-4943 | Error in ElasticSearchAuditDestination shutting down RestHighLevelClient client |
| RANGER-4983 | Ranger Audit Filter for the HBase service is not working as expected |
| RANGER-5115 | Potential ConcurrentModificationException error during policy evaluation |
| RANGER-5117 | Fix ssl config param in installprop2xml.properties |
| RANGER-5104 | Ranger Upgrade is failing while executing the PatchPreSql057_ForUpdateToUniqueGUID_J10052 |
| RANGER-5109 | Ranger: Upgrade Swagger-UI to the latest 5.18.2 |
| RANGER-4523 | Suggestion on improving logs from AtlasNotificationMapper |
| RANGER-4980 | Delete permissions on directory is denied which has hierarchy of files/directory rooted at the argument passed to the HDFS command |
| RANGER-4709 | Set role command is not audited by ranger |
Tasks¶
| JIRA | Summary |
|---|---|
| RANGER-4895 | update ranger-2.6 branch pom.xml version to 2.6.0-SNAPSHOT |
| RANGER-4924 | Upgrade webpack library version from 5.93.0 to 5.94.0 in Ranger Admin React JS |
| RANGER-4935 | Updating library dependencies in Ranger Admin React package-lock.json |
| RANGER-4972 | Ranger User Type "federated user" should not log into Ranger for doing any operation |
| RANGER-4969 | Ranger - Upgrade commons-io to 2.17.0 |
| RANGER-4982 | Reduce Ranger plugin logging spew |
| RANGER-4988 | Add syncSource and userRole queryParams to ranger searchUsers rest api for swagger |
| RANGER-4388 | Follow up JIRA to incorporate review comments. |
| RANGER-4795 | Add validation in API to check emptiness on policyitem while creating policy. |
| RANGER-4981 | Log LDAP auth failures at error level in ranger admin |