diff --git a/docs/CHANGES b/docs/CHANGES index 054e24300..26895fcc2 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -1,3 +1,29 @@ +======================== +Changes Ariadne 9.3 +======================== +This release is mainly targeted on bug fixes and performance improvements + +Bug fixes +- fix various issues in cache validity calculation +- bug fixes in the workspace store +- fixes mod_captcha gd detection +- specify MySQL database engine instead of letting MySQL pick one +- on store upgrade, also add/modify indexes +- windows compatibility in the default settings for ariadne +- offset calculations in the backend when there is a scroll offset +- pinp parser bug + +performance improvements: +- speed up password check for the user public by hardcoding the result +- make find work with large result sets, switch export to use this new behaviour +- specify MySQL database engine instead of letting MySQL decide + +======================== +Changes Ariadne 9.2 +======================== + +- fix for call_super and ar::callSuper() + ======================== Changes Ariadne 9.1 ======================== diff --git a/lib/modules/mod_filestore.phtml b/lib/modules/mod_filestore.phtml index 627087cb9..503a61d84 100644 --- a/lib/modules/mod_filestore.phtml +++ b/lib/modules/mod_filestore.phtml @@ -440,18 +440,18 @@ public function make_path($id, $name="", $write=false) { // calculate path based on $id and $name $path=$this->root; - if (!file_exists($path) && $write) { + if ($write && !file_exists($path) ) { @mkdir($path, DIRMODE); // Supress error, can trigger with race condition. } while ($id) { $next=floor($id/PATHTICLESIZE); $part=$id%PATHTICLESIZE; $path.="/$part"; - if (!file_exists($path) && $write) { - @mkdir($path, DIRMODE); // Supress error, can trigger with race condition. - } $id=$next; } + if ($write && !file_exists($path)) { + @mkdir($path, DIRMODE, true); // Supress error, can trigger with race condition. + } $path.="/"; if ($name) { $path.="_$name"; diff --git a/lib/modules/mod_wkhtmltopdf.php b/lib/modules/mod_wkhtmltopdf.php index 9547cec0b..94617c61d 100644 --- a/lib/modules/mod_wkhtmltopdf.php +++ b/lib/modules/mod_wkhtmltopdf.php @@ -121,6 +121,7 @@ public function setOption($name, $value = null) { case 'ignore-load-errors': case 'lowquality': case 'no-background': + case 'print-media-type': $this->options[ $name ] = true; break; case 'copies': diff --git a/lib/stores/axstore.phtml b/lib/stores/axstore.phtml index e4736d424..c76406f91 100644 --- a/lib/stores/axstore.phtml +++ b/lib/stores/axstore.phtml @@ -65,12 +65,8 @@ class axstore { $this->ofile=fopen($this->tempdir."/objects.data", "rb"); if ($this->ofile) { $currentoffset=ftell($this->ofile); - while ($rline=fgets($this->ofile, 8192)) { + while ($rline=fgets($this->ofile)) { $line=trim($rline); - while (strlen($rline)==8192-1) { - $rline=fgets($this->ofile, 8192); - $line.=trim($rline); - } $data=explode("&", $line); if (sizeof($data)>=7) { $class = $data[1]; @@ -110,7 +106,7 @@ class axstore { // read nodes data $fp_nodes=fopen($this->tempdir."/nodes.data", "rb"); if ($fp_nodes) { - while ($data=fgets($fp_nodes, 3000)) { + while ($data=fgets($fp_nodes)) { $data=explode("&", $data); $node=new object; $node->path=$data[0]; @@ -731,11 +727,7 @@ class axstore { function _load_object_data($object) { if ($object && !$object->data) { fseek($object->storage->fp, $object->storage->offset); - $rline=fgets($object->storage->fp, 3000); - while (strlen($rline)==3000-1) { - $line.=$rline; - $rline=fgets($object->storage->fp, 3000); - } + $rline=fgets($object->storage->fp); $line.=$rline; if ($line && sizeof($fdata=explode("&", $line))) { @@ -792,13 +784,8 @@ class axstore { while (list($path, $node)=each($this->nodes)) { if (!$node->object->written_to_file) { fseek($node->object->storage->fp, $node->object->storage->offset); - $temp_line=fgets($node->object->storage->fp, 3000); + $temp_line=fgets($node->object->storage->fp); $object_line=trim($temp_line); - while (strlen($temp_line)==3000-1) { - $temp_line=fgets($node->object->storage->fp, 3000); - $object_line.=trim($temp_line); - } - $object_line.="\n"; $node->object->written_to_file=true; diff --git a/lib/version.php b/lib/version.php index 2d190bf8c..2382a9acc 100644 --- a/lib/version.php +++ b/lib/version.php @@ -1,5 +1,5 @@ error) { showCompilerError($compiler, $path.$file); } else { - $templateStore->write($pinp_code_compiled_new,$objectID,$templateName); - $templateCode = $templateStore->templateCodeFunction($objectID, $templateName); + $templateCode = $templateStore->templateCodeFunction($pinp_code_compiled_new); $optimized = ''; $templateStore->write($optimized, $objectID, $templateName.".inc"); } diff --git a/www/install/upgrade/upgrade.php b/www/install/upgrade/upgrade.php index 85917ff18..1edbaa55a 100644 --- a/www/install/upgrade/upgrade.php +++ b/www/install/upgrade/upgrade.php @@ -208,11 +208,6 @@ "newversion" => "9.0" )); case '9.0-rc2.1': - array_push($todo, array( - "description" => "Bumping revision to 9.0", - "operation" => "all/dummy.php", - "newversion" => "9.0" - )); case '9.0': array_push($todo, array( "description" => "Updating properties with scope, adding new properties", @@ -220,18 +215,27 @@ "newversion" => "9.1-rc1.1" )); case '9.1-rc1.1': + case '9.1-rc1.2': + case '9.1': + case '9.2': + array_push($todo, array( + "description" => "Updating properties, adding new properties", + "operation" => "9.1/upgrade.database.php", + "newversion" => "9.3-rc1" + )); + case '9.3-rc1': array_push($todo, array( "description" => "Update libraries for muze and vedor", "operation" => "all/upgrade.muze.libs.php", - "newversion" => "9.2" + "newversion" => "9.3" )); - case '9.1-rc1.2': - case '9.1': + /* for future use array_push($todo, array( "description" => "Bumping revision to 9.2", "operation" => "all/dummy.php", "newversion" => "9.2" - )); + )); + */ }