You can now change the default locale globally by setting the APP_DEFAULT_LOCALE
in your env file.
- Provide labels (9dc904c, 8ff1927, 02d62ba, 5c99beb, 00cfe75, 25b01fe)
- Add observers to a tickets (22a4dd3, 027faa7, 57118af)
- Allow to reset passwords (6e4e8bb)
- Allow to search for tickets with and without contracts (28a76cf)
- Separate permissions to see real vs. accounted times spent (30387e6)
- Allow to choose locale when creating/editing a user (1e5fcb5)
- Allow to import teams (f722522)
- Allow to import the organizations' domains (12ea090)
- Improve the look of form fieldsets (1806b8b)
- Use the correct white logo (0e36766)
- Fix the header on mobile when not connected (e35fa48)
- Fix search with "NOT assignee" for unassigned tickets (5b78fd8)
- Fix search with "NOT involves" not returning correct results (8f973a1)
- Allow to list tickets not attached to a contract (3748d33)
- Redirect to the user page after updating (30df1c0)
- Fix spacing in the list of mailboxes (78b326d)
- Add an item to PR template about data import (0896d38)
- Update the screenshot in the README (b4213ee)
- Allow to pass locale when creating user with CLI (187add3)
- Allow to change the default locale globally (0916174)
- Add a scheduled message to clean data everyday (4fc1109)
- Update dependencies (5aabff3, 3687da6)
- Fix some PHPUnit Testdox warnings (59c8441)
- Remove the symfony/phpunit-bridge dependency (c1ccb71)
- Refactor the Ticket title form (c8abf72)
- Refactor edit ticket actors with Symfony Form (8b35064)
- Move
Form\Type
classes toForm\
(5470325) - Set radio/checkbox tick position with margin (cb14588)
- Fix test in TicketSearcherTest failing randomly (8d7fa9c)
This is our first beta version! 🥳 Bileto is still not ready for production, but it's closer. I hope you like the new design :)
- Don't use the
Reply-To
header to get the requester (06af973)
- Allow to associate organizations to email domains (7e14501)
- Allow to define a default user role (86a2a40)
- Add a page to list all the ongoing contracts (7f8f683)
- Allow to assign tickets and unaccounted times on contract (re)newal (e7cc7a4)
- Add the list of users in organizations (4fe3fc7)
- Add a page to display information about users (949ba1c)
- Integrate the new design (742bb28, 46f9ee8, 0c08313, 0bb0b24, 0babc9b, 77f5dbd, 2e0a06f, fba1c2c, 9a22326, 3f1fb31, e54bc34, a2d14b2, 07570a1, 585f3ce, 176836d, 53b2272)
- Improve performance when fetching from the database (9f5ce7b, 0c18fd5)
- Enable the TinyMCE autosave plugin (50adef8)
- Redirect to user page after creation (09d3bf1)
- Reword some advanced search syntax explanations (040e49c)
- Fix deletion of organizations (63b3563)
- Fix the days diff on the ticket page (96ba9cf)
- Add a space before unit in the "hours consumed" label (39ff01e)
- Activate TinyMCE with "gpl" license (763d15f)
- Fix the button--icon height on Webkit (d8a3cfa)
- Update the Composer dependencies (fc90087, 120d018, a572491, 770eb06, fa0fb13, 0ce833c, 29f0702, 6fca2d6, 6f4468f, e6be6e0)
- Remove the old PostgreSQL sequences (33acdbb)
- Remind developers to check changes in Firefox and Chrome (06e9fc0)
- Refactor the role form with Symfony Form (4ef39dc)
- Make Doctrine entities mapping explicit (56f709c)
- Make deprecation warnings more verbose in PHPUnit (6d02919)
- Remove uid from the entities factories (4a35802)
- Lint migrations with PHPCS (642a93b)
- Fix deprecations for Foundry 2 (6aba189)
- Provide phpstan-doctrine package (6d36ef7)
- Refactor creation of users with a
UserCreator
service (37efa0e) - Improve the development seeds (b840e96)
- Provide an
Email
class to extract domains (a2318f6) - Provide a
Url
class to sanitize domains (a5d7dcd) - Provide a DQL
JSON_CONTAINS
function (e8988c1) - Provide the
input-texts
component (7dfedcc) - Extract a
button--discreet-alt
button (b8ffd2b) - Fix Doctrine deprecation warning about ordering (2310c67)
- Give all agent permissions to technicians in dev environment (2e50007)
- Merge CSS tickets files in
custom/tickets.css
(9a29d19) - Rename
.row
classes in.cols
(8e14a1b) - Set id on "UI select" of multiselect actors (d1cc409)
- Provide the accordion component (6e4dd2f)
- Introduce the CSS class
widget--small
(9077d7e)
Sub-organizations are no longer supported (see the issue #516). Your existing sub-organizations will be converted to first-level organizations during this update. Important: make sure that all your organizations have different names before running the migrations.
- Provide teams and agents (d895133, 9107ac2, 783e7c0, 5c07222, 969b1d7, 33219f4, 0976e68)
- Allow to import data from a ZIP archive (f9992ef)
- Allow to combine multiple authorizations on the same organization (cbd6ca0)
- Add navigation to the organizations to the main menu (6677352)
- Display spent times hours/minutes in a long format (b61636e)
- Display the contract date alert as a number of days (bb055b4)
- Display contract hours consumed as a percentage (73de316)
- Add a unique constraint on organization names (eb0a6dc)
- Rename "operational users" to "agents" (f98d663)
- Display tickets views if user is an agent (1c83b30)
- Force requester and assignee to be part of the lists (15faa7e)
- Fix searching tickets by contract if using a subquery (b30603e)
- Assert TimeSpent times are required and > 0 (0bb8a0f)
- Remove the concept of sub-organizations (86dd9ac)
- Fix installation of dependencies in the Docker image (777ee4c)
- Update the dependencies (af602f5, b1b90bf)
- Upgrade to Turbo 8 (c72c313)
- Upgrade to PHPUnit 11 (989b7f9)
- Upgrade to Rector 1.0 (bb0dd46)
- Upgrade to eslint 9 (4caf4ab)
- Cache authorizations in the AppVoter (beccdd0)
- Provide the class FSHelper (d412967)
- Refactor repositories save, saveBatch and remove (e807452)
- Set updatedBy only if there is an active user (96ca111)
- Allow contract.createdBy and contract.updatedBy to be null (cf8b116, fb06f3e)
- Extract common translations keys (59281b9)
- Load only "orga" authorizations when checking for "any" (14e96b1)
- Add a findOneOrBuildBy method (812ceb1)
- Set default empty password on User initialization (9f0be2c)
- Set
FindOrCreateTrait
with a generic class (2a65a93) - Add the
orga:manage
permission to the default Technician role (757e96b) - Provide a
AuthorizationHelper::grantTeam
method (d465d4b) - Provide an
ArrayHelper
class (3e1fffb) - Provide a
is_agent
Twig function (f8f477d) - Move getAuthorizations from AppVoter to AuthorizationRepository (fec907a)
- Move TicketRepository methods related to TicketSearcher (93a2bb5)
- Increase PHP memory in the dev environment (594b5fc)
- Enable DAMA DoctrineTestBundle in tests (15eca8a)
- Make sure database is initialized on the CI (f8036d9)
- Output PHPUnit results with TestDox format (2890d74)
- Refactor the clearing of entity manager in tests (568c3b7)
- Remove the warning about docker-compose.yml version (c68c0cf)
Bileto now requires PHP 8.2+.
You need to set the new environment variable APP_BASE_URL
in your .env.local
file (see env.sample).
This variable is used to generate absolute URLs in non-HTTP contexts (i.e. from the command line).
The PHP imap
module is now required.
Bileto uses PHP-IMAP which should make the module optional.
Unfortunately, the library doesn't decode email subjects and attachments correctly by itself.
It works a lot better with the module installed.
PostgreSQL >= 12 is now required. If you’re still using PostgreSQL 11, you must upgrade to a newer version.
Its no longer possible to create sub-organizations. In next releases, your existing sub-organizations will be transformed into first-level organizations (see the issue #516).
The structure of the roles changed. “User” roles (as opposed to admin and operational roles) are now more restricted by default. You should review these roles and possibly change them to “operational” roles.
- Disallow the creation of sub-organizations (ee2cc44)
- Paginate the tickets lists (d263301)
- Improve the lifecycle of the tickets (85fad0f)
- Create "incident" tickets by default (4de596a)
- Allow emails not to be deleted after collecting them (4acac03)
- Make roles easier to understand (6d5e2b6)
- Reword "admin" to "administrator" (272eec1)
- Warn if user has no permission in their default organization (911afc4)
- Select the default organization when setting an authorization after creating a user (8cf832e)
- Change the label of the organization of authorization (ed42e09)
- Change time spent wording from billed/charged to accounted time (ea707ae)
- Redirect to the contract after its creation (73700f6)
- Initialize default contract alerts on creation (0fe0a91)
- Change the traduction of ticket's "Contract" to "Ongoing contract" (77ab61f)
- Improve the look and behaviour of disabled checkboxes (8862664)
- Improve the look of the progress bars (1ffbe9f)
- Improve the CSRF error message (1595742)
- Display correctly the inline attachments in messages contents (417a76d)
- Attach messageDocuments to notification emails (164e45a)
- Ignore HTML errors when creating tickets from emails (f0dc217)
- Remove incorrect UTF-8 chars from attachments names (8d59c95)
- Handle emails with empty body (31fdc13)
- Fix encoding of the email body (22ef430)
- Track changes to the tickets' ongoing contracts (c4da224)
- Trim name and notes when creating a contract (46723b4)
- Disallow to set contracts maxHours below their consumedHours (32a5bbe)
- Use
strcmp
in LocaleSorter if comparison failed with the Collator (db600db) - Wrap pre elements in messages contents (6b9cdc4)
- Remove the orphan parenthesis from the "incident updated on" label (959ed9d)
- Add a missing HTML closing tag in the header (3bfbb04)
- Require PostgreSQL >= 12 (b9917f0)
- Require PHP >= 8.2 (1dc250f)
- Require the PHP imap module (0f1699f)
- Upgrade to Symfony 6.4 (afe5eda)
- Update the dependencies (ebf01e7, af19f56, 4dd097d, df2e5f5, 62bb824)
- Configure the
default_uri
in routing (47a8fb9)
- Improve the documentation about contributing to code (17f5be0)
- Update the roadmap with links to GitHub (8379dfe)
- Fix typos in the dependencies documentation (5dcdc05)
- Provide a pagination component (7d424db)
- Allow to check permissions of any user (bfc7a5d)
- Install the Symfony Form component (e03b841)
- Refactor the contract form with the Form component (184f273)
- Refactor the monitoring of the activity of the entities (d86759e)
- Add getEntityType to RecordableEntityInterface (86692d3)
- Set the activeUser in CreateTicketsFromMailboxEmailsHandler (f2db100)
- Make deprecations notices less verbose in tests (4c9ea03)
- Configure Rector as a new linter (2c86af0)
- Provide a make db-rollback command (ee4d7c2)
- Clean all the Docker stuff on make docker-clean (aea07f5)
- Move some docker files under docker/development (838e769)
- Fix node bundler for uid != 1000 (50f3c95)
- Restore validators files when extracting translations (985ed96)
- Allow to create and list contracts (c66bd7e, 1895e83, e546c01, e40e54a)
- Allow to assign contracts to tickets (fc3e93e, e2af93d)
- Allow to list the tickets of a contract (61dda9a)
- Allow to set up alerts on the contracts (f385dd6)
- Allow to record time spent (35ab22c)
- Simplify the answer form (1e93d8e)
- Put documents visually in the TinyMCE editor (2bb4837)
- Improve accessibility of popups (c723bb3)
- Rebalance the global font sizes and borders width (17e03df)
- Round off the buttons (d140f2b)
- Lighten the look of the "quick search" filters (5b7b737)
- Improve breadcrumb to navigate in tickets (d8479a1)
- Improve the look of discreet buttons with caret (2a71ef1)
- Remove the underline of anchors rendered as buttons (06bd6ac)
- Handle email attachments correctly (c558ef3)
- Adapt the editor background to color scheme (035a9b2)
- Don't try to recreate roles in production (a3a6cf2)
- Fix the strip list style for even items (bc52f30)
- Fix the year format rendered by the Twig
dateTrans
filter (55ef233) - Don't track empty entity changes (256b79a)
- Provide a Docker image for production (dd71926, 42260f5, 392db06)
- Update the dependencies (f31533b, ae0762f)
- Explain how to contribute to the documentation (7ea774e)
- Adapt the documentation for the "alpha" phase (56d9058)
- Merge the deploy and update files for administrators (3664744)
- Add a process before releasing a version (c4382d4)
- Update the roadmap (e568670)
- Update the screenshot (1abb8a2)
- Upgrade to NodeJS 20 (fda833c)
- Upgrade to Vite 5 (8e08be9)
- Restore security files on make translations (9b1afa7)
- Provide a JS Switch controller (3bea2cd)
- Allow to limit the size of inputs (da36f4d)
- Provide a HoursFormatter Twig extension (c35caec, f16f071)
- Add buttons groups (3772fa8)
- Refactor the transfer of events of the editor (a308460)
- Remove the Changes section from the PR template (303262d)
- Add a check for color scheme to the PR checklist (e7c0868)
- Add support for LDAP authentication (7aca9e5, 2acfbb7, 75e4ce7)
- Allow to upload images and documents (14f17fe, 9c8e22f, fdc305e, c7ad8aa, be20bb0)
- Improve the readability of the ticket page (1c75799, 8a3e75c)
- Customize the errors pages (276501e)
- Redirect automatically if user can create ticket in its default organization (c590e40)
- Redirect to the "new authorization" page after creating a user (35b1826)
- Allow empty name to be entered in the profile (7b549e7)
- Update the roadmap and the readme (bec35c9)
- Improve the doc to check requirements in production (8f5ce4a)
- Reorganize the developers documentation (4fdd67f)
- Improve the doc to generate the migrations for MariaDB (353fe63)
- Document the
dev:
prefix in the release section (0bb57c4)
- Rename the make i18n-extract command (3073863)
- Configure the CSS autoprefixer NPM package (9502721)
- Add isCreatedBy and isUpdatedBy to the MetaEntityInterface (e9801be)
- Extract a ConstraintErrorsFormatter from BaseController (cc94181)
- Use Docker Compose v2 (8d65095)
- Improve starting a MariaDB database in development (bf01124)
- Provide an "info" alert (f90870c)
- Style the disabled inputs and textareas correctly (0a9ed91)
- Improve signature of CommandTestsHelper::executeCommand (81816de)
- Remove rollbacks test (aa6b0d5)
- Rename JS forms controllers TicketEditor and NewAuthorizationForm (35ea05e)
- Reorganize the env files (b76098d)
- Remove the Stylelint rule about comments (abfac89)
Bileto now requires that you configure a mail server to be used.
In consequence, two new MAILER_DSN
and MAILER_FROM
environment variables must be set in production.
See the Symfony documentation to get help.
It is already configured in development (see the GreenMail documentation).
The PHP sodium
and xsl
extensions are now required.
You must make sure that they are installed on your server.
You must setup a Messenger worker. Read the administrator guide to learn how (nearly the end of the document).
- Fix an XSS when deleting an organization (718f757)
- Send a notification when posting a new message (eebc2f6)
- Allow to create and answer to tickets by emails
- Allow to assign a user to an organization (f436203)
- Allow to edit users (854cce6)
- Allow to delete roles (d547f7a)
- Display only tech users in the lists of assignees (5360bf8)
- Show a notification when profile/preferences are saved (f989d0b)
- Improve the look of the notifications (f340549)
- Show an icon on the messages sent by email (f3ed9e8)
- Upgrade to Symfony 6.3 (733d10d)
- Setup Symfony Messenger (6e80eb9, d9afabc)
- Separate orga roles in user and tech roles (16701e6)
- Configure GreenMail (adc8d35, 1be563f)
- Fix datetimes of Messages created in seeds (9fe51fa)
- Fix the make db-reset command (0f776ae)
- Configure the CI for the
feat/*
branches (a038af1) - Move the getters and setters of Uid to MetaEntityTrait (da6123a)
- Block html and body tags with HtmlSanitizer (380eea1)
- Increase the
max_input_length
of HtmlSanitizer (c685b16) - Update the dependencies (3be49e0, 29186b0, 723451d, 0a85228)
- Provide a search engine and a search syntax (d83d996, abf6054)
- Allow to rename the organizations (8afbde7)
- Allow to delete the organizations (0d85a97)
- Allow to sort the lists of tickets (5a4df55)
- Track and display the last activity of tickets (326fe08)
- Add a “remember me” checkbox to the login form (2acd1de)
- Redesign the lists of organizations (da08569)
- Allow to set a password when creating users (6e902ee)
- Allow to (un)check all the roles at once (ae96f71)
- Add a margin below the modal titles (ebbc1ac)
- Make the user name input really optional (db3ae5a)
- Use the correct color scheme after login or logout (9b95c80)
- Allow public access to the Web Manifest (3984d0d)
- Improve the production documentation about file permissions (61a2e91)
- Fix the documentation to reset the database in production (ec44171)
- Fix the documentation to retrieve the latest Git tag (a5bdf39)
- Document "Documentation" and "Technical" sections of the changelog (ed4a960)
- Add the support for PHP 8.2 (36c38e0)
- Add the support for PostgreSQL 11+ and MariaDB 10.4+ (af667af)
- Fix the seeds with MariaDB (1946bb9)
- Provide a Stimulus controller to control the checkboxes (14828fb)
- Provide a
.row--wrap
class (b370ad0) - Provide a CSS
.indent
class (4aa8a10) - Remove the
UniqueEntity
constraint from UID fields (b2d8be7) - Use the User UID instead of ID in actors forms (95a1bfa)
- Disable XDebug when running PHPStan (8024cb8)
- Update the dependencies (927e4df, 15ff366, b2680c3, 04563c5, 862a354)
- Allow to create roles (dd6e62f)
- Allow to create sub-organizations (8aa07f1)
- Allow to create users (ccfd37f, e1d9f3b, ecd0832, 79cfab2, f8a355a)
- Check permissions (faea252)
- Display Ticket activity in the timeline (2115eff, c439709)
- Add a page to list all the tickets (a2851cb)
- Add a home page to list tickets owned (3d161aa, 7e7a7a9)
- Allow to edit the status of the tickets (99fd4bf)
- Allow to edit user profile (6bbbbec, d35f10e)
- Provide an about page (3d7a495, 7218152)
- Improve integration on mobile and desktop apps (bdab19c)
- Add the new logo (5dbebde)
- Change the primary color scale (b810532)
- Setup Atkinson Hyperlegible font (36b7917)
- Redesign the layout navigation (fbbf602)
- Redesign the tickets navigation (6d7325f)
- Redesign the lists of tickets (2402ffc)
- Allow to show / hide passwords (530c3f0)
- Allow to select assignee when clicking on "unassigned" (f8806f8)
- List tickets requested by user in "Your tickets" (984244d)
- Change the status field by a "is resolved" checkbox when opening a ticket (ab2183f)
- Allow to choose the priority when opening a ticket (153a767)
- Allow to choose the type when opening a ticket (8bc053f)
- Display connected user in the users list (2133951)
- Display the number of tickets above the list (c433d18)
- Display the number of messages in tickets (cb055b8)
- Improve rendering of dates in the ticket timeline (52af077)
- Detect preferred language from browser (8ed7599)
- Redirect to /organizations after the creation of an organization (3acfb63)
- Notify when "update ticket type" fails (f01410d)
- Add a "skip to main content" accessibility anchor (63c6d9d)
- Allow to scroll to the top of the page (c16932b)
- Allow to scroll to the bottom of tickets (4485332)
- Hide avatars in tickets on small screen (ba22dd4)
- Remove year from dates if it's the same as current year (84c98b5)
- Remove the TinyMCE emoji plugin (b49cd73)
- Improve sizes on mobile (411b4e4)
- Always display the tickets organizations (2a589e9)
- Increase contrast of ticket info titles (8ace6a3)
- Set pointer cursor on
<summary>
elements (ab46915) - Improve the look of popups (4a1bf43)
- Improve the look of the layout banners (300c41d)
- Make box-shadow under cards more visible (2e645f7)
- Change profile icon to id-card (0b8c417)
- Decrease the font-size of form captions (3b9d325)
- Add a roadmap (57661e2)
- Add documentation to update the production (32d2ca6)
- Update the documentation to update dev environment (ed1f675)
- Update the documentation to deploy Bileto in prod (9b0e52e)
- Add documentation about translations (95375c9)
- Add documentation about managing the dependencies (3af30d9)
- Complete the documentation to release new versions (e1443d8)
- Improve the content of the README (0a6df89)
- Improve the PR template with comments (0ce7ccf)
- Provide a notification system (7e6caa3)
- Provide a mechanism to seed the database (6f55272)
- Lint more things (containers, twig and translations) (f19a3b0)
- Use ICU format for translations (0adf1e3, b110223, 881e8aa)
- Refactor initialization of meta fields (3063858)
- Extract a LocaleSorter from OrganizationSorter (8ad6c22)
- Move factories under tests/ folder (3849b6e)
- Fix GitHub Actions deprecations (5a0cc15)
- Update dependencies (003bab6, c163589, c17e97d, 15dd9a5, a84479c, a087c03, 0efd5a5, c138def, 5160ac8, 78c7a46, db0c913, 662c172)
- Allow users to login (8924d27)
- Allow to create and list the organizations (d141c61)
- Open tickets via the interface (915520f)
- Filter owned and unassigned tickets (aab4b73)
- Allow to answer to a ticket (1bc64ee)
- Change the status when answering to a ticket (feafea8)
- Post confidential messages (403538b)
- Post a solution (679f547)
- Change requester and assignee of a ticket (d27c9d4)
- Change the priority of the tickets (f1cc2ec)
- Turn ticket into incident or request (f4d53a0)
- Rename the tickets (4b00279)
- Disallow changing status if ticket status is finished (385096e)
- Allow to self-assign a ticket (fe28553)
- Allow a user to choose its language (c37460b)
- Add a dark mode (0e4fb2f)