I've posted a new version of secr on CRAN, and it should be available via mirror sites in the next day or so. The more interesting changes are summarised below. For a complete list see http://cran.r-project.org/web/packages/secr/NEWS

Murray

Mixture models

secr.fit() allows hybrid mixture models (h2 and h3) in which the latent class of some or all individuals is known (class is specified via an individual covariate named in the new argument 'hcov'). For a sex covariate, the mixing parameter pmix may be interpreted as the sex ratio, and predict.secr() now reports the SE and confidence interval for pmix.

A health warning is issued for h2 models: these may give spurious results if numerical maximisation of the likelihood stops on a local maximum. See http://www.otago.ac.nz/density/pdfs/secr-finitemixtures.pdf.

New detection functions

New detection functions are offered with standard shapes (half-normal, exponential etc.) on the cumulative hazard scale.

Simulation

In sim.capthist(), g0 may vary by both occasion and detector, and g0 may change after the first capture ('single' and 'multi' detectors only).

secr.fit() may be used with method = 'none' to compute the asymptotic variance-covariance matrix of beta parameters for the current dataset at the values in argument 'start' without fitting the model. This is a fast way to predict precision from simulated data.

Model averaging

model.average() implements the model-averaged tail area (MATA) confidence intervals of Turek and Fletcher (2012) and provides a choice of information criterion for weighting (AIC or AICc).

Significant bug fixed

secr.fit() could fail with complex multi-session data: a silent bug in secr.design.MS() caused secr.fit to give the wrong answer when the number of occasions or detectors differed between sessions.

Miscellaneous

secr.fit() uses the MASS function ginv (generalised matrix inverse) rather than solve; ginv is more robust when not all parameters are identifiable.

The automatic mask generated by secr.fit() is now of type "trapbuffer" (i.e., points further than buffer distance from any detector are dropped).

circular.r() and circular.p() have new argument 'hazard' to convert from detection probability to hazard scale before computation, and conversion becomes the default, so results will differ.