Fade to Black (Release Candidate 1)
Pre-releaseIn Memory of Emmanuel Papin
The ZoneMinder team would like to dedicate this release to Emmanuel Papin. Emmanuel was a significant contributor to this project and even went on to write a license plate plugin. You can view his work here: https://github.com/manupap1/libzoneminder-plugin-openalpr
It is with great sorrow that I must report his passing on August 19, 2015. He will be missed.
Important Feature Deprecation Announcement
The following features are planned to be removed from the ZoneMinder project in a future release:
- Autotools – Build using cmake instead
- Mobile Skin – Use a mobile app, such as zmNinja
- XML Skin – Use the new API instead
Significant New Features and Changes
The ZoneMinder API! This is now the supported way for third party tools and apps to communicate with ZoneMinder. Please contact us if you find anything lacking in the API.
Referred to by us as MultiServer, ZoneMinder now supports the display of cameras attached to multiple ZoneMinder servers via a single web console. Previously, something similar could be done by adding a camera with a url that pointed to another ZoneMinder server. While this worked, it was inefficient, as processing and storage were duplicated across both servers. The new MultiServer feature accomplishes the same thing, but leaves the processing and storage to the server the camera is assigned to. This feature is targeted towards two environments. The first is an enterprise environment where scalability is desired. The second is what I'll call a micro-server environment, where each "server" is something small, such as a Raspberry Pi. Documentation for this new feature can be found under the /docs folder or at http://zoneminder.readthedocs.org .
The option USE_DEEP_STORAGE has been hidden. This option has been enabled as the default for many years. Recently, it was identified that turning this option off resulted in the near immediate deletion of events from the disk. Not good. Consequently, this option can no longer be modified from Options. In the unlikely event that you have a working system not already using deep storage, please contact us so we can get that enabled without loss of your data.
ZoneMinder no longer uses php short open tags.
ZoneMinder has limited ONVIF discovery support, but it must be enabled at build time. We could use someone to build and test this on different makes and models of cameras.
For those using Groups, this feature has been expanded into its own permission group for greater flexibility. This change has a default permission of none or off. Consequently, if you are using Groups, you will need to enable this under each user account.
The libvlc source type should be more stable now. We finally discovered the cause of a rather nasty fault and have fixed it.
Changelog
v1.29.0-rc1 (2016-01-01)
Merged pull requests:
- Bump version to 1.29.0 #1213 (knnniggett)
- Missing rtd theme #1202 (SteveGilvarry)
- Skip directories that have non-digits in them #1201 (connortechnology)
- updated mobile app info #1200 (pliablepixels)
- Api more security #1196 (pliablepixels)
- Documentation #1194 (pliablepixels)
- Documentation updated for ubuntu #1193 (pliablepixels)
- Fixes #1179 Libvlc Live555 Segmentation Fault #1190 (SteveGilvarry)
- Add code to detect the change in REALM from older to newer firmware #1184 (connortechnology)
- add a 1/8th scale option, which is useful for 1920x1080 streams #1182 (connortechnology)
- Zms socket lock #1180 (connortechnology)
- Check for the presence of CrudControllerTrait.php instead of .git #1178 (knnniggett)
- Partial fix for #1167 #1176 (SteveGilvarry)
- Error on missing submodules #1173 (knnniggett)
- fix mem alloc fault in zm_monitor.cpp #1168 (knnniggett)
- compat for php 5.4 #1164 (abishai)
- remove comment at end of line #1157 (connortechnology)
- Reorder RTSPDescribe to avoid -wreorder warnings #1147 (SteveGilvarry)
- Update to #1137 for backward compatibility. #1142 (SteveGilvarry)
- Update Travis to ffmpeg 2.8.1 for testing #1139 (SteveGilvarry)
- Replace deprecated FFmpeg API #1137 (onlyjob)
- added prev/next event ids #1136 (pliablepixels)
- Install nph-zms with FILES so it is listed in install_manifest.txt #1124 (baffo32)
- Stray semicolon causes SQL error #1123 (baffo32)
- Use relative URL's instead of absolute #1121 (knnniggett)
- Update version check URL #1120 (kylejohnson)
- Add index to frames #1116 (kylejohnson)
- Fatal if content dirs are unwritable #1113 (baffo32)
- Fatal error if date.timezone is unset #1111 (baffo32)
- Fix faulty zm.conf.new install line #1107 (baffo32)
- Update preinst #1103 (seebaer1976)
- Update apache.conf #1102 (seebaer1976)
- Update rules #1101 (seebaer1976)
- Update links #1100 (seebaer1976)
- Update preinst #1099 (seebaer1976)
- Fix zmaudit #1095 (connortechnology)
- fixed version compare logic #1094 (pliablepixels)
- Don't install zm.conf if it already exists #1090 (connortechnology)
- change types and move things around to remove compile warnings #1089 (connortechnology)
- Tz #1084 (connortechnology)
- fixed orange display for monitor mode #1083 (pliablepixels)
- use deleteAll() vs. delete() when deleting an Event's Frames #1080 (kylejohnson)
- Added control script for SunEyes SP-P1802SWPTZ #1079 (bofhdk)
- Use the 3.0 branch of crud, compatible with cakephp 2.x #1078 (kylejohnson)
- 663 frames primary key #1075 (kylejohnson)
- Delete fixes for Events #1073 (pliablepixels)
- restart monitor when edited via APIs #1070 (pliablepixels)
- add debug statements for when LastWriteTime is not defined. #1067 (connortechnology)
- fixed recaptcha showing up pre DB update #1066 (pliablepixels)
- fixed security instructions for curl #1062 (pliablepixels)
- header typo corrections #1058 (onlyjob)
- quick fix for #1055: make sure our mmap fd is > 2 #1057 (connortechnology)
- Fix sgfault caused by the privacy mask stuff #1056 (connortechnology)
- link to cambozola pacakge, rather than download during build #1054 (knnniggett)
- redhat rpm packaging modifications #1052 (knnniggett)
- remove core.php, modify core.php.default #1049 (knnniggett)
- Google recaptcha #1048 (pliablepixels)
- enable/disable RTSP Describe Header #1045 (knnniggett)
- Add Documentation for Privacy zones #1044 (schrorg)
- added note about potential Perl and PHP time translation conflict wit… #1043 (pliablepixels)
- Multi server #1040 (connortechnology)
- 1038 fixing state mgmt 1030 is active fix #1039 (pliablepixels)
- Grey color for disabled buttons #1037 (pliablepixels)
- Update filterevents.rst #1035 (tikismoke)
- add warning and help text for maxfps fields #1033 (knnniggett)
- update doc #1032 (tikismoke)
- Remove full path from Logger filename #1029 (knnniggett)
- Typo in README.md #1027 (tikismoke)
- Add new zone type - privacy zones #1026 (schrorg)
- Send login activity to the zoneminder event log #1021 (knnniggett)
- Small dark CSS fixes in frames and timeline view #1019 (schrorg)
- New User Permission "Groups" #1018 (knnniggett)
- 1013 document migration #1017 (pliablepixels)
- Fix issue with score values less than 0 #1016 (knnniggett)
- Explained a caveat with using relative times #1012 (pliablepixels)
- Included logic to not enforce authentication in API layer if ZM auth is off #1008 (pliablepixels)
- Update to ffmpeg 2.7.2 in travis build #1007 (SteveGilvarry)
- I was using the wrong field to check for portal authentication #1006 (pliablepixels)
- Demote user auth info message to debug #1003 (Linwood-F)
- Add scale as optional feature to image.php #1001 (Linwood-F)
- 995 events count per api (bumps up # of events reported per API call) #996 (pliablepixels)
- APIs will be served only if user is logged into the ZM portal #994 (pliablepixels)
- Add option to make TimeStamp larger #992 (schrorg)
- Implemented #989 (highlight current row in tables) for dark CSS #990 (schrorg)
- CSS[skins/classic]: highlight current row in tables. #989 (onlyjob)
- quiet error when no Servers in Servers table #986 (connortechnology)
- fix #948 1 #985 (connortechnology)
- Remove shared data warning for purpose query only #984 (Linwood-F)
- Change from info to debug #983 (Linwood-F)
- Fix image dimensions check #980 (connortechnology)
- Apache.conf modifications #968 (SteveGilvarry)
- Dark CSS for classic theme #967 (schrorg)
- Auto generated changelog #966 (SteveGilvarry)
- 959 add exif date time to images #962 (Linwood-F)
- Add analysis interval parameter to monitors settings #956 (manupap1)
- Fixed Configs API to return all values #955 (pliablepixels)
- Change encoding of german language file to UTF-8 #952 (schrorg)
- Show correct part of URL (hostname) for ffmpeg sources in console #951 (schrorg)
- add php-gd to list of dependencies for debian and ubuntu builds #944 (connortechnology)
- rpm packaging - require php-gd #943 (knnniggett)
- add some utility db functions #942 (connortechnology)
- add space instead of + to handle old Axis cameras #941 (connortechnology)
- zmtrigger: POD documentation #938 (onlyjob)
- improve log #937 (connortechnology)
- add error handling on failure to open serial port #936 (connortechnology)
- fix utf8 ' characters #934 (connortechnology)
- roudn up when calculating buffer size for scaled image. Fixes #932 #933 (connortechnology)
- Added API routing #931 (pliablepixels)
- don't include .cpp in man #930 (connortechnology)
- fix pod2man generation for out-of-source builds #928 (knnniggett)
- Version to 1.28.99 #926 (connortechnology)
- Introduce a read_into function in the Buffer. #923 (connortechnology)
- Added "RewriteBase /zm/api" for API routing #921 (pliablepixels)
- Zms no crash #920 (connortechnology)
- add check for gettime in librt, needed for building on pi #919 (connortechnology)
- Add ServerId to Monitors #918 (connortechnology)
- Dumb down Crud from 4.0 -> 3.0.10 #915 (knnniggett)
- Add Servers Table and add Id PRIMARY KEY to States #910 (connortechnology)
- fix montage view issue in mobile skin #909 (knnniggett)
- Solaris cmake #906 (knnniggett)
- Fix el7 build #902 (bill-mcgonigle)
- 898 is running states #899 (pliablepixels)
- Fixed events API to remove thumbnail code #897 (pliablepixels)
- Generate man pages for perl scripts & C Binaries in the bin folder #896 (knnniggett)
- 893 foscam 9831 w and other foscams #895 (pliablepixels)
- 893 foscam 9831 w and other foscams #894 (pliablepixels)
- Zmwatch cleanup2 #891 (connortechnology)
- reverse the if statement to reduce indenting #890 (connortechnology)
- Updated API document #886 (pliablepixels)
- Use avconv as alternative to ffmpeg executable #884 (SteveGilvarry)
- 881 bootstrap loading config #883 (pliablepixels)
- Merged Angular UI branch API to master #882 (pliablepixels)
- Add version to the startup log line #875 (connortechnology)
- German translation update #874 (seeebek)
- reduce the wait to 2/10ths instead of a whole second #873 (connortechnology)
- alter the logic of ReadData. New behaviour is documented. #870 (connortechnology)
- analysis optimisations #867 (connortechnology)
- Don't die if db goes away during logging #866 (connortechnology)
- Move iostream inclusion in zm.h and declare explicitely the namespace #859 (manupap1)
- Fix detection of deprecated libav / ffmpeg functions #858 (manupap1)
- Correct bareword config entries with newer {} style #856 (connortechnology)
- update german translation #854 (seeebek)
- ubuntu 15.04 #850 (seeebek)
- faster shutdown #847 (connortechnology)
- Additional SLANG changes #845 (knnniggett)
- Cmake hostos #844 (knnniggett)
- Port to OmniOS/Solaris #842 (whorfin)
- Zmaudit update1: Make MIN_AGE Configurable #838 (connortechnology)
- Update to FI982821W_Y2k #836 (connortechnology)
- add translate function #833 (knnniggett)
- Separate css window sizes #829 (connortechnology)
- Fix fast forward/reverse in event playback (#688) #825 (rwg0)
- Fix: typo in options_libvlc #824 (Lihis)
- close the session before requiring the page contents to fix the concurre... #823 (connortechnology)
- Fix build issues on kFreeBSD. Fixes #771 #822 (connortechnology)
- beautifying *.pm #821 (onlyjob)
- Remove hardcoded localized strings in php files and update lang files #820 (manupap1)
- Fix french lang file #818 (manupap1)
- more perlcritic/PBP corrections #816 (onlyjob)
- last batch of POD and readability conversions for *.pl scripts #815 (onlyjob)
- Fixes #760 in part Clean up CMakeLists.txt #812 (SteveGilvarry)
- upgrade bundled jQuery (Closes: #785) #809 (onlyjob)
- Update Mootools #803 (knnniggett)
- hide USE_DEEP_STORAGE #802 (knnniggett)
- link zms to nph-zms, rather than build identical #801 (knnniggett)
- zmcontrol.pl, zmfilter.pl: pod2usage + readability improvements. #798 (onlyjob)
- one small fix for a log line where the 4th parameter wasn't included. T... #796 (connortechnology)
- zmaudit.pl, zmcamtool.pl: pod2usage, PBP/5 + readability #795 (onlyjob)
- as discussed... #794 (onlyjob)
- Leftover short open tags #793 (SteveGilvarry)
- cmake - use perl INSTALLDIRS #792 (knnniggett)
- #783 - related corrections #791 (onlyjob)
- skins/classic: fix HTML export with USE_DEEP_STORAGE (Closes: #506). #782 (onlyjob)
- Check for libv4l1-videodev headers #781 (knnniggett)
- build: add PATH_MAX definitions (needed on GNU Hurd) #778 (onlyjob)
- Freebsd fixes #775 (connortechnology)
- Use tmpfiles.d to manage tmpdir and sockdir #774 (knnniggett)
- Don't trigger linked cameras on new events #772 (balr0g)
- POD: zmupdate.pl converted to "pod2usage" #763 (onlyjob)
- build: fix FTBFS with format-hardening (please review) #761 (onlyjob)
- fixing POD errors #759 (onlyjob)
- Ignore autogenerated files in git #746 (manupap1)
- when auth is needed, try command again before dying. #739 (connortechnology)
- remove NETPBM dependency from autotools #737 (knnniggett)
- fix extra slash when adding trackurl to controlurl #732 (connortechnology)
- Fix image and css import paths for style/skin named "flat" #730 (ljack)
- Update control.css #729 (ljack)
- Fix event view #728 (connortechnology)
- User selectable arp tool #723 (knnniggett)
- remove unneeded files #722 (knnniggett)
- add onvif ptz control into update script #721 (knnniggett)
- Don't show ONVIf probe link when ONVIF support is not enabled #720 (knnniggett)
- Allow zm to build w/o ffmpeg #719 (knnniggett)
- Removed el6 from endif arguments #718 (SteveGilvarry)
- Update fr_fr.php #714 (Jypy)
- Check to make sure that skin and css are valid. #713 (connortechnology)
- Fixes #710 Added libavformat version check around free context functions #711 (SteveGilvarry)
- try harder to find arp. #709 (connortechnology)
- Make el6 and el7 build process a little more automated #704 (clipo1979)
- small improvements: #702 (connortechnology)
- Centos 7 rpm packaging #700 (knnniggett)
- tmpfile.conf for systemd #699 (clipo1979)
- Improve delete event #696 (connortechnology)
- process RTSP DESCRIBE response header #687 (knnniggett)
How to Get the Source Code
Due to the use of git submodules, we recommend you use git to clone the ZoneMinder repo to your local disk and then checkout release-1.29.0. However, we have also provided the file ZoneMinder-1.29.0.tar.gz for you below. It contains the source code and the required submodules. Do NOT click the links below labeled "Source code" as they do not contain the required git submodules and ZoneMinder will not build without them. If someone knows how to remove those links from the Releases page, I'm all ears.