4.28.0 (06-03-2024)
- Refactor: Remove deprecated PersonServices [#qubIT-Fenix-2661]
- Improvement: Support indication if season allows creation of marksheet [#qubIT-Fenix-4997]

4.27.9 (29-02-2024)
- Refactor: Allow combination of rules to test conclusion [#qubIT-Fenix-4972]

4.27.8 (27-02-2024)
- Improvement: Added fields to RegistrationHistoryReport [#UL-FL-11521]

4.27.7 (19-02-2024)
- Improvement: Show more detailed error when uploading invalid grade [#qubIT-Fenix-4965]

4.27.6 (12-02-2024)
- Improvement: Sort curriculum entries on program conclusion summary [#qubIT-Fenix-4944]
- Bug fix: Show correct curricular period on program conclusion summary [#qubIT-Fenix-4943]

4.27.5 (25-01-2024)
- Bug fix: Delete ExecutionYear.readByDateTime() on RegistrationConclusionInformation [#qubIT-Fenix-3548]

4.27.4 (24-01-2024)
- Improvement: Allow multiple mobility records for same period [#qubIT-Fenix-4869]

4.27.3 (11-01-2024)
- Refactor: Add EvaluationSeasonPeriod finder method [#qubIT-Fenix-4817]

4.27.2 (05-01-2024)
- Improvement: Improve PT and EN error messages [#qubIT-Fenix-4783] 

4.27.1 (26-12-2023)
- Bug fix: On evaluation season period validation, don't use execution degree finder by academic interval [#UL-FC-4743]

4.27.0 (19-12-2023)
- Refactor: Remove support for semester field in CreditsInCurricularPeriod rule [#qubIT-Fenix-3818]

4.26.0 (18-12-2023)
- Refactor: CreditsInCurricularPeriod rule should take into account academic periods [#qubIT-Fenix-3818]
- Refactor: When evaluating CreditsInEnrolmentPeriod by semester, split annual course credits [#qubIT-Fenix-3818]

4.25.0 (14-12-2023)
- Improvement: Adds fenixedu OSS DM [#qubIT-Omnis-4736]
- Improvement: CreditsNotEnroled rule should display current approved credits [#qubIT-Fenix-4684]

4.24.0 (13-11-2023)
- Refactor: Change enrolment rules to allow association of periods [#qubIT-Fenix-3969]

4.23.2 (08-11-2023)
- Bug fix: Annual curricular course credits should only be accounted once by period for enroled and not approved credits [#qubIT-Fenix-4545]

4.23.1 (30-10-2023)
- Bug fix: Add missing dismissal labels [#qubIT-Fenix-4498]

4.23.0 (23-10-2023)
- Improvement: Connect enrolment rules to academic period orders [#qubIT-Fenix-3969]

4.22.0 (09-10-2023)
- Refactor: Remove hardcoded permissions from academic-core domain [#qubIT-Fenix-4434]

4.21.6 (05-09-2023)
- Improvement: Increase size and expiration of competence course approval cache
- Improvement: Allow competence course approval cache invalidation

4.21.5 (03-09-2023)
- Improvement: Improve performance of cache key computation to check if competence is approved

4.21.4 (31-08-2023)
- Refactor: Revert change AnyCurricularCourseExceptions should not excluded same DCP courses from exceptions

4.21.3 (30-08-2023)
- Bug fix: AnyCurricularCourseExceptions should not excluded same DCP courses from exceptions

4.21.2 (02-08-2023)
- Refactor: Change student curricular plan comparator to use interval

4.21.1 (28-07-2023)
- Refactor: Remove shift types reference from EvaluationSeasonShiftType 

4.21.0 (27-07-2023)
- Refactor: Migrate EvaluationSeasonShiftType shift types to course load types

4.20.2 (18-07-2023)
- Refactor: Rename invocation of TreasuryEvent::getAmountToPay to TreasuryEvent::getAmountWithVatToPay
- Refactor: Replaces references of ITuitionTreasuryEvent by IAcademicTreasuryEvent

4.20.1 (27-06-2023)
- Improvement: Revert check of marksheet date in the future

4.20.0 (20-06-2023)
- Refactor: Remove deprecated AcademicEnrolmentPeriod entities
- Improvement: Check if marksheet date is not in the future

4.19.1 (26-05-2023)
- Improvement: Support optional courses in school class curricular rule

4.19.0 (23-05-2023)
- Refactor: Remove ShiftType references in EnrolmentReport
- Refactor: Replace ShiftType references by CourseLoadType in schedule enrolment listeners and rules
- Refactor: Move school class enrolment methods to academic-core

4.18.0 (13-05-2023)
- Refactor: Remove RegistrationStateTypeEnum references

4.17.4 (28-04-2023)
- Bug fix: Credits enroled as first time should filter previous annulled enrolments

4.17.3 (28-04-2023)
- Bug fix: Credits aggregation by curricular period should filter by execution interval (if present) 

4.17.2 (27-03-2023)
- Bug fix: Grading Table - force value object update

4.17.1 (24-02-2023)
- Improvement: Add Conclusion Number at Registration History Report

4.17.0 (03-02-2023)
- Refactor: Replace usage of RegistrationStateType by RegistrationStateTypeEnum

4.16.5 (19-12-2022)
- Improvement: Allow ects grade override on external enrolments

4.16.4 (07-12-2022)
- Refactor: Change registration observations to register audit information as business attributes 

4.16.3 (22-11-2022)
- Refactor: Replace usage of RegistrationStateType by RegistrationStateTypeEnum

4.16.2 (26-10-2022)
- Refactor: Remove branch group subclasses

4.16.1 (28-09-2022)
- Refactor: Change API to match new Curriculum API for unrounded average
- Refactor: Change AnyCurricularCourseRestrictionsExecutor.isException method visibility

4.16.0 (27-09-2022)
- Improvement: Add AnyCurricularCourseRestrictionsExecutor prefilter support
- Bug Fix: AnyCurricularCourseExceptionsExecutor should use execution interval to test optional / mandatory groups
- Bug Fix: AnyCurricularCourseRestrictionsExecutor should use execution interval to test groups
- Refactor: Remove deprecated relation between EvaluationSeasonPeriod and OccupationPeriod


4.15.4 (22-09-2022)
- Improvement: Include students not enrolled in other evaluations to marksheet

4.15.3 (13-09-2022)
- Refactor: Expose grade sugestion publicly and don't initialize grade value with sugestion

4.15.2 (31-08-2022)
- Refactor: Replace usage of RegistrationStateType by RegistrationStateTypeEnum

4.15.1 (31-08-2022)
- Refactor: Replace usage of RegistrationStateType by RegistrationStateTypeEnum

4.15.0 (31-08-2022)
- Bug Fix: Mark rules that prevent automatic group enrolment
- Refactor: Replace usage of RegistrationStateType by RegistrationStateTypeEnum

4.14.5 (24-08-2022)
- Refactor: Unification of code from previous years enrolment rule 

4.14.4 (03-08-2022)
- Bug fix: use correct plan to calculate curricular period for optional enrollment

4.14.3 (19-07-2022)
- Bug fix: Add missing EN translations

4.14.2 (11-07-2022)
- Improvement: Add conclusion process notes field to conclusion report

4.14.1 (20-06-2022)
- Bug Fix: Prevent NPE sorting curriculum entries without code

4.14.0 (20-06-2022)
- Improvement: Add curricular period rule to test min credits to enrol

4.13.2 (14-06-2022)
- Bug Fix: Prevent NPE on calculation of curricular periods for line

4.13.1 (07-06-2022)
- Bug Fix: Remove unnecessary space on credits transfer remarks

4.13.0 (06-06-2022)
- Refactor: Redesign of algorithm to calculate credits transfer remarks

4.12.11 (27-05-2022)
- Fix: Use RegistrationConclusionBean correct constructor

4.12.10 (25-05-2022)
- Fix: Use RegistrationConclusionBean correct constructor

4.12.9 (11-05-2022)
- Fix: Dynamic field code should be unique by domain class

4.12.8 (05-05-2022)
- Improvement: On degree info duplication, copy existing dynamic fields

4.12.7 (02-04-2022)
- Improvement: Add parameter to filter period/semester on CreditsEnroledAsFirstTime rule

4.12.6 (03-02-2022)
- Improvement: Make active data share authorizations find more resilient to invalid group expressions

4.12.5 (04-11-2021)
- Improvement: Add support for marksheet document generation using custom strategy
- Refactor: Update academic-core dependency

4.12.4 (06-09-2021)
- Refactor: Verify availability of enrolling school classes using method that checks each shift capacities

4.12.3 (02-09-2021)
- Bug fix: Only trigger authorizations redirector for child authorization if root authorization is active

4.12.2 (16-07-2021)
- Improvement: Remove checkDebts condition from domain, this should be an enrolment process configuration

4.12.1 (16-03-2021)
- Improvement: Added health card number to registration history report
- Improvement: Improved permission verification

4.12.0 (30-01-2021)
- New Feature: Added curricular period rule to restrict enrolment credits based on statute
- Improvement: Changed Approved Courses curricular period rule to allow restriction of min and max year

4.11.6 (19-11-2020)
- Refactor: Changed default CurriculumGradeCalculator value

4.11.5 (14-11-2020)
- Refactor: Remove usage of bolonha degree type (deprecated slot)

4.11.4 (10-11-2020)
- Refactor: Upgrade dependency of fenixedu-academic-core (cleanup deprecated execution course slots and methods)

4.11.3 (05-11-2020)
- Fix: On academic enrolment period, block by student statute should check for empty intersection instead of difference between configured and assigned to registration
- Refactor: Upgrade dependency of fenixedu-academic-core (cleanup deprecated shift types)
 
4.11.2 (25-09-2020)
- Refactor: Moved Job<->JobType deletion listener from the ServletContextListener to the DomainClass

4.11.1 (31-08-2020)
- Fix: Added missing DynamicField deletion listeners for CompetenceCourseInformation, DegreeInfo and Party

4.11.0 (27-08-2020)
- Refactor: Registration history report service API cleanup

4.10.1 (24-08-2020)
- Fix: On registration details, aproved/enroled/flunked credits should only use enrolments data
- Fix: Add missing job deletion listener

4.10.0 (13-08-2020)
- New Feature: Added curricular rule to mark recommended route entries

4.9.1 (11-08-2020)
- Fix: Prescription status should take into account precedent registrations for reingression validation
- Refactor: Removed ulisboa-tools module dependency 

4.9.0 (13-07-2020)
- New Feature: Added curricular rule to make curricular unit / group unavailable for enrolment
- New Feature: Added curricular rule to block enrolment in advanced curricular courses

4.8.0 (01-07-2020)
- New Feature: Added curricular rule to block enrolment based on previous enrolment conditions
- Improvement: Added CurricularPeriodRule method to return rule name
- Fix: Don't check for legacy enrolment periods

4.7.1 (20-05-2020)
- Improvement: Added enrolment prefilter rule level to conditioned route rule
 
4.7.0 (28-04-2020)
- Refactor: Upgraded dependency of fenixedu-academic-core (Shifts capacity by type)

4.6.1 (25-04-2020)
- Refactor: Replace fenixedu-academic-treasury dependency by fenixedu-academic-treasury-base

4.6.0 (04-04-2020)
- Refactor: Change MobilityRegistrationInformation relation with CountryUnit to its superclass Unit

4.5.2 (28-03-2020)
- Bug Fix: Avoid mixing of program conclusions of different types in generating degree ECTS grading table
- Improvement: Deprecate ECTS Institution grading table. In lack of sample use default grading table for courses 

4.5.1 (19-03-2020)
- Refactor: Upgraded dependency of fenixedu-academic-core (PrecedentDegreeInformation split into 'completed' and 'previous')

4.5.0 (18-03-2020)
- Improvement: added method to calculate line curricular period

4.4.3 (17-03-2020)
- Improvment: Added a new configuration to be used on migrations - domain.academic.dismissals.restrict.equivalences.to.curricular.courses

4.4.2 (10-03-2020)
- Fix: ExecutionInterval method overloading dispatching

4.4.1 (24-02-2020)
- Bug Fix: Ignore non numeric registration conclusion grades and use the improved ECTS table generation algorithm

4.4.0 (20-02-2020)
- Refactor: Rename GradeScale relations to refer GradeScale entity instead of GradeScaleEnum

4.3.5 (19-02-2020)
- Improvement: Changed log level in "unable to guess curricular year" log in CurricularPeriodServices from warn to debug. 
- Refactor: Rename enum type GradeScale to GradeScaleEnum
- Refactor: Remove references to GradeScaleEnum values

4.3.4 (13-02-2020)
- Bug fix: Fixed NPE when getting null snapshot

4.3.3 (31-01-2020)
- Refactor: Upgraded dependency of fenixedu-academic-treasury

4.3.2 (16-01-2020)
- Refactor: Upgraded dependency of fenixedu-academic-core and fenixedu-academic-treasury

4.3.1 (15-01-2020)
- Fix bug: Add curricular course name when building reason text for dismissal and it is a optional enrolment

4.3.0 (24-12-2019)
- Refactor: Upgraded dependency of fenixedu-academic-core and replaced ExecutionSemester references to ExecutionInterval

4.2.0 (23-11-2019)
- Refactor: Upgraded dependency of fenixedu-academic-core

4.1.0 (25-10-2019)
- Improvement: added methods to change order in DynamicFieldDescriptor
- Bug Fix: added missing messages

4.0.2 (17-10-2019)
- Refactor: improving the EECC table settings

4.0.1 (11-10-2019)
- Improvement: export emergency contact in RegistrationHistoryReport

4.0.0 (11-10-2019)
- Refactor: changed MobilityRegistrationInformation domain relations from ExecutionSemester to ExecutionInterval
- Refactor: changed EvaluationSeasonPeriod domain relations from ExecutionSemester to ExecutionInterval
- Refactor: changed CompetenceCourseMarkSheet domain relations from ExecutionSemester to ExecutionInterval
- Refactor: changed AcademicEnrolmentPeriod domain relations from ExecutionSemester to ExecutionInterval

3.7.0 (27-09-2019)
- Bug Fix: Rewrite of ECTS Comparability Table scale conversion algorithm
- Refactor: Improved DynamicFields API 

3.6.0 (20-09-2019)
- Refactor: Upgrade dependency of fenixedu-academic-core (changed domain relations from ExecutionSemester to ExecutionInterval)

3.5.0 (07-08-2019)
- Refactor: Upgrade dependency of fenixedu-academic-core and fenixedu-academic-treasury

3.4.0 (31-07-2019)
- Refactor: Upgrade dependency of fenixedu-academic-core (changed domain relations from ExecutionSemester to ExecutionInterval)

3.3.0 (29-07-2019)
- Refactor: Upgrade dependency of fenixedu-academic-treasury and fenixedu-academic-core

3.2.0 (25-07-2019)
- Refactor: Upgrade dependency fenixedu-academic-treasury
- Refactor: Replaced usages of ExecutionSemester by ExecutionInterval

3.1.3 (15-07-2019)
- Refactor: moved curricular rule to curricular period relation to academic-core

3.1.2 (09-07-2019)
- Fix: disconnect execution degrees when deleting evaluation season periods

3.1.1 (08-07-2019)
- New Feature: added new method to calculate the Enrolment Years Including Precedent Registrations (#UL-FA-473)

3.1.0 (03-07-2019)
- New Feature: added registration history report services

3.0.4 (27-06-2019)
- Refactor: Added RegistrationDataBean

3.0.3 (26-06-2019)
- Improvement: Added GradeScaleEntry

3.0.2 (26-06-2019)
- Refactor: upgrade dependencies

3.0.1 (24-06-2019)
- Fix: Added missing labels

3.0.0 (18-06-2019)
- Refactor: refactored core entities

2.9.0 (14-06-2019)
- Improvement: Added support for execution interval in StatuteServices
- Improvement: Added new configuration properties
- Refactor: Replaced enrolmentEvaluationChangeListener with EnrolmentEvaluationServices.onStateChange

2.8.1 (11-06-2019)
- Refactor: Added new domain entities (from specifications)

2.8.0 (11-06-2019)
2.7.0 (07-06-2019)
- Refactor: Added configuration properties regarding quality mode 
