`NEWS.md`

This is an important release!

- It is now possible to do bandwidth selection with adaptive bandwidths.
- One can also set local bandwidths manually for bandwidth selection.
- The function
*lines_extremites*is now exported and available to the users.

- The function
*snapPointsToLines2*has been refactored and is now significantly faster. - Several c++ functions have been cleaned and the calculation time has been reduced significantly for many of them.

- for all the function where the parameters
*bw_range*and*bw_step*were used, they were replaced by a single argument*bws*. It gives more flexibility to the user.

When using ESC-NKDE with bandwidths selection, negative density values could be obtained (with a small parameter of depth). It led to NAN values in LOO score. They are now treated as zeros.

A small bug has been corrected in the functions *network_knn* and *network_knn.mc* caused with grids with very few number of points.

Corrected the bug presented in issue 19.

This is only a maintenance release. A bug in CRAN caused by multiprocessing in example caused the rejection of the package. All the test and examples are now using only one worker.

- corrected two minor bugs with the kfunctions, kfunctions.mc, cross_kfunctions and cross_kfunctions.mc (issue 8)

It is possible now to choose between two strategies to deal with density at 0 when calculating LOO likelihood for several bandwidths. For more details, see the parameter

*zero_strat*in the functions*bw_cvl_calc*,*bw_cvl_calc.mc*,*bw_cv_likelihood_calc*,*bw_cv_likelihood_calc.mc*,*bws_tnkde_cv_likelihood_calc*and*bws_tnkde_cv_likelihood_calc.mc*.It is possible now to set directly the size of local bandwidths for the functions

*nkde*,*nkde.mc*,*tnkde*and*tnkde.mc*. This feature is currently experimental, please submit an issue if you encounter a bug.One can now use the identity matrix type for neighbour weighting (

*network_listw*). It is useful if one wants to apply different function to calculate the weights and to compare the results.Adaptive bandwidth for TNKDE can now be calculated separately or simultaneously. For more details, see the parameter

*adaptive_separate*.

The vignette

*Details about NKDE”*has been removed from the package because it could not be knitted on some CRAN machines. It is still accessible on the website.A new vignette

*K-nearest neighbour adaptive bandwidth*has also be added to the website. It presents how spNetwork can use user defined local bandwidths.

- Added a set of functions to perform Temporal Network Kernel Density Estimation (see vignette TNKDE)

- A new vignette is presenting the Temporal Network Kernel Density Estimation
- Adding a CITATION file

- Performance was improved for data-driven bandwidth selection for NKDE
- The function
*lines_points_along*has been reworked with c++ and is now way faster - The function
*lines_center*has been reworked with c++ and is now way faster

An error was raised when points were sharing the exact same locations in the function

*network_knn*. It has been corrected an a warning was added to clarify the situation.A clearer error message is now raised when multiple geometries are passed to the

*nkde*and*nkde.mc*functions.When using the discontinuous NKDE, NA values were returned if an event was located exactly at the extremity of an edge with no connexions. This has been corrected.

- Added two functions for data-driven bandwidth selection (see vignette NKDE)
- Added a function to simplify network before processing (
*simplify_network*), reducing network complexity by removing useless edges or merge continuous edges can improve performance. This function is still experimental and must be used only for undirected networks. - Added two functions to calculate k nearest neighbours:
*network_knn*and*network_knn.mc* - Added a function to calculate isochrones on a geographical network:
*calc_isochrones*and a Vignette (*Calculating isochrones*) to give an example. - Making some internal functions visible for the user to allow graph analysis on networks, see the new vignette
*Building networks*.

Several vignettes were added to present the new features. A pkgdown website was also built to give a more attractive way to browse the documentation.

We follow now the code coverage. We want to reach 70% coverage before the next CRAN release.

- issue 1 fixed by changing the function maptools::snapPointsToLines for a home-made function. The package BH including the c++ boost library is used to realize fast spatial query.
- issue 2 fixed by handling the special case of lines of length 0.
- an error was raised when using
*listw_network*with polygons and the method = “pointsalong”. This was caused by a minor error in the code and works now as expected. - an error was present in the Diggle correction factor, leading to overestimation of the correction. This error has been corrected.
- for the k functions, a minor error in the calculus was corrected, affecting only the scale of the result. These functions are now formally tested.
- In the nkde function, when using an integer matrix, an error was crashing the R session in some case. This has been corrected.

- Performance was improved for functions
*listw_network*,*listw_network.mc*,*kfunctions*,*kfunctions.mc*,*cross_kfunctions*and*cross_kfunctions.mc*, by reducing the complexity of the network with no loss of accuracy. - Several geometrical functions have been accelerated by c++ code using the boost library
- upgraded c++ compilation requirement to c++17
- the functions used for the nkde calculation were reworked. Sensible speed gain can be observed.