3.10.0 (2024-11-25)
- Add hasAnyFreePasswords to ExternalEventTicketSystem (915e85a)
3.9.0 (2024-10-31)
- Add canSendToAllInProject permission to myAdminProfile query (462f72c)
- Add ticket validity to enrolment admin (623d553)
- Add Ukrainian language to LANGUAGE_CHOICES (1806127)
- Admin view for enrolments (7df154f)
- Attendance information given in ticket verification (8cf9bb1)
- auth: Authentication with graphene_jwt instead of custom implementation (815cb27)
- Autocomplete feature to ticket system admin event field (ff7e4e9)
- Enrolment reference id is viewable from the enrolment admin (616dca1)
- Event report API with event group and venue view sets as helpers (b438915)
- Project message permissions for sending to all (d15578b)
- Tixly ticket system (2e0c9eb)
- Update ticket attended status (b9eefcb)
- admin: Performance and UX issue in messaging admin (4acdc93)
- Browser test resources creation for pytests (3de8cbb)
- Get_translations_dict utility's database usage (81e87d6)
- Upgrade django-ilmoitin to fix migration issues (3c43107)
3.8.0 (2024-09-18)
- Add count field to messages connection (c9a4415)
- Add order_by field to messages query (0cb3bfb)
- Use DjangoFilterAndOffsetConnectionField with messages query (1c38e39)
- Link and subject field in the messaging admin list display (e584d75)
3.7.1 (2024-09-05)
- Logging level default value (42c91a1)
3.7.0 (2024-09-05)
- Add more fields and filters to messaging admin view (d70dfe9)
- Authenticate symmetrically signed JWT with shared secret for browser tests (718d92c)
- Provide initial browser test data automatically (7250605)
- Switch setup.cfg -> pyproject.toml, black/isort/flake8 -> ruff (4d8e834)
- Upgrade Django to 4.2 & upgrade all packages to latest (e5b12aa)
- Upgrade to Python 3.11 (553b964)
- Allow schema introspection for unauthenticated users (e8879aa)
- Default test project creation (ab76ba7)
- Event group creation bug in admin (8ff4042)
- Making event groups events publishable should not clear event group (e00f931)
- Message api filters for protocol and occurrences (9277462)
- Oidc debug extra usage (a9a3d46)
- Oidc debug extra usage (f1265a1)
3.6.0 (2024-07-05)
- Add search and autocomplete fields to user, group and ad groups admin (e576fd0)
- Test auth change notifications command's query count (14c1c7d)
- Improve event and event group admins with safegetters and searches (022ca8d)
3.5.0 (2024-06-14)
- Batch user is_obsolete updating in auth change command (7e89c1b)
- Add missing success messages to user and guardian admin actions (21f4e69)
3.4.0 (2024-06-13)
- Add --obsolete_handled_users & --batch_size to auth change command (272ef3d)
- Add links and filters from guardian to user and vice versa in admin site (9f870f2)
- Send auth service changing notifications from admin (e37c0de)
- Children event history markdown line endings and indentations (efd595d)
3.3.0 (2024-06-12)
- Add AuthServiceNotificationService to mass mail when auth service is changed (1665cd9)
- Add children event history markdown generator (64f5c69)
- Add for_auth_service_is_changing_notification in guardian queryset (6dfcb37)
- Add guardian admin actions to generate auth service changing email (4609f9a)
- Add management command to send auth service changing notifications (4d786aa)
- Use a list of emails to filter recipients on auth service notification (9fd0746)
- Add apps.py for Kukkuu mailer app (8ff158c)
- Improve the django_mailer admin list display view (2cf4be0)
- Remove children_event_history_markdown from notification dummy context (40c4c11)
- Rename kukkuu_mailer to kukkuu_mailer_admin (8722395)
3.2.0 (2024-06-04)
- Add back channel logout support (0d10bf3)
- Add Child.notes TextField, ChildNotes query and update mutation (4476961)
- Add Child.notes TextField, ChildNotes query and update mutation (4ff79c4)
- Add obsoleted props and features to User and Child (cf473de)
- Always use user's email in SubmitChildrenAndGuardianMutation (df89bf9)
- Do not send event invitations to those who have rejected them (75c12c1)
- Replace has_accepted_marketing with has_accepted_communication (d6bfa17)
- Send event and event group publish notification in a thread (5510465)
- Serialize the models used by the GDPR API (9dc697b)
- The GDPR service to clear sensitive fields of user and guardian (6ba1260)
- Add env-variable for GDPR API authorization field (8ac6f45)
- Api authorization field (f0c0528)
- Api authorization field (4ebfe1c)
- Move api authorization field to oidc config (56be176)
- Projects model objects manager (8958aff)
- Upgrade the django-helusers to fix issues with GDPR API auth (56b58dd)
- Add some gdpr api tester app instructions (9dc697b)
- Env-variables for the Tunnistamo and the Keycloak (a7f1109)
- How to integrate with Helsinki-Profile through Tunnistamo (469256f)
- Improvements (2348c1c)
3.1.0 (2024-03-27)
- Add "has accepted marketing" -field to the guardian model (90cc46c)
- Add "has accepted marketing" field to the GuadianInput (46fe887)
- Add accept marketing field to my profile mutation with auth token decoration (826f254)
- Add query and mutation for guardian marketing subscriptions (45a50be)
- Add unsubscribe links to the sendings of the notifications (7d54dfb)
- Auth verification token (2ea2635)
- Decorator that populates context's user from auth token given as an input (242cff0)
- Graphql api for user to unsubscribe from all notifications (7a44a4a)
- User can unsubscribe from all the notifications at once (26ebc3e)
- Username and email available from AdminNode (6b8f90f)
- admin: Search and filter guardians with guardian and user emails (e218f09)
- Build in CI fails because of factory usage during build time (e64fb28)
3.0.0 (2024-02-14)
- prevented email changing with the update my profile mutation
- Get active verification tokens for user (8205b26)
- Prevented email changing with the update my profile mutation (e545b06)
- Request email change token from the graphql-api (dc81c71)
- Send the email change verification token to the new email (bfa37cf)
- Update my email mutation (af91c7f)
- Verification tokens for user email verification (e806cf6)
- Admin site user-group-relationship shouldn't be filtered for admins only (141d308)
- Build issues in CI environment (93c3a32)
2.0.0 (2024-01-22)
- child update mutation input should not have birthdate field
- reporter API's birth_year renamed to birthyear
- change birthyear type from date to integer
- rename the birthdate field of the child model to be birthyear
- rename the first name field of the child model to "name"
- remove the last name field from the Child model
- Change birthyear type from date to integer (e1b6fc2)
- Child update mutation input should not have birthdate field (2005529)
- Remove the last name field from the Child model (aca4664)
- Rename the first name field of the child model to "name" (1b5c7ed)
- Rename the birthdate field of the child model to be birthyear (d9f5b17)
- Reporter API's birth_year renamed to birthyear (b712e73)
- Make more consistent querysets and test for children reports API (c771380)
1.17.2 (2023-12-15)
- Dockerfile base on ubi image DEVOPS-560 (#329) (6c788ee)
- Pagination of the DjangoFilterAndOffsetConnectionField and the Children-query (526055d)
1.17.1 (2023-06-29)
- Add Lippupiste as an external ticket system
- Sastoken is used for Azure storage autentication
- Process notifications sending outside the atomic transaction of saving of events
1.16.0 - 8 Dec 2022
- Add horizontal pod autoscaler
- Add Platta related configurations
- Count ticket system passwords toward yearly enrolment limit
- Add
assignTicketSystemPasswordMutation
& tests - Add GraphQL query for fetching a child's all internal and external enrolments
- Add import ticket system passwords mutation
- Add ticket system password counts to event API
- Add external ticket system event URL
- Implement end time handling for external ticket system events
- Fix child enrolment counting related to Ticketmaster events
- Fix
canChildEnroll
query related to Ticketmaster events - Fix free ticket system password detection
1.15.1 - 27 May 2022
- Child can only enroll into published events. Rather small extra check, since unpublished events were not visible.
1.15.0 - 6 Apr 2022
- Republish an event group
- Events occurrences have to be on the same year
- Query for child's upcoming events and event groups
- Ticket is show until 1 hour after the event has ended.
1.14.0 - 9 Mar 2022
- QR-codes used as tickets and sent with emails
- The messaging API supports SMS-messages
1.13.0 - 10 Jan 2022
- Add initial reporting API
- Add feedback notification
- Ignore authentication expired error from Sentry
- Change reminder notification "days in advance" to 1
- Validate that event and occurrences are not given when message is for INVITED
- Fix manual messages directed to INVITED to work with event groups
- Ignore extra cruft coming from graphql-python from Sentry
1.12.0 - 14 Dec 2021
- Renewed authentication implementation
- Fixed projects admin UI language tabs
1.11.1 - 13 Oct 2021
- Fix free spot subscription handling in event group
1.11.0 - 13 Sep 2021
- Add initial external ticket system event support
- Validate that one cannot enrol to multiple events of the same event group
1.10.5 - 10 Jun 2021
- Send free text email messages in an atomic transaction
- Default to sending queued emails
- Increase production CPU and RAM limits
1.10.4 - 26 May 2021
- Send event/event group publish notifications in an atomic transaction
- Increase email sending cronjobs' timeouts to 1h
- Fix a notification context language issue which caused some parts of notifications being sometimes in wrong language
1.10.3 - 23 Mar 2021
- Increase production cpu limit
1.10.2 - 10 Mar 2021
- Fix Mailgun API credentials
1.10.1 - 2 Mar 2021
- Fix GHA production config
- Fix handling of a child's project in admin UI
1.10.0 - 2 Mar 2021
- Add "single events allowed" flag to Project model
- Add permission for managing event groups
- Allow granting publish permission to all projects
- Add GHA production config
- Do not log readiness and healthz endpoints
- Temporary auth fix required by the latest Tunnistamo
1.9.0 - 11 Feb 2021
- Add new permission system
- Multiple minor admin UI enhancements
- Add notification importer that imports email notifications' texts from Google Spreadsheets
- Do not delete past enrolments when child is deleted
- Forbid unenrolling from occurrences in the past
- Delete children when their only guardian is deleted
- Migrate periodic tasks to K8s cronjobs
- Fix UserManager
- Fix notifications' dummy contexts
1.8.0 - 17 Dec 2020
- Add event group functionality
- Add
availableForChild(childId)
filter toEventNode
- Disable django-parler caching
- Migrate CI/CD to GitHub actions
- Exclude unenrolled events from
ChildNode.pastEvents()
- Add ordering for API's
translations
fields
1.7.0 - 12 Nov 2020
- Add manual message functionality
1.6.0 - 16 Oct 2020
- Add Free spot notification functionality
- Add languages spoken at home for guardians
- Add
get_global_id()
to event notifications' contexts - Add occurrence enrol URL to event notifications' contexts
- Add special language "Other language"
- Update default languages
- Fix API version string when running
manage.py
outside the app directory - Fix occurrence remaining capacity when capacity override is 0
1.5.1 - 30 Sep 2020
- Add localtime function to event notification templates
1.5.0 - 30 Sep 2020
- Add upcoming occurrence reminder notification
- Add
upcoming_with_leeway
occurrence filter - Add enrolled events past enough (default 30 mins from the start) to a child's past events
- Add initial API for subscribing and viewing free spot subscriptions (N.B. the functionality itself has NOT been implemented yet, just the API)
- Do not purge email logs by default in CI/CD config
1.4.0 - 15 Sep 2020
- Add nullable field
capacityOverride
and API for it which allows setting capacity per occurrence - Add ability to search children and guardians in admin UI
1.3.0 - 2 Sep 2020
- Add occurrence url to event notifications' contexts
- Add general support for database stored languages and an API for fetching those
- Add languages spoken at home for children and an API for handling those
- Add new choice "1 child and 1 or 2 adults" to participants per invite choices
1.2.0 - 17 Aug 2020
- Add project filter to children, venues, events and occurrences queries
- Add nullable boolean field
attended
toEnrolment
model and mutationSetEnrolmentStatus
for updating it - Add logging of mutations
- Add "occurrence cancelled" notification
- Add limit/offset pagination to children query
- Change guardians, children, events, occurrences and enrolments viewing and administrative mutations to be allowed only for project admins of the corresponding project. Previously
User
model'sis_staff
field was used to give permissions for all projects. - Order venues by Finnish name in API queries
- Change default logging level to INFO
- Hide unpublished events in
ChildNode
past_events
andavailable_events
fields for project admins as well
- Fix a bug in
OccurrenceNode
remainingCapacity
field - Fix a bug in
OccurrenceNode
enrolmentCount
field
1.1.0 - 29 May 2020
- Add occurrence language
- Return occurrence & child from unenrolment mutation
- Add null field validation when updating objects
- Add setting to enable graphiql in staging
- Add custom depth limit backend
- Add event filter to occurrences query
- Add
enrolmentCount
toOccurrenceNode
- Add
name
to project model - Make event UI URL available to event published notification
- Add
projects
toMyAdminProfileNode
- Allow a guardian to change her email when registering and when modifying her profile. A new notification is sent when the latter happens.
- Change mutations'
translations
field behaviour: from now on, translations for languages that are not sent are deleted - Change event publish notification to be sent to every child of the project
- Remove
translationsToDelete
from all mutations that had it - Remove
users
fromProjectNode
- Remove
isProjectAdmin
fromMyAdminProfileNode
- Fix required fields in occurrence mutations
- Use
ParticipantsPerInvite
enum in event mutation inputs
1.0.0 - 30 Mar 2020
- Add availableEvents and pastEvents to child query
- Add translation fields as normal fields into Venue and Event
- Add occurrence filters (date/time/venue)
- Add remaining capacity to occurrence node
- Add CDN for image storage
- Add MyAdminProfile API query
- Add version/revision number to admin interface
- Add translation validations
- Add better GraphQL error code
- Update Django to 2.2.10
- Update README.md
- Fix API queries to use RelationshipTypeEnum like mutations do
- Better UWSGI cron job to handle email sending
- Make LanguageEnum required in some queries
- Email goes to spam in some strict filter
- Minor gitlab config fixes
0.2.0 - 17 Feb 2020
- Add enrolment API for child to enrol event occurrences
- Add support to update event image
- Add event capacity validation to event
- Add publish events API
- Add Django Admin publish event action
- Send notifications to guardians when an event published
- Update API to support nested fields update/delete
- Fix API queries to use RelationshipTypeEnum like mutations do
- API for signup/login and query my profile
- Send notifications when signed up successfully
- API to query, add, update and remove children
- API to query, add, update and remove events
- API to query, add, update and remove occurrences
- API to query, add, update and remove venues