This is a space for bits and pieces that come up from time to time. 

06 March 2024

Further releases of secr (4.6.6) and secrdesign (2.9.0) are on CRAN. Check  the News for each package.

19 February 2024

The new release secr 4.6.5  fixes some significant bugs in seldom-used functions - fxi.secr() did not work for area search models; static noneuclidean user distances did not work in (thanks to Ian Durbach for reporting this). Enhancements include a 'names' argument for secrlist(), and function binCovariate() to add a binned version of a numerical covariate.  The likelihood may now be maximised conditional on the set of marked individuals to estimate their spatial distribution (, details = list(relativeD = TRUE)) (see secr-densitysurfaces.pdf).

1 December 2023

openCR 2.2.6 is now available on CRAN with several enhancements noted here. A key change is the use of details argument 'agebreaks' to form a grouped-age covariate, in preference to the old 'agecov'; this has the advantage of working with variable intervals.

19 October 2023

secr 4.6.4, now on CRAN, adds simulation of log-gaussian Cox processes via the 'rLGCP' function of spatstat that in turn requires the non-CRAN package RandomFields (see ?sim.popn). Multi-session data may now be fitted with  parameters for the initial density and session-on-session rate of increase (lambda) (see secr-trend.pdf). Other minor changes are listed in NEWS.

14 July 2023

secr 4.6.1 is on CRAN. Changes are quite minor.  The collate function becomes a generic, with methods for secr and secrlist objects. This enables a customized method for openCR objects in a forthcoming version of the openCR package.

25 May 2023

Version 4.6.0 of secr is now available on CRAN with its Windows binary. This version has improved handling of large transect datasets thanks to a contribution by Philipp Jund. Several functions extend the treatment of spatial overdispersion (c-hat across detectors).  ?chat.nk is a good place to start.

18 March 2023

New versions of secr (4.5.10) and secrdesign (2.8.2) are on CRAN. The new estimateSummary() function of secrdesign provides a compact and flexible summary of simulation results, especially useful for grouped simulations (see discussion on secrgroup).

01 December 2022

secr 4.5.8 is on CRAN. New functions calculate Fletcher's c-hat and use it to adjust the confidence limits of density estimates for spatial overdispersion. Several minor bugs are fixed. See here for details.

14 October 2022

secr 4.5.7 is on CRAN now. This fixes a significant bug in region.N when 'region' was provided as a mask.

16 September 2022

ipsecr 1.3.0 is on CRAN. Improvements are described here.

16 August 2022

secr 4.5.6 is on CRAN now, with only minor changes.

21 June 2022

secr 4.5.5 has been on CRAN for a few weeks now, fixing a few minor bugs and adding a couple of small features. More exciting - the new package ipsecr is now on CRAN. ipsecr takes over and greatly extends the secr function 'ip.secr'. It's particularly handy for fitting simple models to data from single-catch traps.Check out the vignette if you're interested. There are a few rough edges to sort out over the next 2-3 months.

26 April 2022

secr 4.5.4 is now on CRAN. A few bugs have been fixed; most were in less-often-used functions. The GRTS option of trap.builder() that relied on package spsurvey has been reinstated.

14 February 2022

secr 4.5.3, now on CRAN, cleans up the internal processing of spatial data. This now makes heavy use of 'simple features' as implemented in the package sf. The new vignette secr-spatialdata.pdf gives some background. The bug that caused 'ignoreusage' to itself be ignored in some functions has been fixed.

24 January 2022

secr 4.5.1, now on CRAN, fixes a bug in hybrid mixture models with known class that resulted in bad estimates of pmix. When loading secr you may get warnings relating to gridDistance and direction - these come from recent versions of the packages raster and terra and can be ignored.

10 January 2022

secr 4.5.0 is on CRAN. The one change of general interest is that model.average() has been superceded by the generic modelAverage() - this avoids a name clash with RMark and works smoothly with openCR 2.2.2 (forthcoming). Several bugs have been fixed - mostly fallout from other late-2021 changes.

14 November 2021

openCR is on GitHub

13 November 2021

New releases of secr (4.4.8) and openCR (2.2.1) are on CRAN, but the Windows binaries are slow to appear. These fix a bug with count data in the most recent version of secr (thanks to Ian Durbach for raising this) and an old bug with learned-response models in openCR. openCR 2.2.1 has some new movement kernels, and two important changes to the defaults in kernelradius = 30 and sparsekernel = TRUE. A new online vignette explores movement kernels in some detail: openCR-kernel.pdf.

21 October 2021

secr 4.4.7 is now on CRAN. Most changes are minor or not visible to users, but
o   addCovariates() now accepts RasterLayer spatialdata
o   make.capthist() and read.capthist() tweaked to allow nonspatial input
o   sim.popn() has some new movement kernels
o   a bug in snip() has been fixed
o   relations with package 'spsurvey' have been suspended, perhaps temporarily. The packages clashed during submission to CRAN and I
have yet to get my head around the much-changed spsurvey 5.0.0. This means the 'GRTS' option of trap.builder() does not work in 4.4.7.

16 August 2021

openCR 2.1.0 is on CRAN, and Windows binaries will soon be available. This version fixes a bug that blocked 'derived' and adds quite a few features for movement modelling. Check here and read the vignette for specifics. The default number of iterations in nlm() used by has been increased to 300, which should reduce the frequency of 'code 4' results.

26 July 2021

Numerical maximisation of the SECR likelihood is a bit of an art. The default method in uses the R function nlm(). Some recent work with Jo Carpenter stumbled on problems when nlm() reached the default maximum number of iterations (code 4). There is no global solution, but a new section in secr-troubleshooting.pdf makes some suggestions.

20 July 2021

secr 4.4.5 is now on CRAN. Changes include improved simulation of between-session movement in sim.popn() (only relevant to models in openCR).  Data extracted with sometimes associated captures with the wrong detector - the bug has been fixed.

12 June 2021

openCR 2.0.2 has a significant bug in openCR.esa() that sometimes stops derived.openCR() with a 'mask not found' error. A corrected version is available in the Windows zip file here and the source code here.

08 June 2021

secr 4.4.4 is now on CRAN. Changes are mostly technical and should not affect users. A significant bug in the handling of multi-polygon data is corrected.

20 May 2021

openCR 2.0.2, now on CRAN, implements stratified models that significantly extend openCR 1.5.0. Stratification allows blocks of data to be included in an open-population model even when they differ in detector array or sampling duration; 'stratum' or stratum-level covariates may be included in model formulae. Details here and here.

3 May 2021

secr 4.4.1 offers a few specialised new features for simulating populations and fixes some bugs, mostly minor. Details here.

18 December 2020

openCR 1.5.0 now on CRAN fixes several bugs. Users can now control  the allowance for edge effects in movement models - a source of problems in earlier versions. The number of threads is now managed as in secr via the environment variable RCPP_PARALLEL_NUM_THREADS. 'PLBx' is a new alias for conditional-likelihood (Pradel-Link-Barker) models. See here for other changes.

13 December 2020

secr 4.3.3 now on CRAN fixes several bugs, most of them minor. See here for details.

7 September 2020

secr app 1.3 is now live on the University of Otago stats server. For a gentle introduction see here.

6 September 2020

The web page has been rearranged to emphasise the R package secr and its associated Shiny app, while still allowing access to the legacy Windows application DENSITY. Example files of input data are exposed for the first time.

4 September 2020

secr 4.3.1 now on CRAN fixes a bug in verify() that has tripped up some users. There are two new functions that summarise capthist objects: centroids() averages the locations of each detected animal and ORL() returns observed range lengths. read.traps() is extended to include input of usage and covariate data from spreadsheets (.xls, .xlsx) and dataframes. The fxi functions now work with the 'fastproximity' option. Other changes are noted here.

17 July 2020

secr 4.3.0 now on CRAN includes the bug fixes foreshadowed in secr 4.2.3 (not released on CRAN) and other tweaks for compatibility with R 4.0. The internal links to secr-datainput.pdf and secr-overview.pdf are broken in secr 4.3.0; see here for these files.

13 May 2020

Pre-release secr 4.2.3 (see 8 May) now fixes bug that affected esa(), derived() and region.N() when model used individual covariates (CL = TRUE).

8 May 2020

Minor changes to secr appear in a pre-release version secr 4.2.3 that is available as source code and as a Windows binary. This version will change before it is finally released on CRAN in a month or two. Changes are listed here.

16 April 2020

The changes in secr 4.2.1 appeared on CRAN as secr 4.2.2 a few days ago, but the Windows binary has yet to appear there. The only difference between 4.2.2 and 4.2.1 is a tweak to an example in suggest.buffer.Rd that was taking too long for CRAN's liking.

7 April 2020

secr 4.2.1 fixes a serious bug in the C++ code for individual covariate (CL) models fitted to proximity data with the default 'fastproximity' setting. Fitting of these models failed in versions 4.0.2 to 4.2.0, or generated weird results. A bug in join() has also been fixed. There may be a lag of a few days before this version is available on CRAN.

26 February 2020

secr 4.2.0 is now on CRAN. The main change in this version concerns the number of threads used when fitting models. This now defaults to 2 rather than one less than the maximum.  Set the 'ncores' argument of or setNumThreads() for more. A new random systematic design 'lacework' is introduced.

18 December 2019

secr 4.1.0 is now on CRAN; the Windows and OS binaries should appear later this week. This version requires R >= 3.5.0, so you may need to update.

09 December 2019

Changes have been made to the pre-release version secr 4.1.0  to fix significant bugs in secr 4.0.2 relating to covariate models for detection parameters (especially detector and individual covariates). Thanks to Joanne Potts for reporting the problem. The version here is believed to be clean, but more testing is underway.

01 December 2019

secr 4.1.0 pre-release implements new code for polygon and transect detectors that is typically 2-3 times faster than before. New function  AICcompatible() provides some protection against attempts to compare   models with differing data etc. A significant bug is fixed that caused bad results from derived() for polygon detectors in secr 4.0. This version requires a recent version of R (R>=3.5.0).

12 November 2019

secr 4.0.2 is now on CRAN with only minor tweaks from 4.0.0. Windows and Mac binaries may take a day or two.

27 October 2019 

secr 4.0.0 is a major re-write of secr to be released on CRAN late in 2019. Expect models to fit faster. A pre-release (beta) version is provided here. Changes are documented in secr-version4.pdf. Please report any problems or unexpected behaviour.

02 July 2019

openCR 1.4.1 is now on CRAN. Changes are minor but may be critical for some spatial models with movement - see NEWS on CRAN.

15 June 2019 

openCR 1.4.0 is on its way to CRAN.  Errors in the formulation of the movement model have been corrected: some estimates will be different. Movement kernels may now use uniform or 2-D t distributions, and there are plot and summary functions for kernels built with the new function make.kernel. See NEWS on CRAN for many other tweaks since openCR 1.3.5.

08 June 2019 

secr 3.2.1 is now on CRAN. This fixes three minor bugs and adds new options for between-session movement in sim.popn() (exponential and 2-D t kernels).

04 April 2019 

Bugs in current openCR are now tracked on that page.

12 March 2019 

openCR 1.3.5 now on CRAN has only trivial documentation changes.

18 February 2019

secrdesignapp 1.2 (GitHub and OU Statistics server) adds some features (traffic lights, define Habitat mask on separate page to Options, bookmarking includes shapefiles) and fixes some minor bugs.

15 February 2019

Since version 2.5.5 (Dec 2018) secrdesign has allowed a choice between and (openCR package) in simulations for closed population models (run.scenarios or optimalSpacing). is much faster. However, I overlooked that predict.openCR ignores nrepeats>1 (specifically, predict.openCR does not divide the estimated density by nrepeats as it should). As a result, simulated density estimates are high by a factor of nrepeats, and true RB(D-hat) = (RB+1)/nrepeats - 1. RSE(D-hat) is unaffected. This will be fixed, or a warning raised, in secrdesign 2.5.8, probably out in March.

30 January 2019

secrdesignapp 1.1 has lots of new features including clustered arrays within an arbitrary region and bookmarking of the interface. Try it on the Otago University Statistics server by clicking this link.

25 January 2019

secr 3.2.0 is on CRAN (the Windows binary will arrive in a day or two).  A few minor changes have been made so secr works better with secrdesign and its shiny app secrdesignapp. New empirical variance methods have been implemented, in particular one for systematic cluster designs based on  Fewster (2011 Biometrics 67:1518). A summary of movements is optionally included in the summary method for capthist objects. See here for a more complete list of changes.

13 December 2018

secrdesign 2.5.5 is on CRAN. It supports the new interactive interface secrdesignapp (see the secrdesign page). A new minor release of openCR (1.3.2) was needed to fix a CRAN issue.

27 November 2018

Newly released openCR 1.3.0 fixes some problems and adds minor new features (control over sample size for AIC, a summary method for openCR objects, detector-specific learned responses).  The predictors used in formulae for learned responses have been radically redefined - see openCR-vignette.pdf. openCR-examples.pdf has been revised. For other changes see here.

23 November 2018

secr 3.1.8 is on CRAN. A summary method is provided for fitted models ('secr' objects). The result (try summary (secrdemo.0)) is a list that looks rather like the printed output. It is handy as a compact output from simulations (e.g. better than the default extractfn argument in secrdesign because it includes a raw data summary).  The summary is not exhaustive (e.g., omits mark-resight) and more components may be added.

A significant bug  has been fixed (detector usage was ignored for some models with 'multi' detectors). For other changes see here.

4 October 2018

secr 3.1.7 is now on CRAN (binaries available soon). This release fixes a scatter of minor bugs (see here).

27 May 2018

openCR 1.2.0 is now on CRAN with the changes noted on 20 April. and some extra features - an interface to R2ucare, function, newdata argument for derived(). See here for details. By default, now uses all but one of the available cores.

15 May 2018

secr 3.1.6 now on CRAN. A new function CVpdot computes the CV of site-specific detection probability p.(x) across a mask. Intervals and session labels are handled correctly by the subset and reduce methods for capthist objects; time-varying individual covariates may be defined for use in openCR. A couple of bugs are fixed; see here for specifics.

25 April 2018

openCR 1.1.2 now on CRAN is only trivially changed from 1.1.1 (and well behind pre-release 1.2.0 available here).

21 April 2018

Pre-release openCR 1.2.0 tweaked to fix bug in varying usage with count data (thanks to Richard Glennie for spotting this).

20 April 2018

A pre-release copy of openCR 1.2.0 is available here. Multithreading via RcppParallel gives considerable speed improvements (up to 4x with quad core Windows). This adds a new layer of complexity in the code but is transparent to the user - please report any issues. Many closed population models fit faster in openCR than in secr ( with type = 'secrD' or 'secrCL').

13 April 2018

The new R package openCR can be used for a wide range of nonspatial and spatial capture–recapture analyses. Check it out. Although the vignette indicates that movement models are not available, they will in fact run, just read the warnings.

The DENSITY download form has been broken for a couple of weeks. It's working again now.

27 February 2018

secr 3.1.5 is now on CRAN. You can now view parameter estimates for all levels of a factor covariate simply by setting all.levels = TRUE in predict(). A few bugs are fixed (including the one from 2017-12-08). Other changes mostly prepare secr  to play with a forthcoming package for open population models.

08 December 2017

Versions 3.0.1 to 3.1.3 contained a bug that caused to fail or produce bad estimates with binomial count data derived by collapsing binary data from multiple occasions -- including with reduce(..., by = 'all', output = 'count'). When is called with count data and binomN = 1 the usage at each detector gives the 'size' of a binomial probability (the maximum possible number of observations of an animal). However, the C code for this part of the likelihood was faulty in secr 3.0.1 (May 2017). The problem is fixed in secr 3.1.4, available here in pre-release form. Thanks to Mathias Tobler for reporting the issue.

04 December 2017

secr 3.1.3 now on CRAN adds a few features of mostly minor interest ('capped' detector type, contrasts to control factor coding etc., subset criterion may be function of capthist object).  The verify method for capthist objects has improvements (will again flag detections at unused detectors; also flags missing rownames and all-zero histories). A bug in sim.capthist affected learned-response models (detectpar$recapfactor != 1.0). See here for a full list of changes in 3.1.1--3.1.3 (3.1.1 and 3.1.2 did not make it to CRAN).

Functions 'derived' and 'region.N' are now S3 methods of the corresponding generic - this should not affect their use in secr. The little-used empirical variance  functions  'derived.nj', 'derived.mash', 'derived.session', 'derived.cluster' and 'derived.external' have been renamed 'derivednj', 'derivedMash', 'derivedSession', 'derivedCluster' and 'derivedExternal' to dodge a name clash with the generic.

secrdesign has also been updated (see here)

07 October 2017

A new version of secrdesign will soon be available on CRAN. Version 2.5.0 makes minor tweaks to the simulation interface and adds major new non-simulation features (see here). Briefly, these predict sample size for many designs (number of individuals and number of recaptures), compute costings and an approximation to the precision of density estimates, and automate the search for the optimal detector spacing. The features are described in a new vignette secrdesign-tools.pdf.

22 September 2017

secr 3.1.0 is now on CRAN and available here. It consolidates and publishes the minor changes in 3.0.2 and 3.0.3 (pre-release versions not published on CRAN).

10 September 2017

Pre-release secr 3.0.3 fixes a bug in starting values for combined  non-Euclidean and mixture models

27 July 2017

Pre-release secr 3.0.3 has tweaks to randomHabitat (seed argument) and (load balancing). The functions rbind.popn and rbind.capthist have been revised and registered as S3 methods (hence call with, e.g., rbind instead of rbind.capthist).

7 June 2017

Updated pre-release secr 3.0.2 includes major speed improvement for detector type "count".

24 May 2017

Pre-release secr 3.0.2 fixes an axis label problem noticed by Greg Distiller. read.capthist and read.traps now accept input from Excel spreadsheets; there are limitations - see secr-datainput.pdf.

22 May 2017

Michael Scroggie suggested the package readxl for input from Excel spreadsheets. I have revised secr-datainput.pdf to include an example. Later versions of secr may streamline the process.

04 May 2017

Finally, secr 3.0.1 is on CRAN (distribution may take a day or two). The pre-release version 3.0.0 was not submitted. See package News file for  tweaks between 3.0.0 amd 3.0.1.

Also, secrlinear has a new version 1.1.0 on CRAN. Changes are internal (to oblige CRAN, and for compatibility with secr 3.0.1) and should not affect users.

30 April 2017

Fixed typo in Notes section of secr-noneuclidean.pdf.

11 April 2017

secr 3.0.0 is now in pre-release i.e. it is available here in virtually it final form, and will be posted on CRAN in a few weeks. It is a major revision, and some changes in behaviour should be expected. Some estimates and likelihoods also change. All changes are itemized in the package News file as usual; here are the big ones.

1. Data from exclusive detectors (detector types “single”, “multi”, “polygonX” and “transectX”) now internally use a 3-dimensional data array just as for other detectors (“proximity”, “count” etc.) (previously 2-D, animals x occasions; now 3-D, animals x occasions x detectors). The original structure was more elegant for exclusive detectors, but maintaining both was a drag. The new internal data structure should be invisible to users entering new data. Users analysing saved data may encounter a suggestion that they update to the new structure using updateCH().

2. The change in data structure enables detector type to vary within a session; this is especially useful for combining trapping (to mark animals) and resighting.

3. The implementations of polygon, telemetry and mark-resight methods have been extensively revised. Estimates may differ from previous versions, although not by much. The matching documentation has been revised (secr-polygondetectors.pdf, secr-markresight.pdf, secr-telemetry.pdf).

4. Polygon and transect detectors now work only with hazard detection functions (HHN, HHR, HEX, HAN, HCG). The log-likelihood values for polygon and transect models look very different to previous values – an arbitrary constant has been removed – model comparisons within version 3.0.0 should not be affected.

5. The 'telemetry' detector type has been redefined (it is now an arbitrary point detector rather than an arbitrary polygon) so that telemetry may be mixed with point detectors ("single", "multi", "proximity", "count") within one session. Telemetry type (independent, concurrent, dependent) is now an optional attribute of traps objects.  It is not yet possible to combine telemetry and polygon detectors.

6. Memory requirements have increased. This is a programming convenience - if it's too hard on users then it may be reversed.

7. General documentation has been expanded with new vignettes on habitat masks, multi-session data, troubleshooting, and an introductory tutorial. The tutorial will evolve.

8. Several datasets are provided as raw text files at For each study there is a capture file (xxxxcapt.txt) and a detector file (xxxxtrap.txt).

30 January 2017

secr 3.0 is still a couple of months away, but a taste of its approach to telemetry data is shown in the draft vignette secr-telemetry.pdf. Comments welcome.

7 January 2017

Murray Efford, Joanne Potts and Gurutzeta Guillera-Arroita offer a 4-day course on spatially explicit capture–recapture in Melbourne on 8-11 May 2017. See here for more.

6 December 2016

secr 2.10.4 is now finalised and on CRAN. Changes are listed here - mostly just bug fixes. Significant changes are coming in secr 3.0, due February-March 2017.

1 October 2016

Provisional release of secr 2.10.4 updated to fix bug that caused b and bk models to crash when no animal was detected in a session

22 September 2016

Provisional release of secr 2.10.4 updated

3 August 2016

Provisional release of secr 2.10.4 updated

14 June 2016

A provisional release of secr 2.10.4 fixes esoteric bugs in esa () and mash().

6 June 2016

By an oversight, news of secr 2.10.3 was not posted here when it was released on 2016-05-13. See here for what you missed.

10 January 2016

The binary files for secr 2.10.2 will soon appear on CRAN. Changes are listed here.  This version requires R >= 3.2.0, so you may need to upgrade. secr 2.10.1 was not posted on CRAN; changes are included in 2.10.2. The implementation of polygon detectors has been changed to more closely follow  Efford 2011 Ecology Appendix A when using detectfn 14-18 (home range - polygon overlap is integrated on the cumulative hazard scale, not detection probability), so estimates may differ from previous versions of secr. Simulated count data may also differ. Oversized problems could result in a bizarre error (request for 134217728 Tb of memory) due to integer overflow - the number is now right, but the memory limitation remains -- my thanks to Matt Gould for helping track this down.

08 December 2015

Functions join() and mask.check() have been tweaked in the working version (secr 2.10.1).

07 December 2015

secr 2.10.0 is now ready and will soon appear on CRAN (see also here; 2.9.6 never reached CRAN). The main development is a suite of methods for mark-resight data as described in secr-markresight.pdf and a forthcoming paper (M. Efford in prep.).  Known bugs have been fixed - fortunately these were mostly conspicuous malfunctions in specialized  applications, so previous results are generally trustworthy.  Details here.

20 June 2015

The first change in the working version 2.9.6 available here is an update to the function, enabling multi-session model fits.

16 June 2015

secr 2.9.5 has been released on CRAN. This includes incremental changes over the last 3 months; as usual, a few minor bugs have been found and fixed. Details here.

20 April 2015

Incremental improvements continue to be added to  the 'under development' version of secr available here. Today, a bug is fixed in the 'raster' methods for exporting mask and Dsurface objects, a 'crs' argument is added, and these methods are documented for the first time.

25 March 2015

secr 2.9.4 has been released on CRAN. A few bugs have been fixed. Some new capability is provided for those wanting to mess with non-euclidean distance models  (function nedist(); 'miscparm' user-controllable arguments).

12 January 2015

secr 2.9.3 has been finalised and sent to CRAN, including the various changes foreshadowed below. 

6 January 2015

secr 2.9.3 'under development' has improved handling of sessions with no detections, and new buffer types in sim.popn().

5 January 2015

An advanced course on spatially explicit capture–recapture is offered on 18-19 June in Dunedin before the SEEM 2015 conference in Queenstown. Details here.

12 December 2014

A 'clone' method for capthist objects has been added to secr 2.9.3  'under development' - useful for simulating overdispersion.

11 December 2014

secr 2.9.3  'under development' allows make.systematic, trap.builder and other functions to work with a region input as a SpatialPolygonsDataFrame having a non-missing proj4string (CRS).

While I'm at it: the new package secrlinear has appeared on CRAN. This add-on to secr redefines habitat as linear and computes 'distance' through a linear network (vignette). Good for animals that live on or in rivers. 

4 December 2014

secr 2.9.2  does not perform well when there are no detections in some sessions. The problems are fixed (I hope) in an early draft  of secr 2.9.3  provided here.

30 November 2014

The R package secrdesign helps you set up, run, and summarize simulations for testing SECR study designs. The capability of newly released version 2.2.1 is described in the vignette.

24 November 2014

secr 2.9.1 contained a bug that blocked 'group' models - this is fixed in secr 2.9.2.

19 November 2014

Today's minor release of secr (2.9.1) verges on 'major' because it includes a substantial extension to the capability for non-Euclidean distances, documented in a new vignette secr-noneuclidean.pdf. The 'start' argument of can now be a named list of one or more 'real' parameter values - it's much simpler (why did I not think of that before?).

23 September 2014

secr 2.9.0 is the first major release for several months (and 2.8.2 escaped without being reported here!).  The vignettes have been updated (they now use RMarkdown, RStudio and knitr) and a new dataset has been added (OVpossum).  The 'fxi' functions have been extended (but see the vignette secr-densitysurfaces.pdf!).  Users may provide their own non-Euclidean distance function. Regression spline smooths are enabled (using mgcv to construct basis functions, as proposed by Borchers and Kidney in prep.).  Plotting of density surfaces has been improved with the addition of a coloured legend (function strip.legend()).  A function secr.test() is provided for Monte Carlo goodness-of-fit testing.  The likelihood for hybrid mixture (hcov) models is given in an appendix of secr-finitemixtures.pdf.  Several interface bugs are fixed.

29 April 2014

A minor release of Density (5.0.3) fixes a bug in the clipping of meshes to a buffer around a trap layout: the last trap was overlooked, so the mesh could sometimes be too small. This affects the total number of mesh points, but is expected to have only a trivial effect on estimates. Thanks to Mike Hooker for pointing out the problem.

4 April 2014

A tiny glitch has required a quick revision - secr 2.8.1 will soon be available on CRAN.

2 April 2014

secr 2.8.0 is out. There are many small improvements and a vignette explaining optional parameterisations to capture structural relationships between detection parameters. New tools for combining SECR and telemetry data will be documented later. Time is running out if you want to sign up for the Montpellier workshop!

28 November 2013

We're offering a workshop in association with the 2014  International Statistical Ecology Conference in France. 

30 October 2013

secr 2.7.0 has been submitted and will be available soon on CRAN. This version refines and documents the hybrid mixture (hcov) models introduced in 2.6.0 and promotes their use for sex-based analyses. The other major addition concerns a new parameterization of detection: the real parameter lambda0 or g0 may be replaced in models by a0, representing the product 2.pi.lambda0.sigma^2. Practical reasons for this apparently arcane move are given in a forthcoming Efford and Mowat paper.

1 July 2013

secr 2.6.1 fixes a bug in 2.6.0 that caused R to crash when calling derived(), esa() and related functions.

13 June 2013

secr 2.6.0 is out. The most novel new feature is a hybrid mixture model that will be useful for a wide range sex-specific analyses, including those with some missing sexes. There are new detection functions (e.g., half-normal cumulative hazard). Attention is drawn to the numerical problems with some finite-mixture (h2) model estimates caused by the multimodal likelihood (see secr-finitemixtures.pdf). A significant bug has been fixed relating to multisession models with varying numbers of detectors or sessions.

24 January 2013

secr 2.5.0, out today, includes major extensions for time-varying
detector-specific effort (non-binary usage), and new tools for discretizing detections along transects (snip) and aggregating nearby detectors
(reduce.capthist ‘span’ argument). 

Variable non-binary usage works like an offset in glm models. This can remove the need to model time-varying detector-level covariates, and allows the seamless analysis of quite ragged datasets. Details are provided in a new vignette (secr-varyingeffort.pdf), and in a forthcoming paper by Efford and Borchers. Non-binary usage slows down model fitting; it is hoped to fix this in future releases. 

Functions for plotting probability density contours of home-range centres (fxi) have been improved, and several other bugs have been fixed. 

Models for binomial count detectors are now parameterised in terms of the detection probability (g0 = p) rather than the expected number of detections (g0 = p.binomN); the estimated g0 from, and output from sim.capthist(), will therefore differ from previous versions for these models. 

Windows and Mac binaries should be available on CRAN in a day or so.

21 January 2013

DENSITY 5.0.2 is released with minor tweaks as listed in the Help file under 'Changes in latest version'. Individual covariates may now be used with the R interface.

9 January 2013

Users of secr: please note that the reported likelihood and AIC for multi-session models changed in version 2.4.0, so AIC for models fitted previously is not directly comparable (parameter estimates are unchanged). See for a complete explanation.

13 December 2012

DENSITY 5.0 is here. This version keeps the old Windows package alive with a new compiler Delphi XE2 and a cleaner interface. Several features of marginal interest have been removed. A new R interface translates data and model specifications from the GUI to commands for the R package 'secr'. Several bugs have been fixed. The most important was underestimation of SE for density estimates using the conditional likelihood. See here for a list of changes.

Please report any problems. For enquiries about usage please use

9 November 2012

secr 2.4.0 binaries now available on CRAN. Efford & Fewster Oikos paper available in Earlyview (see Publications)

14 September 2012

An erratum here corrects an error in equation 3 of Efford and Dawson (2012) (a missing '2').

19 May 2012

A further 3-day short course will be run in Whitehorse, Yukon, on August 7-9. Please contact Ramona Maraj ( if you are interested in attending, and for details of cost etc.

17 May 2012

secr 2.3.2 now available on CRAN includes one or two significant new features and a number of small extensions and bug fixes. A new function randomHabitat() generates heterogeneous random landscapes, useful as input to sim.popn() when testing methods. The format for storing acoustic data has changed and measurements of background noise may be stored alongside signal measurements; this should not affect previous code.

2 February 2012

A 3-day short course will be run in May under the auspices of the Columbia Mountains Institute:

Short course on capture–recapture methods for spatial data
Location: Nelson, British Colombia
Dates: 29–31 May 2012
Instructor: Murray Efford
Cost: CND$675 + tax

See for more.

22 December 2011

secr 2.3.1 has significant new features that almost qualify it as a full version. Learned response models (trap happiness, trap shyness) may now be specific to a particular site. As before, the effect comes in both a permanent ('bk') and a transient ('Bk') flavour. 

The new function 'RMarkInput' makes it easy to send secr data to MARK. This will be expanded later to include groups and covariates.

21 November 2011

secr 2.3.0, out today, has new capability for density surfaces as described in a vignette (secr-densitysurfaces.pdf). Users may define their own surface model as an R function, and functions ‘predictDsurface’, ‘plot.Dsurface’ and ‘spotHeight’ make for easy plotting. ‘addCovariates’ simplifies the extraction of spatial covariates from another spatial data source for use in a density model.

A bug in secr version 2.2.0 and earlier prevented the fitting of models to data from exclusive detectors ('multi', 'polygonX', 'transectX') when the models included detector-level covariates. This has been fixed.

11 October 2011

This link has been down for some time. The latest news is the release of secr 2.2.0 early this month.  Work on the next version is underway: it already includes density models with covariates spanning multiple sessions (see query from Frank van Manen on phidot) and provision for negative habitat masks (i.e. polygons defining nonhabitat rather than habitat areas). Contact Murray offline if you would like access to a beta version with these capabilities.

Murray Efford

University of Otago DENSITY: software for spatially explicit capture–recapture