8. Change log

8.1. Release 1.3 (2014-03-22)

1.3 was partly new functionality:

  • 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_)

And partly bug fixes:

8.2. Release 1.2 (2014-02-02)

1.2 was mostly a bug fix release:

  • 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)

8.3. Release 1.1 (2014-01-25)

1.1 was mostly a bug fix release:

  • 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)

8.4. Release 1.0 (2014-01-11)

In 1.0 the major features added were:

  • 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 (capture() et al), and the start_recording() method now accept a resize parameter which invokes a resizer prior to the encoding step (#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)

Some bugs were also fixed:

  • 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)

As this is a new major-version, all deprecated elements were removed:

8.5. Release 0.8 (2013-12-09)

In 0.8 the major features added were:

  • Capture of images whilst recording without frame-drop. Previously, images could be captured whilst recording but only from the still port which resulted 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 video 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).

In addition a few bugs were fixed:

  • 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 confusing errors in the case that an exception was raised within an encoder thread)

8.6. Release 0.7 (2013-11-14)

0.7 is mostly a bug fix release, with a few new video recording features:

  • 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

8.7. Release 0.6 (2013-10-30)

In 0.6, the major features added were:

  • 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

8.8. Release 0.5 (2013-10-21)

In 0.5, the major features added were:

In addition a few bugs were fixed:

  • Byte strings not being accepted by continuous()
  • Erroneous docs for ISO

Many thanks to the community for the bug reports!

8.9. Release 0.4 (2013-10-11)

In 0.4, several new attributes were introduced for configuration of the preview window:

Also, a new method for rapid continual capture of still images was introduced: continuous().

8.10. Release 0.3 (2013-10-04)

The major change in 0.3 was the introduction of custom Exif tagging for captured images, and fixing a silly bug which prevented more than one image being captured during the lifetime of a PiCamera instance.

8.11. Release 0.2

The major change in 0.2 was support for video recording, along with the new resolution property which replaced the separate preview_resolution and stills_resolution properties.