This page describes the status of planned and current releases, along with a history of past release.

Builds of current and past releases are available from the Downloads page.

The release cycle is described in more detail at Release Strategy.

Detailed change history is available from svn commits page


Current development branch. Significant planned / implemented features will be added here. Development planning thread

Significant changes in 1.6

  • Double precision floating point math library for Lua scripts discussion

New script functions in 1.6


fmath library


Current stable branch, released as 1.5.1 on Nov 15, 2020. Significant changes listed below. Development planning thread

Compatibility with 1.4

  • CHDK 1.4 scripts should be compatible. CHDK 1.5 adds additional functions, but does not significantly change behavior of existing functions. If @chdk_version is not specified in the script header, a warning is displayed and CHDK 1.3 compatible behavior is used.
  • CFG files: CHDK 1.5 uses the same CFG files as 1.4. It should generally be compatible and retain your settings, but if you don't want to risk re-doing your CFG, backing up the CHDK/*.CFG files before updating is recommended. CFGs from 1.3 or 1.2 should also probably work.
  • Modules, language files and Lua libraries are NOT compatible. You must update these when you update your build, meaning use the "full" download.

Significant changes in 1.5

  • Support for many Digic 6 cameras, and preliminary support for Digic 7.
  • Support analog video detect, HDMI hotplug and battery temperature ADC as alternate triggers for USB_Remote functionality1. (development thread)
  • Enable analog video out in record mode on cameras which do not support in Canon firmware1. (development thread)
  • Fixed PTP failures at certain transfer sizes on some cameras, random crashes on VxWorks (discussion)
  • Improved script set_zoom behavior on many Digic 4 and later cameras: Avoid crashes, support script set_zoom_speed, Canon jpeg distortion correction applied as with manual zoom, focus distance more reliably preserved (development thread 1 development thread 2)
  • Improved ND filter support: ND state and exposure value available from script, ND overrides update Av propcases like Canon firmware on ND only cameras, ND overrides work in more cases. (development thread)
  • Support PTP remote shoot with Canon native CR2 raw, on cameras with native raw support (development thread)
  • Script access to raw/jpeg settings on cameras with native raw support (development thread)
  • Support preserving CHDK install when formatting card. (development thread)
  • Attempt to verify integrity of factory firmware on first CHDK boot. (development thread)
  • Clean HDMI out in rec mode (only on EOS M and G*X cameras with native HDMI out in rec support) (development thread)
  • Attempt to check build compatibility at startup. Where possible, an LED will blink when an incompatible build is booted. (development thread)
  • User configurable option to enable/disable the RAW toggle shortcut key - with option to toggle the OSD RAW status indicator when RAW is enabled


  1. Only a few cameras have these features enabled, but support may be easy to add, so please request on the forum if you need this functionality.

New script functions in 1.5


See CHDK Scripting Cross Reference Page for descriptions


Obsolete, released as 1.4.1 on Nov 28, 2015. 1.4 Development planning thread. source branch

Compatibility with 1.3

  • Scripts are generally compatible. You will see a warning if @chdk_version is not specified in the script header, but 1.3 compatible behavior will be used. If you use @chdk_version 1.4, the return values of some functions are changed. See for a list of functions with changed return values
  • Some CHDK script mode numbers have changed, and some names have been removed. This does not affect common modes like, M, P and Auto, but might affect scripts that use more obscure modes, especially if the are referred to by number rather than capmode.lua names
  • CFG files: CHDK 1.4 uses the same CFG files as 1.3. It should generally be compatible and retain your settings, but if you don't want to risk re-doing your CFG, backing up the CHDK/*.CFG files before updating is recommended. Custom colors will be reset, and if you switch back to 1.3, colors may be incorrect. CHDK 1.2 CFGs should be migrated as was done for 1.3.
  • Modules, language files and Lua libraries are NOT compatible. You must update these when you update your build, meaning use the "full" download.

Significant changes in 1.4

  • long file name support in script, file browser / selector (development thread)
  • enhanced script @parameter header including compact format, Boolean values, table support, and full variable names in Lua. (development thread, Documentation)
  • upper and lower case single characters can now be used as @param variables in uBASIC
  • script header now supports @subtitle for better organization in script that use many parameters
  • Lua scripts now "compile" when loaded to reduce memory needed (original script text no longer stored in memory)
  • Added @chdk_version parameter to specify version of CHDK script was written for, 1.3 assumed if none present. (development thread)
  • Made Lua script API use of boolean values more consistent, (@chdk_version 1.3 provides backward compatible behavior) (development thread)
  • enhanced UI functions for touchscreen equipped cameras - touching menu areas and window buttons directly now works
  • rework of CHDK color palette handling to allow separate palette definitions for each camera model - transparent grey color defined for OSD background use (development thread)
  • updates to GPS functionality for cameras with built-in GPS
  • improvements in console handling when script running including console not timing out and console reset to "on" state when script errors are encountered.
  • upgrades to Lua RAW shooting hooks to allow analysis and modification of RAW buffer during shooting (documentation, development thread)
  • scripts added to the User Menu can now be started directly from the User Menu via a full press on the shutter button. Using Func/Set now brings up a dialog box for ok/cancel. Selecting ok makes the script the current script and exits to the Script menu.
  • usb_force_active now available on almost all cameras
  • filewrite / remote capture support for many more cameras
  • development support for digic 6 / thumb2 cameras
  • Improved focus overrides (development thread)


Obsolete, released Dec 18 2014. No future changes will be made. 1.3 development planning thread. source branch

Implemented new features are listed below:

  • Address some of the longstanding issues with focus overrides - especially in scripts. Discussion:
  • Hooks to allow Lua to run at specific points in the shooting process. Discussion:
  • Increase available memory, allow CHDK to allocate from multiple pools. Discussion:
  • Eye-fi support
  • Splitting the CHDK configuration files into 4 parts for better management
  • Improved Lua cfg access from lua
  • Allow scripts to configure script interrupt key
  • Improved script control of OSD via set_draw_title_line()
  • Various clean-ups to which OSD icons get displayed and when
  • Improved script functions for working with APEX96  exposure values
  • Allow scripts to set shooting exposure parameters inside half shoot
  • Added font scaling to Lua draw_string() function
  • Added OSD font scaling and OSD editor upgrade to support it
  • Added option to launch the current script on entry to <ALT> mode
  • Added script function that locks out Canon automatic exposure adjustments
  • Added support for > 64 second exposures all cameras (thanks koshy and nafraf)
  • Added support for USB remote capture on many more cameras (thanks koshy and nafraf)
  • Added os.idir, iterates over directory listings without loading the whole list in memory.
  • Fix long standing FsIoNotify crash issues
  • added user choice for where RAW/DNG files are saved (with jpg, seperate DCIM folder, seperate RAW tree), also fixed naming of seperate DCIM folder
  • added choice of DNG crop  (full, active, JPG)
  • added ability to enable a high speed timer to improve USB remote timing precision and accuracy
  • added battery third terminal remote trigger capability (enabled for selected cameras only)
  • added hotshoe control capability (for cameras with hotshoes of course)


Obsolete, released July 30 2013. No future changes will be made. source branch

Features added were :

  • intermittent Lua crashing bug fixed (finally. Also backported to 1.1)
  • Improved UI - discussion thread
    • menu items renamed and sometimes moved for clarity
    • input of numeric values simplified
    • the "Disable Overrides" menu item is now understandable
    • Tv override input value can be in Ev step,  seconds or HHMMSS format
  • Remote capture over USB
  • Improved DNG performance, now very close to framebuffer raw
  • Support raw operations on DNG
  • Improved memory usage by moving more code to modules
  • Fast integer based trigonometric functions for Lua
  • new editor for User Menu
  • scripts can be added to the User Menu
  • menu option to enable Lua native calls
  • menu option to disable keyboard shortcuts
  • improve console mode with menu options to extend the visibility time of console or review (scroll back) console output
  • loadable palette values allow a better range of colors in the UI  (not implemented on all cameras)
  • auto operation of internal / external flash enabled when other exposure values are in "M" mode
  • enhanced UI for script parameters :  @value allows use of named input values rather than just numeric
  • scripts can be set to always use the default parameter values in the code rather than stored parameters
  • ISO input for override, bracketing and auto-ISO now use approximately the same units as Canon UI ("market" ISO)
  • addition of an annoying "help" window that continuously pops up in <ALT> mode until you figure out how to disable it from the CHDK menu


Obsolete, released July 25 2012. No further changes will be made.

Major features added in this release include

  • Loadable binary modules
  • Re-write of USB remote code
  • "Live view" over the CHDK PTP Extension
  • Integration of chdkde features (actually got added to previous stable too)


Obsolete, Released Feb 2012.