-
Marc Egger authoredMarc Egger authored
Release.rst 112.03 KiB
Release
Version 21.x.x
Date: <date>
Notes
Features
Bug Fixes
Version 21.y.y
Date: <date>
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
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
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.
Features
- #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
Bug Fixes
- #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'
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. _
- MySQL StoredProcedure:
- strip_tags() - Simple strip html tags.
- QCC() - Escape colon / coma. Useful for QFQ link arguments like 'text' or 'tooltip'.
Features
- #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.
Bug Fixes
- #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.
Version 20.1.0
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'
- #9860 / SQL function qmore(): change text '...' to '[...]'.
- 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.
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.
- #9617 / formModeGlobal:
- Two modes of 'formModeGlobal' available: 'requiredOff' and 'requiredOffButMark'.
- 'requiredOffButMark':
- Renamed temporary 'skipRequiredCheck' to 'requiredOffButMark'.
- Keep required marks after save.
- Stop hiding helpblocks per default, set with class qfq-only-active-error.
- Radio: new class 'qfq-disabled' if readonly is set. Softer blue. Mark disabled - changed hover. Text in darker orange. Simple-error renamed to qfq-notify - removed box around error.
- New default class for 'form' tag: 'qfq-notify'.
- Manual.rst: Add info for 'letter-no-break'.
- Add validator.js to list of used packages.
Bug Fixes
- #9670 / If qpdf fails to decrypt a PDF, try gs.
- #3995 / Implemented partly: CheckBox and Radio can now be locked.
- #8091 / Checkbox required:
- If radio or checkbox is required and empty on submit, form save brings the element to front.
- Fix radio plain vertical.
- Fix label2 not to be bold.
- Checkbox Plain Vertical: forces 'font-weight: 400;'.
- Updated colors for checkboxes/radios.
- #9638 / Textarea Sizing: Now also listens for paste.
- #7891 / Added missing 'type="button"' to button element.
- Remove ' style="font-size: 1em;"' in extraButton - this causes extra space between multiple extraButton inline in one input element.
Version 19.11.2
Date: 25.11.2019
Notes
- Enhance formModeGlobal=requiredOff/-ButMark (temporarily skipRequiredCheck): fill's '{{allRequiredGiven:V}}' before save to 1 (all given) else 0.
- Offers user to save form, even if not all required data are given and offers application logic to check easily if all required fields has been filled.
Features
- #9526 / Mark required fields more visible.
- #9617 / Improve 'formModeGlobal=requiredOff'.
- Feature Form.formModeGlobal implemented - STORE_SIP overwrites form definition.
- New STORE_VAR variable 'allRequiredGiven'. Becomes '1' if all required fields are given, else 0.
- Add param 'L' & 'type' automatically to form save.
- Manual.rst: Procedure to find an irreproducible error.
- Change definition of QFQ system tables for 'modified' and 'created'. Use DATETIME instead of TIMESTAMP.
Bug Fixes
- #7639 / subrecord drag n drop:
- orderInterval has not been respected.
- Update Manual.rst.
- Fake STORE_SIP so it can be used during processing sql1.
- The record, currently loaded into form, is available via STORE_RECORD.
- Check for id/_id and ord/_ord.
- Throw meaningful exception if missing 'id' or 'ord'.
- Fixes bug that no mime_type_content is called if there is on file.
- Fix broken regex101 url.
Version 19.11.1
Date: 11.11.2019
Bug Fixes
- #9532 / 'Advanced Upload' broken - slaveId/sqlUpdate/... have been processed two times, after multiform code changes.
Version 19.11.0
Date: 08.11.2019
Notes
New CSS Class:
- 'qfq-sticky' - to make an element sticky.
Update/new stored procedures:
- QMORE: change symbols from '..more' / '..less' to '...' / '<<'.
- QIFEMPTY: add empty detection for a) date, b) datetime, c) '0'.
- QDATE_FORMAT(timestamp). Return text in 'dd.mm.yyyy hh:mm' format or '-' if timestamp is empty.