0.8-1
- switch to S4 classes, and add new accessors and 'show' functions.
- add support for RBR 'rsk' files
- plot.section() now uses 'col' if supplied
0.7-1
- improve oceColorsJet()
- improve plotProfile() vertical range with missing data
- add data(drag)
- plotProfile() and plot.ctd(): add xtype="spice"
- add data(geosecs235)
- plotProfile() and plot.ctd(): add argument 'keepNA'
- as.ctd(): add arguments 'other' and 'missingValue'
- read.lobo(): tolerate more formats, including missing velocities
- add data(schmitt)
- add accessor spice()
- handle O2 and nutrients in CTD data and sections
- swSCTp(): use surface pressure as a default
- plotTS(): add arguments inSitu and referencePressure
- plotTS(): handle section objects
- fix bugs reported in issues 150, 151, 153, 155, 156
- imagep(): change default drawContours to FALSE

0.6-1
- add 'adv' dataset
- generalize swN2() by adding new arg 'derivs'
- oce.plot.ts() gets new arg 'axes'
- add accessor distance()
- rename to plotTS() and plotScan() to avoid S3 check warnings
- switch makeFilter's argument asKernel to TRUE

0.5-1
- add support for ARGO drifters
- latitude() and longitude(): new argument to repeat byDepth
- addCtdColumn(): replace if column already exists
- add CTD accessors for latitude, longitude, pressure, salinity, temperaure

0.4-1
- plot.sealevel(): only show 3 panels, for clarity
- plot.ctd(): add argument 'type'
- imagep(): handle x, y, and z as image() does
- oce.plot.ts(): inferred ylim matches data range within provided xlim
- read.adv.nortek(): handle extra analog data
- add CTD accessors longitude(), latitude(), time(), elevation(), etc

0.3-1
- add read.oce.odf()
- add findInOrdered
- generalize tidem() argument list
- read.adv.nortek(): handle burst-mode data
- add datasets wilson, redfieldNP, redfieldNC, redfieldPlankton, and riley
- change data(ctd) to be derived from data(ctdRaw)
- change to monitor=FALSE for all reading functions
- add accessor functions heading(), latitude(), longitude(), pitch(),
  pressure(), processingLog(), roll(), salinity(), temperature(), time(), and
  velocity().
- rename history as processingLog
- flatten all data objects to be 1 level thick (for future matlab exports)
- add threenum() added, and use it in all summaries (for speed)

0.2-3
- head.adp() added
- tail.adp() added
- extract() added

0.2-2
- velocityStatistics() added
- new names: oceApprox() integerToAscii() rangeLimit() ctdRaw
- topoInterpolate() added
- numberAsPOSIXct(): add type 'argos'
- rename beamAttenuateAdp() as beamUnattenuateAdp()

0.2-1
- camel-case function and argument names (and, retroactively, this NEWS file)

0.1-83
- add binAverage()
- fillGap(): add 'rule' argument (analogous to same for approx())
- add rescale()
- read.pt(): fix timing error; use as.pt() to create return value
- add as.pt()
- read.adp.rdi() uses checksums
- number.as.POSIXct(type="gps"): account for leap seconds

0.1-82
- remove warning that occurs for R 2.13.0 (alpha)
- number.as.POSIXct(): accept GPS times
- rename e.g. adv.2enu() as to.enu.adv()
- speed up conversion of ADP and ADV to enu by more than a factor of 10
- change RDI coordinate handling
- rename match.bytes() as matchBytes()
- add drawpalette()
- remove matlab2POSIXt(), now a sub-case of number.as.POSIXct()
- number.as.POSIXct(): added
- oceBiset(): added
- despike(): add argument 'action'
- detrend(): added
- read.adp.sontek(): handle PCADP type
- read.adp.sontek.serial(): added
- read.section(): handle WOCE quality flags for salinity
- retime(): added
- read.adv.sontek.serial(): correct error in class of 'a' and 'c'
- despike(): use string value for argument 'method'
- logger.toc(): fix bug in discovering files ranging over days
- as.ctd(): make temperature and salinity into vectors, if not already
- plot.TS(): add argument 'use.smoothScatter'
- oceDebug(): flush the console after printing a message
- sw.theta(): rename the method possibilities, to be lower case, without dates
- in some sw functions, rename 'pref' as 'reference.pressure'
- read.ctd(): fix bug in getting start.time for some time formats
- pwelch() added
- plot.sealevel(): make y axis obey range in data subset, if xlim is given
- adp.2enu() added
- coastline.world: improve resolution by a factor of 4 or so
- read.ctd.woce(): infer water depth as max(pressure) if it's not in the header
- section.smooth(): handle misordered stations; handle missing values better
- plot.section(): allow strings for 'which'; avoid contouring error if two stations at same distance 
- plot.ctd() and plot.profile(): add 'use.smoothScatter' argument
- coriolis(): improve omega value

0.1-81
- add despike()
- add range.limit()
- add unabbreviate.time()
- add support for bottom-tracking RDI ADCPs
- add support for interocean 's4' current meters
- add unwrap.angle()
- read.adv.nortek(): detect the velocity range
- add processing.log.add(), an alternative to processing.log.append()
- plot.ctd(): add more plot types (and re-use which=9 for salinity, not density)
- as.ctd(): improve flexibilty
- predict.tidem(): add 'newdata' argument
- adv.2enu() added
- adp.xyz2enu(): make it correct for heading.bias
- make.filter(): can now produce tskernel type
- improve (but temporarily limit) fill.gap
- plot.adp(): add 'use.layout' argument
- window.oce() added
- make objects remember full filename, not just local filename (issue8)
- plot.tidem(): remove argument 'plot.type', using 'which' instead
- read.pt(): add arguments from, by, and to
- fix issue 57 [read.adp.rdi() read the heading incorrectly]
- add "reiniger-ross" method to ctd.decimate()
- oceApprox() added
- topoWorld dataset added
- plot.ctd(): by default, make coastlines extend to box boundaries
- reformulate sun.angle in R
- fix google-code issue 56 [plot.topo() should accept land.z=NULL]
- fix google-code issue 55 [plot.topo() could go past poles]
- fix google-code issue 54 [plot.topo() was resetting par() on exit]
- fix google-code issue 53 [interp.barnes() gives poor error msg for mismatched x and y]
- fix google-code issue 52 [plot.section() draws incorrect bottom shape]

0.1-80
- add sun.angle [not tested yet; needs R reformulation]
- fix google-code issue 51 [summary.section() does not report water depth]
- fix google-code issue 50 [non-bug relating to sun elevation]
- fix google-code issue 49 [demo(TS) broken]

0.1-79
- fix google-code issue 48 [oce.plot.sticks() ignored page ratio]
- fix google-code issue 47 [cannot read new MEDS sealevel format]

0.1-78
- add data(RRprofile)
- to plot.TS(), add arguments lwd.rho and lty.rho

0.1-77
- refactor adp code wrt transformation matrices
- add matrix.smooth()
- improve labels for oce.axis.POSIXct()
- set default for 'debug' argument to getOption("oceDebug") in all functions
- plot.profile(): add argument ytype; change 'type' to 'xtype'
- add swZ()
- add oceSmooth()
- add read.adv(), etc., supporting Nortek and Sontek devices
- add read.adp(), etc., supporting Nortek, RDI and Sontek devices
- add oce.plot.ts()
- add imagep()
- add bcd2integer()
- add matlab2POSIXt()
- to most plot functions, add 'mgp' and 'mar' arguments
- plot.pt(): add plim and Tlim arguments
- gravity(): give default for latitude argument
- plot.sealevel(): remove argument focus.time and add argument which
- rename tdr functions as pt, to reflect oral convention
- add geod.xy()
- add argument 'mgp' to all plotting functions
- use abbreviations for axis names if space is tight
- add argument 'adorn' to all plot() functions
- add oceColorsTwo(), oceColorsJet(), and oceColorsPalette()
- add byte2binary()
- add "lty.grid" to all CTD plotting functions
- add "+.section", a more convenient way to build sections from stations
- rework summary() for all existing objects
- as.sealevel(): rename sampling.interval as deltat

0.1-76
- sw.N2(): make it tolerate NAs; adjust df to make result smoother
- add makeFilter()
- add decimate(), which may eventually replace ctd.decimate()
- read.tdr(): handle 5-column data files; add tz argument
- plot.profile(): add types sigma+dpdt and sigma+time
- ctdTrim(): add pmin parameter
- plot.ctd(): add Slim, Tlim, plim, lonlim, latlim arguments; add ability to draw maps
- add coastline.sle dataset
- plot.TS(): fix isopycnal labels for fresh water; add Slim and Tlim arguments
- read.ctd(): make it understand another SBE format
- add parseLatlon()
- oceEdit(): add argument 'action' 
- add oce.write.table()
- add fillGap()

0.1-75
- add addColumn()
- add undriftTime()
- add tdrPatm()
- make readTdr() gather serial no. info; show this on plot.pt()
- switch to recommended verion-number format
- remove section.subset(), replaced by subset()
- improve log items in functions that read and assemble oce objects
    http://code.google.com/p/r-oce/issues/detail?id=38
- add subset.oce()
- add header()
- add argument 'which' to read.rbrdtr()
- make read.rbrdtr() understand headers better
- add arguments 'xtype' and 'ytype' to plot.section()
- improve accuracy of bottom drawn by plot.section()
- add section.smooth()
- fix bug making section.smooth() fail if fewer than 4 good data at any given level
    http://code.google.com/p/r-oce/issues/detail?id=36
- fix bug making summary.ctd() fail for stations within sections made by section.smooth()
    http://code.google.com/p/r-oce/issues/detail?id=34
- fix bug making sw.dynamic.height() choke on empty stations
    http://code.google.com/p/r-oce/issues/detail?id=33
- fix bug making plot.section() die if x is unordered
    http://code.google.com/p/r-oce/issues/detail?id=36
- rename rbrpt functions to tdr functions, improving generality

0.1.74
- add argument "src" to as.ctd()
    http://code.google.com/p/r-oce/issues/detail?id=22
- plot.section() RHS axis needs tics
    http://code.google.com/p/r-oce/issues/detail?id=32
- trim axis whitespace in plot.profile() and plot.TS()
    http://code.google.com/p/r-oce/issues/detail?id=31
- make read.oce() understand WOCE section type
    http://code.google.com/p/r-oce/issues/detail?id=30
- speed up swSpice()
    http://code.google.com/p/r-oce/issues/detail?id=29
- add read.pt(), summary.pt(), plot.pt(), and ptTrim()
- make plot.TS() isopycnal label size be same on top and right sides
    http://code.google.com/p/r-oce/issues/detail?id=26
- add lwd argument to plot.profile() 
- give plot.section() ability to control contour levels and labels
- give plot.section() tics for station-location

0.1.73
- plot.topo() narrows autoscale to xlim-ylim region, if provided
- add plot.ctd() 'textpanel' option, and put the profiles in the same row
- fix bug in plot.profile() to let it take Slim,..., as args
    http://code.google.com/p/r-oce/issues/detail?id=25
- fix bug in plot.profile() font size
    http://code.google.com/p/r-oce/issues/detail?id=24
- fix bug in plot.profile(type="S_T") positioning
    http://code.google.com/p/r-oce/issues/detail?id=23
- fix bug in section plot (bottom was missing)
    http://code.google.com/p/r-oce/issues/detail?id=21
- fix bug in size of salinity axis label for plot.ctd()
- use pch=21 for TS plots (so data density is more visible)

0.1.72
- add interp.barnes()

0.1.71
- fix bug in makeSection (ignored the list, if a list provided)
   http://code.google.com/p/r-oce/issues/detail?id=18&q=label:Type-Defect
- add oce.edit()
- add topoMaritimes dataset
- add read.topo(), plot.topo(), and summary.topo()
- add gebcoColors() ... renamed oceColorsGebco() in version 0.1.77
- make plot.section() check that pressures coincide

0.1.70
- plot.TS(): make isopycnal list work better for nearly-fresh water
- trimCtd(): improve equilibration-phase deletion by piecewise-linear regression
- read.ctd(): handle cases without cruise information or scan column
- permit setting xlab and ylab in plot.TS()
- make processing log timestamps be in GMT
- add as.windrose() and plot.windrose()
- add sealevel.tuk sea-level dataset
- add tidem(), predict.tide(), summary.tide(), plot.tide(), and data(tidedata)
- establish a uniform form for objects created by "read" and "as"
- let swRho() and similar sw. functions take a ctd object as a single argument
- add swDynamicHeight()
- make section.grid() and ctd.decimate() extrapolate to surface in "approx" method
- add summary.oce()
- make all objects inherit from a new class "oce"
- fix google-code issue 12: read.sealevel() had a hard-wired filename (remnant from debugging)
  [http://code.google.com/p/r-oce/issues/detail?id=12&can=1&q=label:Type-Defect]

0.1.69
- modify documentation slightly
- start a migration to more uniform object structures
- rename as.CTD() to as.ctd(), to make it consistent with similar functions
- add read.section()
- add sectionGrid(), which only grids in p at the moment
- add a03 dataset
- fix SF bug 1833719: warnings from read.ctd()
- fix google-code issue 8: read.coastline() not producing data
  [http://code.google.com/p/r-oce/issues/detail?id=8&can=1&q=label:Type-Defect]
- improve ability of trimCtd() to ignore spurious initial data
- add "connectPoints" option to plot.TS()
- add "station" item to "ctd" object
- change as.CTD() to produce sigma.theta instead of sigma

0.1.68
- add coastline.world dataset, and increase resolution of coastline.maritimes
- plot.TS() no longer rotates the RH margin isopycnal labels (unless told to)

0.1.67
- allow swRho() and similar routines take matrices as arguments for S, t, etc

0.1.66
- fix bug in plot.TS() that prevented it from showing some isopycnals if min(S)=0

0.1.65
- switch to using UNESCO formulation for sw potential temperature by default
- prevent warnings with C90 compiler on some machines

0.1.64
- add read.oce(), a generic function for reading several oceanographic files
- make read.ctd() understand WOCE-exchange files
- make read.sealevel() understand comma-separated data from MEDS
- make plot.sealevel() skip the spectral graphs, if the timeseries has NA values
- improve aesthetics of plot.ctd()
- extend plot.sealevel() by adding focus.time argument
- add ctdDecimate()
- add oce.as.POSIXlt()
- add latlonFormat(), latFormat(), and lonFormat()
- add as.coastline()
- add make.section()
- add summary.section()
- add plot.section()
- add data(section)

0.1.63
- add swSoundSpeed()

0.1.62
- add historyAppend() (later named processingLogAppend()) and related code
- improve ctdTrim()

0.1.61
- add rudimentary read/summary/plot functions for lobo datasets

0.1.60
- add vignette; address some build-stage warning messages

0.1.59
- set up data files to permit latin1 encoding of some content

0.1.58
- rename all seawater-related functions to e.g. swTheta(), to allow 
  for atmospheric analogs

0.1.57
- make as.CTD() accept length(p)=1, e.g. for surface plots

0.1.56
- make read.coastline() handle S files

0.1.55
- keep swTheta() from complaining if length(p) = 1

0.1.54
- add swAlpha() and swBeta()

0.1.53
- add swAlphaOverBeta()

0.1.52
- document the use of df in swN2(), plot.ctd(), etc.

0.1.51
- permit swRho() (and similar) to take NAs in args (bug B32)

0.1.50
- permit swRho() and descendants to take scalar pressure.

0.1.49
- add as.CTD()

0.1.48
- add "UNESCO1983" formulation to swTheta() as an alternative

0.1.47
- speed up swTheta() by moving vector work from R to C

0.1.46
- make geodDist() accept a vector for location 1 and a scalar for location 2

0.1.45
- make read.coastline() understand matlab and Splus formats

0.1.44
- make plot.coastline() scale lat and lon correctly

0.1.43
- add read.coastline(), summary.coastline(), and plot.coastline()

0.1.42
- add as.sealevel()

0.1.41
- add read.sealevel(), summary.sealevel(), and plot.sealevel()

0.1.40
- add name option to plot.ctd.scan()

0.1.39
- add lapse.rate()

0.1.38
- fix B27 (header not updated for columns added during read.ctd)

0.1.37
- rename as ctdTrim()
- rename to ctdWrite()

0.1.36
- add write.ctd()
- add ctdAddColumn()
- add ctdUpdateHeader()

0.1.35
- add plot.ctd.scan()

0.1.34
- make read.ctd() calculate S if missing but C, T, and p are given
- add swSCTp()

0.1.33
- add swConductivity()

0.1.32
- rename to swRho()

0.1.31
- use namespace

0.1.30
- add oce.viscosity()

0.1.29
- fix B23 (not done yet)
- fix B22 (not done within oce; done at system level)

0.1.28
- add pressure method to trimCtd()

0.1.27
- vectorize swRho() since it was too slow on large datasets

0.1.26
- make demo(oce.ctd) print data

0.1.25
- fix some documentation errors that the 2.0.0 CHECK noticed

0.1.24
- profiles have correct y-axis
- OSX port, but must first do e.g. export PKG_LIBS="-L/sw/lib"

0.1.23
- OSX port (you must first do export PKG_LIBS="-L/sw/lib")

0.1.22
- add trim.ctd()

0.1.21
- permit lat/lon with the "N"-type indicator at start

0.1.20
- fix bug B16 (label the isopycnals on TS diagram)

0.1.19
- make read.ctd handle more file types

0.1.18
- add oceCoriolis, oceDepth, oceGravity, oceTFreeze

0.1.17
- add oceSpecificHeat oce.N2; fix bug B18

0.1.16
- get data(ctd) working

0.1.15
- add oceSTRho

0.1.14
- fix bug B15 (maybe)

0.1.13
- add oceTSRho

0.1.12
- fix bugs B10, B11, and B13

0.1.11
- fix bugs B6, B7, and B12

0.1.10
- add geodDist()
- add plot.ctd(), which is rudimentary for now
- fix bug B8

0.1.9
- add spice() function

0.1.8
- permit all eos functions to handle missing values
- fix bug B4

0.1.7
- add summary(ctd) method.
- make read.ctd() return an object of type ctd.
- get tests/ working.

0.1.6
- create tests/oce.test1.R

0.1.5
- add oceSigma(), oceSigmaT(), oceSigmaTheta()

0.1.4
- permit various EOS functions to handle lists
- fix bug B3

0.1.3
- add ocerho()

0.1.2
- fix file-path bug
- fix bug B2

0.1.1
- add theta()
- fix bug B1

0.1.0
- add read.ctd()
