////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:description: Document containing information on upgrading your plugin to Hop 2.0.

[[upgradeGuide-OverviewPage]]
= Breaking changes to the API

This guide can be used to upgrade your plugins to work with Hop 2.x Releases.

Hop 2.x will contain breaking API changes to further cleanup the backend and improve the codebase for further development, this document will change a general overview on what has been changed and what you should do to upgrade your external plugins. If you need detailed information or support on upgrading your plugin you can contact the developers using our mailto:dev@hop.apache.org[Dev] mailing list.

== HOP-1605: Boolean naming convention
This release will be used to update some naming conventions that may inpact your development

We are renaming boolean getters and setters to the `isBoolean` or `hasBoolean` naming convention

=== pull requests affecting this

https://github.com/apache/hop/pull/1291

== HOP-1888: Rename package org.apache.hop.pipeline.transform.errorhandling

The package name `org.apache.hop.pipeline.transform.errorhandling` did not cover the actual content of the package, therefore it has been renamed to `org.apache.hop.pipeline.transform.stream`

If you use the errorhandling package in your plugin you will have to rename it to stream in order for it to be found in the next release.

=== pull requests affecting this

https://github.com/apache/hop/pull/1289

== HOP-3262: Simplify the APIs of transforms

The interface `ITransform` and `ITransformMeta` are no longer generic. Only the `BaseTransform` and `BaseTransformMeta` implementation classes are generic.

The `getTransform` and `getTransformData` methods of the `BaseTransformMeta` class are replaced by methods that use the generic parameters.
Attention to the order of the parameterized classes is important, add additional parameters at the end:: 
`Transform<Meta, Data, ...>`
`TransformMeta<Main, Data, ...>`

== pull requests affecting this

https://github.com/apache/hop/pull/1078