 ----
 NPanday Developer's Issue Workflow
 ----
~~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.

NPanday Developer's Issue Workflow

  * After fix is committed, developer would post a comment on the issue and changed the status of the issue to "FIXED".

  * Another person would test the fix in another machine and if the issue is already fixed then that issue will be
    "CLOSED" by that person.

  []

  <Note:> Make sure that issues under the next release version will be updated (e.g if fixed, will be closed if it
          hasn't been updated).