• [BUGFIX] Always use string comparison to identify “simple” and “schedule” polls


  • [BUGFIX] Do not check for FQCN when including _calendarLocale


  • [BUGFIX] Check for vote argument, before using a non-existing one
  • [TASK] Provide new signal, to modify “findPolls” query constraints
  • [TASK][!!!] Replace PollType enumeration with Single Table Inheritance
  • [FEATURE] New poll setting “settingMinVotesPerParticipant”


  • [TASK][!] Rename “findByPollAndParticipantIdent” to “findOneByPollAndParticipantIdent”
  • [DEVOPS] Add and apply phpstan (fixes)
  • [DEVOPS] Add and apply php-cs-fixer
  • [DEVOPS] Provide local .Build and add .editorconfig
  • [DEVOPS] Fix deprecated “composer init” usage in DDEV install commands
  • [FEATURE][!!!] Suggestion mode
    • added new actions for suggestion mode to PollController
    • added new PollStatus value “openedForSuggestions”
    • added “sorting” to option model and use in TCA and repo as default ordering
    • make options sortable using drag&drop (using new js library “html5sortable”)
    • add new poll permissions:
      • isFinishSuggestionModeAllowed
      • isSuggestNewOptionsAllowed
    • provide JS drag & drop to reorder options
    • provide toggle-display JS functionality
    • bugfixes and markup improvements
  • [TASK] Add “Poll/FormFields/Options/Header.html” partial
  • [TASK] Allow polls with just one option
  • [BUGFIX] Fixed typo


  • [BUGFIX] Fix small typos in German translations


  • [BUGFIX] Fix typo in Fluid template which prevents output of poll type classname
  • [BUGFIX] Show “Reset votes” button also when poll status is “closed”
  • [TASK] Respect current user’s voting when displaying the amount of left votes
  • [BUGFIX] Do not disable voting for users which have already voted


  • [TASK] Add wrap for poll form fields
  • [BUGFIX] Fix wrong partial references


  • [TASK] Refactor all Fluid partials
  • [TASK] Move finish note inside the administration box
  • [TASK] Do not show empty voting rows
  • [DEVOPS] Set composer to version 2 in DDEV container
  • [FEATURE] Display amount of votes left in voting box
  • [FEATURE] Add new options “show.showOwnVoteAtTop” and “show.showAdministrationBoxAboveVotes”


  • [BUGFIX] Prevent participant from adding more than one vote per poll
  • [BUGFIX] Remove “hidden” field of “option”, “optionvalue” and “vote”
  • [BUGFIX] Allow voting expire dates (in DB) to be signed


  • [BUGFIX] Add min-width to option titles in voting table
  • [TASK] Make validation issues during voting more visible


  • [FEATURE] Change “settingOneOptionOnly” to “settingMaxVotesPerParticipant”
  • [FEATURE] Add update wizard to migrate old “oneOptionOnly” setting
  • [BUGFIX] Add missing label for flash messages, when own vote has been deleted


  • [BUGFIX] Do not display administration box for all users


  • [BUGFIX] Allow poll author to see votings, when finishing poll
  • [BUGFIX] Remove “settingVotingExpiresDate” from query used in list action
  • [DOCS] Improve images in documentation
  • [TASK] Replace “deleteVote” with “resetVotes” action
  • [TASK] When changing “secret” settings, remove existing votes
  • [TASK] Do not allow finishing polls, when expiration date is set and not reached yet
  • [FEATURE] Add new poll setting “Super Secret Mode”
  • [BUGFIX] Fix typo in “min” input parameter (HTML)


  • [BUGFIX] Fix error when finish action is submitted without final option set


  • [BUGFIX] When editing simple options, after validation has been triggered no exception (PropertyMapper) is thrown anymore


  • [BUGFIX] Rename model validators
  • [BUGFIX] Remove empty “__identity” argument


First TER Release

  • [BUGFIX] Add translations for displayed text, when poll is finished
  • [TASK] Improve routes
  • [BUGFIX] Add missing validate annotation for Extbase controller actions
  • [DOCS] Add “Poll Lifecycle” and “Missing Features” to documentation
  • [FEATURE] Initial Documentation
  • [BUGFIX] Allow polls to be created from backend
  • [TASK] Improve translations
  • [DEVOPS] Fix old DDEV configuration
  • [BUGFIX] Fix missing “checked” attribute for f:form.checkbox and
  • [TASK] Rename “showReturnToListLink” to “showReturnLink” in TypoScript configuration
  • Revert “[FEATURE] Add pluralization support for XLIFF”


  • [TASK] Use “poll-{uid}” as slug, when sanitized title is empty (e.g. Emojis only)
  • [BUGFIX] Fix updated namespace in ext_localconf.php
  • [FEATURE] Add “requireAcceptedTerms” and “termsToAccept” options
  • [!!!][TASK] Update vendor name in PHP classes
  • [DOCS] Add credits to README and documentation index page
  • [TASK] Update package name from “t3/t3oodle” to “fgtclb/t3oodle”
  • [DOCS] Improvements
  • [FEATURE] Add pluralization support for XLIFF
  • [TASK] Remove typoscript settings “list.opened” and “list.closed”
  • [BUGFIX] Do not allow to delete votes, when poll is finished
  • [TASK] Disable “outputGuestNotice” by default
  • [FEATURE] Respect available options (when settingMaxVotesPerOption is set)
  • [BUGFIX] Fix wrong parameter in deleteVoteAction


  • [BUGFIX] Fix missing argument in Fluid section
  • [FEATURE] Refactor PollPermissions and add Signals to each permission
  • [TASK] Add license to composer.json
  • [BUGFIX] Move allowTableOnStandardPages from TCA to ext_tables.php


  • [FEATURE] Add “_dynamic” setting
  • [TASK] Add “getContentObjectRow” method to PollController
  • [TASK] Pass “view” to all action signals with templates existing
  • [TASK] Do not pass items to asynchronous loaded function calls


  • [TASK] Apply copyrights
  • [TASK] Apply PSR-2 code style
  • [TASK] Add “UpdatePollSlug” Slot
  • [FEATURE] Add Signals to PollController
  • [TASK] Show notice when current user already voted for a poll
  • [FEATURE] Add option “enableFlashMessages”
  • [BUGFIX] Fix wrong fieldname for validation messages of “settingMaxVotesPerOption”
  • [FEATURE] Add translations for flash & validation messages and exceptions
  • [TASK] Improve conditional inputs
  • [FEATURE] Add option “countMaybeVotes”
  • [TASK] Make columns in list view configurable (via TypoScript)
  • [FEATURE] Add translations and improvements for show view
  • [FEATURE] Add translations and improvements for new and edit view
  • [FEATURE] Add translations and improvements for list view
  • [BUGFIX] Fix PollValidator to not check “null” in preg_match
  • [BUGFIX] Fix missing default value for “poll-type” aspect
  • [BUGFIX] Do not add empty option when editing schedule poll
  • [FEATURE] Add extension icon
  • [TASK] Prepare FlexForm plugin settings
  • [TASK] Added locale to Routing Enhancer
  • [BUGFIX] Show selected options, when validation fails (vote action)
  • [TASK] Make properties accessible for debugging tools
  • [FEATURE] Provide custom bootstrap build
  • [BUGFIX] Fix voting box querySelector
  • [TASK] Introduce ScheduleOptionUtility
  • [BUGFIX] Fix missing “publishDirectly” variable in Fluid section
  • [FEATURE] Add poll type “schedule”
  • [TASK] Refactor PollValidator
  • [BUGFIX] Stop event propagation, when clicking on voting box image
  • [TASK] Show if current user author if poll (in list action)
  • [TASK] Apply click listener to voting box’ parentNode (e.g. <td>)
  • [FEATURE] Enable radio-like behaviour, when setting “OneOptionOnly” is set
  • [TASK] Refactor fluid templates
  • [TASK] Lock username and mail input, when userIdent cookie exists
  • [TASK] Add class to voting box parent node
  • [TASK] Refactor fluid partials
  • [TASK] Small improvements
  • [TASK] Add “pollType” argument to new action
  • [BUGFIX] Fix selector in options-simple module
  • [TASK] Refactor javascript


  • [TASK] Clean up TCA
  • [BUGFIX] Use ParticipantInfo partial everywhere
  • [TASK] Add Routing Enhancer Configuration for pagination widget
  • [TASK] Refactor fluid templates
  • [TASK] Introduce SVG view helper & icons
  • [FEATURE] Add configurable classes
  • [BUGFIX] Fix wrong variable in template and do not iterate over null
  • [FEATURE] Add “DynamicUserProperties” trait


  • Very first release of t3oodle, for testing purposes. Many open (cleanup) tasks, left.