Newer
Older
.. ==================================================
.. ==================================================
.. --------------------------------------------used to the update the records specified ------
.. Best Practice T3 reST: https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingReST/CheatSheet.html
.. Reference: https://docs.typo3.org/m/typo3/docs-how-to-document/master/en-us/WritingReST/Index.html
.. Italic *italic*
.. Bold **bold**
.. Code ``text``
.. External Links: `Bootstrap <http://getbootstrap.com/>`_
.. Internal Link: :ref:`downloadButton` (default url text) or :ref:`download Button<downloadButton>` (explicit url text)
.. Admonitions
.. .. note:: .. important:: .. tip:: .. warning::
.. Color: (blue) (orange) (green) (red)
..
.. Definition:
.. some text becomes strong (only one line)
.. description has to indented
.. -*- coding: utf-8 -*- with BOM.
.. include:: Includes.txt

Carsten Rose
committed
Date: <date>

Carsten Rose
committed
Version 23.1.0
--------------
Date: 05.01.2023
Features
^^^^^^^^
* #6250 / Enhance layout subrecord.
* #10003 / Fieldset: stronger visualize group.
* #15036 / FormElement subrecord summary additional row(s).
* #15154 / FormElement input check via regexp: trim whitespace before regexp.
Bug Fixes
^^^^^^^^^
* #14305 / Bug "No form found with this id".
* #14997 / Tablesorter: Filter value shown but no effect after 'Browser Back'
* #15191 / Broken datepicker in template group.
* #15214 / Inline report save history.
* #15229 / Typeahead and qfq-clear-me will be initialized after adding new fields.
* #15230 / Set own button class for dropdown.
* #15314 / FE & BE Email now filled in 'sipForTypo3Vars' and therefore available in API calls.
* #15316 / config.baseUrl might be overwritten if no scheme or multiple urls are given.
* Doc: Fix missing ! in doc: sqlValidate. Fix index undefined htmlAllow. Fix filemtime() Warning.
* Fixed date to datetime convert bug.
* Fixed error coming from typeahead when array is empty.
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Version 22.12.1
---------------
Date: 18.12.2022
Notes
^^^^^
* New Button Sizes: btn-tiny, btn-small.
* Caching for on the fly rendred files (PDF, Excel, ZIP).
* Inline Report edit saves history to T3.
Features
^^^^^^^^
* #5715 / Caching for on the fly rendred files (PDF, Excel, ZIP).
* #6250 / Enhance form layout: a) Subrecord, b) Subrecord-Title
* #9927 / Do QFQ Update (config, table defintion) only if there is a BE user logged in the current session.
* #12503 / Detect likely unwanted UPDATE statement with missing WHERE.
* New Button Sizes: btn-tiny, btn-small
Bug Fixes
^^^^^^^^^
* #14305 / Inline Report edit saves history to Typo 3.
* #14506 / Tablesorter: after form close, already defined filter criteria in tablesorter will be applied.
* #15188 / Clean up config to T3 parameter.
* #15193 / No form found with this id error in MultiDB Setup.
* #15206 / Form Save: Internal Error in MultiDB Setup.
* Fix Doc: latest CCS/JS includes.
Date: 11.12.2022
Notes
^^^^^
* Customable list of FE names that won't be logged to SubmitFormLog. Default is 'password'. List of FE can be customized
per QFQ installation and/or per form.
* Subrecord:
* Dynamically computed 'new' button in subrecord: FE.parameter.new. Use regular `... AS _link` syntax.
* Per row customizeable edit and delete button. Use special column name `_rowEdit` and `_rowDelete`. Use regular `... AS _link` syntax.
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
* Link/Tablesorter: New link qualifier `|Y:...` which is invisible to the user, but will be respected by tablesorter and filter.
* Link: Text before and/or after a link - `|v:...|V:...`. Example: if fbeg/fend (</td>) is used and there should be more
than one link inside::
'p:{{pageAlias:T}}|t:Reload 1|v:<td>Some text before |V: - ' AS '_link|_noWrap',
'p:{{pageAlias:T}}|t:Reload 2|V:</td>' AS '_link|_noWrap'
* QFQ Config option: forceSmtpSender - force sendmail to use specified sender address.
Features
^^^^^^^^
* #8187 / Subrecord: Dynamically computed subrecord 'new' button. Per row customizeable edit and delete button.
* #11892 / Link/Buttons in HTML table column sort/filterable via tablesorter. Qualifier 'Y:...'.
* #13945 / Link/Buttons: Text before and after link.
* #14320 / TinyMCE: htmlAllow parameter - client and serverside check. Removes not allowed html tags.
* #15075 / New QFQ config sendmail configuration: forceSmtpSender
* #15111 / Special column name: _saveZip. Save zip on server.
* Documentation-develop/*.md: CONFIG.md, Reformat
* Fix undefined index in SendMail.php. Show message 'forceSmtpSender is active' in catch all mail. Skip forcing sender
address in redirectAll mode.
Bug Fixes
^^^^^^^^^
* #8891 / doNotLogColumn: list of FE.name in qfq config and/or form parameter. Value of such column will be logged as
'*hide in log*'. List default is 'password'.
* #13716 / Mask typed password: Added new (local) font file.
* #14245 / After change via datetimepicker form save button keeps disabled.
* #14303 / Datetime broken with picker
* #14323 / Render mode: Fixed unit test.
* #15014 / (Again) Excel Import: fix import of regions.
* #15026 / Multiple checkbox dynamic update not working correctly.
* #15027 / Excel Export error when BE user is logged in.
* #15028 / Encryption with special column name broken.
* #15079 / Dynamic Update / Readonly: lost value
* #15090 / typeahead: fixed bug with given empty array.
* #15091 / Hidden FormElement: After save, value in typeahead input will be refreshed with actual data. Usability
of processReadOnly is given even when dynamic update is active. Jquery serialize caused problems with checkbox setup.
Version 22.11.0
---------------
Date: 27.11.2022
Features
^^^^^^^^
* #15075 / sendmail: special option forceSmtpSender
Bug Fixes
^^^^^^^^^
* #11325 / SQL CALL() - insert() and select() should be supported now.
* #14622 / FormElement `unexpected error` on save.
* #15005 / TypeAhead Dynamic Update Mode Hidden to Required
* #15014 / Excel import broken if multiple regions defined.
* #15048 / STORE_USER broken.
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
Version 22.10.1
---------------
Date: 24.10.2022
Notes
^^^^^
* Migration of existing Typo3 V9 to V10: Check #12584, #12440
Features
^^^^^^^^
* #12584, #12440 / Typo3 V10 Migration Script Replace Alias Patterns
* #14738 / Datetimepicker: verify various setups
* #14802 / DateTime own class and unit tests
* Add doc to table vertical column via CSS,
* Add qfq-badge-* to doc
Bug Fixes
^^^^^^^^^
* #14618 / Changed logic behind getting first value from array (check for typeahead array was already given but was
placed after the checkForEncryptedValue function). No exception possible. Function name changed to generic. Added new
function is_multi_array to check if array is multidimensional and return true or false.
* #14736 / Datetimepicker: FormElement.parameter.dateFormat - required.
* #14755 / Fix for typeahead problem in t3 v9 and higher. Typeahead url will be setup same as save.php. Results to an absolute path.
* #14813 / Report: dbIndex - missing per level definition
* #14844 / Fixed bug of no working dynamic update and empty output in Form Store with Datetimepicker.
* #14857 / String expected, array given.
* #14885 / Fabric zoom problem.
Version 22.10.0
---------------
Date: 04.10.2022
Notes
^^^^^
* TinyMCE Feature "upload images via drag'n'drop" now supported.
Features
^^^^^^^^
* #14813 / Report: dbIndex - missing per level definition
* #12474 / Check BaseConfigURL if it is given and the the last char is '/'
* #12452 / baseUrl: add automatically '/' at end
* #10782 / Tiny MCE: Image Upload & Image drag'n'drop
Bug Fixes
^^^^^^^^^
* #14803 / MultiDB (different DB hosts): broken 'show table definition' in FormEditor -
* #14791 / datetimepicker: undefined index: timeParts[2]
* #14619 / Added note to missed bug fix.
* #12630 / Added code commentary. Reformatted code. getUniqueFileName function changed. New logFileMessages implemented.
* #14463 / llow statusbar (resize button included) to show as default.
* #14455 / Drag and drop triggers record lock.
* #13818 / htmlspecialchars_decode() - expects parameter 1 to be string, array given
Version 22.9.2
--------------
Date: 22.09.2022
Features
^^^^^^^^
* #12630 / dateTimePicker refactored. Mode: 'qfq', 'browser', 'no'. Default: 'qfq'
* Add release notes to update UZH CD to latest version and to remove QFQ JS/CSS includes from custom typoscript template.
Bug Fixes
^^^^^^^^^
* #14619 / dateTimePicher: missing popup on first click, record not dirty
Version 22.9.1
--------------
Date: 18.09.2022

Carsten Rose
committed
Notes
^^^^^
In 22.5.0 CodeMirror has been implemented for Report editing in the front end. QFQ delivers now the minimized Javascript
version too. Please check http://docs.qfq.io/en/master/Installation.html#setup-css-js for updated JS includes.
T3 extension 'UZH_CD' should be updated to latest version >=22.09.18!
Attention: since 22.09.07 UZH_CD includes all JS/CSS (exception: fabric). Remove all QFQ standard JS/CSS includes
like datetimepicker, codemirror, ... from your typoscript template(s).
* #14616 / Fabric updated to version 5. Annotation of images should now be supported again by modern browsers.
* #10012 / RedirectAllMailto: optionally dynamically set by current logged in FE or BE User.
* #14718 / Added prepared MySQL statement: QLEFT(), QRIGHT().
* #14635 / Add comment to update /etc/ImageMagick-6/policy.xml in case of 'convert-im6.q16: no images defined'.
* #9052 / Report: CodeMirror with SQL Syntax Highlight in FE - minimized JS versions.
* #T3 QFQ extension config: change 'enter-as-submit' from string to boolean.
* #12452 / T3 QFQ extension setup: Fixes broken string in doc for 'baseUrl'.
Features
^^^^^^^^
* Report.rst: Add description details to tablesorter view saver. Fix Typo QESC_SQUOTE.
Bug Fixes
^^^^^^^^^
* #14660 / Tablesorter View Saver: Broken in Multi-DB Setup
* #14622 / Temp workaround for broken exception - Encrypt/Decrypt detection.
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
Version 22.8.1
--------------
Date: 28.08.2022
Features
^^^^^^^^
* #9221 / If FE_TYPEAHEAD_LDAP or FE_TYPEAHEAD_SQL is set, skip forcing maxlength to table column definition. Instead
use custom supplied value.
* Minor update form 'FormElement'
* Refactor $buildElementFunctionName: remove indirect function calls from AbtractBuildForm.php to simplify debugging.
* Extend Support::getColumnSize with further MariaDB column type sizes
* Extension config description baseUrl: updated.
Bug Fixes
^^^^^^^^^
* #14618 / string expected, null given.
* #14611 / MultiDB: broken 'show table definition' in FormEditor. Add pill 'Table Definition' to form FormElement.
* #14590 / emptyTypeAheadRequest'.
* #9281 / QFQ system tables: Allow STRICT_TRANS_TABLES - Default '0' is now set for all INT columns. DB-Update will
change column definition. TEXT columns still don't have a default: Before MariaDB 10.2.1, BLOB and TEXT columns could
not be assigned a DEFAULT value. This restriction was lifted in MariaDB 10.2.1.
* Removed empty typeahead request at the beginning
Version 22.8.0
--------------
Date: 22.08.2022
Notes
^^^^^
* Add Enis Nuredini as developer.
Features
^^^^^^^^
* #11262 / stored Procedure: QNBSP - replace space by ' '.
* #14270 / FormEditor: add pill 'Table Definition'.
* #14321 / Remember last used pill: on/off via QFQ config or per form.
* #14588 / FormEditor: Remove bell for debugging Form/Session mode.
* FormEditor: Column fe.mode shows now fe.modeSql by default. If empty, fe.mode will be shown.
* QFQ_Encrypt_Decrypt - pre version - not finalized.
Bug Fixes
^^^^^^^^^
* #4018 / Typeahead Attack Detected: Implement renamed keywords _ta_query, _ta_prefetch. Fix broken detection of typeahead mode.
* #13689 / Enter auf Eingabefeld mit ungültigem Wert führt zu blurry Seite.
* #14288 / Upload: removed upload + save > triggers general error.
* #14291 / Doc minor fix: Upload Doku table broken.
* #14292 / Upload: mode=required broken for advanced upload (non primary column) after first save.
* #14302 / Doc minor fix. SanitizeTest.php: minor const replacement.
* #14587 / Use case: Self Registration - table definiton broken in doc: Changed Table Person, to include index and
auto increment + authExpire default Null.
* SYSTEM_SECURITY_GET_MAX_LENGTH: take care that minimum is 32.
* Update Release.rst and Installation.rst: add missing Codemirror.css|js
* RestClient undefined array element fix.
Please update your CSS and JS (T3 Main Template > Setup) to include the new DateTime Picker. Forms cannot save if the JS files are missing::
page.includeCSS.file08 = typo3conf/ext/qfq/Resources/Public/Css/bootstrap-datetimepicker.min.css
page.includeCSS.file09 = typo3conf/ext/qfq/Resources/Public/Css/codemirror.css
page.includeJS.file14 = typo3conf/ext/qfq/Resources/Public/JavaScript/moment.min.js
page.includeJS.file15 = typo3conf/ext/qfq/Resources/Public/JavaScript/bootstrap-datetimepicker.min.js
page.includeJS.file16 = typo3conf/ext/qfq/Resources/Public/JavaScript/codemirror.min.js
page.includeJS.file17 = typo3conf/ext/qfq/Resources/Public/JavaScript/code-mirror-mode/sql/sql.min.js
Features
^^^^^^^^
* #9052 / Report frontend editing: CodeMirror with syntax highlight.
* #10096 / Date time picker.
* #10782 / TinyMCE: image upload via drag'n'drop. 'fileUploadPath=fileadmin/...'.
* #13440 / Form: remember last used pill in localstore.
* #13543 / System - base url: multiple base url can be configured.
* #13562 / System - base url: if not set, set base url.
* #13572 / Form Load: better error message on try to load non existent record.
* #13581 / Copy to clipboard: small animation on icon.
* #13657 / Added two new twig report files to system: FormEditorTwig and autoCronTwig.
* #13679 / tablesorter/subrecord: view-saver added.
* #13788 / Date time picker: selectable weekdays.
* Update / doc: datetimepicker requires moment.js - put it in example code before datetimepicker.
* Update / QFQ config note to baseUrl.
* Skip selenium to speed up.
* Move Marc Egger to further contributor.
Bug Fixes
^^^^^^^^^
* #9520 / Button Save inside form.
* #10646 / typeAhead: maxLength by default 512.
* #11134 / Set samesite header for cookies.
* #11325 / SQL CALL is handled seperate. All statements will execute. If only a SELECT statement is used in PROCEDURE then the output will shown, otherwise not.
* #13658 / qfq.json: remove world readable.
* #12483 / qfq.json - Doc: update all references of config.qfq.php to qfq.json
* #12484 / config.render: old Both, new: Single.
* #13084,9724 / Dropdown list on iOS not clickable.
* #13527 / Form Multi: by default set r=0.
* #13677 / FormEditor: Preview disabled if 'new.required' is given.
* #13722 / Detect and fix pdfunite problems "Gen inside xref table too large (bigger than INT_MAX)" via pdf2ps, ps2pdf.
* #13767 / Date time picker: up down button better design if required.
* #13827 / Date time picker should not offer user credentials (like username / password).
* #13751 / Date time picker dynamic update aware.
* #13797 / Checkbox: dynamic update (single and multi) fixed.
* #13818 / typeahead: fix for key/value problem: expects parameter 1 to be string, array given.
* #13842 / Broken SIP: wkhtml and qfqpdf.
* #13860 / Safari: broken typeahead input.
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
Version 21.12.0
--------------
Date: 13.12.2021
Notes
^^^^^
* New HTML to PDF renderer: puppeteer. Wrapped and used by qfqpdf. Solves various JS and CSS problems of wkhtml. Install:
mkdir /opt/qfqpdf; cd /opt/qfqpdf
curl -L -o qfqpdf https://www.math.uzh.ch/repo/qfqpdf/current/qfqpdf-linux
chmod a+x qfqpdf
* Module php-curl not needed anymore - has been replaced by php-stream.
Features
^^^^^^^^
* #4812 / Subrecord - check for reserved Typo3 keywords (id, type, L) and throw exception.
* #10145 / Typeahead Min Length = 0 is now possible.
* #10715 / qfqpdf (puppeteer).
* #13113 / Rewrite REST Client as php stream, add contentFile option.
* #13242 / Apply given sanitize class to all defined stores.
* #13330 / Multi Form: Upload.
* #13333 / Option: Switch off attack detect.
* #13496 / TinyMCEfontselect - Fontselect and fontsize are removed from the default configuration.
* #12511 / Typo3 Store: new variables.
* #13526 / QFQ tablesorter: Rename 'private view' to 'personal view' and 'public view' to 'group view'.
* #12541 / Page and link without pageAlias.
Bug Fixes
^^^^^^^^^
* #3446 / Unknown permission mode: 'logged_in'
* #9268 / SELECT with outer brackets not recognized as SELECT
* #13030 / Max length cuts - line endings \r\n has been counted as two chars. During input they are counted as 1 and
therefore on data load the string has been cutted.
* #13139 / Tablesorter: some elements are in front of a sticky title row
* #13507 / QFQ function should work without 'sql='
* #13525 / makefile adjusted for multiple users
Notes
^^^^^
* For full image HEIC/HEIF support, please install package ``libheif-examples``.
Features
^^^^^^^^
* #12615 / Implements silent HEIC/HEIF conversion to png.
* #12636 / New FormElement.encoding = 'single tick'
* Form.rst: Update doc of Multi-Form
Bug Fixes
^^^^^^^^^
* #12701 / Bug 'spaces in mails'. Replaces '<br>' by '<br>\r\n'
* #9371 / MultiSQL now accepts `_id` too.
* #12674 / QFQ Function subheader: skip deleted
* Remove keySemId and keySemIdUser - outdated / deprecated since 0.19.0 (pre 09.2017)
* Download.php: Fix broken variable $this->$downloadDebugLog.
Notes
^^^^^
* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the
directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes
of 21.2.0 in hindsight.
Features
^^^^^^^^
* #12183 / Download table as csv
* #12159 / Make url paths absolute (relative to baseUrl)
Bug Fixes
^^^^^^^^^
Version 21.5.0
--------------
Date: 02.05.2021
Features
^^^^^^^^
* CodingGuideline.rst: add Form Best practice
Bug Fixes
^^^^^^^^^
* #10505 / Drag'n'Drop broken on Multi DB Instance - all checks done
* #10754 / Clean up stale requirements.txt
* #11769 / Missing description table in Form.rst
* #12352 / Form As Json: copy via JSON in FormEditor broken.
* #12398 / Fix check required for uploads
* #12475 / During QFQ update take care that all system tables exist.
* #12479 / Remove unwrap('p-tag') for TinyMCE - currently, this breaks regular consecutive <p> tags
Version 21.4.0
--------------
Date: 11.04.2021
Notes
^^^^^
* The new introduced 'Form As File' Feature in QFQ Version 21.3.* has been disabled. Instead every form can be imported
and exported as JSON. The automatic import/export was not stable and a manual process promises less problems.
Features
^^^^^^^^
* #12015 / useAdvancedFormEditor: disable form sync using feature flag
* #12346 / Add new formJson.json to system forms
* #12345 / Update documentation of special column formJson
* REST.rst: small reformat.
* Add Test copyToClipboard
* HTTP Header: Add 'X-Api-Key'. Fix problem for token without argument name. Update doc.
* Add margin to qfq-badge
* Fix undefined clearMe

Carsten Rose
committed
* File formEditor.sql only contains QFQ system table definitions anymore.
Bug Fixes
^^^^^^^^^
* #12341 / FormSubmitLog also saves FormName (not only FormId)
* #11265 / Dropdown Menu: wrap with <p> breaks dropdown
* #12268 / Enhanced FormSubmitLog Page Sample Code
* gitlab-ci.yml: `mkdir -p ... ` suppresses warning if directory already exist. Add more descriptive message.
* docker/run_qfq_docker.sh: 'source' eines files, das nicht existiert, gibt immer einen Fehler auf stdout.
* Fix problem: /var/www/html/my/typo3conf/ext/qfq/Classes/Core/Form/FormAction.php / Line: 394 / Undefined index: saveFormJson
* extension/Classes/Core/Helper/SessionCookie.php: Index 'host' was empty
Version 21.3.2
--------------
Date: 22.03.2021
Features
^^^^^^^^
* #9528 / Implement option 'clearMe' to show a small X in input & textaera fields per FormElement, per Form or global.
Bug Fixes
^^^^^^^^^
* #12015 / use Advanced Form Editor - problem with uppercase f in Form for form name.
Version 21.3.1
--------------
Date: 21.03.2021
Notes
^^^^^
* Custom QFQ Function:
* Call QFQ function from inside a report, at any place, as often as needed. The QFQ function code will be parsed only
one time. Variables will be replaced in time.
* Based on QFQ function: a new download source can be specified : source:<function name>
Features
^^^^^^^^
* #11998 / Custom QFQ-Function
* #12015 / Use Advanced FormEditor
Bug Fixes
^^^^^^^^^
* Bug with empty Fabric string fixed
Version 21.3.0
--------------
Date: 07.03.2021
Notes
^^^^^
* To enforce usage of the new form-list we throw an exception on QFQ update if the line "file=_formEditor" is not
present in any tt-content bodytext. :ref:`form-editor`.
* Persistent download links, combined with SQL based access check. :ref:`download`.
* Check new file based definition of forms :ref:`form-as-file` - this makes it easier to work in team with GIT based files.
* #12085 / Persistent download links.
* #12022 / New Escape class HtmlSpecialChar 'h'
* #11957 / Get European Timezone {{start:R::t}}
* #11926 / Update Form As File Documentation
* #12015 / Add formEditor as a system QFQ report and enforce formEditor existence
* #11926 / Use alternate form and report directories for phpunit (form_phpunit)
* #11953 / Logger.php: replace makePathAbsolute with Path functions
* #11931 / Report minimal required PHP version and stop, if PHP version is too low.
* #9213 / Add note for tablesorter.
* Add EV tips for tablesorter as a table in doc
* #12016 / Run Typo3 autoloader before password hashing if API request
* #5444 / Typeahead FE value is now prefetched after save.
Version 21.2.0
--------------
Date: 01.02.2021
Notes
^^^^^
* The `log` directory was moved into the `qfqProject` directory in version 21.2.0 for new installations. But if the
directory `fileadmin/protected/log` already exists then QFQ keeps storing logs there. This was added to release notes
of 21.2.0 in hindsight.
Features
^^^^^^^^
* #10286 / Download Links: Glyphicon selbst wählen/ausblenden
* #11878 / Purge extension option config.documentation
* #6793 / Source files for ZIP archives might now specified with a path/filename how they are called inside the ZIP.
* log directory was moved into qfqProject directory
Bug Fixes
^^^^^^^^^
* #11925 / downloadButton Parameter 'd:Filename'
* #9355 / Increase column width header & attach
* #11865 / Form Editor exception when edited after saved
* #11798 / Use T3 password hashing API instead of hack
* #11750 / Checkbox does not work together correctly with required fields
* #11666 / PHP 7.4: Trying to access array offset on value of type int
* #11245 / If forwardMode column is set to '', set forwardMode to 'auto'
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
Version 20.11.0
---------------
Date: 12.11.2020
Features
^^^^^^^^
* #7156 / Throw exception when a report level is defined twice.
* #11335 / Sanitize Alnumx: allow 'ß'
* #11325 / Allow SQL CALL(). Unsupported: Multiple (like query_multi()) - only the first one will be returned.
* #11269 / REST Post might return a customized answer.
* #11512 / Twig: add access to Var store
* #11118 / Uniqueness is now guaranteed in {{random:V}}
* #11513 / Add special column AS _script
* #11509 / PDF split fails for broken PDF
* #10979 / Ajax Calls an API - dataReport
Bug Fixes
^^^^^^^^^
* #11430 / phpSpreadsheet throws exception that '' is not numeric
* #10257 / Delete AS _link only worked with certain parameter order.
* #11511 / Tablesorter: fix encoding error, sanitize base64 encoding
* #11146 / Sendmail dynamic PDF broken
* #10554 / Fix extrabuttonlock also for select, radio and checkbox
* #11245 / If forwardMode column is set to '', set forwardMode to 'auto'
Version 20.9.0
--------------
Date: 06.09.2020
Notes
^^^^^
* New SIP protected AJAX calls.
* Report now fires calls to websocket (remote hosts).
* Report now fires REST calls to remote hosts.
Features
^^^^^^^^
* #10979 / Report: do SIP protected AJAX calls to typo3conf/ext/qfq/Classes/Api/dataReport.php.
* #11076 / Report: trigger call to websockets.
* #11119 / Report: REST Client calls - incl. processing of answer.
* Add CodingGuideline.rst.
Bug Fixes
^^^^^^^^^
* #10919 / AutoCron: Fix missing FillStoreSystemBySql.
* #11075 / Form: Missing SQL error message in FE Action Elements.
* #11039 / Fix CSS for Checkbox.
Version 20.6.2
--------------
Date: 25.06.2020
Bug Fixes
^^^^^^^^^
* #10641 / TypeAheadTag: Fehler beim gleichzeitigen anlegen mehrerer neuer Tags
* #10794 / Documentation: Crontab entry more clearly
Version 20.6.1
--------------
Date: 24.06.2020
Features
^^^^^^^^
* #10778 / Upload ZIP and unpack
Version 20.6.0
--------------
Date: 14.06.2020
Notes
^^^^^
* Add note in Installation.rst to start Apache with Locale en_US.UTF-8. This helps to support Umlaut and other characters
in filenames and wkhtml commandline options (like header/footer).
* Migrate documentation from T3 to ReadTheDocs.io - looks older but 'search' is much more better. New: chapters separated
in individual files.
* For the image to PDF feature, installation of `img2pdf` is required (please check :ref:`preparation`).
Features
^^^^^^^^
* #10751 / Allow images to be concatenated for PDF download.
* Fontawesome updated 5.13.
* Extend FE.label size to 1023.
* Local documentation rendering directly via Sphinx.
* Manual: Search is working, table width not truncated anymore, PDF & epub export, redirect qfq.io/doc to docs.qfq.io.
* Update copyright notice.
Bug Fixes
^^^^^^^^^
* #10507 / FormElement.type: 'annotate' is defined two times in Enum
* #10705 / New function 'HelperFile::joinPathFilename($pre, $post)'. Joins only if $post is without leading slash.
Version 20.4.1
--------------
Date: 30.04.2020
Notes
^^^^^
* Developer: update local npm/font awesome packages via ``make bootstrap``.
Features
^^^^^^^^
* #10433 / Update to Font Awesome 5.0
* #10379 / Stored Procedure: SLUGIFY()
* Manual.rst: Example Report 'render'. Update several places to fit latest ReST layout rules.
Version 20.4.0
--------------
Date: 05.04.2020
Notes
^^^^^
* New Feature: :ref:`type-ahead-tag` - extend regular input with multiple values via typeAhead. _
* strip_tags() - Simple strip html tags.
* QCC() - Escape colon / coma. Useful for QFQ link arguments like 'text' or 'tooltip'.
* #9686 / Download: sanitize output filename.
* #10358 / Configure path/environment via QFQ config: qpdf, gs, pdfunite.
* #9517, #10145, #10177, #10117 / typeAheadTag.
* #10152 / QCC() - Stored Procedure to escape colon / coma.
* FabricJS: replaced glyphicons with font awesome.
* Rename config.qfq.example.php config-example.qfq.php.
* #6798 / Close didn't worked with r=0.
* #10199 / Form.forwardMode: missing mode 'Close' / 'Auto'.
* #10173 / Dynamic Update: Readonly element can't be activated via dynamic update.
* Fix broken default value for Form.forwardMode.
* Fix problem with reporting broken TG-FormElements.
* Add error message if primary table does not exist.
Version 20.2.0
--------------
Date: 02.02.2020
Notes
^^^^^
* Add new keyword 'render' in tt-content Report and QFQ config. 'render' will control if a) only Form OR Report will be
rendered (render=single) or b) as previous Form AND Report together (render=both).
* Advantage: with 'render=single' no more SELECT ... FROM (SELECT '') AS fake WHERE '{{form:SE}}'=''.
* Attention: NEW default behaviour in new QFQ installations - render=single. Behaviour in old installations is unchanged.
* tt-content records with 'render = api' can stay on the same page as the link to get the content (e.g. Excel Export).
* Change default doc page to qfq.io/doc.
* Add new specialColumnName: '_noWrap' - skips wrapping of fbeg,fsep,fend.
* First version of 'FullCalendar.io' - new SpecialColumnName will follow in the future.
Features
^^^^^^^^
* #9929 / New keyword '_noWrap' for column names (alias) - skips wrapping of fbeg/fskip/fend.
* #9905 / Keyword 'render' in Report. Final implementation. Doc updated.
* #9959 / Update QFQ Config on the fly.
* #9990 / Describe order of FormElement processing - :ref:`form-process-order`.
* #8658 / FullCalendar.io V3 implemented.
* #9535 / VerticalText new implementation.
* Manual.rst: Add list of icons. Enhance sendmail doc.
* Change color of qfq-info-* from blue to light-blue. Add qfq-primary, qfq-danger.
Bug Fixes
^^^^^^^^^
* #10010 / FE.type=sendmail will now be fired together with fe.type=after* (not after).
* #5869 / Table names not properly escaped.
* #9638 / TextArea: Autosize - broken when using clipboard,
* Fixed problem with border showing when qfq-color-white is set.
* Fix selenium tests, remove chromedriver from npm.
* Log problem that crashes qfq when calendar dependencies are missing.
* Fixed gruntfile problem.
Version 20.1.1
--------------
Date: 13.01.2020
Bug Fixes
^^^^^^^^^
* #7705 / Fix problem with wrong value after save and form update.
* #8587 / A form triggers a save only, if there are real table columns.
Date: 09.01.2020
Notes
^^^^^
* Deprecated: Form.parameter.mode. Use Form.parameter.formModeGlobal
Features
^^^^^^^^
* #9805 / Form.parameter.activateFirstRequiredTab.
* #9858 / Form.parameter: replace 'mode' by 'formModeGlobal'
* Update Developer doc for record locking.
* Mockup for error handling.
Bug Fixes
^^^^^^^^^
* #7925 / Error in split PDF file during upload. Fix the cwd error in Logger.
* #9789 / Record lock release to early on 'leave page'. QfqJS: Moved release lock to before unload.
* #9861 / Fix problem with broken sql.log filename.
* #8851 / Revert implementation: LogMode 'modify' vs. 'modifyAll'.
* #9859 / Database Update: check for 'Update specialColumnName needed' breaks new QFQ install.
* #9813 / During QFQ database update, skip errors like 'Error 1060 - Duplicate Column'.
* Manual.rst: Fix various broken table layouts.
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
Version 19.12.0
---------------
Date: 17.12.2019
Notes
^^^^^
* Switch the whole homepage to readonly: FormModeGlobal and STORE_USER
Features
^^^^^^^^
* TinyMCE: grey out controls when readonly.
* Mockup:
* Update files to get CSS & JS files from their own directory structure (not an installed QFQ extension).
* Add fontawesome, tablesorter to mockup 'formCheckbox.html'.
* CI: Download selenium logs (only failed) under artifacts.
* Dev: .gitignore: exclude some docker & selenium.
* Merge Selenium Python Checks into Master.
* #9686 / html decode and sanitize an export filename to become the 'save as'-filename.
* #9666 / min-width for extraButtonInfo.
* FormEditor: optimize minWidth for 'rowLabelInputNote' field.
Bug Fixes
^^^^^^^^^
* #9720 / Checkbox dynamic update varoious settings:
* Multi Plain Vertical & Horizontal, Checkbox Multi BS.
* Fixed that label of 'checkbox' are bold and label of 'checkbox-inline' are normal.
* #7974 / TinyMCE: ReadOnly.
* #9424 / modeSql: skip if it starts with '#'.
* #9674 / Select Required Dynamic Update.
* #9678 / textarea now trigger DynamicUpdate.
* #9679 / FormModeGlobal: add STORE_USER - system wide readonly.
* #9690 / Select Required.
* #9691 / Checkbox: dynamic update > readonly. HTML ID for checkbox elements. Dynamic update switch 'readonly' for 'checkbox plain multi' and 'radio plain multi'.
* #9692 / Keyboard Select Checkbox.
* #9720 / Checkbox: Various setups with dynamic update.
* #9733 / Identify different tabs. Record lock for same tab will always be granted.
* #9734 / Fix 'dirty lock release' - leaving a dirty form without closing, leaves a stale lock record. Added a releaselock() before window.unload. Dirty remove on goBack.
* #9735 / File Delete: no dirty trigger.
* Download / PDF merge: skip leading errors, interpret only 'Could not merge encrypted files'.
* DragAndDrop broken: after refactoring Support.php, the dragAndDrop was broken - missed init of '$store'.
Version 19.11.3
---------------
Date: 29.11.2019
Features
^^^^^^^^
* #8886 / Check pattern: after focus lost.
* #9655 / Checkboxes and radios now defined with a min-width in horizontal plain mode.