From 36972a65cb034a5ea296a77004c03da58ae30445 Mon Sep 17 00:00:00 2001 From: stan Date: Sun, 15 Jan 2006 00:14:11 +0000 Subject: [PATCH] Updated documents. git-svn-id: http://svn.zoneminder.com/svn/zm/trunk@1818 e3e1d417-86f3-4887-817a-d78f3d33393f --- README.doc | Bin 384000 -> 384512 bytes README.html | 190 +++--- README.pdf | Bin 313128 -> 313260 bytes README.rtf | 1424 +++++++++++++++++++++--------------------- README => README.txt | 16 +- 5 files changed, 823 insertions(+), 807 deletions(-) rename README => README.txt (99%) mode change 100644 => 100755 diff --git a/README.doc b/README.doc index 4a5b3131aedadf0822222d3201955d7fad59c2b1..d177a463f66266caa35b1d01351e6a8dacba7ec0 100755 GIT binary patch delta 11303 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 diff --git a/README.html b/README.html index 880901ec1..081d1584e 100644 --- a/README.html +++ b/README.html @@ -3565,6 +3565,11 @@ style='font:7.0pt "Times New Roman"'>        FIX – The console view previously could spawn instances of zmdc.pl when ZM wasn’t running. This has now been corrected.

+

o        +FIX – The console view has been optimised to speed up display by +up to a factor of ten.

+

o        FIX – Scaling of stills event views has now been rationalised to @@ -3770,9 +3775,9 @@ style='font:7.0pt "Times New Roman"'>        FEATURE – Monitors can now be defined with a default scale. This allows you to reduce the viewing size of a monitor that might be capturing at a large image size. This works in conjunction with the bandwidth specific scaling -so if you bandwidth setting is 50% and your monitor is also 50% then at that -bandwidth you will be viewing at 25%. This is to ensure that all monitors -maintain relative scaling at all bandwidths.

+so if you bandwidth setting is 50% and your monitor is also 50% then at that bandwidth +you will be viewing at 25%. This is to ensure that all monitors maintain +relative scaling at all bandwidths.

o        @@ -3784,10 +3789,10 @@ style='font:7.0pt "Times New Roman"'>        FEATURE – In the past there has been some confusion about what the ‘prev’ and ‘next’ options do when scrolling through events. They actually move to the previous or next event in the list from which the event was -selected rather than in chronological order. Previously this order was -descending date/time in most cases meaning that the previous event would be one -that occurred after the current event. In order to prevent this confusion and -allow users to define a default order which they prefer there are now two more +selected rather than in chronological order. Previously this order was descending +date/time in most cases meaning that the previous event would be one that +occurred after the current event. In order to prevent this confusion and allow +users to define a default order which they prefer there are now two more options in Options->System called ZM_EVENT_SORT_FIELD and ZM_EVENT_SORT_ORDER which allow you to choose your own sort type and order. The default for these is now date/time ascending meaning oldest first which is @@ -4068,16 +4073,16 @@ fixed.

o        -LANGUAGE – A translation for the Romanian language has been added. -To use it select ro_ro as the language.

+LANGUAGE – A translation for the Romanian language has been +added. To use it select ro_ro as the language.

o        FIX – In previous versions the path to the zms daemon from web pages was in the form of a local web path without hostname. This has been -reported as not working with certain media players where the hostname is not implied, -as with browsers. The paths to the streaming server now always have the -hostname prepended so that they are always a full valid url.

+reported as not working with certain media players where the hostname is not +implied, as with browsers. The paths to the streaming server now always have +the hostname prepended so that they are always a full valid url.

o        @@ -4109,16 +4114,16 @@ style='font:7.0pt "Times New Roman"'>        been included. This allows a specified number of frames to be discarded to alleviate problems with broken interlaced frames where multiple cameras share one bttv chip and produce a ‘comb edge’ like image. To invoke this option go to -Options->Config and set ZM_CAPTURES_PER_FRAME to greater than 1, a value of -3 is recommended in the first instance.

+Options->Config and set ZM_CAPTURES_PER_FRAME to greater than 1, a value of 3 +is recommended in the first instance.

o        FEATURE – Several users have reported problems using the Perl Compatible Regular Expression (PCRE) library, mostly to do with it not being -found or an incorrect version being used. This version allows an alternative -method of parsing the output from network cameras that does not depend on -libpcre at all. Which method is used is controlled by the option +found or an incorrect version being used. This version allows an alternative method +of parsing the output from network cameras that does not depend on libpcre at +all. Which method is used is controlled by the option Options->Network->ZM_NETCAM_REGEXPS. If this option is on then the traditional regular expression based parsing is implemented, provided you have built with libpcre. If the option is off or libpcre is missing then a more @@ -4308,8 +4313,7 @@ zm_config.php.z to work better with different browsers.

o        -FIX – Defined empty array in html_view_states to prevent php -warnings.

+FIX – Defined empty array in html_view_states to prevent php warnings.

o        @@ -4566,8 +4570,8 @@ glitches and flickers create large numbers of events, however no mechanism existed for limiting this. In this version you can now specify the minimum number of consecutive alarmed frames that are necessary to create an event. This is the ‘Alarm Frame Count’ described above. Note that if an alarm is in -progress single isolated alarmed frames will still prolong it and the count only -applies to the initial frames that would cause the event.

+progress single isolated alarmed frames will still prolong it and the count +only applies to the initial frames that would cause the event.

12.10.  Release 1.19.4

@@ -4576,8 +4580,8 @@ style='font:7.0pt "Times New Roman"'>  Release 1.19.4o        -FIX – The US English language file was recursively including -itself rather than the UK English file as the base language.

+FIX – The US English language file was recursively including itself +rather than the UK English file as the base language.

o        @@ -4721,9 +4725,9 @@ style='font:7.0pt "Times New Roman"'>        blocks and disk percentage. These are event independent and return the amount of disk space used on the event partition in terms of disk blocks or percentage as returned by df(1). Thus filters using these criteria will either -match all events or none at all depending on the disk usage at the time of filter -execution. The addition of these terms along with the ability to sort and limit -filter results now means it is possible to create a filter that will +match all events or none at all depending on the disk usage at the time of +filter execution. The addition of these terms along with the ability to sort +and limit filter results now means it is possible to create a filter that will automatically clear out old events once disk usage exceeds a certain value. Included in the database schemas for both new installations and upgrades is a sample filter called PurgeWhenFull which can be used to do this. It is @@ -4747,8 +4751,8 @@ the form <MonitorName>/<EventId> so it it possible to determine both the monitor and event in question from the path. Note also that a flag is set per event as with other auto actions indicating that an executable script has been run on that event and so to exclude it from -subsequent matches. However if you have several filters all with executable -scripts you will find that only the first gets executed as the flag will be set +subsequent matches. However if you have several filters all with executable scripts +you will find that only the first gets executed as the flag will be set following successful completion and so no further scripts will be run on that event. Successful completion is indicated by the script returning a zero exit status, any other status indicates an error and the executed flag will @@ -4825,9 +4829,9 @@ should be made.

style='font:7.0pt "Times New Roman"'>        NOTE – None of the non-English language files in this release do not contain any translations of the new, or modified, tokens which have been -introduced in this release. All new or modified tokens are included in the -language files in English. There will shortly be a point release which includes -these language updates assuming I can get translations of them in a reasonable +introduced in this release. All new or modified tokens are included in the language +files in English. There will shortly be a point release which includes these +language updates assuming I can get translations of them in a reasonable timescale.

12.13.

o        Pcre Configure Changes. The configure script has been modified to -look for the pcre.h header file in both /usr/include and /usr/include/pcre rather -than just the latter as previously.

+look for the pcre.h header file in both /usr/include and /usr/include/pcre +rather than just the latter as previously.

o        @@ -4856,9 +4860,9 @@ none at all.

o        -Event Image Numbering. An additional configuration option (ZM_EVENT_IMAGE_DIGITS) -has been added to allow the user to define how many significant figures should -be used to number individual event images.

+
Event Image Numbering. An additional configuration option +(ZM_EVENT_IMAGE_DIGITS) has been added to allow the user to define how many +significant figures should be used to number individual event images.

o        @@ -4993,9 +4997,9 @@ for the ZM_FRAME_SOCKET_SIZE option.

o        Filter Name Duplication. Following recent changes to the filters -table, several people reported that when saving filters they actually got a duplicate. -This resulted in several copies of filters all with the same name as the -constraint on unique filter names was not present. Well it is now so when +table, several people reported that when saving filters they actually got a +duplicate. This resulted in several copies of filters all with the same name as +the constraint on unique filter names was not present. Well it is now so when upgrading your database all the filters will be renamed from ‘myfilter’ to ‘myfilter_<id>’ where ‘<id>’ is the id number in the database (which is then removed). In general the higher the id number the more recent @@ -5070,8 +5074,8 @@ daemons spend most of their time doing, the improvement helps reduce the amount of CPU time by a significant degree. Application of these changes also highlighted a bug that had existed previously in YUV conversion which caused incorrect conversions for certain values. The other two main areas of -optimisation are in the Blend and Delta image functions. Normally when doing -motion detection the analysis daemons spend about 99% of their time comparing a +optimisation are in the Blend and Delta image functions. Normally when doing motion +detection the analysis daemons spend about 99% of their time comparing a captured image with the reference image and then blending the two ready for the next capture. Both of these functions have been significantly improved. In previous versions there were two options for calculating image deltas (or @@ -5080,8 +5084,8 @@ the RGB one was faster however with the optimisations the Y channel calculation (which is more accurate) is now 15-20% faster and so has become the default though you can select either method by the ZM_Y_IMAGE_DELTAS configuration option. A new method of image blending has also been added which is up to 6 -times faster than the old one which is retained for compatibility and because -in some unusual circumstances it may still be more accurate (see the +times faster than the old one which is retained for compatibility and because in +some unusual circumstances it may still be more accurate (see the ZM_FAST_IMAGE_BLENDS option for details). Altogether these optimisations (along with other common sense ones such as not maintaining a reference image in ‘Record’ mode where it is not used) significantly reduce the CPU load for most @@ -5107,8 +5111,8 @@ style='font:7.0pt "Times New Roman"'>        Monitor Independent Filters. Previously filters were closely tied to a monitor and a new filter had to be created for each monitor. This has now changed and filters can now specify an associated monitor in the same was as -other parameters. Links have now been added to the main console view to allow -you to view lists of events from all monitors in one and saved filters can now +other parameters. Links have now been added to the main console view to allow you +to view lists of events from all monitors in one and saved filters can now affected as many or as few monitors as you wish. IMPORTANT: Please note that as part of the upgrade process all your filters will have any automatic actions unset. This is because the previous affinity to a particular monitor has now @@ -5137,9 +5141,8 @@ style='font:7.0pt "Times New Roman"'>        Montage Sizing. The montage view allows you to view all of your active cameras in one window. However if your cameras are different sizes then this becomes very untidy. You can now constrain the image size of each monitor -in this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and -ZM_WEB_MONTAGE_HEIGHT configuration options. Monitor images will be enlarged or -reduced as necessary.

+in this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and ZM_WEB_MONTAGE_HEIGHT +configuration options. Monitor images will be enlarged or reduced as necessary.

o        @@ -5163,17 +5166,17 @@ style='font:7.0pt "Times New Roman"'>        Timestamp Change. Traditionally ZoneMinder has time-stamped each image as it is captured. This ensures that all images have their capture time recorded immediately. However there are several side-effects which may be -undesirable. Firstly the time and resource is spent time-stamping images that are -not recorded and which are discarded, secondly the timestamp is included in any -motion detection and may potentially trigger an alarm if detection parameters -are very sensitive. The third effect is that as the timestamp is added to the -image at it’s native resolution, if the image is scaled then the timestamp is -scaled also. This may not be a problem for enlargement but if the image size is -reduced then it may become illegible. This version now allows you, via the -ZM_TIMESTAMP_ON_CAPTURE configuration option, to indicate whether the -timestamps should be added on capture, as before, or only added when the image -is viewed or recorded. Setting it to this later value allows timestamps to be -added to scaled images. This is little performance impact either way.

+undesirable. Firstly the time and resource is spent time-stamping images that +are not recorded and which are discarded, secondly the timestamp is included in +any motion detection and may potentially trigger an alarm if detection +parameters are very sensitive. The third effect is that as the timestamp is +added to the image at it’s native resolution, if the image is scaled then the +timestamp is scaled also. This may not be a problem for enlargement but if the +image size is reduced then it may become illegible. This version now allows +you, via the ZM_TIMESTAMP_ON_CAPTURE configuration option, to indicate whether +the timestamps should be added on capture, as before, or only added when the +image is viewed or recorded. Setting it to this later value allows timestamps +to be added to scaled images. This is little performance impact either way.

o        @@ -5287,10 +5290,10 @@ style='font:7.0pt "Times New Roman"'>  Release 1.17.1

o        -Login Bug. A bug was identified whereby an unauthorised user -could gain access to the console view of ZoneMinder. This was the only view -available and no access to any camera views or configuration was possible. This -bug is now fixed.

+Login Bug. A bug was identified whereby an unauthorised user could +gain access to the console view of ZoneMinder. This was the only view available +and no access to any camera views or configuration was possible. This bug is +now fixed.

o        @@ -5430,8 +5433,8 @@ slower for more precision.

style='font:7.0pt "Times New Roman"'>        Scaleable/Variable MPEG generation. Generation of MPEG videos now also allows you to specify the scale relative to the original image and also -the frame rate. Again, for long events captured in the perpetual recording modes -this will allow a faster review of the period the event covers.

+the frame rate. Again, for long events captured in the perpetual recording +modes this will allow a faster review of the period the event covers.

o        @@ -5451,9 +5454,9 @@ processes.

o        -Intelligent Module inclusion. zmfilter.pl now includes Archive::Zip -and other modules on an as needed basis so won't complain about them being -missing unless they have been explicitly configured to be used.

+Intelligent Module inclusion. zmfilter.pl now includes +Archive::Zip and other modules on an as needed basis so won't complain about +them being missing unless they have been explicitly configured to be used.

o        @@ -5581,11 +5584,11 @@ fixed.

o        -Again in .14 a problem occurred for a new release whereby -zmconfig wanted to know the database details and but also previously wanted to -access the database before it had asked the questions. This has now been -addressed though it does require that zmconfig is run twice initially, once to -created the scripts and once to import the configuration into the database.

+Again in .14 a problem occurred for a new release whereby zmconfig +wanted to know the database details and but also previously wanted to access +the database before it had asked the questions. This has now been addressed +though it does require that zmconfig is run twice initially, once to created +the scripts and once to import the configuration into the database.

o        @@ -5616,10 +5619,10 @@ style='font:7.0pt "Times New Roman"'>        A problem was found if using the zmf frame server and greyscale images. The option to colourise JPEG images is intended to be used to ensure that all JPEG files are written with a 24 bit colourspace as certain tools such -as ffmpeg require this. However in the circumstances described above images written -by zma directly were colourised whereas those written by  zmf weren’t. A change -has been made whereby if set all greyscale JPEG images are colourised in all -circumstances.

+as ffmpeg require this. However in the circumstances described above images +written by zma directly were colourised whereas those written by  zmf weren’t. +A change has been made whereby if set all greyscale JPEG images are colourised +in all circumstances.

12.22.  Release 0.9.14

@@ -5645,10 +5648,10 @@ configurable in zmconfig.

o        -Y channel bug. When using colour cameras a motion detection problem -was present if fast RGB images deltas (ZM_FAST_RGB_DIFFS) was off. This was an -overflow error in the calculation of the Y channel and caused excessive image -differences to be calculated. This has now been fixed.

+Y channel bug. When using colour cameras a motion detection +problem was present if fast RGB images deltas (ZM_FAST_RGB_DIFFS) was off. This +was an overflow error in the calculation of the Y channel and caused excessive +image differences to be calculated. This has now been fixed.

o        @@ -5666,8 +5669,8 @@ style='font:7.0pt "Times New Roman"'>        Removed use of ‘zmu’ binary from zmwatch.pl and zmx10.pl. Previously these scripts had used zmu to determine last image time and alarm state information. The use of this script was a bit overkill and the -introduction of user permissions complicated matter slightly so these scripts now -access the shared memory directly.

+introduction of user permissions complicated matter slightly so these scripts +now access the shared memory directly.

o        @@ -5750,7 +5753,8 @@ style='font:7.0pt "Times New Roman"'>        themselves rather than a refresh header. Since refresh headers were interrupted if a link of the page was linked there were previously various forced refreshes from child windows to restart the refresh process. By using JS refresh timers -which are not interrupted these extraneous refreshes have been mostly eliminated.

+which are not interrupted these extraneous refreshes have been mostly +eliminated.

12.24.  Release 0.9.12

@@ -5889,9 +5893,9 @@ format used within.

o        -Added preclusive zones – Added a new zone type, the preclusive -zone. For full details see the relevant section above but in brief this is a -zone type that if alarmed will actually prevent an alarm. This completes the +Added preclusive zones – Added a new zone type, the preclusive zone. +For full details see the relevant section above but in brief this is a zone +type that if alarmed will actually prevent an alarm. This completes the pantheon of zone types I think.

o +allowing you to easily and quickly create MPEG files. This option is one by default +but can be switched off if you do not require any MPEG encoding.

o        @@ -6331,8 +6335,8 @@ style='font:7.0pt "Times New Roman"'>       

o        Added Fast delete to PHP files. This allows the web interface to -only delete the event entries themselves for speed and then have the zmaudit script -periodically tidy up the rest.

+only delete the event entries themselves for speed and then have the zmaudit +script periodically tidy up the rest.

o        @@ -6374,8 +6378,8 @@ style='font:7.0pt "Times New Roman"'>       

o        -Split out the PHP files into a bunch with specific functions -rather than one monolithic one.

+Split out the PHP files into a bunch with specific functions rather +than one monolithic one.

o        diff --git a/README.pdf b/README.pdf index b307fd939c78c8ec7a65749798a4f88c7bbfd881..1edab8a7cf323d44db42a0032c823088c1622263 100644 GIT binary patch delta 151772 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 sb40(pg{b+%yIrpL2A(dM?pq0 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 z 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%0Aa9$xXo^}rPrFx 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 V(ErR2{r{L6i6Pu1=UxEn{{gCqCsY6c diff --git a/README.rtf b/README.rtf index 5be6815ee..58728f0b5 100644 --- a/README.rtf +++ b/README.rtf @@ -165,14 +165,14 @@ Contents Heading;}{\*\cs32 \additive \ul\cf2 \sbasedon10 \styrsid15794850 Intern {\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}{\listoverride\listid11\listoverridecount0\ls11}{\listoverride\listid12\listoverridecount0\ls12} {\listoverride\listid13\listoverridecount0\ls13}{\listoverride\listid14\listoverridecount0\ls14}{\listoverride\listid914508720\listoverridecount0\ls15}{\listoverride\listid1955012371\listoverridecount0\ls16}{\listoverride\listid1974754434 \listoverridecount0\ls17}{\listoverride\listid896823223\listoverridecount0\ls18}{\listoverride\listid1762599835\listoverridecount0\ls19}}{\*\revtbl {Unknown;}}{\*\rsidtbl \rsid132545\rsid475446\rsid853645\rsid1058767\rsid1640189\rsid3299123\rsid3606796\rsid3617542 -\rsid3678802\rsid4282705\rsid4615107\rsid4751251\rsid4865621\rsid7286782\rsid7672829\rsid9399157\rsid10826340\rsid11418416\rsid13181686\rsid13655844\rsid14838004\rsid15794850\rsid16212083}{\*\generator Microsoft Word 10.0.2627;}{\info -{\title ZoneMinder 1.22.0}{\author Philip Coombes}{\operator Philip Coombes}{\creatim\yr2006\mo1\dy14\hr23\min26}{\revtim\yr2006\mo1\dy14\hr23\min26}{\printim\yr2006\mo1\dy13\hr19\min43}{\version2}{\edmins0}{\nofpages70}{\nofwords35990}{\nofchars205148} -{\*\company Triornis Ltd}{\nofcharsws240657}{\vern16437}}\paperw11906\paperh16838\margl1474\margr1474\margt1361\margb1247 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120 +\rsid3678802\rsid4282705\rsid4615107\rsid4751251\rsid7286782\rsid7672829\rsid9399157\rsid9443021\rsid10826340\rsid11418416\rsid11474470\rsid13181686\rsid13655844\rsid14838004\rsid15794850\rsid16212083}{\*\generator Microsoft Word 10.0.2627;}{\info +{\title ZoneMinder v1.22.0}{\author Philip Coombes}{\operator Philip Coombes}{\creatim\yr2006\mo1\dy15\min9}{\revtim\yr2006\mo1\dy15\min9}{\printim\yr2006\mo1\dy15\min8}{\version2}{\edmins1}{\nofpages70}{\nofwords36003}{\nofchars205223} +{\*\company Triornis Ltd}{\nofcharsws240745}{\vern16437}}\paperw11906\paperh16838\margl1474\margr1474\margt1361\margb1247 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120 \dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\htmautsp\nolnhtadjtbl\rsidroot1058767 \fet0\sectd \sbknone\linex0\footery709\sectdefaultcl\sftnbj {\footer \pard\plain \qc \li0\ri0\nowidctlpar -\tqc\tx4153\tx8080\tqr\tx8647\nooverflow\faroman\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field{\*\fldinst {\f1\fs20\insrsid4865621\charrsid475446 DATE \\@ "dd/MM/yy" }}{\fldrslt { -\f1\fs20\lang1024\langfe1024\noproof\insrsid4865621 14/01/06}}}{\fs20\loch\af1\insrsid4865621 \tab \hich\af0\dbch\af0\loch\f1 ZoneMinder 1.22.0 README}{\fs20\loch\af1\insrsid4865621\charrsid475446 \tab }{\field{\*\fldinst { -\fs20\loch\af1\insrsid4865621\charrsid475446 \hich\af0\dbch\af0\loch\f1 PAGE }}{\fldrslt {\fs20\lang1024\langfe1024\loch\af1\noproof\insrsid4865621 \hich\af0\dbch\af0\loch\f1 1}}}{\field\fldedit{\*\fldinst {\fs20\insrsid4865621 \\page\\* ARABIC} -}{\fldrslt {\fs20\insrsid4865621 74}}}{\fs20\insrsid4865621 +\tqc\tx4153\tx8080\tqr\tx8647\nooverflow\faroman\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field{\*\fldinst {\f1\fs20\insrsid9443021\charrsid475446 DATE \\@ "dd/MM/yy" }}{\fldrslt { +\f1\fs20\lang1024\langfe1024\noproof\insrsid9443021 15/01/06}}}{\fs20\loch\af1\insrsid9443021 \tab \hich\af0\dbch\af0\loch\f1 ZoneMinder 1.22.0 README}{\fs20\loch\af1\insrsid9443021\charrsid475446 \tab }{\field{\*\fldinst { +\fs20\loch\af1\insrsid9443021\charrsid475446 \hich\af0\dbch\af0\loch\f1 PAGE }}{\fldrslt {\fs20\lang1024\langfe1024\loch\af1\noproof\insrsid9443021 \hich\af0\dbch\af0\loch\f1 39}}}{\field\fldedit{\*\fldinst {\fs20\insrsid9443021 \\page\\* ARABIC} +}{\fldrslt {\fs20\insrsid9443021 74}}}{\fs20\insrsid9443021 \par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} {\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \qc \li0\ri0\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 @@ -213,327 +213,339 @@ http://www.zoneminder.com}}}{\insrsid475446 \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 1.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Introduction}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043038 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 4}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 4}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043039"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 2.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Requirements}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043039 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 5}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000330039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 5}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043040"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 3.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Components}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043040 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 6}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 6}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043041"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 4.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Building}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043041 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 9}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 9}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043042"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 5.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Installation}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043042 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 10}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 10}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043043"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340033000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 6.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Upgrading}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043043 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 12}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 12}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043044"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340034000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 7.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Installing from RPM}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043044 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 13}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 13}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043045"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340035000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Tutorial}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043045 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 14}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 14}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }\pard\plain \s29\ql \li283\ri0\sb17\sa17\nowidctlpar\tx960\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin283\itap0 \f1\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043046"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340036000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.1.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Defining Monitors}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043046 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 14}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 14}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043047"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340037000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.2.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Defining Zones}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043047 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 20}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 20}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043048"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.3.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Viewing Monitors}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043048 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 23}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 23}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043049"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.4.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Controlling Monitors}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043049 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 24}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000340039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 24}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043050"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.5.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Filtering Events}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043050 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 24}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 24}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043051"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.6.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Viewing Events}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043051 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 26}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 26}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043052"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 8.7.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Options and Users}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043052 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 26}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 26}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }\pard\plain \s28\ql \li0\ri0\sb28\sa28\nowidctlpar\tx482\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin0\itap0 \f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043053"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350033000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 9.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Camera Control}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043053 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 28}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 28}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }\pard\plain \s29\ql \li283\ri0\sb17\sa17\nowidctlpar\tx960\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin283\itap0 \f1\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043054"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350034000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 9.1.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Control Capabilities}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043054 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 28}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 28}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043055"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350035000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 9.2.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Control Scripts}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043055 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 30}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 30}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }\pard\plain \s28\ql \li0\ri0\sb28\sa28\nowidctlpar\tx720\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin0\itap0 \f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043056"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350036000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 10.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Mobile Devices}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043056 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 32}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 32}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043057"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350037000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 11.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Troubleshooting}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043057 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 33}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 33}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043058"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Change Log}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043058 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 37}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 37}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }\pard\plain \s29\ql \li283\ri0\sb17\sa17\nowidctlpar\tx1200\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin283\itap0 \f1\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043059"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.1.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.22.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043059 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 37}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000350039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 37}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043060"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.2.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.21.4}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043060 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 40}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 40}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043061"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.3.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.21.3}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043061 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043062"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.4.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.21.2}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043062 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043063"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360033000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.5.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.21.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043063 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 42}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043064"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360034000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.6.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.21.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043064 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 44}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 44}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043065"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360035000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.7.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.20.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043065 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 45}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 45}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043066"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360036000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.8.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.20.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043066 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 46}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 46}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043067"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360037000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.9.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.5}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043067 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 47}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 47}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043068"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.10.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.4}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043068 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 48}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 48}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043069"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.11.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.3}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043069 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 48}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000360039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 48}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043070"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.12.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.2}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043070 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 49}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 49}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043071"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.13.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043071 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 51}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 51}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043072"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.14.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.19.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043072 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 51}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 51}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043073"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370033000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.15.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.18.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043073 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 53}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 53}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043074"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370034000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.16.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.18.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043074 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 53}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 53}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043075"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370035000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.17.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.17.2}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043075 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 55}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 55}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043076"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370036000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.18.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.17.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043076 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 55}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 55}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043077"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370037000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.19.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 1.17.0}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043077 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 56}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 56}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043078"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.20.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.16}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043078 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 56}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 56}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043079"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.21.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.15}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043079 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 58}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000370039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 58}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043080"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.22.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.14}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043080 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 59}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 59}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043081"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.23.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.13}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043081 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 59}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 59}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043082"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.24.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.12}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043082 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 60}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 60}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043083"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380033000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.25.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.11}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043083 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 61}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380033000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 61}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043084"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380034000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.26.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.10}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043084 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 62}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380034000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 62}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043085"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380035000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.27.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.9}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043085 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 63}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380035000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 63}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043086"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380036000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.28.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.8}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043086 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 64}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380036000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 64}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043087"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380037000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.29.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.9.7}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043087 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 65}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380037000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 65}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043088"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380038000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 12.30.}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Release 0.0.1}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043088 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 66}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380038000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 66}}}}}{\f0\fs24\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \par }\pard\plain \s28\ql \li0\ri0\sb28\sa28\nowidctlpar\tx720\tqr\tldot\tx8958\nooverflow\faroman\rin0\lin0\itap0 \f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\field\fldedit{\*\fldinst { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043089"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380039000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 13.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 To Do}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043089 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 67}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000380039000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 67}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043090"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390030000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 14.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Bugs}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043090 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 68}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390030000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 68}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043091"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390031000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 15.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 Non-Bugs}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043091 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 69}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390031000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 69}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }{\field\fldedit{\*\fldinst {\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{\lang1024\langfe1024\noproof\insrsid132545 HYPERLINK \\l "_Toc125043092"}{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 }{ \ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390032000000}}}{\fldrslt { \cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 16.}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 \tab }{\cs33\ul\cf2\lang1024\langfe1024\noproof\insrsid132545\charrsid12985880 License}{ \lang1024\langfe1024\noproof\webhidden\insrsid132545 \tab }{\field{\*\fldinst {\lang1024\langfe1024\noproof\webhidden\insrsid132545 PAGEREF _Toc125043092 \\h }{\lang1024\langfe1024\noproof\insrsid132545 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid132545 70}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003100320035003000340033003000390032000000}}}{\fldrslt {\lang1024\langfe1024\noproof\webhidden\insrsid9443021 70}}}}}{\f0\lang1024\langfe1024\noproof\langfenp2057\insrsid132545 + \par }\pard\plain \qc \li0\ri0\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0\pararsid1058767 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 }}\pard\plain \qc \li0\ri0\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0\pararsid1058767 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid1058767 \par {\listtext\pard\plain\s1 \b\fs28\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid1058767 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard\plain \s1\ql \fi-454\li454\ri0\sb240\sa240\keepn\nowidctlpar\nooverflow\faroman\ls14\outlinelevel0\rin0\lin454\itap0\pararsid15794850 \b\f1\fs28\ulth\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid1058767 \page }{\insrsid475446 -{\*\bkmkstart _Toc125043038}Int{\*\bkmkstart _Toc124931625}roduction{\*\bkmkend _Toc124931625}{\*\bkmkend _Toc125043038} +{\*\bkmkstart _Toc125043038}Int{\*\bkmkstart _Toc124931625}roduction{\*\bkmkend _Toc125043038}{\*\bkmkend _Toc124931625} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Welcome to ZoneMinder, the all-in-one Linux GPL'd security camera solution. \par A while back my garage was burgled and all my power tools were stolen! I realised shortly after that if I'd just had a camera overlooking the door then at least I'd have know exactly when and who did the dirty deed. And so ZoneMinder was born. It's still relatively new but hopefully it has developed to be something that can b @@ -750,7 +762,7 @@ though as with installation you may need to change user to have sufficient privi \s1\ql \fi-454\li454\ri0\sb240\sa240\keepn\nowidctlpar\nooverflow\faroman\ls14\outlinelevel0\rin0\lin454\itap0\pararsid15794850 \b\f1\fs28\ulth\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 \page {\*\bkmkstart _Toc125043043}Upgrading {\*\bkmkend _Toc125043043} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 If you are upgrading from a previous version of ZoneMinder you should follow the}{ -\insrsid3606796 }{\field{\*\fldinst {\insrsid3606796 REF _Ref124947586 \\h }{\insrsid3606796 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f005200650066003100320034003900340037003500380036000000}}}{\fldrslt {\insrsid3606796 +\insrsid3606796 }{\field{\*\fldinst {\insrsid3606796 REF _Ref124947586 \\h }{\insrsid3606796 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f005200650066003100320034003900340037003500380036000000}}}{\fldrslt {\insrsid9443021 Building}}}{\insrsid475446 }{\insrsid3606796 ins}{\insrsid475446 tructions above. Before proceeding, ensure that any previous version of ZoneMinder has been stopped, then type \par }\pard\plain \s23\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 make install \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 to install the binaries, scripts, modules, web and configuration files. @@ -1632,9 +1644,11 @@ te modules tailored to specific external systems. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The configure script now includes more system }{\insrsid13655844 compatibility checking}{ \insrsid475446 including checks for required and optional perl modules. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash All libjpeg output is now trapped and handled as regular format debug. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Some jpeg data is cached on first use instead of being regenerated each time. This should speed up jpeg handling to some degree. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Event data can be optionally saved to COM fields in the jpeg file header. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid11474470 {\insrsid475446 FEATURE \endash Some jpeg data is cached on first use instead of being regenerated each time. This should speed up jpeg handling to some degree.}{ +\insrsid11474470 +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 {\insrsid475446 FEATURE \endash Event data can be optionally saved to COM fields in the jpeg file header. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A system summary command has been added to zmu. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Filtering can now be done on the event id field. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Filtering can now be done on the event description field. @@ -1705,15 +1719,17 @@ arch to configure for 64 bit builds. This allows an alternative library path to \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A problem with brackets in filters has been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The console view previously could spawn instances of zmdc.pl when ZM wasn\rquote t running. This has now been corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Scaling - of stills event views has now been rationalised to not ever be smaller than 100% as the image is always sent at at least this resolution. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid11474470 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid11474470 FIX \endash The console view has been optimised to speed up display by up to a factor of ten. + +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446 FIX \endash + Scaling of stills event views has now been rationalised to not ever be smaller than 100% as the image is always sent at at least this resolution. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A problem with zmaudit.pl mishandling recovered events has been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed number of minor memory access issues. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed \lquote undefined pid\rquote error in zmdc.pl. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Changed a bunch of Info calls to Debug to reduce log clutter. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed a couple of problems with the authentication relay methods in zms. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid1640189 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid1640189 FIX \endash Fixed issue with control permissions whereby a -user also needed monitor edit permissions to be able to control a monitor. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid1640189 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid1640189 FIX \endash + Fixed issue with control permissions whereby a user also needed monitor edit permissions to be able to control a monitor. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446 FIX \endash Logs created by root are chowned to web user to help prevent permission issues. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Problems with different type sizes when accessing shared memory on 64 bit systems have been fixed. @@ -1728,82 +1744,80 @@ user also needed monitor edit permissions to be able to control a monitor. \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 A whole bunch of improvements and fixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash - The video generation interface has been redesigned and expanded. This allows you to se -e what videos have been generated previously and manage, view or download them. You can also specify more precisely what input and output options to pass to ffmpeg and what video formats you want to support. These options are available from the Options->T -ools view. + The video generation interface has been redesigned and expanded. This allows you to see what videos have been generated previously and manage, view or download them. You can also specify more precisely what input and output options to pass to ffmpeg and +what video formats you want to support. These options are available from the Options->Tools view. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Historical video is now supported from the XHTML mobile device interface allowing you to replay previous events etc. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - A new timeline view has been added. This is an enhanced graphic activity view that represents events as colou -r coded bars on a time based chart. Passing your mouse over the activity will display images and details from the events in the chart. You are able to choose whether you see this view or the traditional events view as a default. Since this view can be a l -a -rge file and dynamic loading of event images can be bandwidth intensive this preference can be specific on a bandwidth specific basis. The option to switch between the traditional list and the timeline view is available at all times however. IMPORTANT NOT -E -: This view is a beta version only and due to extensive use of CSS currently only renders correctly on FireFox type browsers. Even then as it can use huge numbers of elements it is possible it may degrade or crash your browser. Specifically Internet Explo -rer seems to get totally confused and renders some elements twice and others in the wrong place etc. I hope to remedy this situation for the next release but for now using this view with IE is not recommended. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash References to the video device files ar -e now expressed as full file paths rather than just numbers. This allows files other than /dev/videoX to be used easily. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A new timeline view h +as been added. This is an enhanced graphic activity view that represents events as colour coded bars on a time based chart. Passing your mouse over the activity will display images and details from the events in the chart. You are able to choose whether y +o +u see this view or the traditional events view as a default. Since this view can be a large file and dynamic loading of event images can be bandwidth intensive this preference can be specific on a bandwidth specific basis. The option to switch between the + +traditional list and the timeline view is available at all times however. IMPORTANT NOTE: This view is a beta version only and due to extensive use of CSS currently only renders correctly on FireFox type browsers. Even then as it can use huge numbers of e +l +ements it is possible it may degrade or crash your browser. Specifically Internet Explorer seems to get totally confused and renders some elements twice and others in the wrong place etc. I hope to remedy this situation for the next release but for now us +ing this view with IE is not recommended. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - Integration with all versions of ffmpeg, including CVS, is now supported. At least until the next ffmpeg interface change anyway! + References to the video device files are now expressed as full file paths rather than just numbers. This allows files other than /dev/videoX to be used easily. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Integration with all versions of ffmpeg, +including CVS, is now supported. At least until the next ffmpeg interface change anyway! \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Monitors can now use a file path as a video source. This allows you to use scripts such as wget or other webcam type applications to generate your images which can then be fed into ZoneMinder as a monitor and analysed and archived etc. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Users can now be defined with a maximum bandwidth setting. This prevents low privilege users from swamping the system with lots of high bandwidth streaming. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Debug levels for the binaries can now be controlled in a limited fashion from the Option -s screen. For more details see the help on the Options->Tools->ZM_EXTRA_DEBUG* options. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - The user authentication methods have been revised to separate authentication at the web front end from authentication at back end streaming. Thus there are no -w several more authentication options to allow more fine control. The most significant of these ZM_AUTH_TYPE now offers a choice of \lquote remote\rquote - authentication which allows you to use a third party authentication scheme such as http basic authentication and ha -ve that users name passed via the REMOTE_USER environment variable. Providing there is a user of that name known to ZoneMinder they will be automatically logged in. Be warned however that there is no facility for this user to log out so ensure that you do - not lock yourself into a low privilege account. Also you may need to remove user cookies when you change authentication methods. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Users now have a \lquote control\rquote - permission which determines whether they are able to control PTZ style cameras. As with the other permissions there are three levels, None, View and Edit. Unlike some of the other options it may not be obvious what levels do what. The \lquote None -\rquote level bars access to any control functionality, the \lquote View\rquote level permits users to actually control the positioning and settings of a camera (rather than just look at them which is what might be expected) and the \lquote Edit\rquote +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash +Debug levels for the binaries can now be controlled in a limited fashion from the Options screen. For more details see the help on the Options->Tools->ZM_EXTRA_DEBUG* options. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The user authentication methods have been revised to separate authenti +cation at the web front end from authentication at back end streaming. Thus there are now several more authentication options to allow more fine control. The most significant of these ZM_AUTH_TYPE now offers a choice of \lquote remote\rquote + authentication which allows + you to use a third party authentication scheme such as http basic authentication and have that users name passed via the REMOTE_USER environment variable. Providing there is a user of that name known to ZoneMinder they will be automatically logged in. Be + warned however that there is no facility for this user to log out so ensure that you do not lock yourself into a low privilege account. Also you may need to remove user cookies when you change authentication methods. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Users now have a \lquote control\rquote pe +rmission which determines whether they are able to control PTZ style cameras. As with the other permissions there are three levels, None, View and Edit. Unlike some of the other options it may not be obvious what levels do what. The \lquote None\rquote + level bars access to any control functionality, the \lquote View\rquote level permits users to actually control the positioning and settings of a camera (rather than just look at them which is what might be expected) and the \lquote Edit\rquote level allows users to modify the various control capabilities. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A bug was fixed where the streamed images were using the quality settings for saved files. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Jpeg errors are now reported via the generic ZoneMinder error and debug mechanism rather than just to standard output as is the default in libjpeg. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The time taken to load and refresh the console view has been reduced. This is - especially significant where you may have lots of monitors. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - Paths to the control scripts were hard coded with a full path. This broke the packaged ZoneMinder distributions so the paths are now relative to the ZM_PATH_BIN config unless they start with a \lquote /\rquote . + The time taken to load and refresh the console view has been reduced. This is especially significant where you may have lots of monitors. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Paths to the control scripts were hard coded with a full path. This broke the packaged ZoneMinder dis +tributions so the paths are now relative to the ZM_PATH_BIN config unless they start with a \lquote /\rquote . \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The masks used for shared memory have now been refined to prevent invalid values from causing duplicates. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Monitors can now be re-ordered from t +he console view to allow you to choose how you would like them arranged. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Monitors can now be re-ordered from the console view to allow you to choose how you would like them arranged. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Motio -n detection can now be temporarily disabled from the watch view. This is most useful with PTZ type cameras where you can switch off motion detection whilst repositioning the camera. Just don\rquote t forget to switch it back on again afterwards! -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A defau -lt scale per bandwidth setting can now be defined. This allows you to reduce the size of streams etc on slow connections. + Motion detection can now be temporarily disabled from the watch view. This is most useful with PTZ type cameras where you can switch off motion detection whilst repositioning the camera. Just don\rquote t forget to switch it back on again afterwards! + \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Monitors can now be defined with a default scale. This allows you to reduce the viewing size of a monitor that might be capt -uring at a large image size. This works in conjunction with the bandwidth specific scaling so if you bandwidth setting is 50% and your monitor is also 50% then at that bandwidth you will be viewing at 25%. This is to ensure that all monitors maintain rela -tive scaling at all bandwidths. + A default scale per bandwidth setting can now be defined. This allows you to reduce the size of streams etc on slow connections. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Monitors can now be defined with a d +efault scale. This allows you to reduce the viewing size of a monitor that might be capturing at a large image size. This works in conjunction with the bandwidth specific scaling so if you bandwidth setting is 50% and your monitor is also 50% then at that + bandwidth you will be viewing at 25%. This is to ensure that all monitors maintain relative scaling at all bandwidths. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The choice of streaming versus stills views as default can now be specified per bandwidth setting. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash In the past there has been some confusion about what the \lquote prev\rquote and \lquote next -\rquote options do when scrolling throu -gh events. They actually move to the previous or next event in the list from which the event was selected rather than in chronological order. Previously this order was descending date/time in most cases meaning that the previous event would be one that oc -c -urred after the current event. In order to prevent this confusion and allow users to define a default order which they prefer there are now two more options in Options->System called ZM_EVENT_SORT_FIELD and ZM_EVENT_SORT_ORDER which allow you to choose yo -u -r own sort type and order. The default for these is now date/time ascending meaning oldest first which is opposite to the previous default and you will need to update these options to retain the previous behaviour. Note also that this ordering applies onl -y to event lists and not the \lquote last x events\rquote in the watch window which are still newest first. +\rquote options do when scrolling through events. They actually move to the previous or next event in the list from which the event was selected rather than in chronological order. Previously this order was +descending date/time in most cases meaning that the previous event would be one that occurred after the current event. In order to prevent this confusion and allow users to define a default order which they prefer there are now two more options in Options +- +>System called ZM_EVENT_SORT_FIELD and ZM_EVENT_SORT_ORDER which allow you to choose your own sort type and order. The default for these is now date/time ascending meaning oldest first which is opposite to the previous default and you will need to update +these options to retain the previous behaviour. Note also that this ordering applies only to event lists and not the \lquote last x events\rquote in the watch window which are still newest first. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A curious problem with logging in on PHP 4.4 has now been fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Following requests and some confusion about how often filters are executed versus - reloaded from the database, this is now a configurable options (Options->System-> ZM_FILTER_EXECUTE_INTERVAL). Please read the help on this option for guidance on what values to use. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A \lquote Filters\rquote button has been added to the main console view all -owing easier access to the filters view. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash + Following requests and some confusion about how often filters are executed versus reloaded from the database, this is now a configurable options (Options->System-> ZM_FILTER_EXECUTE_INTERVAL). Please read the help on this option for guidance on what + values to use. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A \lquote Filters\rquote + button has been added to the main console view allowing easier access to the filters view. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Support for the HTTPS protocol has been added allowing streaming etc to function over secure links. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The layout and functionality of the XHTML screens has been enhanced to make them more useful ov -erall. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The lay +out and functionality of the XHTML screens has been enhanced to make them more useful overall. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Following virtual extinction of donations I have added a small one time nag screen which invites you to donate to ZoneMinder after a month of use. That\rquote s all it does and once dismissed you will never see it again! -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash A lot of new t -okens have been added. These have been included in all the language files in English. It would be appreciated if anyone who is able to edit their zm_lang_xx_yy.php language files and translate these tokens could email them back to me so I can include them - in future releases. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash + A lot of new tokens have been added. These have been included in all the language files in English. It would be appreciated if anyone who is able to edit their zm_lang_xx_yy.php lang +uage files and translate these tokens could email them back to me so I can include them in future releases. \par {\*\bkmkstart _Toc125043061}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.3.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.21.3{\*\bkmkend _Toc125043061} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Additional bug fix release. @@ -1813,25 +1827,25 @@ okens have been added. These have been included in all the language files in Eng \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The bogus deletion of events by zmaudit has finally been completely fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed a problem where Axis PTZ controls sometimes caused the camera to move in an incorrect direction. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed an issue where the \lquote goto preset\rquote - command did not pass the appropriate preset number (and so defaulted to 1) for the Axis, Panasonic and VISCA protocols. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed an issue where the \lquote goto preset\rquote command did not pass the ap +propriate preset number (and so defaulted to 1) for the Axis, Panasonic and VISCA protocols. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A problem existed where renaming monitors did not rename the symbolic link to the events directory. Thanks to forum user \lquote tommy\rquote for suggesting the fix to this issue. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The README document has been restructured slightly to make it easier to -find the information you require. This includes the addition of an Upgrading section to clarify the process of upgrading from a previous version. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + The README document has been restructured slightly to make it easier to find the information you require. This includes the addition of an Upgrading section to clarify the process of upgrading from a previous version. \par {\*\bkmkstart _Toc125043062}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.4.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.21.2{\*\bkmkend _Toc125043062} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor-ish bug fixes to the 1.21.1 release. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash If the defined image timestamp format for a mo -nitor contained only time directives and no %%s directives then the timestamp was not included in the image at all. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash + If the defined image timestamp format for a monitor contained only time directives and no %%s directives then the timestamp was not included in the image at all. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash An ugly divide by zero error was present on new installations where no monitors had yet been defined. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The Pelco-D protocol control script did not properly support Iris control. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed a nasty problem in zmaudit which meant that older events sometimes didn\rquote t get tidied up and deleted properly. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed an issue with the multi-part jpeg streams having frame boundaries output -at the end of each image and not the beginning. Apart from this not being ideal semantically it also meant that ZM had trouble parsing it\rquote s own output! +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + Fixed an issue with the multi-part jpeg streams having frame boundaries output at the end of each image and not the beginning. Apart from this not being ideal semantically it also meant that ZM had trouble parsing it\rquote s own output! \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Some of the scripts have a new debug format that is more similar to the one used in the binaries. \par {\*\bkmkstart _Toc125043063}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.5.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar @@ -1840,99 +1854,98 @@ at the end of each image and not the beginning. Apart from this not being ideal \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash The HTTP refresh method of updating the Cycle view was broken. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash There was an arbitrary limit on the size of a blob due to the dimensioning of the field in the da -tabase. This has been increased to allow all possible blob sizes to be accounted for. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash On some platforms there is no definition of the \lquote round\rquote - function. Previous versions of ZM have detected this and included one if no other is present. However changes in 1.21.0 meant that this did not always happen and the function went undefined. This has been corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Support has been added to allow monitors to be defined as mirrored. Thus images can now be flipped horizontally or vertically before processing as well as rotated as in previous versions. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash There was + an arbitrary limit on the size of a blob due to the dimensioning of the field in the database. This has been increased to allow all possible blob sizes to be accounted for. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash On some platforms there is no definition of the \lquote round\rquote function. Previous v +ersions of ZM have detected this and included one if no other is present. However changes in 1.21.0 meant that this did not always happen and the function went undefined. This has been corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Support has been added to allow monitors to be def +ined as mirrored. Thus images can now be flipped horizontally or vertically before processing as well as rotated as in previous versions. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Made the \lquote Options\rquote link only appear if the user has sufficient permissions. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - Fixed issue where the PTZ control function to set camera presets never passed the preset number so preset 1 was always used. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Fixed issue where the PTZ cont +rol function to set camera presets never passed the preset number so preset 1 was always used. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A custom title can now be added via the normal Options dialog (ZM_WEB_TITLE_PREFIX). This title will be used in all browser windows and allows you to distinguish between multiple ZM installations for example. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Ordinarily ZoneMinde -r will resize the console window to fit the number of monitors displayed. If you are using a tabbed browser this can be a little irritating. A new option (ZM_WEB_RESIZE_CONSOLE) has been added to control this behaviour. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Version 1.21.0 added suppo -rt for events to be labelled with Cause and Notes fields. However these could not be modified directly from the web interface. This has been amended so that an \lquote Edit\rquote - link is now present in the events listing. Clicking on this allows you to modify these fields for one or more events so they can be identified as belonging to a particular incident. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - There has long been a dichotomy between the functions that can be applied via interactive filters versus background saved filters. This release addresses - this to some extent allowing you, for instance, to archive or unarchive matching events, or edit them as described above. This is not a complete solution and it is expected that the functionality will converge further in the future. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Previously i -n the c/c++ code accessor functions had to be called to access the value of configuration options. This was expensive when done repeatedly so some classes used cached local variables to avoid this. The configuration has been rewritten to provide all confi -guration options as members of the configuration class which are initialised once on startup and then can be accessed directly with no further overhead. + Ordinarily ZoneMinder will resize the console window to fit the number of monitors displayed. If you are using a tabbed browser this can be a little irritating. A new option (ZM_WEB_RESIZE_CONSOLE) has been added to control this behaviour. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash + Version 1.21.0 added support for events to be labelled with Cause and Notes fields. However these could not be modified directly from the web interface. This has been amended so that an \lquote Edit\rquote l +ink is now present in the events listing. Clicking on this allows you to modify these fields for one or more events so they can be identified as belonging to a particular incident. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash There has long been a dichotomy between the functions that can be + applied via interactive filters versus background saved filters. This release addresses this to some extent allowing you, for instance, to archive or unarchive matching events, or edit them as described above. This is not a complete solution and it is ex +pected that the functionality will converge further in the future. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash + Previously in the c/c++ code accessor functions had to be called to access the value of configuration options. This was expensive when done repeatedly so some classes used cached l +ocal variables to avoid this. The configuration has been rewritten to provide all configuration options as members of the configuration class which are initialised once on startup and then can be accessed directly with no further overhead. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash Support for the Danish language has now been included. Thanks for forum user \lquote voronwe \rquote for his work on this. Select dk_dk in the languages preferences to use this language. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Events viewed in the events listing view can now be saved locally by clicking on the \lquote Export -\rquote button. This creates a tar or zip file of the selected file groups, such - as images, videos etc, as well as, optional, HTML pages describing the basic details about the event and frame details. This allows a basic navigation and viewing of the events outside of the regular ZoneMinder interface. This format is different, and im -proved, over that that created in the background filter function and it is expected that these functions will converge at some point. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Clearing the \lquote Track Motion\rquote - checkbox in the Control section of the Monitor configuration would not be saved resulting in this setting being stuck in an \lquote on\rquote state. This has been corrected. +\rquote button. This creates a tar or zip file of the selected file groups, such as images, videos etc, as well as, optional, HTML pages describing the basic details about the event and frame details. This allows a basic navigation and viewing of t +he events outside of the regular ZoneMinder interface. This format is different, and improved, over that that created in the background filter function and it is expected that these functions will converge at some point. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Clearing the \lquote Track Motion\rquote c +heckbox in the Control section of the Monitor configuration would not be saved resulting in this setting being stuck in an \lquote on\rquote state. This has been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The \lquote Play All\rquote link in the event view allows a sequence of events to be streamed consecutively. This is fine in a streamed view but meaningless in the stills view so has been removed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The \lquote show\rquote trigger command in zmtrigger.pl has been added to allow miscellaneous externally sourced text to be displayed in the image timestamps. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Add the \lquote Auto Stop Timeout\rquote monitor control option to allow finer control of Pan/Til -t/Zoom cameras with support for only basic continuous modes of motion. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Add the \lquote Auto Stop Timeout\rquote + monitor control option to allow finer control of Pan/Tilt/Zoom cameras with support for only basic continuous modes of motion. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash The German language files have been updated. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Support for control of Axis net +work cameras has been added. This uses the zmcontrol-axis-v2.pl script and should work with all Axis PTZ network cameras that use version 2 of the Axis API. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The zmaudit.pl script has been modified to be faster and access disk a lot less. Previous +ly it was possible for this script to frequently thrash disks while determining timestamps on directories. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Support for control of Axis network cameras has been added. This uses the zmcontrol-axis-v2.pl script and should work with all Axis PTZ network cameras that use version 2 of the Axis API. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - The zmaudit.pl script has been modified to be faster and access disk a lot less. Previously it was possible for this script to frequently thrash disks while determining timestamps on directories. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - A contributed patch by Ross Melin has been included. This gives you the option of using an alternative mailing method in the zmfilter.pl script if the default method does not work correctly. To use the new method go to Options- ->Email and set ZM_NEW_MAIL_MODULES to on. + A contributed patch by Ross Melin has been included. This gives you the option of using an alternative mailing method in the zmfilter.pl sc +ript if the default method does not work correctly. To use the new method go to Options->Email and set ZM_NEW_MAIL_MODULES to on. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Previously the ZM_EMAIL_HOST config was not passed to the zmfilter.pl script so hosts other than localhost were not used. This has been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash A translation for the Romanian language has been added. To use it select ro_ro as the language. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - In previous versions the path to the zms daemon from web pages was in the form of a local web path without hostname. This has been reported as not working with certain media players where the hostname is not -implied, as with browsers. The paths to the streaming server now always have the hostname prepended so that they are always a full valid url. + In previous versions the path to the zms daemon from web pages was in the form of a local web path without hostname. Thi +s has been reported as not working with certain media players where the hostname is not implied, as with browsers. The paths to the streaming server now always have the hostname prepended so that they are always a full valid url. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Monitors that are inactive no longer have an active link for streaming as this has no real purpose. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash An experimental Pelco-P control script has been added to support PTZ cameras that support this protocol. This script has not really been tested but is included as a basis for further development or customisation. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The zmfilter.pl script now respects - the ZM_FAST_DELETE option and will fully delete any events rather than assuming that zmaudit.pl will clear up if it just removes the primary database record. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The montage view layout now correctly utilises the ZM_MAX_MONTAGE_COLS option when determin -ing the dimensions and layout of the montage window. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + The zmfilter.pl script now respects the ZM_FAST_DELETE option and will fully delete any events rather than assuming that zmaudit.pl will clear up if it just removes the primary database record. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The + montage view layout now correctly utilises the ZM_MAX_MONTAGE_COLS option when determining the dimensions and layout of the montage window. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A contributed patch by forum user \lquote lazyleopard\rquote has been included. This allows a specified number of frames to be discarded to alleviate problems with broken interlaced frames where multiple cameras share one bttv chip and produce a \lquote comb edge\rquote like image. To invoke this option go to Options->Config and set ZM_CAPTURES_PER_FRAME to greater than 1, a value of 3 is recommended in the first instance. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Several users have reported problems u -sing the Perl Compatible Regular Expression (PCRE) library, mostly to do with it not being found or an incorrect version being used. This version allows an alternative method of parsing the output from network cameras that does not depend on libpcre at al +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash + Several users have reported problems using the Perl Compatible Regular Expression (PCRE) library, mostly to do with it not being found or an incorrect version being used. This version allows an alternative +method of parsing the output from network cameras that does not depend on libpcre at all. Which method is used is controlled by the option Options->Network->ZM_NETCAM_REGEXPS. If this option is on then the traditional regular expression based parsing is i +m +plemented, provided you have built with libpcre. If the option is off or libpcre is missing then a more basic parsing is used instead. This new method should be slightly faster as it does not have the overhead of regular expression parsing, however this a l -. Which method is used is controlled by the option Options->Network->ZM_NETCAM_REGEXPS. If this option is on then the traditional regular expression based parsing is implemented, provided you have built with libpcre. If the option is off or libpcre is mis -s -ing then a more basic parsing is used instead. This new method should be slightly faster as it does not have the overhead of regular expression parsing, however this also makes it slightly more inflexible. If you experience problems using the new method w -ith your netcam then you should try switching to the regular expression based method, and report the issue via the forums, preferably with a snapshot of the output of your camera. +so makes it slightly more inflexible. If you experience problems using the new method with your netcam then you should try switching to the regular expression based method, and report the issue via the forums, preferably with a snapshot of the output of y +our camera. \par {\*\bkmkstart _Toc125043064}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.6.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.21.0{\*\bkmkend _Toc125043064} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Addition of camera control, plus several bugfixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash Added support for Pan/Tilt/Zoom and general camera control. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - The montage view layout has been modified to allow better dynamic layout of windows. Views should now be laid out in a more logical arrangement. This is a relatively temporary change and the montage view will shortly be rewritten to use flowing \lquote -div\rquote tags which should add more flexibility and be less complex. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The montage view layout has been modified to allow better dynamic layout of windows. Views should now b +e laid out in a more logical arrangement. This is a relatively temporary change and the montage view will shortly be rewritten to use flowing \lquote div\rquote tags which should add more flexibility and be less complex. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX }{\insrsid475446 \endash All}{\insrsid475446\charrsid9399157 stream views now have an \lquote alt\rquote tag to highlight which monitor they should be displaying.}{\insrsid475446 \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 {\insrsid475446 FIX \endash }{\insrsid475446\charrsid15794850 Detection}{\insrsid475446 of which markup lang -uage to use, HTML or XHTML-MP has now been optimised to ensure that the test only happens once per session. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 {\insrsid475446 FIX \endash }{\insrsid475446\charrsid15794850 Detection}{\insrsid475446 + of which markup language to use, HTML or XHTML-MP has now been optimised to ensure that the test only happens once per session. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 {\insrsid475446\charrsid9399157 FIX \endash Some constants were defined unquoted, this has now been corrected.}{\insrsid475446 -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The zmtrigger.pl script had an old, and incorrect, initial section us -ing constants that were no longer valid. This has now been fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + The zmtrigger.pl script had an old, and incorrect, initial section using constants that were no longer valid. This has now been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX \endash The regular expression patterns used to parse the zm.conf file have been modified to ensure that they should always work.}{\insrsid475446 \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX \endash - In previous versions it was possible for a process to di -e and not be reaped by zmdc.pl. This could have resulted in processes remaining as zombies resulting in them not being restarted after crashing. This has now been fixed so all dying processes will be caught and handled.}{\insrsid475446 -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The frame view has been restru -ctured to ensure that it has a consistent look and does not display unwanted wrapping. + In previous versions it was possible for a process to die and not be reaped by zmdc.pl. This could have resulted in processes remaining as zombies resulting in them not being restarted after crashing. This has now been fixed + so all dying processes will be caught and handled.}{\insrsid475446 +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + The frame view has been restructured to ensure that it has a consistent look and does not display unwanted wrapping. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX \endash A couple of remnant hard coded text elements have been replaced with tokens as they should have been originally.}{\insrsid475446 \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX \endash Previously separate \lquote object\rquote and @@ -1941,12 +1954,11 @@ ctured to ensure that it has a consistent look and does not display unwanted wra \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3678802 {\insrsid475446 FIX \endash A problem was present whereby the Maximum FPS set in the bandwidth settings was not being respected in the live streams. This is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 {\insrsid475446\charrsid9399157 FIX \endash - If users were created with restricted monitor ids, it was sometimes possible that permission errors would still be issued if they tried to view streams or oth -er elements associated with monitors in their list. This has now been corrected such that any restrictions are applied correctly.}{\insrsid475446 +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 {\insrsid475446\charrsid9399157 FIX \endash If users were created with restricted monitor ids, it was sometimes po +ssible that permission errors would still be issued if they tried to view streams or other elements associated with monitors in their list. This has now been corrected such that any restrictions are applied correctly.}{\insrsid475446 \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid9399157 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid9399157 FIX \endash Users created with only \lquote view streams\rquote - permissions were presented with a \lquote permission denied\rquote error in the area of the Wa -tch window normally containing the recent events list. Whilst this was technically correct it was unnecessary and untidy, and has now been changed just to be blank.}{\insrsid475446 + permissions were presented with a \lquote permission denied\rquote + error in the area of the Watch window normally containing the recent events list. Whilst this was technically correct it was unnecessary and untidy, and has now been changed just to be blank.}{\insrsid475446 \par {\*\bkmkstart _Toc125043065}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.7.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.20.1{\*\bkmkend _Toc125043065} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Mostly bug fixes, large and small with a couple of minor features included. @@ -1992,43 +2004,42 @@ Console window now sizes itself according to how many monitors in list, though t \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.20.0{\*\bkmkend _Toc125043066} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Improved and added features, several minor bug fixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash Certain configuration (Mostly database sett -ings) is now stored in a new file zm.conf. This means that database access settings can be changed without recompilation. It also allows the creation of ZoneMinder rpms. Watch zoneminder.com for details. Thanks for forum user \lquote oskin\rquote - for his work on this. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash + Certain configuration (Mostly database settings) is now stored in a new file zm.conf. This means that database access settings can be changed without recompilation. It also allows the creation of ZoneMinder rpms +. Watch zoneminder.com for details. Thanks for forum user \lquote oskin\rquote for his work on this. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The WML interface is now deprecated and the XHTML-MP interface is the new supported interface for mobile devices. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Monitor groups have now been added allowing subsets of monitors to be viewed independently. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash A generic external t -riggering interface has been included via the zmtrigger.pl script. A new monitor function \lquote Nodect\rquote has been added to support this. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Interaction between the web pages and the streaming daemons and other utilities has previously been not as secure a -s it could have been and open to possible abuse. This has now been addressed and zms and zmu both now use (optional) authentication strings to validate access. You need to have openssl installed so that the MD5 libraries can be linked. See the ZM_AUTH_MET -HOD and ZM_AUTH_SECRET configuration items for further details. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - The maximum daemon restart delay in zmdc.pl was previously fixed at 15 minutes. This may have been too long for some users, for example if power has failed to a camera then a 15 minut -e delay on restoration is not desirable. This maximum is now configurable via the ZM_MAX_RESTART_DELAY configuration item. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - The web files have been changed to use the newer style autoglobals, e.g. $_SERVER rather than $HTTP_SERVER_VARS. This should enable use on PHP5 without any modification. + A generic external triggering interface has been included via the zmtrigger.pl script. A new monitor function \lquote Nodect\rquote has been added to support this. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Interaction between the web + pages and the streaming daemons and other utilities has previously been not as secure as it could have been and open to possible abuse. This has now been addressed and zms and zmu both now use (optional) authentication strings to validate access. You nee +d to have openssl installed so that the MD5 libraries can be linked. See the ZM_AUTH_METHOD and ZM_AUTH_SECRET configuration items for further details. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The maximum daemon restart delay in zmdc.pl was previously fixed at 15 minutes. This may have b +een too long for some users, for example if power has failed to a camera then a 15 minute delay on restoration is not desirable. This maximum is now configurable via the ZM_MAX_RESTART_DELAY configuration item. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The web files have been changed to +use the newer style autoglobals, e.g. $_SERVER rather than $HTTP_SERVER_VARS. This should enable use on PHP5 without any modification. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - The use of two database users has been somewhat redundant for a number of versions now. In 1.20.0 there is only one database user. The zmupdate.pl script unfortunately cannot handle the migration as it n -eeds to access the database so you should make a note of the username and password of the privileged user and then re-enter that using zmconfig.pl when rebuilding ZM. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The zmupdate.pl script previously held a database connection open for days at a tim -e but only used to use it periodically. This has now been changed to be only open while in use. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Debug output and it\rquote -s relationship with environment variables etc was previously broken. This has been tidied up and made much easier to use and understand. + The use of two database users has been somewhat redundant for a number of versions now. In 1.20.0 there is only one + database user. The zmupdate.pl script unfortunately cannot handle the migration as it needs to access the database so you should make a note of the username and password of the privileged user and then re-enter that using zmconfig.pl when rebuilding ZM. + +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash + The zmupdate.pl script previously held a database connection open for days at a time but only used to use it periodically. This has now been changed to be only open while in use. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Debug output and it\rquote s relationship with environment variables etc +was previously broken. This has been tidied up and made much easier to use and understand. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A number of SQL queries have been analysed and optimised to run much faster. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The monitor status was not always being reported correctly in the monitor wa +tch window. This has been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - The monitor status was not always being reported correctly in the monitor watch window. This has been corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Image numbering in the zmf daemon was sometim -es wrong if more or less than three significant digits were used. This has been corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - Image capture timeouts used by zmwatch.pl to restart apparently frozen zmc processes were being calculated incorrectly on occasion. This was causing some unnecessary processes to be restarted. This calculation has been fixed. + Image numbering in the zmf daemon was sometimes wrong if more or less than three significant digits were used. This has been corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Image capture timeouts used by zmwatch.pl to restart apparently frozen +zmc processes were being calculated incorrectly on occasion. This was causing some unnecessary processes to be restarted. This calculation has been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Complete DOCTYPE headers were added to HTML output and some HTML was tidied up to be more compliant. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash There was a problem with the interaction between monitor statuses and the st -atus web window. This meant that sometimes the window did not pop to the front, or play the alarm sound, properly. This has been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - Some network cameras send data in a format which was previously not recognised by the regular expression engine. This has been modified to allow these cameras (NC1000 etc) to function with ZoneMinder. + There was a problem with the interaction between monitor statuses and the status web window. This meant that sometimes the window did not pop to the front, or play the alarm sound, properly. This has been corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Some network cameras s +end data in a format which was previously not recognised by the regular expression engine. This has been modified to allow these cameras (NC1000 etc) to function with ZoneMinder. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A bug in event streaming when events are of very short duration has been fixed. Thanks to forum user \lquote reza\rquote for spotting this one. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A possible exploit in the login page was identified and has now been fixed. Thanks again to forum user @@ -2040,76 +2051,75 @@ atus web window. This meant that sometimes the window did not pop to the front, \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash Sorting event lists by duration was broken and has now been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The zmfix utility previous corrected file permissions on video device files only. This has been modified to do likewise to the X10 device serial port if enabled. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The modification suggested by forum user \lquote oskin\rquote has been incorporated into the - code to try and reduce or remove video for linux errors. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The modification suggested by forum user \lquote oskin\rquote + has been incorporated into the code to try and reduce or remove video for linux errors. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The remote network camera parsing code has been patched to try \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The error reported when a \lquote shmget\rquote call fails has been changed to include further information about the cause. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash Fixed missing semicolon in German language file. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446\charrsid15794850 \hich\af2\dbch\af0\loch\f2 o\tab}}{\insrsid475446\charrsid15794850 FEATURE \endash Added \lquote <<\rquote and \lquote >>\rquote links to the page selector in the events list as suggested by forum user \lquote unclerichy\rquote .}{\insrsid475446 -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Brightness, colour, hue and contrast are now saved persistently for a monitor r -ather than being reset each time the system is restarted. This feature is based on a patch submitted by forum user \lquote oskin\rquote . \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - In previous versions the events folder has been keyed by the monitor name. This has caused problems in the past with vario -us characters appearing which are legal in names but not in filesystems. From this version all files related to monitors are keyed on the monitor id rather than the name. To help you navigate through these files the monitor name still exists but as a link - only. Please ensure you run zmupdate.pl to update your events directory. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - You may now optionally have thumbnail images in your event lists. To enable this functionality set ZM_WEB_LIST_THUMBS on in Options->Web. You can also control the width or h -eight of these thumbnails but should only set one dimension only and leave the other blank or zero. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - You can now specify how many image thumbnails appear across and down the page in the event stills listing. In Options->Web set the ZM_WEB_FRAMES_PER_LINE and/or ZM_WEB_FRAME_LINES options. + Brightness, colour, hue and contrast are now saved persistently for a monitor rather than being reset each time the system is restarted. This feature is based on a patch submitted by forum user \lquote oskin\rquote . +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash In previous versions the events fo +lder has been keyed by the monitor name. This has caused problems in the past with various characters appearing which are legal in names but not in filesystems. From this version all files related to monitors are keyed on the monitor id rather than the na +me. To help you navigate through these files the monitor name still exists but as a link only. Please ensure you run zmupdate.pl to update your events directory. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash You may now optionally have thumbnail images in your event lists. To enable this func +tionality set ZM_WEB_LIST_THUMBS on in Options->Web. You can also control the width or height of these thumbnails but should only set one dimension only and leave the other blank or zero. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash You can now specify how many image thumbnails appear acros +s and down the page in the event stills listing. In Options->Web set the ZM_WEB_FRAMES_PER_LINE and/or ZM_WEB_FRAME_LINES options. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash ZoneMinder uses ffmpeg (}{\field\fldedit{\*\fldinst {\insrsid475446 HYPERLINK "http://ffmpeg.sourceforge.net/" }{\insrsid475446 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b3e00000068007400740070003a002f002f00660066006d007000650067002e0073006f00750072006300650066006f007200670065002e006e00650074002f000000}}}{\fldrslt {\cs32\ul\cf2\insrsid475446 -http://ffmpeg.sourceforge.net/}}}{\insrsid475446 ) for video generation and processing. Recently a new version (0.4.9-pre1) was released which changed -the interface that ZoneMinder uses and so broke compilation. This version will detect which version of ffmpeg you have and compile accordingly. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - You can now specify a prefix for events generated by particular monitors. This will replace the default \lquote Event-\lquote one. +http://ffmpeg.sourceforge.net/}}}{\insrsid475446 ) for video ge +neration and processing. Recently a new version (0.4.9-pre1) was released which changed the interface that ZoneMinder uses and so broke compilation. This version will detect which version of ffmpeg you have and compile accordingly. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash You can now sp +ecify a prefix for events generated by particular monitors. This will replace the default \lquote Event-\lquote one. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash If you use filters to send event notification emails you can now have them sent in HTML format. This is done automatically if your mail body includes a \lquote \rquote token, -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash An experimental feature has been added which lets yo -u view several events in sequence. In event listing you can check the events you want to view and then click the \lquote View\rquote - button. This will allow you to navigate through only those events in the normal manner (via Prev and Next links) but also to view them in sequence by clicking on the \lquote Play All\rquote - link. This will replay each event and then automatically move onto the next one. You can stop this progression at any time by pressing \lquote Stop\rquote (which only stops the sequence and not the currently playing event). The -timing of the replay is done depending on the calculated length of the event (plus one second) and so may not exactly correspond to the real event length. In particular this is unlikely to work if replaying events using MPEG video and buffering players as - the timing will likely be incorrect. If you are viewing an event but haven\rquote t checked any in the list the \lquote Play All\rquote button will just work down the current event list. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash + An experimental feature has been added which lets you view several events in sequence. In event listing you can check the events you want to view and then click the \lquote View\rquote button. This will allow you to navigate through +only those events in the normal manner (via Prev and Next links) but also to view them in sequence by clicking on the \lquote Play All\rquote + link. This will replay each event and then automatically move onto the next one. You can stop this progression at any time by pressing \lquote Stop\rquote + (which only stops the sequence and not the currently playing event). The timing of the replay is done depending on the calculated length of the event (plus one second) and so may not exactly correspond to the real event length. In particular + this is unlikely to work if replaying events using MPEG video and buffering players as the timing will likely be incorrect. If you are viewing an event but haven\rquote t checked any in the list the \lquote Play All\rquote + button will just work down the current event list. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A default php error level excluding notice warnings is now explicitly set. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Previously events have been created even if only one frame has generated an alarm. This has not always been desirable as sometimes glitches and flickers create large numbers of events, however no mechanism existed for limiting this. In this version you c -an now specify the minimum number of consecutive alarmed frames that are necessary to create an event. This is the \lquote Alarm Frame Count\rquote + Previously events have been created even if only one frame has generated an alarm. This has not always been desirable as sometimes glitches and flickers create large +numbers of events, however no mechanism existed for limiting this. In this version you can now specify the minimum number of consecutive alarmed frames that are necessary to create an event. This is the \lquote Alarm Frame Count\rquote described above. Note that if an alarm is in progress single isolated alarmed frames will still prolong it and the count only applies to the initial frames that would cause the event. \par {\*\bkmkstart _Toc125043068}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.10.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.19.4{\*\bkmkend _Toc125043068} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Language fixes and updates. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash - The US English language file was recursively including itself rather than the UK English file as the base language. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash The Brazilian Por -tuguese language file detailed in the previous release has actually been included in this one. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FIX \endash The US English language file was recursively including i +tself rather than the UK English file as the base language. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash - The Argentinian Spanish, Polish and Italian translations have all been updated with tokens introduced in version 1.19.3. + The Brazilian Portuguese language file detailed in the previous release has actually been included in this one. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash The Argentinian Spanish, Polish and Italian translations have +all been updated with tokens introduced in version 1.19.3. \par {\*\bkmkstart _Toc125043069}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.11.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.19.3{\*\bkmkend _Toc125043069} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor tweaks, fixes and language updates. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash - All stills views now use the single image mode of zms rather than spawning off a zmu process to write an image which is then read. This reduces complexity of double buffering significantly and also reduces the chance o -f errors caused by multiple simultaneous image generation. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - The generated MIME types when creating streamed video were previously assigned by zms depending on which of a limited number of output formats was specified. This has now been changed so -that the ffmpeg libavformat library itself now generates these identifiers. The consequence of this is that many more video formats supported by your version of ffmpeg should now be available via zms. + All stills views now use the single image mode of zms rather than spawning off a zmu process to write an image which is then read. + This reduces complexity of double buffering significantly and also reduces the chance of errors caused by multiple simultaneous image generation. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash The generated MIME types when creating streamed video were previously assigned by zms depending on +which of a limited number of output formats was specified. This has now been changed so that the ffmpeg libavformat library itself now generates these identifiers. The consequence of this is that many more video formats supported by your version of ffmpeg + should now be available via zms. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash When viewing a single frame of an event you can select a \lquote stats\rquote - link to view the statistics that apply to that frame, if you have the RECORD_EVENT_STATS option switched on. This can be used to help configure your zones for optimal motion detection. Previously only pixel count values were displayed h -ere which made it difficult to configure zones configured in percentage terms. These values are now displayed in both pixel and percentage terms to assist in zone configuration. Note that the percentage values are based on the current size of the zone so -if this is changed then the value displayed will not be applicable at the time of event generation. + link to view the statistics that apply to that frame, if you have the RECORD_EVENT_STATS option switched on. This can be used to help configure your + zones for optimal motion detection. Previously only pixel count values were displayed here which made it difficult to configure zones configured in percentage terms. These values are now displayed in both pixel and percentage terms to assist in zone conf +iguration. Note that the percentage values are based on the current size of the zone so if this is changed then the value displayed will not be applicable at the time of event generation. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash When doing motion detection an extra blob, that could never be +removed, was sometimes included. This could have caused false triggering and has not been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - When doing motion detection an extra blob, that could never be removed, was sometimes included. This could have caused false triggering and has not been corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - A problem was reported whereby when using bulk frame records to reduce database load the last frame record was not written. Replaying the event via the web interface resulting in the event being truncated. A correction has been made so p -revent this and ensure that the last frame of an event is always recorded. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - If an analysis daemon terminates abnormally or the host computer crashes then events can be left in a state whereby they effectively have zero length and are useless. A change to zmaudit.pl was made such that any \lquote open\rquote + A problem was reported whereby when using bulk frame records to reduce database load the last frame record was not written. Replaying the event via t +he web interface resulting in the event being truncated. A correction has been made so prevent this and ensure that the last frame of an event is always recorded. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash If an analysis daemon terminates abnormally or the host computer crashes then events ca +n be left in a state whereby they effectively have zero length and are useless. A change to zmaudit.pl was made such that any \lquote open\rquote events such as this which have not been updated for at least five minutes are closed and updated to reflect their actual content so that they may be viewed or saved. Events recovered in this way are named with a \lquote (r)\rquote mark to help identify them. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash @@ -2120,348 +2130,349 @@ revent this and ensure that the last frame of an event is always recorded. The default, bandwidth specific, rate and scales were not always used as the records in the database were misnamed. This is now corrected though you may need to reset the values that were used previously as these will be lost if they had been changed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash It was previously the case that old images could be left in the \lquote images\rquote - directory for a long period, sometimes resulting in incorrectly assuming correct operation. A fix was made to zmaudit.pl which modified the previous clean up of old WAP images -so that any old images left in this directory are removed after a short period. Please ensure that if you have customised the web interface and have images you wish to keep that they are not left in the temporary images folder as they will now be deleted. - + directory for a long period, sometimes resulting in incorrectly assuming correct operati +on. A fix was made to zmaudit.pl which modified the previous clean up of old WAP images so that any old images left in this directory are removed after a short period. Please ensure that if you have customised the web interface and have images you wish to + keep that they are not left in the temporary images folder as they will now be deleted. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A JavaScript error in the Zone configuration screen was identified and fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash - A Brazilian Portuguese translation has been supplied by Victor Diago and is available by selecting \lquote pt_br\rquote as the language type. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash A Brazilian Portuguese translation has been supplied by Victor Diago and +is available by selecting \lquote pt_br\rquote as the language type. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash Updated versions of the Dutch and Argentinian Spanish translations have been included. \par {\*\bkmkstart _Toc125043070}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.12.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.19.2{\*\bkmkend _Toc125043070} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor features, fixes and language updates. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash - The default replay rate and live and event scale settings are now configurable on a per bandwidth basis rather than globa -lly. This allows you to view at full scale when you have high bandwidth and at smaller scales when you do not have so much resource. You will need to re-configure your previous defaults as they will be lost. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 FEATURE \endash The default replay rate and live +and event scale settings are now configurable on a per bandwidth basis rather than globally. This allows you to view at full scale when you have high bandwidth and at smaller scales when you do not have so much resource. You will need to re-configure your + previous defaults as they will be lost. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Filters can now include a specification of the preferred sort order of the results. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Filters can now include a specification to limit the results to a predefined maximum -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Two new filter elements have been added. These are disk blocks and disk percentage. These are event independent and return the amount of disk space used on the event partition in terms of disk blocks or percentage as returned by }{\i\insrsid475446 df(1)} -{\insrsid475446 . Thus filters using these criteria will either match all events or none at all depending on the disk usage at the time of filt -er execution. The addition of these terms along with the ability to sort and limit filter results now means it is possible to create a filter that will automatically clear out old events once disk usage exceeds a certain value. Included in the database sc -h -emas for both new installations and upgrades is a sample filter called PurgeWhenFull which can be used to do this. It is initially not set to do anything automatically so if you want to use it, you should load it into the filter selection window, modify i -t to your taste and then save it, selecting \lquote auto delete\rquote -. Please note that filters created using disk related terms to delete events should always contain a limit term also otherwise it is possible for all events to match and thus be deleted. Using a limit - ensures that only a small number are affected at any one time. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash - Filters can now be defined to automatically execute an external script or program of your choosing. This can be specified when the filter is saved. Note that for security reasons thi -s cannot be just any arbitrary command but must be readable and executable by your web server effective user. The script or program you specify here will be executed in the events root directory once for each event and will be passed one parameter contain -ing the relative path to the event directory. This will normally be of the form }{\i\insrsid475446 /}{\insrsid475446 - so it it possible to determine both the monitor and event in question from the path. Note also that a flag is set per event as with other auto actions in -dicating that an executable script has been run on that event and so to exclude it from subsequent matches. However if you have several filters all with executable scripts you will find that only the first gets executed as the flag will be set following s -uccessful completion and so no further scripts will be run on that event. Successful completion is indicated by the script returning a zero exit status, any other status indicates an error and the }{\i\insrsid475446 executed }{\insrsid475446 -flag will not be set. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash In some circumstances t -emporary diagnostic images were being saved instead of highlighted analysis images. This is now corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Two new filter el +ements have been added. These are disk blocks and disk percentage. These are event independent and return the amount of disk space used on the event partition in terms of disk blocks or percentage as returned by }{\i\insrsid475446 df(1)}{\insrsid475446 +. Thus filters using these criteria wil +l either match all events or none at all depending on the disk usage at the time of filter execution. The addition of these terms along with the ability to sort and limit filter results now means it is possible to create a filter that will automatically c +l +ear out old events once disk usage exceeds a certain value. Included in the database schemas for both new installations and upgrades is a sample filter called PurgeWhenFull which can be used to do this. It is initially not set to do anything automatically + so if you want to use it, you should load it into the filter selection window, modify it to your taste and then save it, selecting \lquote auto delete\rquote +. Please note that filters created using disk related terms to delete events should always contain a limit term +also otherwise it is possible for all events to match and thus be deleted. Using a limit ensures that only a small number are affected at any one time. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FEATURE \endash Filters can now be defined to automatically execute an external script or program of your choo +sing. This can be specified when the filter is saved. Note that for security reasons this cannot be just any arbitrary command but must be readable and executable by your web server effective user. The script or program you specify here will be executed i +n the events root directory once for each event and will be passed one parameter containing the relative path to the event directory. This will normally be of the form }{\i\insrsid475446 /}{\insrsid475446 + so it it possible to determine both the monitor and event in ques +tion from the path. Note also that a flag is set per event as with other auto actions indicating that an executable script has been run on that event and so to exclude it from subsequent matches. However if you have several filters all with executable scr +i +pts you will find that only the first gets executed as the flag will be set following successful completion and so no further scripts will be run on that event. Successful completion is indicated by the script returning a zero exit status, any other statu +s indicates an error and the }{\i\insrsid475446 executed }{\insrsid475446 flag will not be set. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - When viewing a list of frames in an event, the link to the diagnostic image was incorrect. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The }{\i\insrsid475446 Archive }{\insrsid475446 link from the m -onitor watch window has been fixed. Previously this generated a bogus window. + In some circumstances temporary diagnostic images were being saved instead of highlighted analysis images. This is now corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash When viewing a list of frames in an event, the link to +the diagnostic image was incorrect. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The }{\i\insrsid475446 Archive }{\insrsid475446 +link from the monitor watch window has been fixed. Previously this generated a bogus window. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash The zone definition have been updated so that selecting the various types of zones e +tc only disables those options you no longer have access to rather than wiping them out entirely. This is also true of the zone when saved. Thus you can now more easily change a zone to be temporarily inactive for example and have your previous active set +tings restored in the future. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - The zone definition have been updated so that selecting the various types of zones etc only disables those options you no longer have access to rather than wiping them out -entirely. This is also true of the zone when saved. Thus you can now more easily change a zone to be temporarily inactive for example and have your previous active settings restored in the future. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Selecting an event from the list generated by a filte -r that included a Monitor Name term did not previously work properly. This is now fixed. + Selecting an event from the list generated by a filter that included a Monitor Name term did not previously work properly. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash A number of the constants used internally have been renamed to be more co +nsistent. Hopefully nothing is broken! \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash - A number of the constants used internally have been renamed to be more consistent. Hopefully nothing is broken! -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FIX \endash Following notification of a potential vulne -rability in zms by Mark Cox, all non-trivial string and buffer copies are now limited by the maximum size of the destination. Mark has also askedme to include the following notice relating to this, which I am very happy to do. + Following notification of a potential vulnerability in zms by Mark Cox, all non-trivial string and buffer copies are now limited by the maximum size of the destination. Mark has also askedme to include the follo +wing notice relating to this, which I am very happy to do. \par }\pard\plain \s23\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 "This issue was discovered by Mark J Cox <}{\field\fldedit{\*\fldinst {\insrsid475446 HYPERLINK "mailto:mark@awe.com" }{\insrsid475446 {\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b280000006d00610069006c0074006f003a006d00610072006b0040006100770065002e0063006f006d000000}}}{\fldrslt { \cs32\f0\fs24\ul\cf2\insrsid475446 mark@awe.com}}}{\insrsid475446 >.\~ The Common\line Vulnerabilities and Exposures project (cve.mitre.org) has assigned the\line name CAN-2004-0227 to this issue." \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 LANGUAGE \endash An additional Italian language translation has been added. One, - by Davide Morelli, was included in 1.19.1 but not announced. However like buses another one has come along, from Tolmino Muccitelli, and so they are both now present. The original translation is accessible by selecting }{\i\insrsid475446 it_it}{ -\insrsid475446 as the language whereas the new one is }{\i\insrsid475446 it_it2}{\insrsid475446 . I would prefer if they were merged as two versions of one language is not easy to maintain when I don\rquote t know what the differences mean! -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash A version of Argentinian Spanish by Fernando Diaz has also been included and is accessible b -y setting your language to }{\i\insrsid475446 es_ar}{\insrsid475446 . As with all the language translations I cannot vouch for the completeness or accuracy of the language files so feel free to feedback any updates you think should be made. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}NOTE \endash None of the non-English language files in th -is release do not contain any translations of the new, or modified, tokens which have been introduced in this release. All new or modified tokens are included in the language files in English. There will shortly be a point release which includes these lan -guage updates assuming I can get translations of them in a reasonable timescale. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 LANGUAGE \endash + An additional Italian language translation has been added. One, by Davide Morelli, was included in 1.19.1 but not announced. However like buses another one has come along, from Tolmino Muccitelli, and so they are both now present. +The original translation is accessible by selecting }{\i\insrsid475446 it_it}{\insrsid475446 as the language whereas the new one is }{\i\insrsid475446 it_it2}{\insrsid475446 +. I would prefer if they were merged as two versions of one language is not easy to maintain when I don\rquote t know what the differences mean! +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}LANGUAGE \endash A ve +rsion of Argentinian Spanish by Fernando Diaz has also been included and is accessible by setting your language to }{\i\insrsid475446 es_ar}{\insrsid475446 +. As with all the language translations I cannot vouch for the completeness or accuracy of the language files so feel free to feedback any updates you think should be made. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}NOTE \endash + None of the non-English language files in this release do not contain any translations of the new, or modified, tokens which have been introduced in this release. All new or modified tokens are included in the la +nguage files in English. There will shortly be a point release which includes these language updates assuming I can get translations of them in a reasonable timescale. \par {\*\bkmkstart _Toc125043071}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.13.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.19.1{\*\bkmkend _Toc125043071} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor bugfixes and enhancements. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Ffmpeg Configure Changes. The configure script has been modified to look for the ffmpeg libraries in their installed location rather than in a build directory. This is to avoid having to build the library when it might already be installed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Pcre Configure Changes. The configure script has been modified to look for the pcre.h header file in both /usr/include and /usr/include/pcre rather than just the latter as previously. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Ffmpeg Configure Changes. The configure +script has been modified to look for the ffmpeg libraries in their installed location rather than in a build directory. This is to avoid having to build the library when it might already be installed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Pcre Configure Changes. The configure script has been m +odified to look for the pcre.h header file in both /usr/include and /usr/include/pcre rather than just the latter as previously. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Remote Image Parsing. Further improvements have been made to handle additional patterns of images with differing styles of terminations or none at all. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Event Image Numbering. An additional configuration option (ZM_E -VENT_IMAGE_DIGITS) has been added to allow the user to define how many significant figures should be used to number individual event images. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Frame Listing Timestamp Bug. Fixed a bug where in the event frame listing view the timestamps were not correctly di -splayed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Event Image Numbering. An additional configuration option (ZM_EVENT_IMAGE_DIGITS) has been added to allow the user to define how many significant figures should be used to number individual event images. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Frame Listing Timestamp Bug +. Fixed a bug where in the event frame listing view the timestamps were not correctly displayed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Event Filters Bug. Fixed (again) a bug where several fields used in event filters did not generate valid database queries. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Zmu Device Authentication. Removed the previous requirement to pass in a username and password to zmu when just querying a device as this was slightly broken and was unnecessary anyway. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zmu Device Authentication. Removed t +he previous requirement to pass in a username and password to zmu when just querying a device as this was slightly broken and was unnecessary anyway. \par {\*\bkmkstart _Toc125043072}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.14.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.19.0{\*\bkmkend _Toc125043072} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Some major enhancements and bugfixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 MPEG video streaming. ZoneMinder now supports true video streaming if configured with the }{ -\i\insrsid475446 \endash with-ffmpeg}{\insrsid475446 option. This allows one or both of liv -e or event streaming to be in this format rather than motion JPEG style as before. Note however that is still somewhat experimental and may not work on your system. The reason for this is due to the variation in plugins and video movie formats. Currently -I - have got it working well with browsers on Windows platforms using the Windows Media Player plugin and the 'asf' video format. I have also managed to get event streaming working on Mozilla using mplayer (I think) though it jumps in and out of it's place i -n the window a bit. I would appreciate any feedback or advice on formats and plugins that work on your system. Also note that video streaming tends to get buffered before being displayed. This can result in the 'live' view being several seconds delayed. +\i\insrsid475446 \endash with-ffmpeg}{\insrsid475446 + option. This allows one or both of live or event streaming to be in this format rather than motion JPEG style as before. Note however that is still somewhat experimental and may not work on your system. The + reason for this is due to the variation in plugins and video movie formats. Currently I have got it working well with browsers on Windows platforms using the Windows Media Player plugin and the 'asf' video format. I have also managed to get event streami +n +g working on Mozilla using mplayer (I think) though it jumps in and out of it's place in the window a bit. I would appreciate any feedback or advice on formats and plugins that work on your system. Also note that video streaming tends to get buffered befo +re being displayed. This can result in the 'live' view being several seconds delayed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Motion JPEG Capture. Previously image capture from network devices has been limited to single stills capture only. This has now changed and if you entered a remote camera path that returns the }{\i\insrsid475446 multipart/x-mixed-replace}{\insrsid475446 + MIME type then this will be parsed and images extracted from the stream. This is much faster than before and frame rates can be as fast now with network cameras as with capture cards and video. This feature a +lso has the side-effect that one ZoneMinder installation can use another as a remote video source. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +NPH Streaming. After months of frustration I have finally figured out why streams were corrupted using Cambozola versions after 0.22. It turned out that apac +he was injecting characters into the streams which was screwing up the headers. I believe this to be because the initial header had no content-length header, as the length is indeterminate. So I have added a zero content length header which I believe fixe +s + the problem though perhaps not in the best way. I have also made the installation link the existing zms binary to nph-zms so that you can now use zms in non-parsed-header mode. If it detects it is in this mode then the content-length header is not output +, though several other additional ones are. In nph mode the false character injection seems to disappear so I suspect this is a better way to use zms. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Bulk Frame Records. With the recent advent of the 'Record' and 'Mocord' modes a lot of people have started + using ZoneMinder as a pseudo-DVR. This meant that a lot of database activity was taking place as each captured frame required its own entry in the database. The frames table has now been reorganised so that 'bulk' frames may be written at defined interva +ls to reduce this database activity. The records act as markers and individual frame timings are interpolated in between. Bulk frames are only used when no alarm or motion detection activity is taking place and normal frame records are kept otherwise. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Mot -ion JPEG Capture. Previously image capture from network devices has been limited to single stills capture only. This has now changed and if you entered a remote camera path that returns the }{\i\insrsid475446 multipart/x-mixed-replace}{\insrsid475446 - MIME type then this will be parsed and i -mages extracted from the stream. This is much faster than before and frame rates can be as fast now with network cameras as with capture cards and video. This feature also has the side-effect that one ZoneMinder installation can use another as a remote vi -deo source. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -NPH Streaming. After months of frustration I have finally figured out why streams were corrupted using Cambozola versions after 0.22. It turned out that apache was injecting characters into the streams which was screwing up the headers. I believ -e this to be because the initial header had no content-length header, as the length is indeterminate. So I have added a zero content length header which I believe fixes the problem though perhaps not in the best way. I have also made the installation link - -the existing zms binary to nph-zms so that you can now use zms in non-parsed-header mode. If it detects it is in this mode then the content-length header is not output, though several other additional ones are. In nph mode the false character injection se -ems to disappear so I suspect this is a better way to use zms. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Bulk Frame Records. With the recent advent of the 'Record' and 'Mocord' modes a lot of people have started using ZoneMinder as a pseudo-DVR. This meant that a lot of database activity was taking - place as each captured frame required its own entry in the database. The frames table has now been reorganised so that 'bulk' frames may be written at defined intervals to reduce this database activity. The records act as markers and individual frame tim -ings are interpolated in between. Bulk frames are only used when no alarm or motion detection activity is taking place and normal frame records are kept otherwise. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Event List Ordering and Scrolling. It was previously the case that the \lquote Next\rquote and \lquote Prev\rquote - butt -ons on the event view did not always go to the event that was expected and sometimes disappeared altogether. This behaviour has now been modified and these buttons will now take you to the next and previous events in the list which the event was selected -from. Thus if the list was sorted on ascending scores then the \lquote next\rquote event is the one below which has a higher score etc. A possibly counterintuitive side effect of this is that as the default list is sorted by descending time the \lquote -next\rquote event is the one below in the list which will actually be earlier and the \lquote previous\rquote event is later. So long as you remember that next and prev refer to the order of the list you should be ok. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zone Percentage Sizes. Zone motion detection parameters can be defined either in -terms of total pixels or as a percentage. This percentage was defined relative to the size of the image as a whole. However this was difficult to calculate or estimate especially with several zones of varying sizes. In version 1.19.0 this has been changed - so that the percentage relates to the size of the zone itself instead. This should make calculations somewhat easier. To convert your existing zones you can run zmupdate.pl with the \endash -z option, though this should be done only once and you should backup your database beforehand in case of error. + buttons on the event view did not always go to the event that was expected and sometimes disappeared altogether. This behaviour has now been modified and these buttons will + now take you to the next and previous events in the list which the event was selected from. Thus if the list was sorted on ascending scores then the \lquote next\rquote + event is the one below which has a higher score etc. A possibly counterintuitive side effect of this is that as the default list is sorted by descending time the \lquote next\rquote + event is the one below in the list which will actually be earlier and the \lquote previous\rquote event is later. So long as you remember that next and prev refer to the order of the list you should be ok. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Zone Percentage Sizes. Zone motion detection parameters can be defined either in terms of total pixels or as a percentage. This percentage was defined relative to the size of the image as a whole. However this was difficult to calculate or estimate +especially with several zones of varying sizes. In version 1.19.0 this has been changed so that the percentage relates to the size of the zone itself instead. This should make calculations somewhat easier. To convert your existing zones you can run zmupda +te.pl with the \endash z option, though this should be done only once and you should backup your database beforehand in case of error. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Console View System Display. The console display was slight revamped to indicate disk space usage (via the \lquote df\rquote command) on the events partition, -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zone Form Validation. Changes applied in version 1.18.0 to prevent inva -lidate entries in the zone definition form actually had the opposite effect due to JavaScript treating everything as a string and not a number (e.g. 5 is greater than 123). This is now corrected. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Default Rate and Scales. You can now specify (in the options - dialog) the default scale you would like to view live and event feeds at. You can also give a default rate for viewing event replays. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}More Rates. Additional faster rates have been included, up to 100 times. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Frame Buffer Size. Previously it was possible fo -r frames being sent from the analysis daemon to the frame server to exceed the defined maximum buffer size in which case the write would fail. It is now possible to define a larger size if necessary to prevent this. Note that you may have to adjust your s -ystem configuration to accommodate this. For further details check the help for the ZM_FRAME_SOCKET_SIZE option. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Filter Name Duplication. Following recent changes to the filters table, several people reported that when saving filters they actually got a dup -licate. This resulted in several copies of filters all with the same name as the constraint on unique filter names was not present. Well it is now so when upgrading your database all the filters will be renamed from \lquote myfilter\rquote to \lquote -myfilter_\rquote where \lquote \rquote +Zone Form Validation. Changes applied in version 1.18.0 to prevent invalidate entries in the zone definition form actually had the opposite effect due to JavaScript treating everything as a string and not a number (e.g. 5 is greater than 1 +23). This is now corrected. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Default Rate and Scales. You can now specify (in the options dialog) the default scale you would like to view live and event feeds at. You can also give a default rate for viewing event replays. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}More Rates. Additional faster rates have been included, up to 100 times. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Frame Buffer Size. Previously it was possible for frames being sent from the analysis daemon to the frame server to exceed the defined maximum buffer size in which case the write would fail. It is now possible to def +ine a larger size if necessary to prevent this. Note that you may have to adjust your system configuration to accommodate this. For further details check the help for the ZM_FRAME_SOCKET_SIZE option. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Filter Name Duplication. Following recent changes to the + filters table, several people reported that when saving filters they actually got a duplicate. This resulted in several copies of filters all with the same name as the constraint on unique filter names was not present. Well it is now so when upgrading yo +ur database all the filters will be renamed from \lquote myfilter\rquote to \lquote myfilter_\rquote where \lquote \rquote is the id number in the database (which is then removed). In general the higher the id number the more recent the filter. So you should go through your filter list deleting old copies and then rename the last one back to it\rquote s original name. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Filter Form. - Problem were reported with the filtering form where several selections generated SQL errors. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Filter Form. Problem were reported with the filtering form where several selections generated SQL errors. This is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Filter Image Attachments. A fix was made to zmfilter.pl to prevent it trying to attach\'e9 alarm images to non-alarm events. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Video Rate Specificat -ion. A fix was made to zmvideo.pl that corrected a problem with no default frame being used if none was passed in. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -RBG->BGR Black Screen. Fixed an issue with black screens being reported in RGB24 mode if RGB->BGR invert was not selected. +Video Rate Specification. A fix was made to zmvideo.pl that corrected a problem with no default frame being used if none was passed in. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}RBG->BGR Black Screen. Fixed an issue with black scre +ens being reported in RGB24 mode if RGB->BGR invert was not selected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitor Deletion. Fixed a problem with event files not being deleted when monitor was. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}A translation for the Dutch (nl_nl) language has been included. \par {\*\bkmkstart _Toc125043073}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.15.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.18.1{\*\bkmkend _Toc125043073} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor bugfixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Filter Monitor Name Bug. A bug was present in the previous release where monitor names where - not correctly handled in filters. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Database Upgrade Change. Users upgrading from releases prior to 1.18.0 please note that now as part of the upgrade process all your filters will have any automatic actions unset. This is because the pre -vious affinity to a particular monitor has now been removed and you may be left with several filters all doing the same thing to all of the events or have filters which for instance delete events on only one monitor but which now would delete them for all - of them. It is recommended that you review your list of saved filters and delete duplicates before adding any monitor specific terms and resetting the actions for any that remain. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Filt +er Monitor Name Bug. A bug was present in the previous release where monitor names where not correctly handled in filters. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Database Upgrade Change. Users upgrading from releases prior to 1.18.0 please note that now as part of the upgrade + process all your filters will have any automatic actions unset. This is because the previous affinity to a particular monitor has now been removed and you may be left with several filters all doing the same thing to all of the events or have filters whic +h + for instance delete events on only one monitor but which now would delete them for all of them. It is recommended that you review your list of saved filters and delete duplicates before adding any monitor specific terms and resetting the actions for any +that remain. \par {\*\bkmkstart _Toc125043074}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.16.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.18.0{\*\bkmkend _Toc125043074} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Major optimisations, important new features and some bugfixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Optimisations and Performance Improvements. This release contains several major performance improvements in various areas. The first of these is that image processing for YUV style input formats are now pretty much handled at almost the same speed as nat -ive RGB formats. As this is what the capture daemons spend most of their time doing, the improvement helps reduce the amount of CPU time by a significant degree. Application of these changes also highlighted a bug that had existed previously in YUV conver -s -ion which caused incorrect conversions for certain values. The other two main areas of optimisation are in the Blend and Delta image functions. Normally when doing motion detection the analysis daemons spend about 99% of their time comparing a captured im -a -ge with the reference image and then blending the two ready for the next capture. Both of these functions have been significantly improved. In previous versions there were two options for calculating image deltas (or differences), a simple RGB average and - -a Y channel calculation. Historically the RGB one was faster however with the optimisations the Y channel calculation (which is more accurate) is now 15-20% faster and so has become the default though you can select either method by the ZM_Y_IMAGE_DELTAS +Optimisations and Performance Improvements. This release contains several major performance improvements in various areas. The first of these is that image processing + for YUV style input formats are now pretty much handled at almost the same speed as native RGB formats. As this is what the capture daemons spend most of their time doing, the improvement helps reduce the amount of CPU time by a significant degree. Appli c -onfiguration option. A new method of image blending has also been added which is up to 6 times faster than the old one which is retained for compatibility and because in some unusual circumstances it may still be more accurate (see the ZM_FAST_IMAGE_BLEND -S option for details). Altogether these optimisations (along with other common sense ones such as not maintaining a reference image in \lquote Record\rquote - mode where it is not used) significantly reduce the CPU load for most systems, especially when alarms are not in -progress. If an alarm is detected then a lot of file system and database activity takes place which is limited by the speed of these resources so the gain will not be as much. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Remote Authentication. This document has previously indicated that basic authent -ication for network cameras could be used by entering a hostname of the form of :@. This was not actually the case as the relevant authentication header was never sent. This is now fixed and addresses of this form can now be used. - -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fil -ter Date Parsing. The zmfilter.pl date parsing now correctly reports when dates or times which it cannot parse are used. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Monitor Independent Filters. Previously filters were closely tied to a monitor and a new filter had to be created for each monitor. Thi -s has now changed and filters can now specify an associated monitor in the same was as other parameters. Links have now been added to the main console view to allow you to view lists of events from all monitors in one and saved filters can now affected as - -many or as few monitors as you wish. IMPORTANT: Please note that as part of the upgrade process all your filters will have any automatic actions unset. This is because the previous affinity to a particular monitor has now been removed and you may be left +ation of these changes also highlighted a bug that had existed previously in YUV conversion which caused incorrect conversions for certain values. The other two main areas of optimisation are in the Blend and Delta image functions. Normally when doing mot +i +on detection the analysis daemons spend about 99% of their time comparing a captured image with the reference image and then blending the two ready for the next capture. Both of these functions have been significantly improved. In previous versions there w -ith several filters all doing the same thing to all of the events or have filters which for instance delete events on only one monitor but which now would delete them for all of them. It is recommended that you review your list of saved filters and delete - duplicates before adding any monitor specific terms and resetting the actions for any that remain. +ere two options for calculating image deltas (or differences), a simple RGB average and a Y channel calculation. Historically the RGB one was faster however with the optimisations the Y channel calculation (which is more accurate) is now 15-20% faster and + +so has become the default though you can select either method by the ZM_Y_IMAGE_DELTAS configuration option. A new method of image blending has also been added which is up to 6 times faster than the old one which is retained for compatibility and because +in some unusual circumstances it may still be more accurate (see the ZM_FAST_IMAGE_BLENDS option for details). Altogether these optimisations (along with other common sense ones such as not maintaining a reference image in \lquote Record\rquote + mode where it is not used +) significantly reduce the CPU load for most systems, especially when alarms are not in progress. If an alarm is detected then a lot of file system and database activity takes place which is limited by the speed of these resources so the gain will not be +as much. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -New Filter Operators. Two new filter operators and their inverse have been added. You can now indicate whether a value is in a set of other values, for example \lquote cat\rquote is in the set of \lquote cat, dog, cow, horse\rquote -. You can also use regular expressions so \lquote cat\rquote matches \lquote ^c.*\rquote . The \lquote not in set\rquote and \lquote not matches\rquote operators are also available. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Additional Scales. Enhancements to the scaling algorithm mean that non binary s -cales are now just as easy to apply, thus new scales such as 0.75x have been added. Others can be easily included if necessary. +Remote Authentication. This document has previously indicated that basic authentication for network cameras could be used by entering a hostname of the form of :@. This was not actually the case as the relevant authentication +header was never sent. This is now fixed and addresses of this form can now be used. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Montage Sizing. The montage view allows you to view all of your active cameras in one window. However if your cameras are differ -ent sizes then this becomes very untidy. You can now constrain the image size of each monitor in this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and ZM_WEB_MONTAGE_HEIGHT configuration options. Monitor images will be enlarged or reduced as necessa -ry. +Filter Date Parsing. The zmfilter.pl date parsing now correctly reports when dates or times which it cannot parse are used. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitor Independent Filters. Previously filters + were closely tied to a monitor and a new filter had to be created for each monitor. This has now changed and filters can now specify an associated monitor in the same was as other parameters. Links have now been added to the main console view to allow yo +u + to view lists of events from all monitors in one and saved filters can now affected as many or as few monitors as you wish. IMPORTANT: Please note that as part of the upgrade process all your filters will have any automatic actions unset. This is because + +the previous affinity to a particular monitor has now been removed and you may be left with several filters all doing the same thing to all of the events or have filters which for instance delete events on only one monitor but which now would delete them +for all of them. It is recommended that you review your list of saved filters and delete duplicates before adding any monitor specific terms and resetting the actions for any that remain. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New Filter Operators. Two new filter operators and their inverse have + been added. You can now indicate whether a value is in a set of other values, for example \lquote cat\rquote is in the set of \lquote cat, dog, cow, horse\rquote . You can also use regular expressions so \lquote cat\rquote matches \lquote ^c.*\rquote +. The \lquote not in set\rquote and \lquote not matches\rquote operators are also available. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Compact Montage. The traditional montage view includes individual small menus for each monitor and a status display. This results in a somewhat cluttered display and the refreshing of the status displays may generate more accesses than desirable. Using -the ZM_WEB_COMPACT_MONTAGE configuration option allows this montage view to only include the monitor streams and one overall menu bar with no status displays. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitor Name Constraint. The name given to a monitor is used in file paths and several other area -s. Thus it is important that it follows certain conventions but up until this release these names were unrestricted. The monitor form now limits monitor names to alphanumeric characters plus hyphen and underscore. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Timestamp Change. Traditionally ZoneMinder - has time-stamped each image as it is captured. This ensures that all images have their capture time recorded immediately. However there are several side-effects which may be undesirable. Firstly the time and resource is spent time-stamping images that ar -e not recorded and which are discarded, secondly the timestamp is included in any motion detection and may potentially trigger an alarm if detection parameters are very sensitive. The third effect is that as the timestamp is added to the image at it -\rquote s nativ -e resolution, if the image is scaled then the timestamp is scaled also. This may not be a problem for enlargement but if the image size is reduced then it may become illegible. This version now allows you, via the ZM_TIMESTAMP_ON_CAPTURE configuration opt -ion, to indicate whether the timestamps should be added on capture, as before, or only added when the image is viewed or recorded. Setting it to this later value allows timestamps to be added to scaled images. This is little performance impact either way. - -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}S -caleable Stills View. The stills view of a monitor (when streaming is not available or desired) is now scaleable in the same way as the streamed view. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Double Buffered Stills View. The stills view has now been restructured to allow a double buffering approa -ch. Thus a new image is loaded in the background and only written to screen when complete. This removes the refresh flicker that means that the screen blanks periodically however uses more JavaScript so may not be suitable for all platforms. Whether ZoneM -inder uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER configuration option. +Additional Scales. Enhancements to the scaling algorithm mean that non binary scales are now just as easy to apply, thus new scales such as 0.75x have been added. Others can be easily included if necessary. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Montage Sizing. The montage view allows +you to view all of your active cameras in one window. However if your cameras are different sizes then this becomes very untidy. You can now constrain the image size of each monitor in this view to a fixed size with the ZM_WEB_MONTAGE_WIDTH and ZM_WEB_MON +TAGE_HEIGHT configuration options. Monitor images will be enlarged or reduced as necessary. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Fixed Length Event Bug. A bug was reported whereby the fixed length events that could be specified for use in Record or Mocord mode could sometimes result in -events a multiple of that length. So events that were meant to be 15 minutes long could sometimes be 30 or even 45 minutes. This was especially the case with monitors that had low frame rates. This is now fixed. +Compact Montage. The traditional montage view includes individual small menus for each monitor and a status display. This results in a somewhat cluttered display and + the refreshing of the status displays may generate more accesses than desirable. Using the ZM_WEB_COMPACT_MONTAGE configuration option allows this montage view to only include the monitor streams and one overall menu bar with no status displays. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitor N +ame Constraint. The name given to a monitor is used in file paths and several other areas. Thus it is important that it follows certain conventions but up until this release these names were unrestricted. The monitor form now limits monitor names to alpha +numeric characters plus hyphen and underscore. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Timestamp Change. Traditionally ZoneMinder has time-stamped each image as it is captured. This ensures that all images have their capture time recorded immediately. However there are several side-effects which +may be undesirable. Firstly the time and resource is spent time-stamping images that are not recorded and which are discarded, secondly the timestamp is included in any motion detection and may potentially trigger an alarm if detection parameters are very + sensitive. The third effect is that as the timestamp is added to the image at it\rquote +s native resolution, if the image is scaled then the timestamp is scaled also. This may not be a problem for enlargement but if the image size is reduced then it may become il +legible. This version now allows you, via the ZM_TIMESTAMP_ON_CAPTURE configuration option, to indicate whether the timestamps should be added on capture, as before, or only added when the image is viewed or recorded. Setting it to this later value allows + timestamps to be added to scaled images. This is little performance impact either way. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Scaleable Stills View. The stills view of a monitor (when streaming is not available or desired) is now scaleable in the same way as the streamed view. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Double Buffered S +tills View. The stills view has now been restructured to allow a double buffering approach. Thus a new image is loaded in the background and only written to screen when complete. This removes the refresh flicker that means that the screen blanks periodica +lly however uses more JavaScript so may not be suitable for all platforms. Whether ZoneMinder uses double buffering or not is controlled by the ZM_WEB_DOUBLE_BUFFER configuration option. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed Length Event Bug. A bug was reported whereby the fixed length ev +ents that could be specified for use in Record or Mocord mode could sometimes result in events a multiple of that length. So events that were meant to be 15 minutes long could sometimes be 30 or even 45 minutes. This was especially the case with monitors +that had low frame rates. This is now fixed. \par {\*\bkmkstart _Toc125043075}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.17.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.17.2{\*\bkmkend _Toc125043075} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Minor features, bug fixes and additional languages. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Pending Process Bug. A bug was found whereby a process that was scheduled to be started in the future (due to repeated failures) would drop out of the pending queue if a further explicit restart was attempted. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Strs -ignal Function. The strsignal function was included from version 1.17.1 however this is not ubiquitous on all distributions. The existence of this function is now tested for by the configure script and it is not used if not present. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Strsignal Function. The strsignal function was included from version 1.17.1 however this is not ubiquitous on all distributions. The existence of this function is now tested for by the configure script and it is not used if not present. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Add Max Alarm Threshold. Previously the alarm threshold (which is the amount a pixel has to differ from it\rquote -s counterpart in the reference image) existed only in a \lquote minimum\rquote form meaning pixels that were more different matched. A maximum has now been added to assist in screening -out large changes in brightness. In addition to this a number of new consistency checks have been added to the zone definition form to try and prevent bogus or invalid settings. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Diagnostic Zone Images. A regularly requested feature is that of adding extra -information to allow diagnostics of the process of image detection. This has previously been somewhat hit and miss but in this version a new configuration option ZM_RECORD_DIAG_IMAGES has been included to allow this. This option will generate several imag -e -s for each captured frame in an alarm including each reference image and a series of images containing the image differences at various stages in the process. It is not possible to record these for the image prior to an alarm but those following it are in -cluded and should assist in tuning the zones to provide optimal motion detection. +s counterpart in the reference image) existed only in a \lquote minimum\rquote form meaning pixel +s that were more different matched. A maximum has now been added to assist in screening out large changes in brightness. In addition to this a number of new consistency checks have been added to the zone definition form to try and prevent bogus or invalid + settings. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Event Images Renamed. The capture and analysis images recorded during an event have been renamed from capture-???.jpg to ???-capture, and from analyse-???.jpg to ???-analyse.j -pg. This is to allow all images (including diagnostic ones) to be associated with the frame sequence number more easily. This means that old events will no longer be able to be viewed as the wrong image will be being searched for. To avoid this you can us -e the new \lquote zmupdate.pl\rquote utility to rename all your old images by doing \lquote perl zmupdate.pl \endash r\rquote as an appropriately privileged or root user. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Version checking. ZoneMinder will now optionally check for new versions of itself at zoneminder.com. This is done with -a simple http get and no personal information otherwise than your current version of ZoneMinder is transmitted or recorded. If new versions are found you may be alerted of them via the web interface. This is an initial step towards enhancing and automatin -g the upgrade process. +Diagnostic Zone Images. A regularly requested feature is that of adding extra information to allow diagnostics of the process of image detection. This has previously been somewhat hit and miss but in this version a new configuration option ZM_REC +ORD_DIAG_IMAGES has been included to allow this. This option will generate several images for each captured frame in an alarm including each reference image and a series of images containing the image differences at various stages in the process. It is no +t possible to record these for the image prior to an alarm but those following it are included and should assist in tuning the zones to provide optimal motion detection. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Event Images Renamed. The capture and analysis images recorded during an event have bee +n renamed from capture-???.jpg to ???-capture, and from analyse-???.jpg to ???-analyse.jpg. This is to allow all images (including diagnostic ones) to be associated with the frame sequence number more easily. This means that old events will no longer be a +ble to be viewed as the wrong image will be being searched for. To avoid this you can use the new \lquote zmupdate.pl\rquote utility to rename all your old images by doing \lquote perl zmupdate.pl \endash r\rquote + as an appropriately privileged or root user. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Version checking. ZoneMinder wi +ll now optionally check for new versions of itself at zoneminder.com. This is done with a simple http get and no personal information otherwise than your current version of ZoneMinder is transmitted or recorded. If new versions are found you may be alerte +d of them via the web interface. This is an initial step towards enhancing and automating the upgrade process. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Force Java. Previously ZoneMinder could be forced to override it\rquote -s detection of browser capabilities to prevent the Cambozola Java applet being used. However sometimes the opposite effect was desired and using the applet was preferred - to native image handling. This has now been made possible by making the ZM_CAN_STREAM option tri-state allowing \lquote auto\rquote , \lquote yes\rquote or \lquote no\rquote to be used to provide all alternatives. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Alarms Cleared on Exit. In previous versions if an alarm was present when the ana -lysis daemon (zma) exited the alarm would remain flagged. This had little effect except if the monitor was being watched however it was a bit annoying so any alarm flag is now cleared when this daemon exits. +s detection of browser capabilities to prevent the Cambozola Java applet being us +ed. However sometimes the opposite effect was desired and using the applet was preferred to native image handling. This has now been made possible by making the ZM_CAN_STREAM option tri-state allowing \lquote auto\rquote , \lquote yes\rquote or \lquote +no\rquote to be used to provide all alternatives. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Alarms Cleared on Exit. In previous versions if an alarm was present when the analysis daemon (zma) exited the alarm would remain flagged. This had little effect except if the monitor was being watched however it was a bit annoying so any alarm flag + is now cleared when this daemon exits. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New Languages. Translations for Japanese (ja_jp), French (fr_fr) and Russian (ru_ru) are now included. \par {\*\bkmkstart _Toc125043076}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.18.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.17.1{\*\bkmkend _Toc125043076} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Bugfixes and additional languages. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Login Bug. A bug was identified whereby an unauthorised user could gain access to the console view of ZoneMinder. This was the only view available and no access to any camera views or configuration was possible. This bug is now fixed. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Login Bug. A bug was identified whereby an unauthorised user co +uld gain access to the console view of ZoneMinder. This was the only view available and no access to any camera views or configuration was possible. This bug is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New Languages. Two new language files were added. These allow ZoneMinder to use the +German (de_de) and Polish (pl_pl) languages. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -New Languages. Two new language files were added. These allow ZoneMinder to use the German (de_de) and Polish (pl_pl) languages. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Language File Format. The format of the lan -guage file was changed to allow the specification of character set and locale as well as have more flexibility in the calculation of plural forms. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Option Language. The prompts and help text for the options is now also available for translation. A guide is -included in the language file to allow this if necessary. Currently language translations exclude the options settings as this is a rarely accessed area and contains a great deal of text. The new format allows individual options to be translated piecemeal - as the opportunity arises. +Language File Format. The format of the language file was changed to allow the specification of character set and locale as well as have more flexibility in the calculation of plural forms. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Option Language. The +prompts and help text for the options is now also available for translation. A guide is included in the language file to allow this if necessary. Currently language translations exclude the options settings as this is a rarely accessed area and contains a + great deal of text. The new format allows individual options to be translated piecemeal as the opportunity arises. \par {\*\bkmkstart _Toc125043077}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.19.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 1.17.0{\*\bkmkend _Toc125043077} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Language changes and other enhancements. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Version Numbering. ZoneMinder version numbers have now changed. This is to allow more frequent -\lquote point\rquote releases which are expected to happen for instance whenever new langua -ge files are included. Previously all releases had the same version increment so it was difficult to tell the significance of any particular release. Now the version number is in the }{\i\insrsid475446 x.y.z}{\insrsid475446 format where a change in }{ -\i\insrsid475446 x}{\insrsid475446 signifies a major fundamental or architectural rework, a change in }{\i\insrsid475446 y}{\insrsid475446 - will indicate a new release containing incremental feature changes or fixes recommend to all users and a change in }{\i\insrsid475446 z }{\insrsid475446 -will generally mean minor non-functional or critical modifications which would not be recommended as important - to all users. As ZoneMinder has been referred to by the point release up until now, e.g. .15, .16 etc the next number in that sequence has been retained for continuity and to avoid having any ambiguity in version numbers. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Language Support. ZoneMinder now -allows specification of system and user specific languages other than UK English. These languages are given in language files named zm_lang_}{\i\insrsid475446 nn_mm}{\insrsid475446 -.php which can be created from the default zm_lang_en_gb.php file. If your language is not included then please consider doing a translation by checking this file and submitting your changes back for inclusion in future releases. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Syntactic Improvements. Previously setting \lquote NOTICE\rquote - errors on in PHP would flag tens or hundreds of violations in the ZoneMinder web file -s. Whilst not strictly errors this represented sloppy coding and sometimes covered up genuine bugs. All the files have been revisited and revised to ensure that a many of these problems as possible have been eliminated and only the very few where the fix -would be significantly less optimal than the problem remain. +\lquote point\rquote + releases which are expected to happen for instance whenever new language files are included. Previously all releases had the same version increment so it was difficult to tell the significance of any particular release. Now the version number is in the } +{\i\insrsid475446 x.y.z}{\insrsid475446 format where a change in }{\i\insrsid475446 x}{\insrsid475446 signifies a major fundamental or architectural rework, a change in }{\i\insrsid475446 y}{\insrsid475446 + will indicate a new release containing incremental feature changes or fixes recommend to all users and a change in }{\i\insrsid475446 z }{\insrsid475446 will generally mean mi +nor non-functional or critical modifications which would not be recommended as important to all users. As ZoneMinder has been referred to by the point release up until now, e.g. .15, .16 etc the next number in that sequence has been retained for continuit +y and to avoid having any ambiguity in version numbers. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Stream Scaling Resizing. Previously when watching a stream and modifying the scale of the streamed feed only the actual feed would change size and the containing frames and windows would remain th -e same. This was fine for changes to smaller scales but problematic for larger scales. This has been changed for that the window and frames will now resize appropriately. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Mmap Return Value. A problem identified by users in the forum relating to checking of - return values from the mmap function call has been corrected. +Language Support. ZoneMinder now allows specification of system and user specific languages other than UK English. These languages are given in language files named zm_lang_}{\i\insrsid475446 nn_mm}{\insrsid475446 .php which can be creat +ed from the default zm_lang_en_gb.php file. If your language is not included then please consider doing a translation by checking this file and submitting your changes back for inclusion in future releases. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Syntactic Improvements. Previously setting \lquote NOTICE\rquote + errors on in PHP would flag tens or hundreds of violations in the ZoneMinder web files. Whilst not strictly errors this represented sloppy coding and sometimes covered up genuine bugs. All the files have been revisited and revised to ensure that a many +of these problems as possible have been eliminated and only the very few where the fix would be significantly less optimal than the problem remain. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Stream Scaling Resizing. Previously when watching a stream and modifying the scale of the streamed feed only + the actual feed would change size and the containing frames and windows would remain the same. This was fine for changes to smaller scales but problematic for larger scales. This has been changed for that the window and frames will now resize appropriate +ly. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Mmap Return Value. A problem identified by users in the forum relating to checking of return values from the mmap function call has been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Minor Bugs. A number of minor bugs and inconsistencies were corrected. \par {\*\bkmkstart _Toc125043078}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.20.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.16{\*\bkmkend _Toc125043078} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Major usability enhancement and fixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Run States. Instead of the old \lquote start/stop\rquote links the current system - state is now a link which takes you to a dialog which allows you to start, restart or stop the system. You can also save the current run state which basically takes a snapshot of the current monitor functions and saves that. You can then reselect that st -ate later which basically involves resetting the monitors to have these saved functions and then doing a system restart. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid9399157 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Run States. Instead of the old \lquote start/stop\rquote + links the current system state is now a link which takes you to a dialog which allows you to start, restart or stop the system. You can also save the current run state which basically takes a +snapshot of the current monitor functions and saves that. You can then reselect that state later which basically involves resetting the monitors to have these saved functions and then doing a system restart. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New Monitor Functions. Instead of Passive, Activ +e, and X10, the modes are now Monitor (= old Passive) which just allows you to watch the feed, Modect (= old Active) which is MOtion DetECT and which will capture events as previously, Record which continuously records with no analysis and MoCord which is + +a hybrid of Modect and Record and which will continuously record but also do motion detection and highlight where this has occurred. The Record and Mocord functions both records events whose length in seconds is defined by the 'Section Length' monitor att +ribute. You can additionally specify a 'Frame Skip' value to tell it to not record 'n' frames at a time, when not alarmed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -New Monitor Functions. Instead of Passive, Active, and X10, the modes are now Monitor (= old Passive) which just allows you to watch the - feed, Modect (= old Active) which is MOtion DetECT and which will capture events as previously, Record which continuously records with no analysis and MoCord which is a hybrid of Modect and Record and which will continuously record but also do motion det -e -ction and highlight where this has occurred. The Record and Mocord functions both records events whose length in seconds is defined by the 'Section Length' monitor attribute. You can additionally specify a 'Frame Skip' value to tell it to not record 'n' f -rames at a time, when not alarmed. +X10 Function removed. The X10 mode has been removed and replaced by an indication of whether the monitor is 'continuous' or 'triggered +'. This basically just indicates whether it may be controlled outside of zmdc and zmpkg. Additionally the X10 triggers may now be specified in an X10 section. This has changed to allow for other types of triggers to be added more easily. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Paginated Event li +stings. The event listings are paginated by default. You can list all of the events if you like by choosing the appropriate option. There are shortcuts to pages of events at the top of the listing. If these produce strange looking sequences like 1,2, 3, 5 +, 9, 17, 37 etc this is deliberate and uses an exponential algorithm intended to allow you to quickly navigate through the list to a particular page in the minimum number of clicks. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Scaleable Streams. Event and monitor streams can now be scaled to a certain + extent allowing you to view at a different resolution than that captured. This area may be somewhat incomplete especially in terms of monitoring at a higher screen size where the frame is not adjusted properly. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Variable Frame Rates. Event streams can now +be viewed at various rates allowing faster review (if your bandwidth allows) to long events, or slower for more precision. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -X10 Function removed. The X10 mode has been removed and replaced by an indication of whether the monitor is 'continuous' or 'triggered'. This basically just indicates whether it may be controlled outside of zmdc and zmpkg. - Additionally the X10 triggers may now be specified in an X10 section. This has changed to allow for other types of triggers to be added more easily. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Paginated Event listings. The event listings are paginated by default. You can list all of the events if y -ou like by choosing the appropriate option. There are shortcuts to pages of events at the top of the listing. If these produce strange looking sequences like 1,2, 3, 5, 9, 17, 37 etc this is deliberate and uses an exponential algorithm intended to allow y -ou to quickly navigate through the list to a particular page in the minimum number of clicks. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Scaleable Streams. Event and monitor streams can now be scaled to a certain extent allowing you to view at a different resolution than that captured. This area may - be somewhat incomplete especially in terms of monitoring at a higher screen size where the frame is not adjusted properly. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Variable Frame Rates. Event streams can now be viewed at various rates allowing faster review (if your bandwidth allows) to long events, or slower for more precision. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Scaleable/Variable MPEG generation. Generation of MPEG videos now also allows you to specify the scale relative to the original image and also the frame rate. Again, for long events captured in the perpetual recording mod -es this will allow a faster review of the period the event covers. +Scaleable/Variable MPEG generation. Generation of MPEG videos now also allows you to specify the scale relative to the original image + and also the frame rate. Again, for long events captured in the perpetual recording modes this will allow a faster review of the period the event covers. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Tabbed Monitor options. Specification and modification of monitors is now in a tabbed form for easier navigation. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Additional stream headers. The stream headers have been changed to hopefull -y ensure that they are less likely to be cached. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Additional stream headers. The stream headers have been changed to hopefully ensure that they are less likely to be cached. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Maximum process restart delay. zmdc.pl now has an upper limit (15 minutes) to the time it waits before restarting continuously crashing processes. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Intelligent Module inclusion. zmfilter.pl now includes Archi -ve::Zip and other modules on an as needed basis so won't complain about them being missing unless they have been explicitly configured to be used. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Intelligent Module inclusion. zmfilter.pl now includes Archive::Zip and other modules on an as needed basis so won't complain about them being missing unless they have been explicitly configured to be used. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Adaptive Watchdog. zmwatch now more adaptive to actual frame rates. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed zmfilter CPU sucking bug. zmfilter. -pl will now restart on failure to read shared memory. Previously this could go into a nasty CPU sucking loop! +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Fixed zmfilter CPU sucking bug. zmfilter.pl will now restart on failure to read shared memory. Previously this could go into a nasty CPU sucking loop! \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New zmconfig options. zmconfig.pl has a new option to run with no database if necessary \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}File reorganisation. Various administrative file changes and reorganisations. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Compiler warnings. Various tweaks and modifications to reduce compiler and memory warnings. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}SQL Buffer size. Increased SQL buffer size to cope with +large pre-event buffers, plus a couple of other buffers have been enlarged. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -SQL Buffer size. Increased SQL buffer size to cope with large pre-event buffers, plus a couple of other buffers have been enlarged. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Incorrect Fr -ame time offsets. The time offsets in alarmed frames were incorrect and based on the time of storage rather than capture. This gave the impression that there was a delay after the first alarmed frame and messed up some streaming timings. This has been fix -ed. +Incorrect Frame time offsets. The time offsets in alarmed frames were incorrect and based on the time of storage rather than capture. This gave the impression that there was a dela +y after the first alarmed frame and messed up some streaming timings. This has been fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Event Frame listing. You can now view details of the frames captured such as their time and score etc by clicking on the scores in the events views. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Refined shared memory handling. Fixed zmfilter, zmwatch and zmx10 to allow zero as a valid shared memory - id to allow them to keep on working if the segment has been marked for deletion +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Refined shared m +emory handling. Fixed zmfilter, zmwatch and zmx10 to allow zero as a valid shared memory id to allow them to keep on working if the segment has been marked for deletion +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Frame daemon stability. Changed image buffer in zmf to be static rather than dynamic. T +his has made zmf much more stable. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Frame daemon stability. Changed image buffer in zmf to be static rather than dynamic. This has made zmf much more stable. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}MPEG overwrite option. Fixed the 'Overwrite' checkbox - in video generation to actually overwrite the video. Modded the page slightly also. +MPEG overwrite option. Fixed the 'Overwrite' checkbox in video generation to actually overwrite the video. Modded the page slightly also. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Daemon control improved. Changing between monitor functions, e.g. Modect, Mocord et +c now restarts the correct daemons. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Daemon control improved. Changing between monitor functions, e.g. Modect, Mocord etc now restarts the correct daemons. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Improved time based filters. Filters that include ti -me based clauses now get executed regardless of whether new events are being generated. +Improved time based filters. Filters that include time based clauses now get executed regardless of whether new events are being generated. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Audit daemon started unconditionally. zmaudit is now started regardless of the s +etting of FAST_DELETES as zmfilter depends on it being there. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Audit daemon started unconditionally. zmaudit is now started regardless of the setting of FAST_DELETES as zmfilter depends on it being there. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Filtering more active. zmf -ilter is now started in 'Monitor' mode. It does not run in when monitors are completely off however. +Filtering more active. zmfilter is now started in 'Monitor' mode. It does not run in when monitors are completely off however. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Stills paged. The stills view of events is now paginated for easier navigation. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Archive images optional. Normally when an alarm is detected a set of raw im -ages is saved along with a mirror set of images containing motion highlighting. This second set can now optionally be disabled. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Settings in auth mode. Control of camera brightness, contrast etc did not previously work when running in authorised mode. This is now fixed. +Archive images optional. Normally when an alarm is detected a set of raw images is saved along with a mirror set of images containing motion highlighting. This second set can now optionally be disabled. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Settings in auth mode. Control of camera + brightness, contrast etc did not previously work when running in authorised mode. This is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zms parameter bug fixed. The streaming server incorrectly parsed and assigned one of it\rquote s arguments. This is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmu brighness bug. Previously camera brightness was not correctly parsed from command line options passed to zmu. @@ -2471,152 +2482,150 @@ s arguments. This is now fixed. \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.15{\*\bkmkend _Toc125043079} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Various bug fixes from the last release and before. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Bandwidth. A bug was introduced in .14 which caused a corrupted console display and manic refreshes on new installations. This was due to a missing bandwidth setting when no existing cookie was detected. This is now fixed. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Bandwidth. A bug was introd +uced in .14 which caused a corrupted console display and manic refreshes on new installations. This was due to a missing bandwidth setting when no existing cookie was detected. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Again in .14 a problem occurred for a new release whereby zm +config wanted to know the database details and but also previously wanted to access the database before it had asked the questions. This has now been addressed though it does require that zmconfig is run twice initially, once to created the scripts and on +ce to import the configuration into the database. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Again in .14 a problem occurred for a new release whereby zmconfig wanted to know the database details and but also previously wanted to access the -database before it had asked the questions. This has now been addressed though it does require that zmconfig is run twice initially, once to created the scripts and once to import the configuration into the database. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}In association with the previous error, - the zm_config_defines.h file was not created in the absence of the database as this was what was used to assign configuration ids. This now takes place regardless of the database. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}The SQL to create the Users table was mistakenly omitted from the .12 datab -ase upgrade script this has now been corrected. +In association with the previous error, the zm_config_defines.h file was not created in the absence of the database as this was what was used to assign configuration ids. This now takes place regardless of the database. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +The SQL to create the Users table was mistakenly omitted from the .12 database upgrade script this has now been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} A bug in zmfilter was pointed out whereby the dynamic loading of the Zip or Tar archive modules depending on a preference actually wasn\rquote t. It was looking for both and loading both at compile time. This has now been modified to be fully runtime. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} The database user definitions in the zmvideo script indicated one database user while the database connection used a different one. This prevented any videos being generated. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}A problem was found if using the zmf frame s -erver and greyscale images. The option to colourise JPEG images is intended to be used to ensure that all JPEG files are written with a 24 bit colourspace as certain tools such as ffmpeg require this. However in the circumstances described above images wr -itten by zma directly were colourised whereas those written by zmf weren\rquote t. A change has been made whereby if set all greyscale JPEG images are colourised in all circumstances. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +A problem was found if using the zmf frame server and greyscale images. The option to colourise JPEG images is intended to be used to ensure that all JPEG files are written with a 24 bit colourspace as certain to +ols such as ffmpeg require this. However in the circumstances described above images written by zma directly were colourised whereas those written by zmf weren\rquote +t. A change has been made whereby if set all greyscale JPEG images are colourised in all circumstances. \par {\*\bkmkstart _Toc125043080}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.22.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.14{\*\bkmkend _Toc125043080} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Major new feature and important bug-fixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Web configuration. Fo -llowing many requests and to make ZoneMinder easier to administer the configuration system has been changed slightly. You should now still run zmconfig.pl to specify an initial configuration but you now only need to answer the first few questions to give -a - core set of options including the database options. The remainder of configuration options can then be ignored to start with and all but the core options will be written to the database. You can then view and modify these options from the web interface a -nd apply then without recompilation, which is now only necessary if you change the core configuration. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 +Web configuration. Following many requests and to make ZoneMinder easier to administer the configuration system has been changed slightly. You should now still run zmconfig.pl to specify an + initial configuration but you now only need to answer the first few questions to give a core set of options including the database options. The remainder of configuration options can then be ignored to start with and all but the core options will be writ +ten to the database. You can then view and modify these options from the web interface and apply then without recompilation, which is now only necessary if you change the core configuration. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Following a number of requests the .sock file directory is now configurable in zmconfig. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Y channel bug. When using colour cameras a motion detection probl -em was present if fast RGB images deltas (ZM_FAST_RGB_DIFFS) was off. This was an overflow error in the calculation of the Y channel and caused excessive image differences to be calculated. This has now been fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}The use of the Term::Readkey perl module -in zmaudit.pl has been removed. This module had been removed from zmconfig.pl previously but had lingered in this script. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}A bug was found in zmx10.pl causing a crash if time delayed X10 events were used. This has now been fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Removed use of \lquote zmu\rquote binary - from zmwatch.pl and zmx10.pl. Previously these scripts had used zmu to determine last image time and alarm state information. The use of this script was a bit overkill and the introduction of user permissions complicated matter slightly so these scripts -now access the shared memory directly. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Shared memory permissions. Following introduction of a user permissions system the previous 777 mode for shared memory was deemed insecure. Consequently from now on shared memory is only accessible from the owner. This - means that zmu will only work when run as root or the web user unless you set it setuid where it should still be secure as it will require authentication. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}All SQL buffers in the C++ code have been enlarged. There was previously an issue with a buffer over -flow on certain occasions. +Y channel bug. When using colour cameras a motion detection problem was present if fast RGB images deltas (ZM_FAST_RGB_DIFFS) was off. This was an overflow error in the calculation of the Y channel and caused excessive image differen +ces to be calculated. This has now been fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +The use of the Term::Readkey perl module in zmaudit.pl has been removed. This module had been removed from zmconfig.pl previously but had lingered in this script. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}A bug was found in zmx10.pl causing a crash if time delayed X10 events were used. This has now been fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Removed use of \lquote zmu\rquote + binary from zmwatch.pl and zmx10.pl. Previously these scripts had used zmu to determine last image time and alarm state information. The use of this script was a bit overkill + and the introduction of user permissions complicated matter slightly so these scripts now access the shared memory directly. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Shared memory permissions. Following introduction of a user permissions system the previous 777 mode for shared memory was deemed +insecure. Consequently from now on shared memory is only accessible from the owner. This means that zmu will only work when run as root or the web user unless you set it setuid where it should still be secure as it will require authentication. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}All SQL buff +ers in the C++ code have been enlarged. There was previously an issue with a buffer overflow on certain occasions. \par {\*\bkmkstart _Toc125043081}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.23.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.13{\*\bkmkend _Toc125043081} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Beta version of several features and fixes, never generally released. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Following a number of requests the .sock file directory is now configurable in zmconfig. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Changed some of the core video calls to be V4L2 compati -ble. This primarily involved opening the video devices and memory maps as read/write and not just read-only. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Shared memory has now been rationalised to prevent some common problems. Remember to shutdown the whole ZM package before installing, from this version on it will remove all old shared memory segments. +Changed some of the core video calls to be V4L2 compatible. This primarily involved opening the video devices and memory maps as read/write and not just read-only. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Shared memory has now been rationalised to prevent some com +mon problems. Remember to shutdown the whole ZM package before installing, from this version on it will remove all old shared memory segments. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed not numeric comparison in zmwatch which was causing, or appeared to be causing, some errors. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed zone image map bug for percentage zones. When you had defined a zone in percentage terms, the im -age map used to select it for editing was broken. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -New contrast/brightness etc adjustments feature. This accessible from the Settings link on the monitor window. It's fairly basic at present but should work for most types of cameras. If y -ou have any device or driver specific auto-brightness, auto-contrast etc enabled the changes you make may appear to work but may be overridden by the auto feature immediately so check for that if your changes do not appear to be having an effect. Also if -you have a number of cameras being multiplexed onto one device then any changes here will probably affect all your cameras. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed zone ima +ge map bug for percentage zones. When you had defined a zone in percentage terms, the image map used to select it for editing was broken. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New contrast/brightness etc adjustments feature. This accessible from the Settings link on the moni +tor window. It's fairly basic at present but should work for most types of cameras. If you have any device or driver specific auto-brightness, auto-contrast etc enabled the changes you make may appear to work but may be overridden by the auto feature imme +diately so check for that if your changes do not appear to be having an effect. Also if you have a number of cameras being multiplexed onto one device then any changes here will probably affect all your cameras. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Some redundant window scrollbars removed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added user and access control. If enabled in config (ZM_OPT_USE_AUTH) then you will need to - define and login as ZM users. There will be one users already defined, with username 'admin' and password 'admin'. This user is defined will full permissions and clicking on the 'Options' link from the main console window will allow you to modify and cre -a -te users with various permission sets which hopefully will satisfy most requirements. These users (except any defined with 'system' edit capability) can be restricted to certain cameras by adding the monitor ids as a comma-separated list (no spaces) to th -e appropriate field. Users limited to specific monitors may not create or delete monitors even if defined with monitor edit permissions. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Some windows now (optionally) use a JavaScript timeout to refresh themselves rather than a refresh header. Since refresh - headers were interrupted if a link of the page was linked there were previously various forced refreshes from child windows to restart the refresh process. By using JS refresh timers which are not interrupted these extraneous refreshes have been mostly e -liminated. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Add +ed user and access control. If enabled in config (ZM_OPT_USE_AUTH) then you will need to define and login as ZM users. There will be one users already defined, with username 'admin' and password 'admin'. This user is defined will full permissions and clic +k +ing on the 'Options' link from the main console window will allow you to modify and create users with various permission sets which hopefully will satisfy most requirements. These users (except any defined with 'system' edit capability) can be restricted +to certain cameras by adding the monitor ids as a comma-separated list (no spaces) to the appropriate field. Users limited to specific monitors may not create or delete monitors even if defined with monitor edit permissions. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Some windows now (optionally) us +e a JavaScript timeout to refresh themselves rather than a refresh header. Since refresh headers were interrupted if a link of the page was linked there were previously various forced refreshes from child windows to restart the refresh process. By using J +S refresh timers which are not interrupted these extraneous refreshes have been mostly eliminated. \par {\*\bkmkstart _Toc125043082}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.24.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.12{\*\bkmkend _Toc125043082} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Mostly bug-fixes with a couple of minor features. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Double first images. Fixed a problem where the first image of an event was being recorded twice. I don\rquote t think this was at the cost of any of the other images but one copy was an extra. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Double first images. Fixed a problem where the first image of an event was being recorded twi +ce. I don\rquote t think this was at the cost of any of the other images but one copy was an extra. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Made zmdc connect more intelligent. On the suggestion of a couple of people I have made the zmdc.pl server spawning and waiting a bit more intelligent. Rather than waiting a fixed (short) amount of time, it now polls every second for a while, stopping - if the connection is made. Thanks to Todd McAnally for the initial suggestion. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Added image view to events lists. Again a partial implementation of a suggested feature. If you click on the score column you will now get a snapshot of the event frame with th -e highest score. This is to enable you to quickly see what the event was about without having to watch the stream or view all the static images. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Make delta times variable precision. A couple of problems had been reported where long events got negative dura -tions. This was due to an overflow in a time difference routine. This had been operating on fixed precision allowing high precision for short deltas. This routine has been changed to allow variable precision and events will now have to be several days lon -g to wrap in this way. +Made zmdc connect more intelligent. On the suggestion of a couple of people I have made the zmdc.pl server spawning and waiting a bit more intelligent. Rather than + waiting a fixed (short) amount of time, it now polls every second for a while, stopping if the connection is made. Thanks to Todd McAnally for the initial suggestion. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added image view to events lists. Again a partial implementation of a suggested feature. + If you click on the score column you will now get a snapshot of the event frame with the highest score. This is to enable you to quickly see what the event was about without having to watch the stream or view all the static images. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Make delta times variab +le precision. A couple of problems had been reported where long events got negative durations. This was due to an overflow in a time difference routine. This had been operating on fixed precision allowing high precision for short deltas. This routine has +been changed to allow variable precision and events will now have to be several days long to wrap in this way. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed round detection problem. Although the existence or otherwise of the \lquote round\rquote function is correctly detected, the appropriate header file with the results of this test was not included which was not helpful. This has been corrected. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Fixed monitor rename bug. Renaming a monitor did not correctly modify the events directory to reflect this. This has now been fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -OPT_MPEG bug. A bug was reported (by Fernando Diaz) where the results of the ZM_OPT_MPEG configuration variable was not correctly imported into the scripts. This now happens as intended. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Fixed zmvideo.pl event length bug. The zmvideo.pl script which is used to generate video MPEG files tries to calculate the correct frame rate based on the length of the event and the numbe -r of frames it contains. Previously it did not take account of the pre and post event frames and so passed a much shorter value to the mpeg encoder than it should. This will only have affected short events encoded with ffmpeg but will have resulted in muc -h faster frame rates than necessary. This has now been corrected to take the whole event length into account. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}OPT_MPEG bug. A bug was reporte +d (by Fernando Diaz) where the results of the ZM_OPT_MPEG configuration variable was not correctly imported into the scripts. This now happens as intended. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed zmvideo.pl event length bug. The zmvideo.pl script which is used to generate video MPEG files +tries to calculate the correct frame rate based on the length of the event and the number of frames it contains. Previously it did not take account of the pre and post event frames and so passed a much shorter value to the mpeg encoder than it should. Thi +s will only have affected short events encoded with ffmpeg but will have resulted in much faster frame rates than necessary. This has now been corrected to take the whole event length into account. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed remote camera memory leak. A memory leak was reported when capturing with remote cameras, this is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Orientation. Added option to rotate or invert captured images for cameras mounted at unusual angles. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Fixed filter bug. A bug in the zmfilter.pl script was detected and reported by Ernst Lehmann. This bug basically meant that events were not checked as often as they should have been and m -any may have been left out for filters that had no time component. The script has now been updated to reflect Ernst\rquote s suggested changes. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed filter bug. A bug in the zmfilter.pl script was detected and reported by Ernst Lehmann. This +bug basically meant that events were not checked as often as they should have been and many may have been left out for filters that had no time component. The script has now been updated to reflect Ernst\rquote s suggested changes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Stylesheet change. Previously the stylesheet didn\rquote t really work very well on Mozilla, Netscape and browsers other than IE. This turned out to be because I was using HTML style comments in there instead of C style ones. This has now been corrected so you should see the correct styles. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zmconfig.pl ReadKey. Thanks to a ridiculously sensible suggestion from Carlton Thomas thi -s module has been removed from zmconfig.pl. Originally Term::ReadKey was in there for funky single character unbuffered input but that has long since disappeared so just regular perl input methods are used now. This removes one of the most irritating feat -ures about ZoneMinder installs. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Z +mconfig.pl ReadKey. Thanks to a ridiculously sensible suggestion from Carlton Thomas this module has been removed from zmconfig.pl. Originally Term::ReadKey was in there for funky single character unbuffered input but that has long since disappeared so ju +st regular perl input methods are used now. This removes one of the most irritating features about ZoneMinder installs. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Delete monitor confirm. Due to some unfortunate accidents by users, attempts to delete monitors will now require confirmation. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Detect linmysqlclient.a. Added better detection script into \lquote configure\rquote top spot when libmysqlclie -nt.a is missing. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Detect linmysqlclient.a. Added better detection script into \lquote configure\rquote + top spot when libmysqlclient.a is missing. \par {\*\bkmkstart _Toc125043083}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.25.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.11{\*\bkmkend _Toc125043083} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Various new features and fixes. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Added stats view \endash - If you have the RECORD_EVENT_STATS directive set and are viewing a still image from an event you can now view the statistics recorded for that frame. This tells you why that - frame triggered or participated in an alarm. This can be useful in tuning the various motion detection parameters and seeing why events occurred. + If you have the RECORD_EVENT_STATS directive set and are viewing a still image from a +n event you can now view the statistics recorded for that frame. This tells you why that frame triggered or participated in an alarm. This can be useful in tuning the various motion detection parameters and seeing why events occurred. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Tabulated events \endash The main events view is now tabulated to look a bit nicer. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New video palette support \endash As -well as the existing greyscale and 24 bit RGB palettes, you can now choose YUV420P and RGB565. Rewrote the palette/colours area a bit to enable support for other palettes in the future if requested. Bear in mind though that YUV palettes are converted into - RGB internally so if you have the choice RGB24 may be faster as it's the 'native' format used within. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added preclusive zones \endash - Added a new zone type, the preclusive zone. For full details see the relevant section above but in brief this is a zone type that if alarmed will actually prevent an alarm. This completes the pantheon of zone types I think. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed Mozilla JavaScript \endash - Various JavaScript functionality did not function on Mozilla, Netscape and other browsers. This is now (hopefully) fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New video palette support \endash + As well as the existing greyscale and 24 bit RGB palettes, you can now choose YUV420P and RGB565. Rewrote the palette/colours area a bit to enable support for other palett +es in the future if requested. Bear in mind though that YUV palettes are converted into RGB internally so if you have the choice RGB24 may be faster as it's the 'native' format used within. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added preclusive zones \endash Added a new zone type, the preclusive zo +ne. For full details see the relevant section above but in brief this is a zone type that if alarmed will actually prevent an alarm. This completes the pantheon of zone types I think. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed Mozilla JavaScript \endash Various JavaScript functionality did not func +tion on Mozilla, Netscape and other browsers. This is now (hopefully) fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Allow image and mpegs to be attached to emails \endash Added new tokens (%EI1%, %EIM% and %EV%) to the filter emails. This allows the first alarm image, most highly scored alarm image and an alarm MPEG to be attached to alarm notification emails. Use %EV% especially with care! \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed possible motion detection bug \endash I found a few double declared local variables left over from the rewrite. This may have affected the motion detection algorithm. Fixed now anyway. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Modified scoring \endash Alarm scoring has been modified to give more gr -anularity for smaller events. This will have the effect of raising the scores for small events while large ones will still be about the same. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Modified scoring \endash + Alarm scoring has been modified to give more granularity for smaller events. This will have the effect of raising the scores for small events while large ones will still be about the same. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed /cgi-bin path problem \endash Previously you could specify the real path to you cgi-bin directory if you have one but not the web path. You can now do both. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Improved video handling in browser \endash The MPEG/video area of the web GUI had been a bit neglected and looked somewhat ugly. This has now been improved to a degree and looks a bit nicer. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added ffmpeg support \endash Histo -rically ZoneMinder has only supported the Berkeley mpeg encoder which was slow and rather limited. ZoneMinder now supports the ffmpeg encoder as well which is much much faster and makes generation of MPEG videos at realistic frame rates more of a reality. - As ffmpeg has so many options and everyone will probably want a different emphasis you can now also specify additional ffmpeg options via zmconfig.pl. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Colourise greyscale image files \endash In past versions, captured greyscale images were stored as JPEG files w -ith a corresponding greyscale colourspace. This saved a small amount of space but meant that mpeg_encode had to do a conversion to encode them, and ffmpeg just fell in a heap. Now you can optionally opt to have greyscale images saved as full 24 bit colour -space images (they still look the same) at the price of a small penalty in CPU and disk but allowing you to easily and quickly create MPEG files. This option is one by default but can be switched off if you do not require any MPEG encoding. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added ffmpeg support \endash + Historically ZoneMinder has only supported the Berkeley mpeg encoder which was slow and rather limited. ZoneMinder now supports the ffmpeg encoder as well which is much much + faster and makes generation of MPEG videos at realistic frame rates more of a reality. As ffmpeg has so many options and everyone will probably want a different emphasis you can now also specify additional ffmpeg options via zmconfig.pl. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Colourise greyscale image files \endash + In past versions, captured greyscale images were stored as JPEG files with a corresponding greyscale colourspace. This saved a small amount of space but meant that mpeg_encode had to do a conversion to encode them, and ffmpeg just fell in +a heap. Now you can optionally opt to have greyscale images saved as full 24 bit colourspace images (they still look the same) at the price of a small penalty in CPU and disk but allowing you to easily and quickly create MPEG files. This option is one by +default but can be switched off if you do not require any MPEG encoding. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fast RGB diffs \endash - Previously ZoneMinder used quite a loose method for calculating the differences between two colour images. This was basically averaging the differences between each of the RGB components to get an overall difference. This is still the default but by sett -i -ng ZM_FAST_RGB_DIFFS to 'no' you can now make it calculate the Y (or brightness value) of the pixels and use the difference between those instead. This will be more accurate and responsive to changes but is may be slower especially on old machines. There -is a slight double whammy here if you have a YUV palette for capture and set this option off as the image will be converted to RGB and then partially converted back to get the Y value. This is currently very inefficient and needs to be optimised. + Previously ZoneMinder used quite a loose method for calculating the differences between two colour images. This was basically averaging the differences between each of + the RGB components to get an overall difference. This is still the default but by setting ZM_FAST_RGB_DIFFS to 'no' you can now make it calculate the Y (or brightness value) of the pixels and use the difference between those instead. This will be more ac +c +urate and responsive to changes but is may be slower especially on old machines. There is a slight double whammy here if you have a YUV palette for capture and set this option off as the image will be converted to RGB and then partially converted back to +get the Y value. This is currently very inefficient and needs to be optimised. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed STRICT_VIDEO_CONFIG \endash Previously this actually behaved the opposite of what it was supposed to, ie. if you wanted it strict it wasn't and vice versa. Thanks to Dan Merillat for pointing this one out. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Web colour change \endash I thought the old red, green and amber t -ext colours were just a bit too gaudy so I've toned them down a bit. Hope you like them! +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Web colour change \endash + I thought the old red, green and amber text colours were just a bit too gaudy so I've toned them down a bit. Hope you like them! \par {\*\bkmkstart _Toc125043084}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.26.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.10{\*\bkmkend _Toc125043084} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Many bug-fixes and major feature enhancements. @@ -2625,129 +2634,131 @@ ext colours were just a bit too gaudy so I've toned them down a bit. Hope you li bug - Fixed a problem with the configure script that didn't detect if the 'round' function was already declared before try to do it itself. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Low event id bug - Fixed bug where events with an id of < 1000 were being cleaned up by zmaudit.pl by mistake. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Source file restructuring - The source files have been broken up and renamed extensively to - support the first stage of the code being straightened out. Likewise the class structure has been rationalised somewhat. The php file names have also changed in some cases so it might be best to delete all your php and css files from the zone minder inst -all directory first as the old ones won't be overwritten and will be left behind. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Sou +rce file restructuring - The source files have been broken up and renamed extensively to support the first stage of the code being straightened out. Likewise the class structure has been rationalised somewhat. The php file names have also changed in some +cases so it might be best to delete all your php and css files from the zone minder install directory first as the old ones won't be overwritten and will be left behind. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Streamed cycle view - The monitor cycle view (the one where each monitor is displayed +sequentially) now supports streams as well as stills. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New \lquote montage\rquote + view - Added a montage view showing all your cameras simultaneously either streaming or stills. The width of this window (in terms of number of monitors) is a configuration option. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Network + camera support - A major change in this version is support for remote or network cameras. This is currently implemented as series of http grabs of stills rather than being able to break up motion jpeg streams. However frame rates of from 2-10 should be a +chievable depending on your network proximity to the cameras. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Streamed cycle view - The monitor cycle view (the one where each monitor is displayed sequentially) now supports streams as well as stills. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}New \lquote montage\rquote view - Added a monta -ge view showing all your cameras simultaneously either streaming or stills. The width of this window (in terms of number of monitors) is a configuration option. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Network camera support - A major change in this version is support for remote or network camera -s. This is currently implemented as series of http grabs of stills rather than being able to break up motion jpeg streams. However frame rates of from 2-10 should be achievable depending on your network proximity to the cameras. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Option BGR->RGB swap - Adde -d the option to switch on or off the inversion of RGB to BGR for local cameras. It is on by default to maintain compatibility with previous releases. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmu suspend alarm option - Added new -n option to zmu to effectively suspend alarm detection for a monitor -. This is intended for short term use and to support PTZ cameras where alarm detection is desired to be suspended while the camera changes orientation or zoom level. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FPS limiting - Added a new option to monitors to add a maximum capture rate. This allows y -ou to limit the amount of hits a network camera gets or to reduce the system load with many cameras. It also works with multi-port cards and limiting the capture rate on one camera allows the spare FPS to be allocated to other devices. For instance with t -w -o cameras and no throttle, I get about 4FPS each. Throttling one to 2FPS allows the other to operate at 6FPS so you can allocate your capture resources accordingly. This limiting can be disabled while alarms are occurring as a global option in zmconfig.pl -. +Option BGR->RGB swap - Added the option to switch on or off the inversion of RGB to BGR for local cameras. It is on by default to maintain compatibility with previous releases. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmu suspend alarm +option - Added new -n option to zmu to effectively suspend alarm detection for a monitor. This is intended for short term use and to support PTZ cameras where alarm detection is desired to be suspended while the camera changes orientation or zoom level. + +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}FP +S limiting - Added a new option to monitors to add a maximum capture rate. This allows you to limit the amount of hits a network camera gets or to reduce the system load with many cameras. It also works with multi-port cards and limiting the capture rate +o +n one camera allows the spare FPS to be allocated to other devices. For instance with two cameras and no throttle, I get about 4FPS each. Throttling one to 2FPS allows the other to operate at 6FPS so you can allocate your capture resources accordingly. Th +is limiting can be disabled while alarms are occurring as a global option in zmconfig.pl. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Alarm reference update - Added option to not blend alarmed images into the reference image. See the help in zmconfig.pl for caveats. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Disappearing monitors - Fixed the disappearing monitor problem in the console view where monitors with no events were randomly not being shown. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Disappearing monitors - Fixed the +disappearing monitor problem in the console view where monitors with no events were randomly not being shown. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Clean and tidy - Cleaned up a load of compiler warnings and miscellanea to ensure a cleaner happier build. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Streamed image headers - Made all headers in streamed images have full CRLF termination which will hopefully now prevent the problems with broken streams that had existed mostly with Mozilla (and hopefully won't break anything else). +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Streamed image headers - Made all heade +rs in streamed images have full CRLF termination which will hopefully now prevent the problems with broken streams that had existed mostly with Mozilla (and hopefully won't break anything else). \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Expire streams - Added expiry headers to streamed images so they will always display fully. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Event navigation - Added next, prev, delete & next, delet -e & prev navigation to events to allow you to quickly review events in sequence as had been requested by a number of people. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Event navigation - Added next, prev, delete & next, delete & prev navigation to events to allow you to quickly review events in sequence as had been requested by a number of people. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}USR blocking \endash The debug USR signals were not being blocked properly leading to nasty effects in zmc mostly. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmfilter execution \endash P -reviously zmfilter execution was not synchronised with the monitor state or the analysis daemon leading to it sometimes being run unnecessarily. From now on the zmfilter process will only run when a monitor is active and so actually potentially generating - alarms. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmfilter execution \endash + Previously zmfilter execution was not synchronised with the monitor state or the analysis daemon leading to it sometimes being run unnecessarily. From now on the zmfilte +r process will only run when a monitor is active and so actually potentially generating alarms. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}zmdc short statuses \endash Removed the logging of the short status values that zmdc.pl returns to it\rquote s clients which had been clogging up the log file. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Bugs and pieces - Fixed various bug(ettes) that I came across that that I don't think had been report -ed or noticed so I don\rquote t think we need to talk about them here do we. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Bugs and piec +es - Fixed various bug(ettes) that I came across that that I don't think had been reported or noticed so I don\rquote t think we need to talk about them here do we. \par {\*\bkmkstart _Toc125043085}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.27.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.9{\*\bkmkend _Toc125043085} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Mainly bug-fixes and minor feature enhancements. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Added zmu -q/--query option - There is now a new query option for zmu. When combined with -d it gives the config of the dev -ice and when used with -m it dumps the current settings for the monitor and zones. Mostly useful for bug reporting. The previous version of zmu used with just -d gave this information for a video device by default. This now requires the -q option also to -bring into line with it's -m equivalent. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Added zmu -q/--query option - There + is now a new query option for zmu. When combined with -d it gives the config of the device and when used with -m it dumps the current settings for the monitor and zones. Mostly useful for bug reporting. The previous version of zmu used with just -d gave +this information for a video device by default. This now requires the -q option also to bring into line with it's -m equivalent. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Added creation of events directory - Previously the 'events' directory was not created on install, this has been fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Can now retag PHP files if necessary - Version 0.9.8 was the first version to use short_open_tag -s in the PHP files. This caused grief to some people so this script will put them back to the long verion. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Can now +retag PHP files if necessary - Version 0.9.8 was the first version to use short_open_tags in the PHP files. This caused grief to some people so this script will put them back to the long verion. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Frame and event lengths fractional - A new field has been add +ed to the Frames table. This is 'Delta' and is a fractional number of seconds relative to the event start time. This is intended to support the real-time playback of events rather than just 'as fast as possible' or with a configured delay as at present. T +he event length is now also fractional. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Frame and event lengths fractional - A new field has been added to the Frames table. This is 'Delta' and is a fractional number of seconds relative t -o the event start time. This is intended to support the real-time playback of events rather than just 'as fast as possible' or with a configured delay as at present. The event length is now also fractional. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Corrected extraneous Width to be Height - The las -t version of zmu included a Width comment which should have been height. +Corrected extraneous Width to be Height - The last version of zmu included a Width comment which should have been height. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Changed colour depth to bits - Having colour depths expressed in bytes has caused no end of pro +blems. This is now changed to be bits and can be changed via a dropdown to limit what can be entered. Don't forget to run the zmalter script to update your DB. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Renamed terminate to zm_terminate - The use of 'terminate' in zmc.cpp caused a conflict on some +systems so renamed it to something more specific. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Changed colour depth to bits - Having colour depths expressed in bytes has caused no end of problems. This is now changed to be bits and can be changed via a dropdown to limit what can be entered. Don't forget to run the zmalter script to update your DB. - +Zone deletion problem - A problem was found such that when deleting zones the appropriate daemons were not being asked to restart daemons correctly. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Console changes - The current version number is now displ +ayed in the console. A refresh button has also been added along with a minor reorg. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Renamed terminate to zm_terminate - The use of 'terminate' in zmc.cpp caused a conflict on some systems so renamed it to something more specific. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zone deletion problem - A problem was -found such that when deleting zones the appropriate daemons were not being asked to restart daemons correctly. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Console changes - The current version number is now displayed in the console. A refresh button has also been added along with a minor reorg. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Adde -d delete button enable to checkAll - Using the 'Check All' button in the main monitor window previously did not enable the delete button. This is now fixed. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Reload on click - In previous versions the console window would reload if a monitor window for exam -ple was clicked. Thsi was removed in the last version which meant that sometimes the console never go refreshed as it's timing loop was broken. This functionality has now been reinstated. +Added delete button enable to checkAll - Using the 'Check All' button in the main monitor window previously did not enable the delete button. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Reload on c +lick - In previous versions the console window would reload if a monitor window for example was clicked. Thsi was removed in the last version which meant that sometimes the console never go refreshed as it's timing loop was broken. This functionality has +now been reinstated. \par {\*\bkmkstart _Toc125043086}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.28.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.8{\*\bkmkend _Toc125043086} \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Several new features and bug-fixes \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Upgrade note - If y -ou have installed 0.9.7 and wish to save your configuration then copy your existing zmconfig.txt file over to your 0.9.8 directory and before running zmconfig.pl. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added multiple options to zmu - You can now give multiple options to zmu and get all the resp -onses at once. However this is currently in a deterministic order and not related to the order you give them. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 +Upgrade note - If you have installed 0.9.7 and wish to save your configuration then copy your existing zmconfig.txt file over to your 0.9.8 directory and before running zmconfig.pl. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added + multiple options to zmu - You can now give multiple options to zmu and get all the responses at once. However this is currently in a deterministic order and not related to the order you give them. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added -v/--verbose option to zmu - Zmu has been made more +human friendly though it still remains primarily for daemon use. Giving the -v or --verbose option prints out a bit more as a response to each command. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Add -d/--device to zmu - This option is designed to allow you to get your video device working with anot +her application such as xawtv and then use zmu -d to print out the settings it\rquote s using \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Added -v/--verbose option to zmu - Zmu has been made more human friendly though it still remains primarily for daemon use. Giving the -v or --verbose option prints out a bit more as a response to each command. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Add -d/--device to zmu - This option is designed to allow you to get your video device working with another application such as xawtv and then use zmu -d to print out the settings it\rquote s using -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}( -especially with the -v option). These options can then be used as a starting point for your ZoneMinder configuration. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Added FPS in status field - The status field in the web monitor views now contains an FPS setting as well as the status. +(especially with the -v option). These options can then be used as a starting point for your ZoneMinder configuration. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added FPS in status field - The status field in th +e web monitor views now contains an FPS setting as well as the status. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zmconfig changes - zmconfig handles missing options better and rewrites config file even in non-interactive mode. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed config problems in zmcfg.h - Some config was not being set up correctly in zmcfg.h. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zmwatch now works on image delay and not fps - Previously the zmwatch - daemon detected capture daemon failure by trying to use the FPS setting. This was imprecise and prone to false readings. It now uses the time delay since the last captured image. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added zmpkg.pl and zm scripts - There are now two new scripts. zmpkg.pl is i -n charge of starting and stopping ZoneMinder as a whole package and zm is designed to be (optionally) installed into your init.d directory to use ZoneMinder as a service. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed bug in Scan mode - The monitor cycle or scan mode had stopped working properly -due to images not being generated. This is now fixed. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Revamped the console window slightly - The console window has now been reformatted slightly to give more and better information including server load. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added email and messaging to filters - Filters now -allow you to send emails or messages (basically just short emails intended for mobile devices) on alarms. The format and possible content for these emails is in zmconfig_eml.txt and zmconfig_msg.txt. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Made zmdc more aggresive in killing old processes - The -zmdc.pl daeamon will now kill any ZoneMinder processes it finds on startup or shutdown to prevent orphans from being left around. +Zmwatch now works on image delay and not fps - Previously the zmwatch daemon detected capture daemon failure by trying to use the FPS setting. This was imprecise and prone to false readings. It now uses the time delay since the last captured image. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Configuration changes - Previously there were a lot of files generated by configure. Now only zmconfig.pl is generated this way and all the other configuration files are created by zmconfig.pl (from .z files) to centralise configuration more. +Added zmpkg.pl and zm scripts - There are now two new scripts. zmpkg.pl is in charge of starting and stopping ZoneMinder as a whole package and zm is designed to be (optionally) installed into your init.d directory to use ZoneMinder as a service. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Fixed bug in Scan mode - The monitor cycle or scan mode had stopped working properly due to images not being generated. This is now fixed. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Revamped the console window slightly - The console window has now been reformatted slightly to give more and bette +r information including server load. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Added email and messaging to filters - Filters now allow you to send emails or messages (basically just short emails intended for mobile devices) on alarms. The format and possible content for these emails is in zmconfig_eml.txt and zmconfig_msg.txt. + +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Made zmdc more aggresive in killing old processes - The zmdc.pl daeamon will now kill any ZoneMinder processes it finds on startup or shutdown to prevent orphans from being left around. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Configuration changes - Previously the +re were a lot of files generated by configure. Now only zmconfig.pl is generated this way and all the other configuration files are created by zmconfig.pl (from .z files) to centralise configuration more. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Fixed cambolzola opt bug - There was a bug in the Cambozola options, I can't remember what it was but it's fixed! -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Retaint arguments in zmdc -.pl - In some installations zmdc was complaining about tainted arguments from the socket. These are now detainted prior to sending and after receiving. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Forced alarms - You can now force alarms when looking at the monitor window should anything catch your a -ttention. You have to remember to switch them off as well though. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Retaint arguments in zmdc.pl - In some installations zmdc was complaining about tainted arguments from the socket. These are now detainted prior to sending and after receiving. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Forced alarms - +You can now force alarms when looking at the monitor window should anything catch your attention. You have to remember to switch them off as well though. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Looser video configuration - Some video configuration errors can now be ignored via the STRICT_VIDEO_CONFIG option. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitor window refresh on alarm - When the monitor window is active and an - alarm has occurred the most recent alarms list is immediately refreshed to show it. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} +Monitor window refresh on alarm - When the monitor window is active and an alarm has occurred the most recent alarms list is immediately refreshed to show it. \par {\*\bkmkstart _Toc125043087}{\listtext\pard\plain\s2 \b\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446\charrsid3617542 \hich\af1\dbch\af0\loch\f1 12.29.\tab}}\pard\plain \s2\ql \fi-432\li435\ri0\sb240\sa120\keepn\nowidctlpar \tx723\nooverflow\faroman\ls14\ilvl1\outlinelevel1\rin0\lin435\itap0\pararsid3617542 \b\f1\fs24\ul\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446\charrsid3617542 Release 0.9.7{\*\bkmkend _Toc125043087} -\par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Yes, a big jump in release number but a lot of changes too. Now somewhat more mature, not really an alpha any more, and a lot of bugs fixed too. +\par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Yes, a big jump in release number but a lot of changes too. Now somew +hat more mature, not really an alpha any more, and a lot of bugs fixed too. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid15794850 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Added zmconfig.pl script to help with configuration. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Revamped to work better with configure scripts -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Monitors now have more configuration options, including some that were statically defined before such as location and format of the image timestamps. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Monitors now have more configuration options, including some that were statical +ly defined before such as location and format of the image timestamps. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Removed Alarms table from schema as not required, never was actually... \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added a number of new scripts, see the scripts directory -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Added Fast delete to PHP files. This allows the web interface to only delete the event entries themselves for speed and then have the zmaudit script periodically tidy up the rest. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added Fast delete to PHP files. This allows the web inte +rface to only delete the event entries themselves for speed and then have the zmaudit script periodically tidy up the rest. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Added event filter to enable bulk viewing, upload or deletion of events according to various attributes. Filter can be saved and edited. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Added last event id to shared memory for auto-filtering etc. @@ -2777,47 +2788,44 @@ Added event filter to enable bulk viewing, upload or deletion of events accordin \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Seeing as ZoneMinder is so young and has kind of evolved rather than being planned there are a bunch of improvements and enhancements still to do, here is just a sample. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3617542 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Perhaps split out devices - I think devices should probabl -y be a separate table and class from monitors. Not critical but would represent a better model. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Comments - Needs many more, but that's just me I'm hopeless at commenting things out. I'll get round to it soon though honest! You're lucky to even get this document. +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3617542 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 +Perhaps split out devices - I think devices should probably be a separate table and class from monitors. Not critical but would represent a better model. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Comments - Needs many more, but that's just me I'm hopeless at commentin +g things out. I'll get round to it soon though honest! You're lucky to even get this document. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} Optimised zones - The zones could do with being sorted out a bit to optimise the processing of overlapping ones, at the moment you can waste resource unless your zones are kept very tidy. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Create zones using server side image maps - This would make i -t easier to precisely define and see where your zone is going to go. Not critical but handy but a bugger to do. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Zone Definitions - Allow zones to be defined according to a colour coded bitmap or as polygons. Currently all zones are rectangular this would a -dd a bit of flexibility. Would need a bit of a rewrite though. This will incur a slight penalty on startup and a very slight one on processing for all reasonably shaped zones. Work has already begun on this feature. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Mouseover help - A bit more help popping - up when you mouseover things would be handy. A bit more help full stop actually. +Create zones using server side image maps - This would make it easier to precisely define and see where your zone is going to go. Not critical but handy but a bugger to do. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Zone Definitions - Allow zones to be defined according t +o a colour coded bitmap or as polygons. Currently all zones are rectangular this would add a bit of flexibility. Would need a bit of a rewrite though. This will incur a slight penalty on startup and a very slight one on processing for all reasonably shape +d zones. Work has already begun on this feature. \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Automatic device configuration - Video 4 Linux supports various device queries, it should be possible to get most of the device capability information from the device itself. The zmu utility does this now but it's not yet integrated into the web pages. - -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Extend the API. Well ok it's not really got an API yet but the image data is held in shared memory in a very simple format. In theory you could use the capture daemon to gab the - images and other things could read them from memory or the analysis daemon could read images from elsewhere. Either way this should be done through an API, and would need a library I think. Also the zmu utility could probably do a whole lot more to enabl -e other things to manage when the daemons become active etc. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Allow ZoneMinder to 'train' itself by allowing the user to select events that are considered important and to discard those that should be ignored. ZoneMinder will interpolate, add a bit of magic, - and recommend settings that will support this selection automatically thereafter. The hooks for this are already in to some extent. -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -Add sound support to allow a captured audio channel to be associated with a video device. Work on this feature has already begun. +Mouseover help - A bit more help popping up when you mouseover things would be handy. A bit more help full stop actually. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Automatic device configuration - Video 4 Linux supports various device queries, it sho +uld be possible to get most of the device capability information from the device itself. The zmu utility does this now but it's not yet integrated into the web pages. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Extend the API. Well ok it's not really got an API yet but the image data is held in shar +ed memory in a very simple format. In theory you could use the capture daemon to gab the images and other things could read them from memory or the analysis daemon could read images from elsewhere. Either way this should be done through an API, and would +need a library I think. Also the zmu utility could probably do a whole lot more to enable other things to manage when the daemons become active etc. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Allow ZoneMinder to 'train' itself by allowing the user to select events that are considered important and t +o discard those that should be ignored. ZoneMinder will interpolate, add a bit of magic, and recommend settings that will support this selection automatically thereafter. The hooks for this are already in to some extent. +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}Add sound support to allow a captur +ed audio channel to be associated with a video device. Work on this feature has already begun. \par {\listtext\pard\plain\s1 \b\fs28\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446 \hich\af1\dbch\af0\loch\f1 14.\tab}}\pard\plain \s1\ql \fi-454\li454\ri0\sb240\sa240\keepn\nowidctlpar\nooverflow\faroman\ls14\outlinelevel0\rin0\lin454\itap0\pararsid15794850 \b\f1\fs28\ulth\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 \page {\*\bkmkstart _Toc125043090}Bugs {\*\bkmkend _Toc125043090} \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar \jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3617542 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -When opening a link to an event etc from a notification email the window that is opened is just a regular browser window and not in the context of a proper ZoneMinder web interface. Thus it comes up too big usually (not a major issue) and also - things like 'Delete' don't work as it wants to do things to its parent (which is more of a major issue). -\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab} -The .sock files used by the *nix sockets I suspect may have the odd permission issue now and again. I think everything recovers from it but it needs checking out. +When opening a link to an event etc from a notification email the window that is opened is just a regular browser window and not in the context of a proper + ZoneMinder web interface. Thus it comes up too big usually (not a major issue) and also things like 'Delete' don't work as it wants to do things to its parent (which is more of a major issue). +\par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}The .sock files used by the *nix sockets I suspect may have th +e odd permission issue now and again. I think everything recovers from it but it needs checking out. \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Probably bucket loads more, just fire them at me. \par {\listtext\pard\plain\s1 \b\fs28\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446 \hich\af1\dbch\af0\loch\f1 15.\tab}}\pard\plain \s1\ql \fi-454\li454\ri0\sb240\sa240\keepn\nowidctlpar\nooverflow\faroman\ls14\outlinelevel0\rin0\lin454\itap0\pararsid15794850 \b\f1\fs28\ulth\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 \page {\*\bkmkstart _Toc125043091}Non-Bugs {\*\bkmkend _Toc125043091} \par {\listtext\pard\plain\s25 \fs20\lang2057\langfe1033\loch\af2\hich\af2\dbch\af0\langfenp1033\insrsid475446 \hich\af2\dbch\af0\loch\f2 o\tab}}\pard\plain \s25\qj \fi-360\li360\ri0\sa180\nowidctlpar -\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3617542 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 -Yes, those are tabs in the indents; I like tabs so don't go changing them to spaces please. Also, yes I like my opening braces on their own line most of the time, what's the point of brackets that don't line up? +\jclisttab\tx360\tx720\nooverflow\faroman\ls10\rin0\lin360\itap0\pararsid3617542 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Yes, those are tabs in the indents; I like tabs so don't go changing them to spaces please. Als +o, yes I like my opening braces on their own line most of the time, what's the point of brackets that don't line up? \par }\pard\plain \s18\qj \li0\ri0\sa180\nowidctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 Everything else that isn't definitely broken is probably deliberate, or was once anyway. \par {\listtext\pard\plain\s1 \b\fs28\lang2057\langfe1033\loch\af1\hich\af1\dbch\af0\langfenp1033\insrsid475446 \hich\af1\dbch\af0\loch\f1 16.\tab}}\pard\plain \s1\ql \fi-454\li454\ri0\sb240\sa240\keepn\nowidctlpar\nooverflow\faroman\ls14\outlinelevel0\rin0\lin454\itap0\pararsid15794850 \b\f1\fs28\ulth\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\insrsid475446 \page {\*\bkmkstart _Toc125043092}License diff --git a/README b/README.txt old mode 100644 new mode 100755 similarity index 99% rename from README rename to README.txt index c4a4406cb..d4bd25f59 --- a/README +++ b/README.txt @@ -1,4 +1,4 @@ - 14/01/06 ZoneMinder v1.22.0 README 1 + 15/01/06 ZoneMinder 1.22.0 README 1 @@ -2896,11 +2896,13 @@ compatibility checking including checks for required and optional perl modules. o FEATURE - All libjpeg output is now trapped and handled as regular format debug. -o FEATURE - Some jpeg data is cached on first use instead -of being regenerated each time. This should speed up jpeg -handling to some degree. -o FEATURE - Event data can be optionally saved to COM -fields in the jpeg file header. +o FEATURE - Some jpeg data is cached on first use instead + of being regenerated each time. This should speed up jpeg + handling to some degree. + +o FEATURE - Event data can be optionally saved to COM + fields in the jpeg file header. + o FEATURE - A system summary command has been added to zmu. o FEATURE - Filtering can now be done on the event id field. @@ -3019,6 +3021,8 @@ o FIX - A problem with brackets in filters has been fixed. o FIX - The console view previously could spawn instances of zmdc.pl when ZM wasn't running. This has now been corrected. +o FIX - The console view has been optimised to speed up +display by up to a factor of ten. o FIX - Scaling of stills event views has now been rationalised to not ever be smaller than 100% as the image is always sent at at least this resolution.