picamera (1.13) stable; urgency=low

  * 10 second captures should now work with the V2 module as the default
    CAPTURE_TIMEOUT has been increased to 60 seconds (#284)
  * A bug in PiCameraCircularIO.copy_to caused it to copy nothing when it
    encountered "unknown" timestamps in the stream (#302, #319, #357)
  * A silly typo in code used by PiRGBArray was fixed (#321)
  * A bug in PiCamera.capture_continuous which caused duplicate frames in the
    output was fixed (#311)
  * Bitrate limits were removed on MJPEG, and full checking of H264 bitrates
    and macroblocks/s was implemented (#315)
  * A bug was fixed in the sensor_mode attribute which prevented it from being
    set after construction (#324)
  * A bug in the custom encoders example was fixed (#337)
  * Fixed a rare race condition that occurred when multiple splitter ports were
    in use (#344)
  * Recording overlays is now possible, but currently requires using the lower
    level mmalobj layer (#196)
  * Capturing YUV arrays via PiYUVArray is faster, thanks to GitHub user
    goosst (#308)
  * Added the ability to specify a restart interval for JPEG encoding (#369)
  * Added a property allowing users to manually specify a framerate_range for
    the camera (#374)
  * Added support for partially transparent overlays in RGBA format (#199)
  * Improved MJPEG web-streaming recipe, many thanks to GitHub user BigNerd95!
    (#375)
  * The Advanced Recipes chapter has been thoroughly re-worked and I would
    encourage anyone using the camera for Computer Vision purposes to re-read
    that chapter
  * The Camera Hardware chapter has been extended to include a thorough
    introduction to the low level operation of the camera module. This is
    important for understanding the limitations and peculiarities of the
    system
  * Anyone interested in using a lower level API to control the camera (which
    includes capabilities like manipulating frames before they hit the video
    encoder) should read the API - mmalobj chapter
  * Finally, some work was done on enhancing the PDF and EPub versions of the
    documentation. These should now be much more useable in hard-copy and on
    e-readers

 -- Dave Jones <dave@waveform.org.uk>  Sat, 25 Feb 2017 20:12:34 +0000

picamera (1.12) stable; urgency=low

  * Fixed issue with unencoded captures in Python 3 (#297)
  * Fixed several Python 3 bytes/unicode issues that were related to #297 (I'd
    erroneously run the picamera test suite twice against Python 2 instead of
    2 and 3 when releasing 1.11, which is how these snuck in)
  * Fixed multi-dimensional arrays for overlays under Python 3
  * Finished alternate CIE constructors for the Color class

 -- Dave Jones <dave@waveform.org.uk>  Mon, 04 Jul 2016 00:02:48 +0100

picamera (1.11) stable; urgency=low

  * Direct capture to buffer-protocol objects, such as numpy arrays (#241)
  * Add PiCamera.request_key_frame method to permit manual request of an
    I-frame during H264 recording; this is now used implicitly by
    PiCamera.split_recording (#257)
  * Added PiCamera.timestamp attribute to query camera's clock (#212)
  * Added PiCamera.framerate_delta to permit small adjustments to the camera's
    framerate to be performed "live" (#279)
  * Added PiCameraCircularIO.clear and PiCameraCircularIO.copy_to methods to
    PiCameraCircularIO (#216)
  * Prevent setting attributes on the main PiCamera class to ease debugging in
    educational settings (#240)
  * Due to the core re-writes in this version, you may require cutting edge
    firmware (sudo rpi-update) if you are performing unencoded captures,
    unencoded video recording, motion estimation vector sampling, or manual
    sensor mode setting.
  * Added property to control preview's PiPreviewRenderer.resolution
    separately from the camera's PiCamera.resolution (required for maximum
    resolution previews on the V2 module - #296).
  * Fixed basic stereoscopic operation on compute module (#218)
  * Fixed accessing framerate as a tuple (#228)
  * Fixed hang when invalid file format is specified (#236)
  * Fixed multiple bayer captures with PiCamera.capture_sequence and
    PiCamera.capture_continuous (#264)
  * Fixed usage of "falsy" custom outputs with motion_output (#281)

 -- Dave Jones <dave@waveform.org.uk>  Sun, 19 Jun 2016 22:30:59 +0100

picamera (1.10-1) stable; urgency=low

  * The major enhancement is the addition of support for the camera's flash
    driver. This is relatively complex to configure, but a full recipe has
    been included in the documentation (#184)
  * A new intra_refresh attribute is added to the start_recording method
    permitting control of the intra-frame refresh method (#193)
  * The GPIO pins controlling the camera's LED are now configurable. This is
    mainly for any compute module users, but also for anyone who wishes to use
    the device tree blob to reconfigure the pins used (#198)
  * The new annotate V3 struct is now supported, providing custom background
    colors for annotations, and configurable text size. As part of this work a
    new Color class was introduced for representation and manipulation of
    colors (#203)
  * Reverse enumeration of frames in PiCameraCircularIO is now supported
    efficiently (without having to convert frames to a list first) (#204)
  * Finally, the API documentation has been re-worked as it was getting too
    large to comfortably load on all platforms (no ticket)

 -- Dave Jones <dave@waveform.org.uk>  Tue, 31 Mar 2015 02:01:42 +0100

picamera (1.9-1) stable; urgency=low

  * The camera's sensor mode can now be forced to a particular setting upon
    camera initialization with the new sensor_mode parameter to PiCamera()
    (#165)
  * The camera's initial framerate and resolution can also be specified as
    keyword arguments to the PiCamera initializer. This is primarily intended
    to reduce initialization time (#180)
  * Added the still_stats attribute which controls whether an extra statistics
    pass is made when capturing images from the still port (#166)
  * Fixed the led attribute so it should now work on the Raspberry Pi model B+
    (#170)
  * Fixed a nasty memory leak in overlay renderers which caused the camera to
    run out of memory when overlays were repeatedly created and destroyed
    (#174)
  * Fixed a long standing issue with MJPEG recording which caused camera
    lockups when resolutions greater than VGA were used (#47 and #179)
  * Fixed a bug with incorrect frame metadata in PiCameraCircularIO.
    Unfortunately this required breaking backwards compatibility to some
    extent. If you use this class and rely on the frame metadata, please
    familiarize yourself with the new complete attribute (#177)
  * Fixed a bug which caused PiCameraCircularIO to ignore the splitter port it
    was recording against (#176)
  * Several documentation issues got fixed too (#167, #168, #171, #172, #182)

 -- Dave Hughes <dave@waveform.org.uk>  Fri, 02 Jan 2015 02:51:24 +0000

picamera (1.8-1) stable; urgency=low

  * A new chapter on detecting and correcting deprecated functionality was
    added to the docs (#149)
  * Stereoscopic cameras are now tentatively supported on the Pi compute
    module.  Please note I have no hardware for testing this, so the
    implementation is possibly (probably!) wrong; bug reports welcome! (#153)
  * Text annotation functionality has been extended; up to 255 characters are
    now possible, and the new annotate_frame_num attribute adds rendering of
    the current frame number. In addition, the new annotate_background flag
    permits a dark background to be rendered behind all annotations for
    contrast (#160)
  * Arbitrary image overlays can now be drawn on the preview using the new
    add_overlay method. A new recipe has been included demonstrating overlays
    from PIL images and numpy arrays. As part of this work the preview system
    was substantially changed; all older scripts should continue to work but
    please be aware that most preview attributes are now deprecated; the new
    preview attribute replaces them (#144)
  * Image effect parameters can now be controlled via the new
    image_effect_params attribute (#143)
  * A bug in the handling of framerates meant that long exposures (>1s)
    weren't operating correctly. This *should* be fixed, but I'd be grateful
    if users could test this and let me know for certain (Exif metadata
    reports the configured exposure speed so it can't be used to determine if
    things are actually working) (#135)
  * A bug in 1.7 broke compatibility with older firmwares (resulting in an
    error message mentioning "mmal_queue_timedwait"). The library should now
    on older firmwares (#154)
  * Finally, the confusingly named crop attribute was changed to a deprecated
    alias for the new zoom attribute (#146)

 -- Dave Hughes <dave@waveform.org.uk>  Sat, 06 Sep 2014 01:31:56 +0100

picamera (1.7-1) stable; urgency=low

  * Text overlay on preview, image, and video output is now possible (#16)
  * Support for more than one camera on the compute module has been added, but
    hasn't been tested yet (#84)
  * The exposure_mode 'off' has been added to allow locking down the exposure
    time, along with some new recipes demonstrating this capability (#116)
  * The valid values for various attributes including awb_mode, meter_mode,
    and exposure_mode are now automatically included in the documentation
    (#130)
  * Support for unencoded formats (YUV, RGB, etc.) has been added to the
    start_recording method (#132)
  * A couple of analysis classes have been added to picamera.array to support
    the new unencoded recording formats (#139)
  * Several issues in the PiBayerArray class were fixed; this should now work
    correctly with Python 3, and the demosaic method should operate correctly
    (#133, #134)
  * A major issue with multi-resolution recordings which caused all recordings
    to stop prematurely was fixed (#136)
  * Finally, an issue with the example in the documentation for custom encoders
    was fixed (#128)

 -- Dave Hughes <dave@waveform.org.uk>  Fri, 08 Aug 2014 19:02:27 +0100

picamera (1.6-1) stable; urgency=low

  * The awb_gains attribute is no longer write-only; you can now read it to
    determine the red/blue balance that the camera is using (#98)
  * The new read-only exposure_speed attribute will tell you the shutter speed
    the camera's auto-exposure has determined, or the shutter speed you've
    forced with a non-zero value of shutter_speed (#98)
  * The new read-only analog_gain and digital_gain attributes can be used to
    determine the amount of gain the camera is applying at a couple of crucial
    points of the image processing pipeline (#98)
  * The new drc_strength attribute can be used to query and set the amount of
    dynamic range compression the camera will apply to its output (#110)
  * The intra_period parameter for start_recording can now be set to 0 (which
    means "produce one initial I-frame, then just P-frames") (#117)
  * The burst parameter was added to the various capture methods; users are
    strongly advised to read the cautions in the docs before relying on this
    parameter (#115)
  * One of the advanced recipes in the manual ("splitting to/from a circular
    stream") failed under 1.5 due to a lack of splitter-port support in the
    circular I/O stream class. This has now been rectified by adding a
    splitter_por` parameter to the constructor of PiCameraCircularIO (#109)
  * Similarly, the array extensions introduced in 1.5 failed to work when
    resizers were present in the pipeline. This has been fixed by adding a
    size parameter to the constructor of all the custom output classes defined
    in that module (#121)
  * A bug that caused picamera to fail when the display was disabled has been
    squashed (#120)

 -- Dave Hughes <dave@waveform.org.uk>  Sat, 19 Jul 2014 17:07:41 +0100

picamera (1.5-1) stable; urgency=low

  * The new picamera.array module provides a series of custom output classes
    which can be used to easily obtain numpy arrays from a variety of sources
    (#107)
  * The motion_output parameter was added to start_recording to enable output
    of motion vector data generated by the H.264 encoder. A couple of new
    recipes were added to the documentation to demonstrate this (#94)
  * The ability to construct custom encoders was added, including some
    examples in the documentation. Many thanks to user Oleksandr Sviridenko
    (d2rk) for helping with the design of this feature! (#97)
  * An example recipe was added to the documentation covering loading and
    conversion of raw Bayer data (#95)
  * Speed of unencoded RGB and BGR captures was substantially improved in both
    Python 2 and 3 with a little optimization work. The warning about using
    alpha-inclusive modes like RGBA has been removed as a result (#103)
  * An issue with out-of-order calls to stop_recording when multiple
    recordings were active was resolved (#105)
  * Finally, picamera caught up with raspistill and raspivid by offering a
    friendly error message when used with a disabled camera - thanks to Andrew
    Scheller (lurch) for the suggestion! (#89)

 -- Dave Hughes <dave@waveform.org.uk>  Wed, 11 Jun 2014 20:06:34 +0100

picamera (1.4-1) stable; urgency=low

  * The sei parameter was added to start_recording to permit inclusion of
    "Supplemental Enhancement Information" in the output stream (#77)
  * The awb_gains attribute was added to permit manual control of the
    auto-white-balance red/blue gains (#74)
  * A bug which caused split_recording to fail when low framerates were
    configured was fixed (#87)
  * A bug which caused picamera to fail when used in UNIX-style daemons,
    unless the module was imported *after* the double-fork to background was
    fixed (#85)
  * A bug which caused the frame attribute to fail when queried in Python 3
    was fixed (#80)
  * A bug which caused raw captures with "odd" resolutions (like 100x100) to
    fail was fixed (#83)
  * Added a workaround for full-resolution YUV captures failing. This isn't a
    complete fix, and attempting to capture a JPEG before attempting to
    capture full-resolution YUV data will still fail, unless the GPU memory
    split is set to something huge like 256Mb (#73)

 -- Dave Hughes <dave@waveform.org.uk>  Wed, 07 May 2014 00:25:36 +0100

picamera (1.3-1) stable; urgency=low

  * The bayer parameter was added to the 'jpeg' format in the capture methods
    to permit output of the camera's raw sensor data (#52)
  * The record_sequence method was added to provide a cleaner interface for
    recording multiple consecutive video clips (#53)
  * The splitter_port parameter was added to all capture methods and
    start_recording to permit recording multiple simultaneous video streams
    (presumably with different options, primarily resize) (#56)
  * The limits on the framerate attribute were increased after firmware #656
    introduced numerous new camera modes including 90fps recording (at lower
    resolutions) (#65)
  * It was reported that Exif metadata (including thumbnails) wasn't fully
    recorded in JPEG output (#59)
  * Raw captures with capture_continuous and capture_sequence were broken
    (#55)

 -- Dave Hughes <dave@waveform.org.uk>  Sat, 22 Mar 2014 19:52:20 +0000

picamera (1.2-1) stable; urgency=low

  * A bug introduced in 1.1 caused split_recording to fail if it was preceded
    by a video-port-based image capture (#49)
  * The documentation was enhanced to try and full explain the discrepancy
    between preview and capture resolution, and to provide some insight into
    the underlying workings of the camera (#23)
  * A new property was introduced for configuring the preview's layer at
    runtime although this probably won't find use until OpenGL overlays are
    explored (#48)

 -- Dave Hughes <dave@waveform.org.uk>  Sun, 02 Feb 2014 03:18:19 +0000

picamera (1.1-1) stable; urgency=low

  * A nasty race condition was discovered which led to crashes with
    long-running processes (#40)
  * An assertion error raised when performing raw captures with an active
    resize parameter was fixed (#46)
  * A couple of documentation enhancements made it in (#41 and #47)

 -- Dave Hughes <dave@waveform.org.uk>  Sat, 25 Jan 2014 23:32:18 +0000

picamera (1.0-1) stable; urgency=low

  * Debian packaging! (#12)
  * The new frame attribute permits querying information about the frame last
    written to the output stream (number, timestamp, size, keyframe, etc.)
    (#34, #36)
  * All capture methods, and the start_recording method now accept a resize
    parameter which invokes a resizer prior to the encoding step. This can be
    used to record video with full field-of-view (#21)
  * A new PiCameraCircularIO stream class is provided to permit holding the
    last n seconds of video in memory, ready for writing out to disk (or
    whatever you like) (#39)
  * There's a new way to specify raw captures - simply use the format you
    require with the capture method of your choice. As a result of this, the
    raw_format attribute is now deprecated (#32)
  * GPIO.cleanup is no longer called on close (#35), and GPIO set up is only
    done on first use of the led attribute which should resolve issues that
    users have been having with using picamera in conjunction with GPIO
  * Raw RGB video-port based image captures are now working again too (#32)
  * The continuous method was removed; this was replaced by capture_continuous
    in 0.5 (#7)

 -- Dave Hughes <dave@waveform.org.uk>  Mon, 11 Jan 2014 09:00:00 +0000

picamera (0.8-1) UNRELEASED; urgency=low

  * Added capture of images whilst recording without frame-drop. Previously,
    images could be captured whilst recording but only from the still port
    which resulting in dropped frames in the recorded video due to the mode
    switch. In 0.8, use_video_port=True can be specified on capture methods
    whilst recording to avoid this.
  * Splitting of video recordings into multiple files. This is done via the
    new split_recording() method, and requires that the start_recording()
    method was called with inline_headers set to True. The latter has now been
    made the default (technically this is a backwards incompatible change, but
    it's relatively trivial and I don't anticipate anyone's code breaking
    because of this change).
  * Documentation updates that were missing from 0.7 (specifically the new
    video recording parameters)
  * The ability to perform raw captures through the video port
  * Missing exception imports in the encoders module (which caused very
    confusion errors in the case than an exception was raised within an
    encoder thread)

 -- Dave Hughes <dave@waveform.org.uk>  Mon, 09 Dec 2013 05:15:00 +0000

picamera (0.7-1) UNRELEASED; urgency=low

  * Added quantisation and inline_headers options to start_recording() method
  * Fixed bugs in the crop property
  * The issue of captures fading to black over time when the preview is not
    running has been resolved. This solution was to permanently activate the
    preview, but pipe it to a null-sink when not required. Note that this
    means rapid capture gets even slower when not using the video port
  * LED support is via RPi.GPIO only; the RPIO library simply doesn't support
    it at this time
  * Numerous documentation fixes

 --  Dave Hughes <dave@waveform.org.uk>  Thu, 14 Nov 2013 20:03:00 +0000

picamera (0.6-1) UNRELEASED; urgency=low

  * New raw format added to all capture methods (capture, capture_continuous,
    and capture_sequence) to permit capturing of raw sensor data
  * New raw_format attribute to permit control of raw format (defaults to
    'yuv', only other setting currently is 'rgb')
  * New shutter_speed attribute to permit manual control of shutter speed
    (defaults to 0 for automatic shutter speed, and requires latest firmware
    to operate - use sudo rpi-update to upgrade)
  * New "Recipes" chapter in the documentation which demonstrates a wide
    variety of capture techniques ranging from trivial to complex

 --  Dave Hughes <dave@waveform.org.uk>  Wed, 30 Oct 2013 01:28:00 +0000

picamera (0.5-1) UNRELEASED; urgency=low

  * New capture_sequence() method
  * continuous() method renamed to capture_continuous(). Old method name
    retained for compatibility until 1.0
  * use_video_port option for capture_sequence() and capture_continuous() to
    allow rapid capture of JPEGs via video port
  * New framerate attribute to control video and rapid-image capture frame
    rates
  * Default value for ISO changed from 400 to 0 (auto) which fixes
    exposure_mode not working by default
  * intraperiod and profile options for start_recording()

 --  Dave Hughes <dave@waveform.org.uk>  Mon, 21 Oct 2013 02:06:00 +0000

picamera (0.4-1) UNRELEASED; urgency=low

  * Added new attributes preview_alpha, preview_fullscreen, and preview_window
    for controlling the preview window
  * Added new continous() method for rapid capture of still images

 --  Dave Hughes <dave@waveform.org.uk>  Fri, 11 Oct 2013 01:37:00 +0000

picamera (0.3-1) UNRELEASED; urgency=low

  * Added custom Exif tagging for captured images
  * Fixed silly bug which prevented more than one image being captured during
    the lifetime of a PiCamera instance

 --  Dave Hughes <dave@waveform.org.uk>  Fri, 04 Oct 2013 00:48:00 +0000
