<commit_before>[[releasenotes-19]]
== OpenNMS 19

=== System Requirements

* *Java 8*: OpenNMS Horizon 19 requires Java 8 as the runtime environment.
  To run Horizon 19, we recommend the most recent version of Oracle JDK 8 for your platform.
* *PostgreSQL 9.2 or higher*: Horizon 19 requires PostgreSQL 9.2 or higher.
  All older versions of PostgreSQL are past their end-of-life support date.

=== Important Upgrade Notes

* *Cassandra JMX Metrics*: The default value for the `friendly-name` attribute on the `JMX-Cassandra` collection service has changed from `cassandra21x` to `cassandra`.
This changes the path in which the metrics are stored.
If you have already been collecting these metrics and wish to preserve them, you can ignore this change when merging your configuration.
* *Jetty 9.4 Upgrade*: Jetty has been upgraded from `8.1` to the latest `9.4`.
If you have a custom `jetty.xml` in your `etc` folder, you will need to migrate your changes.
Use `etc/examples/jetty.xml` as a starting point.
* *Drools 6.4.0 Upgrade*: Drools has been upgraded from `6.0.1.Final` to `6.4.0.Final`.
If you have custom Drools rules, they may need to be revised.
The compiler used in `6.4.0.Final` is stricter than the compiler in previous versions.
* *Separate opennms-webapp-remoting Package*: The webapp that supports the Remote Poller has been separated from the main OpenNMS webapp. This will make installations
much smaller for users that do not use the Remote Poller. If you use the Remote Poller, you will need to install the `opennms-webapp-remoting` package.
* *OpenNMS Minion can run on a JRE*: The OpenNMS Minion packages no longer require a JDK package and can run on the plain JRE.
* *User roles moved from magic-users.xml into users.xml*: The users.xml file now contains a list of roles for each user alongside the rest of the user attributes.
* *JICMP 2.0 Upgrade*: Our Java ICMP library has been upgraded to version 2.0. You will need to upgrade to this version before upgrading to OpenNMS Horizon 19.

=== New Features
* *OpenNMS Minion*: Minion systems now have full support for most management features of OpenNMS:
** Discovery
** Provisioning
** Polling
** SNMP data collection
** SNMP link discovery
** Syslog reception (sent to OpenNMS via JMS or Apache Kafka)
** SNMPv1/v2/v3 trap reception (sent to OpenNMS via JMS or Apache Kafka)
* *Automatic provisioning of Minions*: Minion devices will be added to the _Minions_ requisition and monitored for connectivity with OpenNMS.
* *GraphML Topology Provider*: A new Topology Provider is available that reads GraphML formatted graphs and displays them in the the Topology UI.
* *OpenNMS Elasticsearch ReST Forwarder*: This Elasticsearch forwarder can store events, alarms, and alarm state changes in Elasticsearch for archival or searching. It is compatible with all currently supported versions of Elasticsearch.
* *Unified JAAS Authentication*: The web UI, the Apache Karaf OSGi console, and the built-in ActiveMQ broker all use unified authentication.
* *Monitoring Location Events*: Events will be sent when Monitoring Locations are added, updated, or deleted.
* *Exponential propogation*: There is a new exponential propogation function available for Business Services.
* *External JMS broker*: It is possible to configure OpenNMS to use an external JMS broker if desired.

=== New Data Collection Definitions
* *HTTP*:
** Elasticsearch
* *JMX*:
** Apache Kafka
** VMware vCenter Server 6.0.0

=== Retired Features
* *Simple Topology Provider*: The Simple Topology Provider has been removed. The new GraphML Topology Provider should be used instead.

=== Deprecated Features
* *ElasticSearch 1.X Event Forwarder*: The existing Elasticsearch forwarder (`opennms-elasticsearch-event-forwarder`) is deprecated in favor of the new Elasticsearch ReST Forwarder (`opennms-es-rest`) since the ReST forwarder has broader compatibility with different versions of Elasticsearch.

=== Dependency Updates
* Jetty has been upgraded from 8.1.10.v20130312 to 9.4.0.v20161208.
* The Servlet API has been upgraded from 3.0 to 3.1.
* Drools has been upgraded from 6.0.1 to 6.4.0.

=== Internal Improvements
* We replaced all of the GWT components in the web UI with AngularJS components. This reduces the complexity of the UI code and will make it easier for developers with Javascript experience to maintain and contribute to the UI.
* All Javascript dependencies for the web UI are now managed by Bower and Gulp.
// Not sure if this is done yet:
// * Jasper reports are now precompiled.
* The JIRA ticketer has been improved.
* The default database connection pool has been switched from c3p0 to HikariCP (http://brettwooldridge.github.io/HikariCP/) to increase performance.
* Our ICMP libraries are now capable of being run by non-root users.
<commit_msg>reformat a bit, and add some additional notes<commit_after>[[releasenotes-19]]
== OpenNMS 19

=== System Requirements

* *Java 8*: OpenNMS Horizon 19 requires Java 8 as the runtime environment.
  To run Horizon 19, we recommend the most recent version of Oracle JDK 8 for your platform.
* *PostgreSQL 9.2 or higher*: Horizon 19 requires PostgreSQL 9.2 or higher.
  All older versions of PostgreSQL are past their end-of-life support date.

=== Important Upgrade Notes

* *Cassandra JMX Metrics*: The default value for the `friendly-name` attribute on the `JMX-Cassandra` collection service has changed from `cassandra21x` to `cassandra`.
This changes the path in which the metrics are stored.
If you have already been collecting these metrics and wish to preserve them, you can ignore this change when merging your configuration.
* *Jetty 9.4 Upgrade*: Jetty has been upgraded from `8.1` to the latest `9.4`.
If you have a custom `jetty.xml` in your `etc` folder, you will need to migrate your changes.
Use `etc/examples/jetty.xml` as a starting point.
* *Drools 6.4.0 Upgrade*: Drools has been upgraded from `6.0.1.Final` to `6.4.0.Final`.
If you have custom Drools rules, they may need to be revised.
The compiler used in `6.4.0.Final` is stricter than the compiler in previous versions.
* *Separate opennms-webapp-remoting Package*: The webapp that supports the Remote Poller has been separated from the main OpenNMS webapp.
This will make installations much smaller for users that do not use the Remote Poller.
If you use the Remote Poller, you will need to install the `opennms-webapp-remoting` package.
* *OpenNMS Minion can run on a JRE*: The OpenNMS Minion packages no longer require a JDK package and can run on the plain JRE.
* *User roles moved from magic-users.properties into users.xml*: The users.xml file now contains a list of roles for each user alongside the rest of the user attributes.
* *JICMP 2.0 Upgrade*: Our Java ICMP library has been upgraded to version 2.0. You will need to upgrade to this version before upgrading to OpenNMS Horizon 19.

=== New Features
* *OpenNMS Minion*: Minion systems now have full support for most management features of OpenNMS:
** Discovery
** Provisioning
** Polling
** SNMP data collection
** SNMP link discovery
** Syslog reception (sent to OpenNMS via JMS or Apache Kafka)
** SNMPv1/v2/v3 trap reception (sent to OpenNMS via JMS or Apache Kafka)
* *Automatic provisioning of Minions*: Minion devices will be added to the _Minions_ requisition and monitored for connectivity with OpenNMS.
* *GraphML Topology Provider*: A new Topology Provider is available that reads GraphML formatted graphs and displays them in the the Topology UI.
* *OpenNMS Elasticsearch ReST Forwarder*: This Elasticsearch forwarder can store events, alarms, and alarm state changes in Elasticsearch for archival or searching. It is compatible with all currently supported versions of Elasticsearch.
* *Unified JAAS Authentication*: The web UI, the Apache Karaf OSGi console, and the built-in ActiveMQ broker all use unified authentication.
* *Monitoring Location Events*: Events will be sent when Monitoring Locations are added, updated, or deleted.
* *Exponential propogation*: There is a new exponential propogation function available for Business Services.
* *External JMS broker*: It is possible to configure OpenNMS to use an external JMS broker if desired.
* *ICMP traffic class and don't-fragment support*: It is possible to configure OpenNMS to set DSCP traffic class and "don't fragment" bits when polling ICMP.
* *Geographical Maps*: Geographical maps are now included by default in the center of the Web UI front page.
* *Web UI improvements*: Location information has been added to many places in the UI, and a number of pages have been enhanced including the BSM editor and topology UI.

=== New Data Collection Definitions
* *HTTP*:
** Elasticsearch
* *JMX*:
** Apache Kafka
** VMware vCenter Server 6.0.0

=== Retired Features
* *Simple Topology Provider*: The Simple Topology Provider has been removed. The new GraphML Topology Provider should be used instead.

=== Deprecated Features
* *ElasticSearch 1.X Event Forwarder*: The existing Elasticsearch forwarder (`opennms-elasticsearch-event-forwarder`) is deprecated in favor of the new Elasticsearch ReST Forwarder (`opennms-es-rest`) since the ReST forwarder has broader compatibility with different versions of Elasticsearch.

=== Dependency Updates
* Jetty has been upgraded from 8.1.10.v20130312 to 9.4.0.v20161208.
* The Servlet API has been upgraded from 3.0 to 3.1.
* Drools has been upgraded from 6.0.1 to 6.4.0.

=== Internal Improvements
* We replaced all of the GWT components in the web UI with AngularJS components. This reduces the complexity of the UI code and will make it easier for developers with Javascript experience to maintain and contribute to the UI.
* All Javascript dependencies for the web UI are now managed by Bower and Gulp.
* Jasper reports are now automatically recompiled if changed.
* The JIRA ticketer has been improved.
* The default database connection pool has been switched from c3p0 to HikariCP (http://brettwooldridge.github.io/HikariCP/) to increase performance.
* Our ICMP libraries are now capable of being run by non-root users (although OpenNMS is not yet configured to support this).

{'fraction_non_alphanumeric': 0.06301153732373534, 'fraction_numerical': 0.01676363277783256, 'mean_word_length': 4.600220872446163, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 9}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1088820', 'n_tokens_mistral': 2879, 'n_tokens_neox': 2684, 'n_words': 1459}